:root{--ink: #1c140f;--ink-soft: #2a1f18;--ink-line: #3d2e24;--paper: #faf3e8;--paper-card: #ffffff;--ash: #7a6a5d;--ash-line: #ddd0bd;--ember: #e8641f;--ember-bright: #ff8a42;--ember-deep: #c4501a;--forge-red: #b3261e;--forge-red-deep: #8f1d17;--flame-yellow: #f4b400;--font-display: "Rajdhani", "Segoe UI", sans-serif;--font-body: "Inter", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--font: var(--font-body);--text-2xs: .72rem;--text-xs: .85rem;--text-sm: .95rem;--text-base: 1rem;--text-md: 1.1rem;--text-lg: 1.3rem;--text-xl: 1.75rem;--text-2xl: 2.5rem;--text-stat: 1.7rem;--radius: 10px;--shadow-card: 0 1px 2px rgba(28, 20, 15, .08), 0 1px 1px rgba(28, 20, 15, .04)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(ellipse 900px 500px at 12% -10%,rgba(244,180,0,.1),transparent 60%),radial-gradient(ellipse 700px 500px at 100% 0%,rgba(232,100,31,.08),transparent 55%),var(--paper);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.01em;margin:0;color:var(--ink)}a{color:var(--ember-deep)}:focus-visible{outline:2px solid var(--flame-yellow);outline-offset:2px}.app-shell{display:flex;min-height:100vh;background:var(--paper)}.sidebar{display:flex;flex-direction:column;width:260px;flex-shrink:0;background:radial-gradient(ellipse 320px 220px at 20% 0%,rgba(244,180,0,.16),transparent 65%),radial-gradient(ellipse 260px 200px at 90% 8%,rgba(179,38,30,.22),transparent 60%),var(--ink);color:var(--paper);padding:1.5rem 1.15rem 2rem;border-right:1px solid var(--ink-line);position:relative}.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--flame-yellow),var(--ember) 45%,var(--forge-red))}.sidebar[data-collapsed=true]{width:auto;padding:1.5rem 1rem}.mobile-menu-toggle,.sidebar-mobile-close,.sidebar-backdrop{display:none}.sidebar-brand{display:flex;align-items:center;gap:.7rem;padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--ink-line);text-decoration:none;color:inherit}.sidebar-brand-mark{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--flame-yellow),var(--ember) 55%,var(--forge-red));color:var(--ink);box-shadow:0 0 0 3px #f4b40026,0 0 14px #e8641f8c}.sidebar-brand-mark svg{width:2.05rem;height:2.05rem}.sidebar-brand-text{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);line-height:1.15;letter-spacing:.03em;text-transform:uppercase;background:linear-gradient(90deg,var(--flame-yellow),var(--ember-bright));-webkit-background-clip:text;background-clip:text;color:transparent}.sidebar-toggle{display:block;width:100%;background:transparent;border:1px solid var(--ink-line);color:var(--flame-yellow);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;padding:.55rem .75rem;border-radius:var(--radius);cursor:pointer;margin-bottom:1.5rem}.sidebar-toggle:hover{border-color:var(--ember);color:var(--ember)}.nav-section{margin-bottom:.75rem}.nav-section-label{display:flex;align-items:center;gap:.6rem;width:100%;background:transparent;border:none;color:var(--paper);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:.03em;padding:.55rem .25rem;cursor:pointer;text-align:left;border-bottom:1px solid var(--ink-line)}.nav-section-icon{width:1.2rem;height:1.2rem;flex-shrink:0;color:var(--flame-yellow)}.nav-section-label:hover,.nav-section-label:hover .nav-section-icon{color:var(--ember-bright)}.nav-modules{list-style:none;margin:.4rem 0 1rem;padding:0;border-left:2px solid var(--ink-line)}.nav-modules li{margin:0}.nav-link{display:flex;align-items:center;gap:.55rem;padding:.45rem .9rem;color:var(--ash);text-decoration:none;font-family:var(--font-display);font-size:var(--text-md);border-left:2px solid transparent;margin-left:-2px;border-radius:0 var(--radius) var(--radius) 0}.nav-link-icon{width:1rem;height:1rem;flex-shrink:0;opacity:.85}.nav-link:hover{color:var(--paper)}.nav-link.active{color:var(--flame-yellow);border-left-color:var(--ember);background:linear-gradient(90deg,rgba(232,100,31,.18),transparent);box-shadow:inset 0 0 12px #f4b40014}.nav-modules-top{border-left:none;margin:0 0 1.25rem}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--ink-line);display:flex;flex-direction:column;gap:.2rem}.nav-logout{background:transparent;border:none;border-left:2px solid transparent;font-family:var(--font-display);cursor:pointer;text-align:left;width:100%}.nav-logout:hover{color:var(--forge-red)}.settings-section-title{font-size:var(--text-xl);margin:0 0 .9rem;color:var(--ember-deep)}.main-content{flex:1;padding:2.5rem 3rem;min-width:0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDAiIGhlaWdodD0iMTQwIj4KICA8ZyBmaWxsPSJub25lIiBzdHJva2U9IiNlODY0MWYiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLW9wYWNpdHk9IjAuMDUiPgogICAgPHBhdGggZD0iTTggOCBINTggVjM4IEgxMjgiLz4KICAgIDxwYXRoIGQ9Ik0yMCAxMjggVjg4IEg3MCBWNTgiLz4KICAgIDxwYXRoIGQ9Ik0xMTAgMjAgVjYwIEg4OCIvPgogIDwvZz4KICA8ZyBmaWxsPSIjZjRiNDAwIiBmaWxsLW9wYWNpdHk9IjAuMDciPgogICAgPGNpcmNsZSBjeD0iMTI4IiBjeT0iMzgiIHI9IjIuMiIvPgogICAgPGNpcmNsZSBjeD0iNzAiIGN5PSI1OCIgcj0iMi4yIi8+CiAgICA8Y2lyY2xlIGN4PSI4OCIgY3k9IjYwIiByPSIyLjIiLz4KICAgIDxjaXJjbGUgY3g9IjgiIGN5PSI4IiByPSIxLjYiLz4KICA8L2c+Cjwvc3ZnPgo=);background-repeat:repeat}.page-header{margin-bottom:2rem;padding-bottom:1rem;position:relative}.page-header:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:linear-gradient(90deg,var(--flame-yellow),var(--ember) 40%,var(--forge-red) 85%);border-radius:2px}.page-header h1{font-size:var(--text-2xl);background:linear-gradient(90deg,var(--ink) 60%,var(--ember-deep));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-subtitle{margin:.35rem 0 0;color:var(--ash);font-style:italic}.card{position:relative;background:repeating-linear-gradient(135deg,rgba(179,38,30,.025) 0 2px,transparent 2px 14px),var(--paper-card);border:1px solid var(--ash-line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.75rem;max-width:520px;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--flame-yellow),var(--ember) 45%,var(--forge-red))}.field{margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.35rem}.field label{font-weight:700;font-size:var(--text-xs);letter-spacing:.02em}.field input{font-family:var(--font-display);font-size:var(--text-base);padding:.6rem .75rem;border:1px solid var(--ash-line);border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 2px 6px #1c140f0f;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth)}.field input:hover{border-color:var(--ember-bright);box-shadow:0 4px 14px #e8641f29}.field input:focus-visible{border-color:var(--ember);box-shadow:0 0 0 3px #f4b40038,0 2px 8px #1c140f14}.btn{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em;padding:.55rem 1.2rem;border-radius:var(--radius);border:none;cursor:pointer;color:var(--paper);background:linear-gradient(155deg,var(--ember-bright),var(--ember) 55%,var(--ember-deep));box-shadow:0 2px 8px #e8641f40;transition:transform .18s var(--ease-smooth),box-shadow .18s var(--ease-smooth),background .18s var(--ease-smooth)}.btn:hover{background:linear-gradient(155deg,var(--ember-bright),var(--ember-deep) 65%,var(--forge-red-deep))}.btn-secondary{background:linear-gradient(155deg,#d84a3a,var(--forge-red) 55%,var(--forge-red-deep));box-shadow:0 2px 8px #b3261e40}.btn-secondary:hover{background:linear-gradient(155deg,#d84a3a,var(--forge-red-deep) 65%,#5f120e)}.form-alert{color:var(--forge-red-deep);background:#b3261e14;border:1px solid var(--forge-red);border-radius:var(--radius);padding:.5rem .7rem;font-size:var(--text-xs);margin:0 0 1rem}.form-status{color:var(--ember-deep);background:#e8641f14;border:1px solid var(--ember);border-radius:var(--radius);padding:.5rem .7rem;font-size:var(--text-xs);margin:0 0 1rem}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 700px 500px at 50% 0%,rgba(244,180,0,.14),transparent 60%),radial-gradient(ellipse 500px 400px at 100% 100%,rgba(179,38,30,.18),transparent 60%),var(--ink);padding:1.5rem}.auth-screen .card{width:100%;max-width:380px}.auth-screen .auth-mark{display:flex;align-items:center;justify-content:center;width:4.25rem;height:4.25rem;margin:0 auto 1.1rem;border-radius:50%;background:linear-gradient(135deg,var(--flame-yellow),var(--ember) 55%,var(--forge-red));color:var(--ink);box-shadow:0 0 0 5px #f4b4001f,0 0 26px #e8641f8c}.auth-screen .auth-mark svg{width:3rem;height:3rem}.auth-screen h1{margin-bottom:1.25rem;text-align:center;background:linear-gradient(90deg,var(--ink) 55%,var(--ember-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.empty-state{position:relative;display:flex;align-items:flex-start;gap:1.1rem;background:repeating-linear-gradient(135deg,rgba(179,38,30,.025) 0 2px,transparent 2px 14px),var(--paper-card);border:1px dashed var(--ash-line);border-radius:var(--radius);padding:1.75rem;max-width:560px;overflow:hidden}.empty-state:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--flame-yellow),var(--ember) 45%,var(--forge-red))}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#f4b4002e,#e8641f2e);color:var(--ember-deep)}.empty-state-icon svg{width:1.5rem;height:1.5rem}.empty-state h2{font-size:var(--text-xl);margin-bottom:.35rem}.empty-state p{margin:0;color:var(--ash)}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;max-width:780px}.quick-link-tile{display:flex;align-items:center;gap:.75rem;background:var(--paper-card);border:1px solid var(--ash-line);border-radius:var(--radius);padding:1rem 1.1rem;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.quick-link-tile:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--flame-yellow),var(--ember) 45%,var(--forge-red))}.quick-link-tile:hover{border-color:var(--ember);box-shadow:0 2px 10px #e8641f2e}.quick-link-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#f4b4002e,#e8641f2e);color:var(--ember-deep)}.quick-link-icon svg{width:1.15rem;height:1.15rem}.quick-link-tile span{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:.01em}.field select,.field textarea{font-family:var(--font-display);font-size:var(--text-base);padding:.6rem .75rem;border:1px solid var(--ash-line);border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 2px 6px #1c140f0f;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth)}.field textarea:hover{border-color:var(--ember-bright);box-shadow:0 4px 14px #e8641f29}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border-left:3px solid var(--ember);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e8641f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:15px;padding-right:2.5rem}.field select:hover{border-color:var(--ash-line);border-left-color:var(--ember-bright);background-color:#fffaf3}.field select:focus-visible{border-left-color:var(--flame-yellow)}.field select:focus-visible,.field textarea:focus-visible{border-color:var(--ember);box-shadow:0 0 0 3px #f4b40038,0 2px 8px #1c140f14}.field-currency{position:relative;display:flex;align-items:stretch}.field-currency-symbol{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--ember-deep);font-weight:700;font-size:var(--text-md);pointer-events:none}.field-currency input{padding-left:1.85rem;width:100%;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.field input[type=date]{cursor:pointer}.field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;padding:.3rem;border-radius:50%;filter:invert(41%) sepia(84%) saturate(1382%) hue-rotate(349deg) brightness(97%) contrast(93%);transition:background .2s var(--ease-smooth)}.field input[type=date]::-webkit-calendar-picker-indicator:hover{background:#e8641f29}.field textarea{resize:vertical;min-height:4.5rem}.occurrence-card{background:var(--paper-card);border:1px solid var(--ash-line);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.85rem;box-shadow:var(--shadow-card)}.occurrence-summary{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.occurrence-name{font-weight:700;min-width:10rem}.occurrence-amount{color:var(--ember-deep);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.occurrence-due-date{color:var(--ash);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.occurrence-badge{font-size:var(--text-2xs);font-weight:700;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.occurrence-badge.paid{background:#e8641f26;color:var(--ember-deep)}.occurrence-badge.unpaid{background:#b3261e1f;color:var(--forge-red-deep)}.occurrence-item-actions{display:flex;gap:.5rem;margin-left:auto}.occurrence-item-actions .btn-ghost{background:none;border:1px solid var(--ash-line);color:var(--ink-soft);border-radius:var(--radius);padding:.55rem 1.2rem;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);letter-spacing:.02em;transition:border-color .18s var(--ease-smooth),color .18s var(--ease-smooth),background .18s var(--ease-smooth)}.occurrence-item-actions .btn-ghost:hover{border-color:var(--ember);color:var(--ember-deep)}.occurrence-item-actions .btn-ghost.btn-danger{color:var(--forge-red-deep)}.occurrence-item-actions .btn-ghost.btn-danger:hover{border-color:var(--forge-red);background:#b3261e14}.occurrence-history{margin-top:.75rem;padding-left:1.2rem;color:var(--ash)}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.month-select{max-width:220px;min-width:180px}.bills-tab-bar{display:flex;gap:.5rem;border-bottom:1px solid var(--ash-line);margin-bottom:1.5rem}.bills-tab{padding:.6rem 1.1rem;text-decoration:none;color:var(--ash);font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:.02em;border-bottom:3px solid transparent}.bills-tab:hover{color:var(--ember-deep)}.bills-tab.active{color:var(--ink);border-bottom-color:var(--ember)}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-tile{background:var(--paper-card);border:1px solid var(--ash-line);border-top:3px solid var(--ember);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow-card)}.stat-tile-label{display:block;color:var(--ash);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.35rem}.stat-tile-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-stat);font-weight:600;color:var(--ink)}.progress-bar{height:10px;background:var(--ash-line);border-radius:999px;overflow:hidden;margin-top:.5rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--flame-yellow),var(--ember) 60%,var(--forge-red))}.calendar-month{margin-bottom:2rem}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-weekdays span{font-size:var(--text-xs);color:var(--ash);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.3rem .2rem;text-align:center}.calendar-cell{min-height:5.5rem;border:1px solid var(--ash-line);border-radius:calc(var(--radius) - 2px);padding:.3rem;display:flex;flex-direction:column;gap:.2rem;overflow-y:auto;background:#faeeda66}.calendar-cell-empty{border-color:transparent;background:none}.calendar-cell-day{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--ash);font-weight:700}.calendar-entry{font-size:var(--text-2xs);line-height:1.3;padding:.15rem .35rem;border-radius:calc(var(--radius) - 4px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-entry.unpaid{background:#b3261e1f;color:var(--forge-red-deep)}.calendar-entry.paid{background:#e8641f26;color:var(--ember-deep)}:root{--ease-smooth: cubic-bezier(.4, 0, .2, 1)}@media (prefers-reduced-motion: no-preference){.card,.occurrence-card,.stat-tile,.quick-link-tile,.empty-state,.btn,.btn-secondary,.nav-link,.nav-section-label,.sidebar-toggle,.field input,.field select,.field textarea,.bills-tab{transition:transform .22s var(--ease-smooth),box-shadow .22s var(--ease-smooth),background .22s var(--ease-smooth),border-color .22s var(--ease-smooth),color .18s var(--ease-smooth)}.tab-panel{animation:panelIn .4s var(--ease-smooth) both}.auth-screen .card{animation:panelIn .5s var(--ease-smooth) both}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-bar-fill{transition:width .7s var(--ease-smooth)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.card,.occurrence-card,.stat-tile,.empty-state,.quick-link-tile{background:linear-gradient(160deg,#f4b40024,#e8641f14),#faeeda9e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}@supports not (backdrop-filter: blur(1px)){.card,.occurrence-card,.stat-tile,.empty-state,.quick-link-tile{background:linear-gradient(160deg,#f4b40024,#e8641f14),var(--paper)}}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #e8641f59}.btn-secondary:hover{box-shadow:0 4px 16px #b3261e59}.btn:active,.btn-secondary:active{transform:translateY(0);box-shadow:none}.occurrence-card:hover,.quick-link-tile:hover,.stat-tile:hover{transform:translateY(-3px);box-shadow:0 10px 28px #1c140f24,0 0 0 1px #e8641f29}:focus-visible{outline:none;box-shadow:0 0 0 3px #f4b40066,0 0 14px #f4b40073;border-radius:var(--radius)}.select-root,.datepicker-root{position:relative}.select-trigger,.datepicker-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;font-family:var(--font);font-size:var(--text-base);padding:.5rem .5rem .5rem .7rem;border:1px solid var(--ash-line);border-radius:var(--radius);background:var(--paper);color:var(--ink);cursor:pointer;text-align:left;box-shadow:0 2px 6px #1c140f0f;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth),background .2s var(--ease-smooth)}.select-trigger-value,.datepicker-trigger-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datepicker-placeholder{color:var(--ash)}.select-trigger:hover,.datepicker-trigger:hover{border-color:var(--ember);box-shadow:0 4px 14px #e8641f33}.select-trigger[aria-expanded=true],.datepicker-trigger[aria-expanded=true]{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px #f4b40038,0 2px 8px #1c140f14}.select-trigger-caret,.datepicker-trigger-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0;color:var(--ember-deep);background:radial-gradient(circle,#e8641f21,#e8641f21 58%,#e8641f00 62%);transition:transform .18s var(--ease-smooth),background .2s var(--ease-smooth)}.select-trigger:hover .select-trigger-caret,.select-trigger-caret.is-open,.datepicker-trigger:hover .datepicker-trigger-icon{background:radial-gradient(circle,#f4b4004d,#f4b4004d 58%,#f4b40000 62%)}.select-trigger-caret.is-open{transform:rotate(180deg)}.select-panel,.datepicker-panel{z-index:30;border:1px solid var(--ash-line);border-radius:var(--radius);background:linear-gradient(160deg,#f4b40029,#e8641f17),#faeedaf2;backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);box-shadow:0 10px 26px #1c140f33,0 2px 6px #1c140f1a;animation:panelIn .16s var(--ease-smooth) both}.select-panel{max-height:16rem;overflow-y:auto;margin:0;padding:.4rem;list-style:none}.select-option{padding:.5rem .65rem;border-radius:calc(var(--radius) - 1px);cursor:pointer;font-size:var(--text-base);color:var(--ink);transition:background .12s ease,color .12s ease}.select-option.active{background:#e8641f26}.select-option.selected{color:var(--ember-deep);font-weight:700}.select-option.selected:before{content:"✓ "}.datepicker-panel{width:17.5rem;padding:.85rem;max-height:calc(100vh - 1.5rem);overflow-y:auto}.datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;font-weight:700;color:var(--ink)}.datepicker-nav{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:none;border-radius:50%;background:none;color:var(--ember-deep);font-size:var(--text-md);cursor:pointer;transition:background .15s ease}.datepicker-nav:hover{background:#e8641f24}.datepicker-weekdays,.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.datepicker-weekdays span{font-size:var(--text-2xs);color:var(--ash);font-weight:700;padding:.25rem 0}.datepicker-day{background:none;border:none;border-radius:50%;padding:.42rem 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--ink);cursor:pointer;transition:background .12s ease,color .12s ease}.datepicker-day:hover{background:#e8641f29}.datepicker-day.is-today{box-shadow:inset 0 0 0 1.5px var(--ember);font-weight:700}.datepicker-day.selected{background:linear-gradient(135deg,var(--flame-yellow),var(--ember) 55%,var(--forge-red));color:var(--ink);font-weight:700}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1c140f8c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-dialog{width:100%;max-width:26rem;border:1px solid var(--ash-line);border-radius:var(--radius);background:linear-gradient(160deg,#f4b40029,#e8641f17),#faeedaf7;backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);box-shadow:0 20px 45px #1c140f59,0 2px 8px #1c140f26;padding:1.5rem;animation:panelIn .18s var(--ease-smooth) both}.confirm-dialog-title{font-size:var(--text-lg);margin-bottom:.6rem}.confirm-dialog-message{color:var(--ink-soft);margin:0 0 1.4rem;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.confirm-dialog-cancel{background:none;border:1px solid var(--ash-line);color:var(--ink-soft);border-radius:var(--radius);padding:.55rem 1.2rem;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);letter-spacing:.02em;transition:border-color .18s var(--ease-smooth),color .18s var(--ease-smooth)}.confirm-dialog-cancel:hover{border-color:var(--ember);color:var(--ember-deep)}@media (max-width: 860px){.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:.85rem;left:.85rem;z-index:45;width:2.75rem;height:2.75rem;border-radius:50%;border:none;background:linear-gradient(135deg,var(--flame-yellow),var(--ember) 55%,var(--forge-red));color:var(--ink);box-shadow:0 4px 14px #1c140f4d;cursor:pointer}.mobile-menu-toggle svg{width:1.4rem;height:1.4rem}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;background:#1c140f8c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;width:82vw;max-width:300px;z-index:49;transform:translate(-100%);transition:transform .25s var(--ease-smooth);overflow-y:auto}.sidebar.mobile-open{transform:translate(0)}.sidebar-toggle{display:none}.sidebar-mobile-close{display:flex;align-items:center;justify-content:center;position:absolute;top:1rem;right:1rem;width:2.3rem;height:2.3rem;border-radius:50%;border:none;background:#ffffff14;color:var(--paper);cursor:pointer}.sidebar-mobile-close svg{width:1.1rem;height:1.1rem}.main-content{padding:4.75rem 1rem 2.5rem}.page-header h1{font-size:var(--text-xl)}.list-toolbar{align-items:stretch}.month-select{max-width:none}.occurrence-summary{gap:.6rem}.occurrence-item-actions{width:100%;margin-left:0;margin-top:.4rem}.overview-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.calendar-month{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:480px}.calendar-cell{min-height:4.5rem}.btn,.btn-secondary,.occurrence-item-actions .btn-ghost,.confirm-dialog-cancel,.select-trigger,.datepicker-trigger,.field input,.field select,.field textarea{padding-top:.8rem;padding-bottom:.8rem}.confirm-dialog{max-width:calc(100vw - 2rem)}.bills-tab-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.bills-tab{white-space:nowrap;flex-shrink:0}}
