:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--ink: #17243a;--muted: #64748b;--subtle: #94a3b8;--line: #dde5ef;--line-soft: #edf1f6;--surface: #ffffff;--surface-soft: #f5f8fc;--canvas: #eef3f9;--blue: #2563d9;--blue-dark: #194eb4;--blue-soft: #eaf2ff;--green: #16805d;--green-soft: #e8f7f1;--amber: #a15d08;--amber-soft: #fff5dd;--red: #c23b4a;--red-soft: #fff0f1;--violet: #6e4fc4;--violet-soft: #f0ecff;--teal: #087e87;--teal-soft: #e5f8f8;--shadow: 0 1px 2px rgba(28, 45, 71, .04), 0 8px 28px rgba(38, 67, 104, .055);--radius: 16px}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--canvas)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:var(--blue)}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(1.75rem,2.4vw,2.3rem);line-height:1.15;letter-spacing:-.035em}h2{font-size:1.13rem;margin-bottom:0;letter-spacing:-.015em}h3{font-size:1rem;margin-bottom:6px}svg{flex:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:244px;flex-direction:column;padding:27px 18px 20px;background:#132a4b;color:#dbe9ff}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 10px 28px}.brand,.mobile-brand,.login-brand{display:flex;align-items:center;gap:11px;font-weight:730;letter-spacing:-.02em}.brand{color:#fff;font-size:1.1rem}.brand-mark{display:inline-grid;width:37px;height:37px;place-items:center;border-radius:12px 12px 12px 5px;color:#fff;background:linear-gradient(145deg,#4b8eff,#1d62da);box-shadow:inset 0 1px #ffffff40,0 5px 15px #01153a47;font-weight:800}.brand-mark-small{width:29px;height:29px;border-radius:9px 9px 9px 4px;font-size:.86rem}.main-nav{display:flex;flex:1;flex-direction:column;gap:5px}.main-nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;color:#aebed5;text-decoration:none;font-size:.9rem;font-weight:550;transition:.18s ease}.main-nav a:hover{color:#fff;background:#ffffff0e}.main-nav a.active{color:#fff;background:#4186f533;box-shadow:inset 3px 0 #5b9afa}.sidebar-footer{display:grid;gap:17px}.privacy-note{display:flex;align-items:flex-start;gap:8px;padding:0 8px;color:#8198b9;font-size:.71rem;line-height:1.4}.user-block{display:grid;grid-template-columns:35px 1fr 28px;gap:9px;align-items:center;padding:12px 9px;border-top:1px solid rgba(255,255,255,.09)}.user-avatar{display:grid;width:35px;height:35px;place-items:center;border-radius:50%;background:#2b4a73;color:#fff;font-size:.82rem;font-weight:700}.user-info{display:flex;min-width:0;flex-direction:column}.user-info strong{overflow:hidden;color:#fff;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.user-info span{overflow:hidden;color:#8298b7;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.user-block button,.sidebar-close{display:grid;padding:4px;border:0;color:#8198b9;background:none;cursor:pointer;place-items:center}.sidebar-close{display:none}.main-content{min-height:100vh;margin-left:244px}.page{width:min(1420px,100%);margin:0 auto;padding:38px 40px 60px}.mobile-header,.bottom-nav{display:none}.page-header{display:flex;min-height:74px;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:26px}.eyebrow{margin-bottom:5px;color:var(--blue);font-size:.68rem;font-weight:750;letter-spacing:.105em;text-transform:uppercase}.page-description,.section-copy{max-width:740px;margin-bottom:0;color:var(--muted);font-size:.88rem;line-height:1.55}.page-actions,.year-actions,.heading-actions{display:flex;align-items:center;gap:10px}.year-actions .field{min-width:105px}.year-actions .field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.card{border:1px solid rgba(211,222,235,.9);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card-heading,.section-heading,.classification-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.card-heading{margin-bottom:22px}.card-heading>svg{color:var(--subtle)}.section-heading{align-items:center;margin:34px 0 14px}.section-heading h2{font-size:1.3rem}.section-heading .eyebrow{margin-bottom:3px}.button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:1px solid transparent;border-radius:10px;cursor:pointer;font-size:.82rem;font-weight:680;transition:transform .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.52}.button-primary{color:#fff;background:var(--blue);box-shadow:0 5px 14px #2563d92e}.button-primary:hover:not(:disabled){background:var(--blue-dark)}.button-secondary{border-color:var(--line);color:#2c466b;background:#fff}.button-secondary:hover:not(:disabled){border-color:#b9c9dd;background:#f8fbff}.button-ghost{color:var(--blue);background:transparent}.button-ghost:hover:not(:disabled){background:var(--blue-soft)}.button-danger{color:#fff;background:var(--red)}.icon-button{display:inline-grid;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:9px;color:#75879f;background:transparent;cursor:pointer;place-items:center}.icon-button:hover:not(:disabled){border-color:var(--line);color:var(--ink);background:var(--surface-soft)}.icon-button:disabled{cursor:not-allowed;opacity:.35}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{display:flex;min-height:136px;align-items:flex-start;gap:14px;padding:20px;overflow:hidden}.metric>div:not(.metric-icon){display:flex;min-width:0;flex-direction:column}.metric span{margin-bottom:9px;color:var(--muted);font-size:.74rem;font-weight:620}.metric strong{overflow-wrap:anywhere;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.15;letter-spacing:-.035em}.metric small{margin-top:7px;color:var(--subtle);font-size:.68rem;line-height:1.35}.metric-icon{display:grid;width:37px;height:37px;place-items:center;border-radius:11px}.metric-icon svg{width:19px}.metric-blue .metric-icon{color:var(--blue);background:var(--blue-soft)}.metric-positive .metric-icon{color:var(--green);background:var(--green-soft)}.metric-warning .metric-icon{color:var(--amber);background:var(--amber-soft)}.metric-violet .metric-icon{color:var(--violet);background:var(--violet-soft)}.metric-teal .metric-icon{color:var(--teal);background:var(--teal-soft)}.skeleton{position:relative;border-color:transparent;background:#e4eaf2;box-shadow:none}.skeleton:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);content:"";animation:shimmer 1.3s infinite;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.dashboard-grid,.tax-layout,.planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.month-totals{display:flex;align-items:center;gap:22px;margin-top:14px;padding:12px 17px}.month-totals>span{margin-right:auto;color:var(--muted);font-size:.7rem;font-weight:680}.month-totals>div{display:flex;align-items:center;gap:6px;font-size:.7rem}.month-totals>div svg{width:16px;color:var(--blue)}.month-totals>div:nth-child(2) svg{color:var(--green)}.month-totals>div:nth-child(3) svg{color:var(--red)}.month-totals small{color:var(--subtle);font-size:.61rem}.dashboard-grid>.card,.tax-layout>.card,.planning-grid>.card{padding:23px}.cash-flow-list{display:grid;gap:15px}.cash-row{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.85rem}.cash-row span{display:flex;align-items:center;gap:8px;color:var(--muted)}.cash-row .positive{color:var(--green)}.cash-row .negative{color:var(--red)}.cash-row-strong{font-size:1rem}.cash-divider{height:1px;background:var(--line-soft)}.fine-print{margin:4px 0 0;color:var(--subtle);font-size:.7rem;line-height:1.45}.card-total{color:var(--ink);font-size:1.1rem;font-weight:750}.category-bars{display:grid;gap:15px}.category-bar-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:.76rem}.category-bar-label span{display:flex;align-items:center;gap:8px;color:var(--muted)}.category-bar-label i{width:7px;height:7px;border-radius:50%}.bar-track{height:5px;overflow:hidden;border-radius:99px;background:var(--line-soft)}.bar-track span{display:block;height:100%;border-radius:inherit}.upcoming-list{display:grid}.upcoming-item{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line-soft)}.upcoming-item:first-child{padding-top:0;border:0}.upcoming-item>div:nth-child(2){display:flex;min-width:0;flex-direction:column}.upcoming-item>div:nth-child(2) strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.upcoming-item>div:nth-child(2) span{color:var(--subtle);font-size:.68rem}.upcoming-item>strong{font-size:.79rem}.upcoming-date{display:flex;width:42px;height:45px;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;color:var(--blue);background:var(--blue-soft);line-height:1.1}.upcoming-date.tax{color:var(--violet);background:var(--violet-soft)}.upcoming-date strong{font-size:.88rem}.upcoming-date span{margin-top:2px;font-size:.56rem;text-transform:uppercase}.calculation-list{display:grid;gap:13px}.calculation-list>div{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.78rem}.calculation-list>div strong{color:var(--ink)}.calculation-total{align-items:center;margin-top:4px;padding-top:14px;border-top:1px solid var(--line);font-size:.9rem!important;font-weight:700}.calculation-total strong{font-size:1.12rem}.future-income{display:flex;align-items:flex-start;gap:7px;margin:17px 0 0;padding:10px;border-radius:9px;color:#315a7e;background:#eef7ff;font-size:.69rem;line-height:1.4}.success-icon{color:var(--green)!important}.warning-icon{color:var(--amber)!important}.reconciliation-line{margin:18px 3px 0;color:var(--muted);font-size:.72rem;text-align:right}.notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;border:1px solid #cfe0f5;border-radius:11px;color:#315a7e;background:#f2f8ff;font-size:.76rem;line-height:1.5}.notice-warning{border-color:#f0dba8;color:#81531d;background:var(--amber-soft)}.notice-success{border-color:#bce5d5;color:#176349;background:var(--green-soft)}.notice p:last-child,.notice div>:last-child{margin-bottom:0}.error-state{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:14px;border:1px solid #f2c7cb;border-radius:11px;color:#86313c;background:var(--red-soft)}.error-state>div{flex:1}.error-state strong{font-size:.8rem}.error-state p{margin:2px 0 0;font-size:.73rem;line-height:1.4}.loading-state{display:flex;min-height:220px;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:.8rem}.app-loading{display:grid;min-height:100vh;place-content:center;justify-items:center}.app-loading .loading-state{min-height:75px}.empty-state{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.empty-icon{display:grid;width:46px;height:46px;margin-bottom:13px;place-items:center;border-radius:14px;color:var(--blue);background:var(--blue-soft)}.empty-state h3{margin-bottom:6px}.empty-state p{max-width:450px;margin-bottom:16px;color:var(--muted);font-size:.76rem;line-height:1.5}.badge{display:inline-flex;width:max-content;align-items:center;padding:4px 8px;border-radius:999px;font-size:.63rem;font-weight:720;white-space:nowrap}.badge-neutral{color:#65758a;background:#edf1f5}.badge-positive{color:#176349;background:var(--green-soft)}.badge-warning{color:#8a570d;background:var(--amber-soft)}.badge-danger{color:#9b3440;background:var(--red-soft)}.badge-blue{color:#2459ac;background:var(--blue-soft)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.segmented{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#e8eef5}.segmented button{min-height:32px;padding:5px 11px;border:0;border-radius:7px;color:var(--muted);background:transparent;cursor:pointer;font-size:.73rem;font-weight:650}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #20324b1f}.search-box{display:flex;min-width:240px;flex:1;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.search-box svg{color:var(--subtle)}.search-box input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:.79rem}.filter-count{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-size:.6rem}.filter-panel{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;align-items:end;margin-bottom:14px;padding:16px}.field{position:relative;display:flex;min-width:0;flex-direction:column;gap:6px;color:var(--ink)}.field-label{font-size:.69rem;font-weight:680}.field-hint,.field-message{color:var(--subtle);font-size:.62rem;line-height:1.35}.field-message{color:var(--red)}.field input,.field select,.field textarea,.money-input,.suffix-input{width:100%;min-height:40px;border:1px solid #d5deea;border-radius:9px;outline:none;color:var(--ink);background:#fff;font-size:.78rem;transition:border-color .15s,box-shadow .15s}.field input,.field select{padding:0 10px}.field textarea{min-height:80px;padding:10px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.money-input:focus-within,.suffix-input:focus-within{border-color:#6b9ded;box-shadow:0 0 0 3px #3170da1a}.field-error input,.field-error select,.field-error textarea{border-color:var(--red)}.money-input,.suffix-input{display:flex;align-items:center;overflow:hidden}.money-input span,.suffix-input span{padding:0 10px;color:var(--muted);font-size:.76rem;font-weight:650}.money-input input,.suffix-input input{min-width:0;border:0;border-radius:0;box-shadow:none!important}.suffix-input span{order:2}.table-card{overflow:hidden}.data-table{display:grid}.table-head,.table-row{display:grid;grid-template-columns:105px minmax(220px,1.6fr) minmax(120px,.9fr) 90px 120px 76px;gap:12px;align-items:center;padding:12px 16px}.table-head{min-height:42px;border-bottom:1px solid var(--line);color:var(--subtle);background:#f8fafc;font-size:.64rem;font-weight:720;letter-spacing:.025em;text-transform:uppercase}.table-row{min-height:65px;border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:.74rem}.table-row:last-child{border:0}.table-row:hover{background:#fbfdff}.transaction-main{display:flex;min-width:0;align-items:center;gap:10px}.transaction-main>span{display:flex;min-width:0;flex-direction:column}.transaction-main strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.transaction-main small{display:flex;align-items:center;gap:6px;margin-top:3px;color:var(--subtle)}.transaction-dot{width:8px;height:28px;border-radius:99px;background:var(--subtle)}.transaction-income{background:#52b991}.transaction-expense{background:#ed7580}.transaction-transfer{background:#67a0f5}.amount{color:var(--ink);font-weight:730;white-space:nowrap}.amount-income{color:var(--green)}.amount-expense{color:var(--red)}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:13px;color:var(--muted);font-size:.7rem}.pagination>div{display:flex;align-items:center;gap:7px}.annual-controls{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px;padding:14px}.annual-controls .field{width:110px}.annual-table-card{overflow:hidden}.annual-scroll{overflow-x:auto}.annual-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:.68rem}.annual-table th,.annual-table td{padding:12px 9px;border-bottom:1px solid var(--line-soft);text-align:right;white-space:nowrap}.annual-table thead th{color:var(--subtle);background:#f8fafc;font-size:.61rem;text-transform:uppercase}.annual-table th:first-child{position:sticky;left:0;z-index:1;min-width:170px;color:var(--ink);background:#fff;text-align:left}.annual-table thead th:first-child{z-index:2;background:#f8fafc}.annual-table .no-detail{color:var(--subtle);background:#fafbfd;text-align:center}.table-note{margin:12px 15px;color:var(--muted);font-size:.67rem}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;overflow-y:auto;padding:25px;background:#0b1a3094;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center}.modal{width:min(520px,100%);max-height:calc(100vh - 50px);overflow-y:auto;border:1px solid rgba(255,255,255,.25);border-radius:18px;background:#fff;box-shadow:0 24px 70px #05173340}.modal-wide{width:min(820px,100%)}.modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:21px 23px 17px;border-bottom:1px solid var(--line-soft);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-header h2{margin-bottom:5px;font-size:1.22rem}.modal-header p{margin-bottom:0;color:var(--muted);font-size:.71rem;line-height:1.45}.modal-body{display:grid;gap:17px;padding:21px 23px 23px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.classification-box,.settings-section,.allocations{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f9fbfd}.classification-title{align-items:center}.classification-title>div{display:flex;flex-direction:column;gap:3px}.classification-title strong{font-size:.78rem}.classification-title span{color:var(--muted);font-size:.65rem;line-height:1.4}.switch-label{display:inline-flex;align-items:center;gap:7px;color:var(--muted);cursor:pointer;font-size:.69rem;font-weight:650}.switch-label input{position:absolute;opacity:0;pointer-events:none}.switch-label>span{position:relative;width:32px;height:18px;border-radius:99px;background:#c8d2df;transition:.2s}.switch-label>span:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;content:"";box-shadow:0 1px 3px #0000002e;transition:.2s}.switch-label input:checked+span{background:var(--blue)}.switch-label input:checked+span:after{transform:translate(14px)}.switch-label.standalone{width:max-content}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.split-part{display:grid;gap:11px;padding:13px;border:1px solid var(--line-soft);border-radius:10px;background:#fff}.split-part h4{margin:0;font-size:.76rem}.inline-help{margin:-4px 0 0;padding:11px 13px;border-radius:9px;color:#315a7e;background:var(--blue-soft);font-size:.69rem;line-height:1.45}.planning-grid{margin-top:0}.budget-card form{display:grid;gap:14px}.generator-card>p{color:var(--muted);font-size:.75rem;line-height:1.5}.generator-card{display:flex;flex-direction:column}.generator-card>.button{align-self:flex-start;margin-top:14px}.planned-list{padding:5px 18px}.planned-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:13px;align-items:center;min-height:70px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.planned-row:last-child{border:0}.planned-row>div:nth-child(2){display:flex;min-width:0;flex-direction:column}.planned-row>div:nth-child(2) strong{overflow:hidden;font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}.planned-row>div:nth-child(2) span{margin-top:3px;color:var(--muted);font-size:.67rem}.planned-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:var(--red);background:var(--red-soft)}.planned-icon.income{color:var(--green);background:var(--green-soft)}.planned-icon svg{width:17px}.recurrence-grid,.accounts-grid,.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recurrence-card{padding:18px}.recurrence-top,.account-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.recurrence-icon,.account-icon,.export-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:var(--blue);background:var(--blue-soft)}.recurrence-icon svg,.account-icon svg{width:18px}.recurrence-card>p{min-height:34px;margin-bottom:10px;color:var(--muted);font-size:.71rem;line-height:1.45}.recurrence-card>strong{font-size:1.2rem}.recurrence-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;color:var(--subtle);font-size:.63rem}.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--line-soft)}.recurrence-rule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border-radius:11px;background:var(--blue-soft)}.tax-metrics{margin-bottom:16px}.tax-sources{display:grid;grid-template-columns:210px 1fr;gap:20px;margin-bottom:16px;padding:17px 20px}.tax-sources>div:last-child{display:grid;gap:8px}.tax-source{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}.tax-source:last-child{padding-bottom:0;border:0}.tax-source>div{display:flex;flex-direction:column;gap:2px}.tax-source strong{font-size:.72rem}.tax-source span{color:var(--muted);font-size:.62rem}.tax-source a{display:inline-flex;align-items:center;gap:5px;font-size:.66rem;font-weight:650;text-decoration:none;white-space:nowrap}.tax-metrics .metric{min-height:116px}.tax-estimate-card .calculation-list{margin-bottom:14px}.reserve-card form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.reserve-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:19px 0 12px}.reserve-summary div{display:flex;flex-direction:column;gap:5px;padding:11px;border-radius:9px;background:var(--surface-soft)}.reserve-summary span{color:var(--muted);font-size:.66rem}.reserve-summary strong{font-size:.92rem}.activity-card{display:flex;min-height:85px;align-items:center;justify-content:space-between;gap:10px;padding:15px}.activity-card.archived{opacity:.62}.activity-card>div:first-child{display:flex;min-width:0;align-items:center;gap:10px}.activity-card>div:first-child>div{display:flex;min-width:0;flex-direction:column}.activity-card strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.activity-card span:not(.activity-dot){margin-top:3px;color:var(--muted);font-size:.65rem}.activity-dot{width:8px;height:33px;border-radius:99px;background:var(--blue)}.obligation-list,.credit-list{padding:4px 16px}.credit-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto 80px;gap:12px;align-items:center;min-height:64px;border-bottom:1px solid var(--line-soft)}.credit-row:last-child{border:0}.credit-row.cancelled{opacity:.6}.credit-row>div:first-child{display:flex;min-width:0;flex-direction:column}.credit-row>div:first-child strong{overflow:hidden;font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}.credit-row>div:first-child span{margin-top:3px;color:var(--muted);font-size:.64rem}.credit-row>strong{font-size:.8rem;text-align:right}.obligation-row{display:grid;grid-template-columns:38px minmax(170px,1fr) 105px 105px auto 155px;gap:12px;align-items:center;min-height:74px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.obligation-row:last-child{border:0}.obligation-row>div:nth-child(2),.obligation-due,.obligation-amount{display:flex;min-width:0;flex-direction:column}.obligation-row>div:nth-child(2) strong{overflow:hidden;font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}.obligation-row>div:nth-child(2) span,.obligation-due span,.obligation-amount span{margin-top:3px;color:var(--subtle);font-size:.61rem}.obligation-due strong,.obligation-amount strong{margin-top:3px;font-size:.7rem}.obligation-status{display:grid;width:35px;height:35px;place-items:center;border-radius:10px;color:var(--amber);background:var(--amber-soft)}.obligation-status.paid{color:var(--green);background:var(--green-soft)}.obligation-status.cancelled{color:var(--subtle);background:var(--surface-soft)}.obligation-status svg{width:17px}.settings-section h3{margin:0}.tax-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.allocation-row{display:grid;grid-template-columns:1.2fr .7fr 1fr 34px;gap:10px;align-items:end}.settings-tabs{display:flex;gap:5px;margin-bottom:22px;padding:4px;border-bottom:1px solid var(--line)}.settings-tabs button{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;cursor:pointer;font-size:.76rem;font-weight:650}.settings-tabs button.active{border-color:var(--blue);color:var(--blue)}.account-card{position:relative;padding:19px;overflow:hidden}.account-card:before{position:absolute;top:0;right:0;width:80px;height:80px;border-radius:0 0 0 80px;background:var(--blue-soft);content:"";opacity:.65}.account-card.archived,.category-row.archived{opacity:.62}.account-kind{color:var(--subtle);font-size:.63rem;font-weight:680;text-transform:uppercase}.account-card h3{margin:3px 0 14px}.account-balance{display:block;font-size:1.45rem;letter-spacing:-.035em}.account-meta{display:grid;gap:3px;margin-top:12px;color:var(--muted);font-size:.63rem;line-height:1.35}.category-list,.summary-list{padding:4px 16px}.category-row{display:grid;grid-template-columns:10px minmax(180px,1fr) auto 80px;gap:12px;align-items:center;min-height:62px;border-bottom:1px solid var(--line-soft)}.category-row:last-child,.summary-row:last-child{border:0}.category-row>i{width:8px;height:32px;border-radius:99px}.category-row>div:nth-child(2){display:flex;min-width:0;flex-direction:column}.category-row strong{font-size:.77rem}.category-row>div:nth-child(2) span{margin-top:3px;color:var(--muted);font-size:.64rem}.category-name-field{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:end}.category-name-field>input{width:40px;height:40px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#fff}.summary-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:13px;align-items:center;min-height:70px;border-bottom:1px solid var(--line-soft)}.summary-year{display:grid;width:50px;height:40px;place-items:center;border-radius:9px;color:var(--blue);background:var(--blue-soft);font-size:.73rem;font-weight:750}.summary-row>div:nth-child(2){display:flex;min-width:0;flex-direction:column}.summary-row strong{font-size:.76rem}.summary-row>div:nth-child(2) span{margin-top:3px;color:var(--muted);font-size:.65rem}.summary-revenue{display:grid;grid-template-columns:1.1fr .7fr .9fr 34px;gap:10px;align-items:end}.summary-payment{display:grid;grid-template-columns:1fr .65fr .75fr .8fr;gap:10px;align-items:end;padding-bottom:13px;border-bottom:1px solid var(--line)}.summary-payment:last-child{padding-bottom:0;border-bottom:0}.summary-payment>.icon-button{justify-self:end}.data-export-card{display:grid;grid-template-columns:55px 1fr auto;gap:18px;align-items:center;padding:24px}.export-icon{width:50px;height:50px}.data-export-card h2{margin-bottom:6px}.data-export-card p{max-width:680px;margin:0;color:var(--muted);font-size:.74rem;line-height:1.5}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(380px,1.05fr) minmax(420px,.95fr);background:#fff}.login-intro{position:relative;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between;padding:42px clamp(40px,6vw,90px);color:#fff;background:linear-gradient(150deg,#0c2446,#173b6f 55%,#1e5ec1 130%)}.login-intro:before,.login-intro:after{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;content:""}.login-intro:before{right:-180px;bottom:-150px;width:500px;height:500px}.login-intro:after{right:-90px;bottom:-60px;width:310px;height:310px}.login-brand{position:relative;z-index:1;font-size:1.1rem}.login-copy{position:relative;z-index:1;max-width:540px}.login-copy .eyebrow{color:#82b3ff}.login-copy h1{margin-bottom:22px;font-size:clamp(2.7rem,5.2vw,5rem);line-height:.98;letter-spacing:-.06em}.login-copy>p:last-child{max-width:510px;color:#b7cae6;font-size:1rem;line-height:1.65}.login-points{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:18px;color:#9fb6d8;font-size:.74rem}.login-points span{display:flex;align-items:center;gap:7px}.login-panel{display:grid;padding:35px;place-items:center}.login-form{display:grid;width:min(390px,100%);gap:18px}.login-form h2{margin-bottom:5px;font-size:1.55rem}.login-form>div:nth-child(2) p{margin-bottom:0;color:var(--muted);font-size:.8rem}.login-lock{display:grid;width:49px;height:49px;place-items:center;border-radius:14px;color:var(--blue);background:var(--blue-soft)}.login-submit{width:100%;margin-top:3px}.login-help{margin:0;color:var(--subtle);font-size:.65rem;line-height:1.45;text-align:center}.password-field{position:relative}.password-field input{width:100%;padding-right:46px}.password-field button{position:absolute;top:50%;right:7px;display:grid;width:34px;height:34px;padding:0;transform:translateY(-50%);place-items:center;border:0;border-radius:9px;color:var(--muted);background:transparent;cursor:pointer}.password-field button:hover{color:var(--blue);background:var(--blue-soft)}.login-recovery-link{justify-self:center;padding:3px;border:0;color:var(--blue);background:transparent;font:inherit;font-size:.76rem;cursor:pointer}.login-recovery-link:hover{text-decoration:underline}.recovery-panel{align-content:center}.recovery-steps{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;color:var(--muted);background:var(--surface-soft);font-size:.78rem;line-height:1.55}.recovery-steps p{margin:0}.recovery-steps code{overflow-wrap:anywhere;padding:11px;border-radius:9px;color:#dce9ff;background:#102747;font-size:.72rem}.toast-region{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;width:min(350px,calc(100vw - 40px));gap:8px}.toast{padding:12px 15px;border:1px solid var(--line);border-radius:10px;color:#fff;background:#1e3556;box-shadow:0 10px 30px #0c203c38;font-size:.75rem;animation:toast-in .2s ease-out}.toast-success{background:#17694f}.toast-error{background:#a63442}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media(max-width:1120px){.page{padding:32px 26px 55px}.metrics-grid,.recurrence-grid,.accounts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-grid{grid-template-columns:1fr 1fr}.table-head,.table-row{grid-template-columns:88px minmax(180px,1.4fr) minmax(105px,.8fr) 80px 105px 70px;gap:8px;padding-inline:12px}.obligation-row{grid-template-columns:36px minmax(150px,1fr) 92px 95px auto 125px;gap:8px}}@media(max-width:840px){input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea{font-size:16px!important}.sidebar{width:225px;transform:translate(-105%);transition:transform .22s ease}.sidebar-open{transform:translate(0);box-shadow:20px 0 60px #05142a40}.sidebar-close{display:grid}.nav-scrim{position:fixed;inset:0;z-index:25;border:0;background:#0a192f6b}.mobile-header{position:sticky;top:0;z-index:20;display:flex;height:58px;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-brand{font-size:.9rem}.menu-button,.quick-button{display:grid;width:36px;height:36px;padding:0;border:0;border-radius:9px;color:var(--ink);background:transparent;place-items:center}.quick-button{color:#fff;background:var(--blue)}.menu-button svg,.quick-button svg{width:20px}.main-content{margin:0}.page{padding:25px 18px 88px}.bottom-nav{position:fixed;right:12px;bottom:10px;left:12px;z-index:20;display:grid;height:62px;grid-template-columns:repeat(4,1fr);padding:5px;border:1px solid rgba(205,218,233,.95);border-radius:17px;background:#fffffff5;box-shadow:0 10px 35px #10284829;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:11px;color:var(--muted);text-decoration:none;font-size:.56rem;font-weight:650}.bottom-nav a.active{color:var(--blue);background:var(--blue-soft)}.toast-region{bottom:83px}.login-page{grid-template-columns:1fr}.login-intro{min-height:270px;padding:28px}.login-copy{margin:45px 0 25px}.login-copy h1{font-size:2.9rem}.login-copy>p:last-child{font-size:.84rem}.login-panel{padding:45px 25px}.table-head{display:none}.table-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:7px 14px;padding:15px 52px 15px 15px}.table-row>span{display:flex}.table-row>span:nth-child(1){order:2;color:var(--subtle)}.table-row>span:nth-child(2){grid-column:1 / -1;order:1}.table-row>span:nth-child(3){order:4}.table-row>span:nth-child(4){justify-self:end;order:3}.table-row>span:nth-child(5){justify-self:end;order:5}.table-row .row-actions{position:absolute;top:12px;right:8px;display:grid}.obligation-row{position:relative;grid-template-columns:38px minmax(0,1fr) auto;padding:14px 125px 14px 0}.obligation-row .obligation-due,.obligation-row .obligation-amount{grid-column:2}.obligation-row>.badge{position:absolute;top:15px;right:5px}.obligation-row .row-actions{position:absolute;right:0;bottom:12px}}@media(max-width:640px){.page-header{min-height:0;flex-direction:column;gap:14px;margin-bottom:20px}.page-header .page-actions,.page-header .page-actions>.button{width:100%}.year-actions{width:100%}.year-actions .field{flex:1}.metrics-grid,.dashboard-grid,.tax-layout,.planning-grid,.recurrence-grid,.accounts-grid,.activity-grid{grid-template-columns:1fr}.metric{min-height:110px;padding:17px}.tax-sources{grid-template-columns:1fr}.month-totals{align-items:flex-start;flex-wrap:wrap;gap:10px 18px}.month-totals>span{width:100%}.month-totals small{width:100%}.toolbar{flex-wrap:wrap}.toolbar .segmented{order:1;width:100%}.toolbar .segmented button{flex:1}.toolbar .search-box{order:2;min-width:0}.toolbar>.button{order:3}.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel>.button{grid-column:1 / -1}.page-actions .button{flex:1}.annual-controls{align-items:stretch;flex-direction:column}.annual-controls .field{width:100%}.form-grid,.split-grid,.tax-fields{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:94vh;border-radius:19px 19px 0 0}.modal-header{padding:19px 18px 15px}.modal-body{padding:18px}.modal-actions{position:sticky;bottom:-18px;z-index:1;margin:0 -18px -18px;padding:13px 18px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-actions .button{flex:1}.classification-title{align-items:flex-start;flex-direction:column}.planned-row{grid-template-columns:38px minmax(0,1fr) auto}.planned-row>.button{grid-column:2 / -1}.recurrence-rule{grid-template-columns:repeat(2,minmax(0,1fr))}.reserve-card form{grid-template-columns:1fr}.reserve-card form .button{width:100%}.reserve-summary{grid-template-columns:1fr}.heading-actions{width:100%}.heading-actions .button{flex:1}.section-heading{align-items:flex-start;flex-wrap:wrap}.obligation-row{grid-template-columns:36px 1fr;padding-right:0;padding-bottom:55px}.credit-row{position:relative;grid-template-columns:1fr auto;padding:12px 75px 12px 0}.credit-row>.badge{grid-column:1}.credit-row>.row-actions{position:absolute;right:0}.obligation-row>.badge{inset:auto auto 16px 48px}.obligation-row .row-actions{right:0;bottom:8px}.allocation-row,.summary-revenue{grid-template-columns:1fr 34px;padding-bottom:10px;border-bottom:1px solid var(--line)}.summary-payment{grid-template-columns:1fr 34px}.summary-payment .field{grid-column:1}.summary-payment .icon-button{grid-column:2;grid-row:1}.allocation-row .field,.summary-revenue .field{grid-column:1}.allocation-row .icon-button,.summary-revenue .icon-button{grid-column:2;grid-row:1}.settings-tabs{overflow-x:auto;margin-inline:-18px;padding-inline:18px}.settings-tabs button{flex:none}.category-row{grid-template-columns:9px 1fr auto;padding:10px 0}.category-row>.badge{grid-column:2}.category-row>.row-actions{grid-column:3;grid-row:1 / span 2}.summary-row{grid-template-columns:50px 1fr;padding:11px 0}.summary-row>.row-actions{grid-column:2;justify-self:end}.data-export-card{grid-template-columns:48px 1fr;padding:18px}.data-export-card>.button{grid-column:1 / -1}.login-intro{min-height:235px}.login-copy{margin:32px 0 14px}.login-copy h1{margin-bottom:14px;font-size:2.45rem}.login-points{display:none}.login-panel{padding:35px 22px}.pagination>span{display:none}.pagination{justify-content:center}}@media(max-width:400px){.page{padding-inline:13px}.filter-panel{grid-template-columns:1fr}.upcoming-item{grid-template-columns:42px minmax(0,1fr)}.upcoming-item>strong{grid-column:2}.planned-row>.amount{grid-column:2;justify-self:start}.planned-row>.button{grid-column:2}.recurrence-rule{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.fiscal-settings-entry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:18px}.fiscal-settings-entry>svg{color:var(--primary)}.fiscal-settings-entry h2,.fiscal-profile-form h2{margin:0 0 5px;font-size:1.08rem}.fiscal-settings-entry p,.fiscal-profile-form p{margin:0;color:var(--muted)}.inline-link,.profile-links a{display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-weight:700;text-decoration:none}.fiscal-profile-form{display:grid;gap:16px;margin-top:16px}.fiscal-profile-form>.card{scroll-margin-top:18px}.profile-completeness{display:grid;grid-template-columns:1fr auto;gap:12px}.profile-completeness ul{grid-column:1/-1;margin:0;padding-left:20px}.profile-completeness a{color:var(--primary)}.profile-activities{margin-top:18px}.activity-profile-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.activity-profile-row span{display:block;margin-top:3px;color:var(--muted);font-size:.86rem}.activity-profile-edit{padding:10px 0 14px;border-bottom:1px solid var(--line)}.form-grid.compact{align-items:end;margin-top:14px}.fiscal-profile-form details{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.fiscal-profile-form summary{cursor:pointer;font-weight:700}.fiscal-profile-form details p{margin-top:10px;font-size:.88rem}.calculation-summary{display:grid;gap:7px;margin-top:12px;padding:14px;border-radius:14px;background:var(--surface-soft)}.calculation-summary span{color:var(--muted);font-size:.9rem}.calculation-summary a{color:var(--primary);font-weight:700;text-decoration:none}.fiscal-profile-form details a{display:inline-flex;align-items:center;gap:3px}.profile-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px}.profile-result{display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;bottom:16px;z-index:2;box-shadow:var(--shadow-lg)}.link-button{border:0;padding:0;background:none;color:inherit;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer}@media(max-width:720px){.fiscal-settings-entry{grid-template-columns:auto 1fr}.fiscal-settings-entry .button{grid-column:1/-1}.profile-result{position:static;align-items:stretch;flex-direction:column}.activity-profile-row{align-items:flex-start}}
