:root{color:#f1f5f9;font-synthesis:none;text-rendering:optimizelegibility;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,sans-serif}:root[data-theme=light]{color:#0f172a;background:#eef4fb}:root[data-theme=light] body{background:radial-gradient(circle at 100% 0,#d7e9fb 0,#0000 32rem),#eef4fb}:root[data-theme=light] .card{background:#ffffffeb;border-color:#bfcedf;box-shadow:0 12px 35px #2237521a}:root[data-theme=light] h1,:root[data-theme=light] h2,:root[data-theme=light] .category-name,:root[data-theme=light] .admin-user-row strong{color:#10253b}:root[data-theme=light] input:not([type=radio]):not([type=checkbox]),:root[data-theme=light] select,:root[data-theme=light] textarea{color:#10253b;background:#f8fbff;border-color:#9db2c9}*{box-sizing:border-box}body{background:radial-gradient(circle at 100% 0,#132744 0,#0000 32rem),#07111f;min-width:320px;min-height:100vh;margin:0}.app-nav{scrollbar-width:none;gap:.25rem;width:min(78rem,100% - 2.5rem);margin:1rem auto -1rem;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav button{color:#94a3b8;background:0 0;border:1px solid #0000;border-radius:.45rem;min-height:2.5rem;padding:.45rem .65rem;font-size:.8rem}.app-nav button.active{color:#cffafe;background:#10253b;border-color:#314561}.nav-spacer{flex:1}.nav-user{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;align-self:center;max-width:12rem;padding:0 .5rem;font-size:.8rem;overflow:hidden}.auth-shell{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.auth-card{gap:1rem;width:min(100%,30rem);padding:clamp(1.4rem,5vw,2.25rem);display:grid}.auth-card h1{font-size:clamp(2rem,7vw,2.8rem)}.auth-card label{color:#cbd5e1;gap:.45rem;font-size:.875rem;font-weight:650;display:grid}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.session-status{padding:1.25rem}.dashboard-error{justify-items:start;gap:.75rem;padding:1.25rem;display:grid}.dashboard-error p{color:#fca5a5;margin:0}.budget-cta{margin-top:.5rem}.app-shell{max-width:78rem;margin:0 auto;padding:2rem 1.25rem 3rem}button,input,select{font:inherit}button{cursor:pointer;transition:border-color .14s,background-color .14s,color .14s,transform .14s}button:not(:disabled):hover{border-color:#3d6685}button:disabled{cursor:not-allowed;opacity:.55}.page-heading,.inline-heading,.form-actions,.category-row,.category-actions,.heading-actions,.sheet-heading{align-items:center;display:flex}.page-heading{justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.eyebrow{color:#67e8f9;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .4rem;font-size:.72rem;font-weight:700}h1,h2,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:.5rem;font-size:clamp(2.15rem,7vw,3.25rem);line-height:1.04}h2{margin-bottom:0;font-size:1.12rem}.page-intro,.hint,.category-name span,.empty-state{color:#94a3b8}.page-intro{max-width:42rem;margin-bottom:0;line-height:1.55}.archive-toggle{color:#cbd5e1;white-space:nowrap;align-items:center;gap:.55rem;font-size:.875rem;display:flex}.heading-actions{justify-content:flex-end;gap:.75rem}.add-transaction{justify-items:end;gap:.5rem;display:grid}.add-transaction-trigger{white-space:nowrap}.transaction-notice{margin:0}.archive-toggle input,.color-choice input{accent-color:#22d3ee}.category-layout,.budget-layout,.settings-layout{gap:1.5rem;display:grid}.settings-status{padding:1rem}.secondary-button{color:#cffafe;background:#17344d}.admin-users,.temporary-password,.admin-debug{gap:.75rem;padding:1.25rem;display:grid}.admin-debug{align-items:center;margin-bottom:1rem}.admin-debug h2,.admin-debug p{margin:0}.admin-debug>div{gap:.4rem;display:grid}.admin-debug-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.temporary-password{border-color:#0e7490;margin-bottom:1rem}.temporary-password code{overflow-wrap:anywhere;color:#cffafe;background:#07111f;border-radius:.45rem;padding:.75rem}.temporary-password p,.admin-user-row span,.admin-user-row small{color:#94a3b8;margin:0}.admin-user-row{border-top:1px solid #24364f;gap:.85rem;padding-top:.9rem;display:grid}.admin-user-row>div:first-child{gap:.18rem;display:grid}.admin-actions{flex-wrap:wrap;gap:.35rem;display:flex}.dashboard-shell{gap:1rem;display:grid}.dashboard-heading,.panel-heading,.period-control,.period-picker,.period-mode,.recent-list li,.chart-summary button,.category-progress-list p{align-items:center;display:flex}.dashboard-heading,.panel-heading,.period-control{justify-content:space-between;gap:1rem}.dashboard-heading{align-items:flex-start;margin-bottom:1rem}.dashboard-heading .add-transaction{flex:none}.dashboard-actions{align-items:flex-start;gap:.65rem;display:flex}.cycle-toggle{display:none}.period-control{flex-wrap:wrap;padding:.65rem}.period-control>strong{color:#dbeafe;width:100%;padding:.2rem .35rem .35rem;font-size:.9rem}.period-mode{background:#0a1727;border-radius:.5rem;gap:.15rem;padding:.2rem}.period-mode button,.period-picker button{color:#94a3b8;background:0 0;border:0;border-radius:.35rem;min-height:2.25rem;padding:.4rem .65rem;font-size:.8rem;font-weight:700}.period-mode button.active{color:#cffafe;background:#17344d}.period-picker{gap:.15rem}.period-picker input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:0;min-height:2.25rem;padding:.3rem;font-size:.8rem}.budget-hero{background:linear-gradient(135deg,#123753f5,#0f1e33e6);padding:clamp(1.4rem,5vw,2.5rem)}.budget-hero h2{color:#f8fafc;letter-spacing:-.065em;margin:.1rem 0 .35rem;font-size:clamp(2.5rem,10vw,5.2rem);line-height:1}.budget-hero>p:not(.eyebrow):not(.budget-used-copy){color:#b7c7da;margin-bottom:1.25rem}.depletion-track{background:#081321;border:1px solid #94a3b829;border-radius:999px;width:100%;min-width:0;height:.625rem;overflow:hidden}.depletion-track span{border-radius:inherit;background:#64748b;height:100%;transition:width .18s ease-out;display:block}.depletion-track.safe span{background:#4ade80}.depletion-track.warning span{background:#facc15}.depletion-track.danger span{background:#f87171}.budget-used-copy{color:#b7c7da;margin:.6rem 0 0;font-size:.82rem}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.summary-card{min-width:0;padding:1rem}.summary-card p{color:#94a3b8;margin-bottom:.35rem;font-size:.76rem}.summary-card strong{color:#e2e8f0;letter-spacing:-.035em;text-overflow:ellipsis;font-size:clamp(1.05rem,4vw,1.4rem);display:block;overflow:hidden}.summary-card.inflow strong{color:#86efac}.summary-card.outflow strong{color:#fda4af}.dashboard-grid{gap:1rem;display:grid}.dashboard-panel{padding:1.2rem}.panel-heading{align-items:flex-start;margin-bottom:1rem}.panel-heading h2{font-size:1.05rem}.panel-heading a,.records-link{color:#a5f3fc;white-space:nowrap;font-size:.8rem;text-decoration:none}.records-link{background:0 0;border:0;padding:0}.chart-wrap{width:min(100%,19rem);height:15rem;margin:0 auto}.chart-selected{color:#b7c7da;text-align:center;min-height:1.25rem;margin:.25rem 0 .75rem;font-size:.78rem}.chart-summary,.recent-list{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.chart-summary button{color:#cbd5e1;text-align:left;background:0 0;border:1px solid #0000;border-radius:.45rem;gap:.5rem;width:100%;padding:.45rem;font-size:.82rem}.chart-summary button[aria-pressed=true]{background:#10253b;border-color:#315574}.chart-summary strong{color:#f1f5f9;margin-left:auto}.chart-summary small{color:#94a3b8;text-align:right;width:2.7rem}.category-dot{border-radius:50%;flex:none;width:.55rem;height:.55rem;display:inline-block}.recent-list li{border-top:1px solid #24364f;gap:.6rem;min-height:3.5rem;padding:.55rem 0}.recent-list li>div{gap:.15rem;min-width:0;display:grid}.recent-list strong,.recent-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-list small{color:#94a3b8;font-size:.72rem}.recent-list b{white-space:nowrap;margin-left:auto;font-size:.86rem}.recent-list b.inflow{color:#86efac}.recent-list b.outflow{color:#fda4af}.category-budget-panel{gap:.75rem;display:grid}.category-progress-list{gap:.85rem;display:grid}.category-progress-list p{color:#cbd5e1;justify-content:space-between;gap:1rem;margin-bottom:.35rem;font-size:.82rem}.category-progress-list p span{align-items:center;gap:.45rem;display:inline-flex}.category-progress-list p strong{color:#94a3b8;white-space:nowrap;font-weight:500}.chart-tooltip{color:#e2e8f0;background:#0d1b2d;border:1px solid #315574;border-radius:.45rem;gap:.2rem;padding:.6rem;font-size:.78rem;display:grid;box-shadow:0 .5rem 1.5rem #0000004d}.chart-tooltip span{color:#a5f3fc}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.budget-panel{gap:1rem;padding:1.25rem;display:grid}.budget-panel-wide{grid-column:1/-1}.optional-feature-heading,.payday-status{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.payday-intro,.payday-status p{margin:0}.payday-settings-content{border-top:1px solid #24364f;gap:1.25rem;padding-top:1.25rem;display:grid}.payday-schedule-form,.payday-allowances{gap:1rem;display:grid}.payday-schedule-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.payday-schedule-fields label{color:#cbd5e1;gap:.45rem;font-size:.875rem;font-weight:650;display:grid}.budget-warning,.budget-danger{color:#fecaca;margin:0}.budget-warning{background:#31141b;border:1px solid #7f1d1d;border-radius:.55rem;padding:.7rem}.allocation-row{border-top:1px solid #24364f;grid-template-columns:minmax(0,1fr) 7rem auto;align-items:center;gap:.65rem;padding-top:.75rem;display:grid}.allocation-row span{color:#e2e8f0;gap:.2rem;min-width:0;font-size:.85rem;display:grid}.allocation-row small{color:#94a3b8}.allocation-row input{min-height:2.35rem}.budget-swatch{vertical-align:-.1rem;border-radius:99px;width:.5rem;height:.9rem;margin-right:.45rem;display:inline-block}.card{background:#132339eb;border:1px solid #24364f;border-radius:.85rem;box-shadow:0 12px 35px #0000001f}.category-form{gap:1rem;padding:1.25rem;display:grid}.category-form label,.category-form fieldset{color:#cbd5e1;gap:.45rem;font-size:.86rem;display:grid}.category-form fieldset{border:0;margin:0;padding:0}.category-form legend{margin-bottom:.45rem}input:not([type=radio]):not([type=checkbox]),select,textarea{color:#f8fafc;background:#0d1b2d;border:1px solid #314561;border-radius:.55rem;width:100%;min-width:0;max-width:100%;min-height:2.8rem;padding:.6rem .75rem}textarea{resize:vertical;min-height:6rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #22d3ee}.color-grid{grid-template-columns:repeat(6,1fr);gap:.5rem;display:grid}.color-choice{display:grid!important}.color-choice input{opacity:0;position:absolute}.color-choice span{aspect-ratio:1;border:2px solid #0000;border-radius:999px;display:block}.color-choice input:checked+span{border-color:#f8fafc;box-shadow:0 0 0 2px #22d3ee}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:.25rem}.button{color:#062033;background:#67e8f9;border:1px solid #67e8f9;border-radius:.55rem;min-height:2.7rem;padding:.55rem .9rem;font-weight:700}.button:not(:disabled):hover{background:#a5f3fc;border-color:#a5f3fc;transform:translateY(-1px)}.button-quiet,.text-button{color:#a5f3fc;background:0 0}.button-quiet{border-color:#314561}.category-groups,.category-group,.category-list{gap:.75rem;display:grid}.category-group+.category-group{margin-top:1.75rem}.inline-heading{justify-content:space-between}.inline-heading>span,.archive-badge{color:#bae6fd;background:#17344d;border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.category-row{gap:.7rem;padding:.9rem}.category-swatch{border-radius:999px;width:.8rem;height:2.35rem}.category-name{gap:.15rem;min-width:0;display:grid}.category-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-name span{font-size:.75rem}.category-actions{gap:.1rem;margin-left:auto}.text-button{border:0;padding:.5rem;font-size:.8rem}.notice,.empty-state{border-radius:.65rem;margin-bottom:0;padding:.8rem .9rem;font-size:.875rem;line-height:1.45}.transaction-overlay{z-index:10;background:#010812bf;align-items:flex-end;display:flex;position:fixed;inset:0}.transaction-sheet{border-radius:1.1rem 1.1rem 0 0;width:100%;max-height:100dvh;padding:1.25rem;overflow-y:auto}.sheet-heading{justify-content:space-between;margin-bottom:1.25rem}.transaction-form{gap:1rem;display:grid}.transaction-form label,.transaction-form fieldset{color:#cbd5e1;border:0;gap:.45rem;margin:0;padding:0;font-size:.86rem;display:grid}.transaction-form legend{margin-bottom:.45rem}.transaction-type-switch{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.type-option{background:#0d1b2d;border:1px solid #314561;border-radius:.55rem;min-height:2.8rem;font-weight:700}.type-option.inflow.selected{color:#14532d;background:#bbf7d0;border-color:#86efac}.type-option.outflow.selected{color:#7f1d1d;background:#fecaca;border-color:#fca5a5}.form-error{color:#fecaca;background:#401825;border:1px solid #f87171;border-radius:.55rem;margin:0;padding:.75rem;font-size:.875rem}.notice{color:#a5f3fc;background:#0d2e42;border:1px solid #176a7a}.empty-state{color:#a8bbd0;background:#0a17276b;border:1px dashed #314561}.skeleton{background:#102239 linear-gradient(100deg,#0000 20%,#94a3b81a 40%,#0000 60%) 0 0/200% 100%;border:1px solid #24364f;border-radius:.85rem;animation:1.45s ease-in-out infinite skeleton-shimmer;overflow:hidden}.dashboard-skeleton{height:clamp(12rem,35vw,18rem)}.records-skeleton{gap:.65rem;min-height:14rem;padding:1rem;display:grid}.records-skeleton span{background:#94a3b81f;border-radius:999px;width:100%;height:1.1rem;display:block}.records-skeleton span:nth-child(2),.records-skeleton span:nth-child(4){width:74%}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.records-shell{gap:1rem;display:grid}.records-filters{gap:.75rem;padding:1rem;display:grid}.records-filters label{color:#cbd5e1;gap:.35rem;font-size:.76rem;display:grid}.records-filters fieldset{border:0;align-items:end;gap:.25rem;margin:0;padding:0;display:flex}.records-filters legend{color:#cbd5e1;width:100%;margin-bottom:.35rem;font-size:.76rem}.grouping-toggle button{color:#94a3b8;background:#0a1727;border:0;border-radius:.45rem;min-height:2.8rem;padding:.45rem .65rem;font-size:.8rem;font-weight:700}.grouping-toggle button.active{color:#cffafe;background:#17344d}.statement-note,.records-count{color:#94a3b8;margin:0;font-size:.8rem}.records-status{color:#cbd5e1;margin:0;padding:1rem}.records-groups{gap:1.5rem;display:grid}.record-group{gap:.65rem;display:grid}.record-group h2{color:#a5f3fc;letter-spacing:.02em;font-size:.88rem}.records-table-wrap{-webkit-overflow-scrolling:touch;background:#132339e0;border:1px solid #24364f;border-radius:.8rem;overflow-x:auto}.records-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:48rem}.records-table-wrap th,.records-table-wrap td{vertical-align:middle;border-bottom:1px solid #24364f;padding:.8rem .9rem;font-size:.82rem}.records-table-wrap th{color:#94a3b8;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.7rem}.records-table-wrap tr:last-child td{border-bottom:0}.records-table-wrap td small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;max-width:16rem;margin-top:.2rem;display:block;overflow:hidden}.record-name{align-items:center;gap:.45rem;font-weight:700;display:flex}.record-type{text-transform:capitalize;border-radius:999px;padding:.2rem .45rem;font-size:.68rem;font-weight:700}.record-type.inflow{color:#bbf7d0;background:#14532d}.record-type.outflow{color:#fecaca;background:#7f1d1d}.amount-column{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.amount-column.inflow,.record-card b.inflow{color:#86efac}.amount-column.outflow,.record-card b.outflow{color:#fda4af}.record-actions{text-align:right;white-space:nowrap}.danger-button{color:#fda4af}.records-mobile-list{gap:.5rem;display:grid}.record-card{background:#132339e0;border:1px solid #24364f;border-radius:.75rem;gap:.65rem;padding:.85rem;display:grid}.record-card-top,.record-card-bottom{align-items:center;gap:.55rem;display:flex}.record-card-top>div{gap:.15rem;min-width:0;display:grid}.record-card-top strong,.record-card-top small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-card-top small,.record-card-bottom{color:#94a3b8;font-size:.72rem}.record-card-top b{white-space:nowrap;margin-left:auto;font-size:.85rem}.record-card-bottom{border-top:1px solid #24364f;justify-content:space-between;padding-top:.55rem}.record-card-bottom strong{color:#e2e8f0;font-variant-numeric:tabular-nums;margin-left:.25rem}.records-pagination{color:#94a3b8;justify-content:space-between;align-items:center;gap:.75rem;font-size:.78rem;display:flex}.records-pagination .button{min-height:2.3rem}@media (width>=760px){.app-shell{padding-top:3.5rem}.category-layout{grid-template-columns:minmax(17rem,23rem) minmax(0,1fr);align-items:start}.budget-layout,.settings-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.settings-layout>:last-child{grid-column:1/-1}.admin-user-row{grid-template-columns:minmax(15rem,1fr) auto;align-items:center}.admin-debug{grid-template-columns:minmax(0,1fr) auto}.admin-debug-actions,.admin-actions{justify-content:flex-end}.dashboard-shell{gap:1.25rem}.period-control>strong{text-align:right;width:auto;margin-left:auto}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);align-items:start}.budget-layout .category-form{position:static}.category-form{position:sticky;top:1.5rem}.category-row{padding:1rem 1.1rem}.transaction-overlay{justify-content:center;align-items:center;padding:1.5rem}.transaction-sheet{border-radius:.85rem;width:min(100%,34rem);max-height:calc(100dvh - 3rem)}.records-filters{grid-template-columns:minmax(13rem,2fr) repeat(3,minmax(7rem,1fr));align-items:end}.records-filters>label:nth-of-type(4),.records-filters>label:nth-of-type(5),.records-filters>label:nth-of-type(6),.records-filters fieldset{grid-column:span 1}.records-mobile-list{display:none}}@media (width<=759px){.app-nav{width:calc(100% - 2rem);margin-top:.5rem}.app-shell{padding:1.5rem 1rem 2.5rem}.page-heading,.dashboard-heading{flex-direction:column;align-items:stretch;gap:.75rem}.heading-actions{justify-content:space-between}.dashboard-heading{margin-bottom:0}.dashboard-actions{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;width:100%;display:grid}.cycle-toggle{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dashboard-actions .add-transaction,.dashboard-actions .add-transaction-trigger,.dashboard-actions .cycle-toggle{width:100%}.page-heading .heading-actions{flex-direction:column-reverse;align-items:flex-start}.heading-actions .add-transaction,.heading-actions .add-transaction-trigger{width:100%}.period-control{gap:.55rem;display:none}.period-control.mobile-expanded{display:flex}.period-picker{justify-content:space-between;width:100%}.period-picker label{flex:1}.period-picker input{text-align:center;width:100%}.period-control>strong{padding-top:.45rem}.budget-hero{padding:1.35rem}.category-form,.category-form label,.records-filters,.records-filters label,.payday-schedule-fields,.payday-schedule-fields label{min-width:0}input[type=date],input[type=month]{min-width:0;max-width:100%;display:block}.allocation-row{grid-template-columns:minmax(0,1fr) auto}.allocation-row>span{grid-column:1/-1}.allocation-row input{width:100%}.payday-status{flex-direction:column;align-items:stretch}.payday-schedule-fields{grid-template-columns:1fr}.transaction-sheet{padding:1.15rem 1rem max(1.15rem, env(safe-area-inset-bottom))}.records-pagination{flex-wrap:wrap}.records-pagination span{text-align:center;order:3;width:100%}.records-table-wrap{display:none}.records-pagination{align-items:flex-start}}
