:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-deep-green:#0e5b4e;--brand-teal:#1fa48c;--brand-sage:#7db792;--brand-sunrise:#ffb26b;--brand-lavender:#ab9cf2;--brand-sand:#f6f1e7;--brand-charcoal:#2b2e33;--color-green-900:var(--brand-deep-green);--color-green-700:#147365;--color-teal-600:var(--brand-teal);--color-sage-200:#dceee4;--color-sand-100:var(--brand-sand);--color-sunrise-500:var(--brand-sunrise);--color-lavender-500:var(--brand-lavender);--color-ink-900:var(--brand-charcoal);--color-ink-600:#5d6a66;--color-line:#dce6df;--color-page:#fbfaf5;--color-surface:#fff;--color-surface-soft:#f7faf6;--color-surface-warm:#f6f1e7;--color-input:#fff;--color-label:#264d43;--color-on-primary:#fff;--color-chrome:#fffffff0;--color-sidebar:#fff;--color-row-hover:#f7fbf7;--color-success-bg:#e8f7ed;--color-success-text:#17643b;--color-warning-bg:#fff2df;--color-warning-text:#9a5511;--color-danger-bg:#fff5f2;--color-danger-border:#ffc9bd;--color-danger-text:#9c2f1f;--color-muted-bg:#eef3ef;--color-icon-bg:#e5f3ec;--color-icon-fg:var(--brand-deep-green);--shadow-card:0 12px 30px #0e5b4e14;--shadow-modal:0 24px 70px #0e5b4e38;--auth-background:linear-gradient(135deg, #0e5b4ef0, #1fa48cbd), linear-gradient(180deg, var(--brand-sand), #fff);--radius:8px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-green-900:#a9e6d5;--color-green-700:#1fa48c;--color-teal-600:#54c9b3;--color-sage-200:#263d33;--color-sand-100:#241f19;--color-ink-900:#f6f1e7;--color-ink-600:#b8c6bf;--color-line:#7db7923d;--color-page:#111715;--color-surface:#18231f;--color-surface-soft:#1f2d29;--color-surface-warm:#25231f;--color-input:#121c19;--color-label:#d6e4dc;--color-on-primary:#071411;--color-chrome:#121c19f0;--color-sidebar:#141f1b;--color-row-hover:#1e2a26;--color-success-bg:#1fa48c29;--color-success-text:#8ee3c9;--color-warning-bg:#ffb26b24;--color-warning-text:#ffd2a5;--color-danger-bg:#ff725a1f;--color-danger-border:#ff978161;--color-danger-text:#ffb9ab;--color-muted-bg:#202b27;--color-icon-bg:#7db79229;--color-icon-fg:#b8ead9;--shadow-card:0 16px 34px #0000003d;--shadow-modal:0 28px 80px #00000070;--auth-background:linear-gradient(135deg, #0e5b4edb, #2b2e33e6), linear-gradient(180deg, #101715, #18231f)}*{box-sizing:border-box}html,body{min-height:100%}body{background:linear-gradient(180deg, var(--color-page), var(--color-surface-warm));color:var(--color-ink-900);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-page{background:var(--auth-background);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card,.card{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-card)}.form-card{gap:14px;display:grid}.auth-card{width:min(100%,440px);padding:32px}.eyebrow{color:var(--color-teal-600);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.muted{color:var(--color-ink-600)}.field{gap:6px;display:grid}.field label,.label{color:var(--color-label);font-size:.88rem;font-weight:700}.form-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-text);border-radius:7px;margin:0;padding:10px 12px;font-size:.88rem;font-weight:700}.input,.select,.textarea{border:1px solid var(--color-line);background:var(--color-input);width:100%;min-height:42px;color:var(--color-ink-900);border-radius:7px;outline:none;padding:10px 12px}.textarea{resize:vertical;min-height:80px}input[type=file]{background:var(--color-input);border:1px solid var(--color-line);color:var(--color-ink-900);border-radius:7px;width:100%;padding:6px 6px 6px 8px}input[type=file]::file-selector-button{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-green-900);cursor:pointer;border-radius:5px;margin-right:10px;padding:5px 12px;font-weight:800}input[type=file]::file-selector-button:hover{background:var(--color-surface-soft)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-teal-600);box-shadow:0 0 0 3px #168a8329}.button,.primary-button,.secondary-button,.danger-button,.icon-button{cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 14px;font-weight:800;display:inline-flex}.button{background:var(--color-green-700);color:var(--color-on-primary)}.button:hover{background:var(--color-green-900)}.primary-button{background:var(--color-green-700);color:var(--color-on-primary)}.primary-button:hover{background:var(--color-green-900)}.secondary-button{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-green-900)}.danger-button{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-text)}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.app-main-shell{min-width:0}.topbar{background:var(--color-chrome);border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;justify-content:space-between;align-items:center;gap:20px;padding:14px clamp(16px,4vw,40px);display:none;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-logo{width:132px;height:auto;display:block}.auth-card .brand-lockup{flex-direction:column;align-items:flex-start;gap:8px}.auth-card .brand-logo{width:176px}.brand-lockup span{color:var(--color-ink-600);font-size:.78rem;line-height:1.35;display:block}.sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-line);grid-template-rows:auto 1fr auto;align-content:start;gap:18px;min-height:100vh;padding:22px 16px;display:grid;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--color-line);padding-bottom:18px}.sidebar .brand-lockup{flex-direction:column;align-items:flex-start;gap:10px}.sidebar .brand-logo{width:152px}.nav{flex-wrap:wrap;gap:6px;display:flex}.nav a{color:var(--color-label);border-radius:7px;align-items:center;gap:8px;min-height:36px;padding:8px 10px;display:inline-flex}.nav a:hover,.nav a[aria-current=page]{background:var(--color-surface-warm);color:var(--color-green-900)}.nav-icon{background:var(--color-icon-bg);color:var(--color-icon-fg);border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.nav a[aria-current=page] .nav-icon{background:var(--color-green-900);color:var(--color-surface)}.sidebar-nav{align-content:start;gap:8px;display:grid}.sidebar-nav a{color:var(--color-label);border-radius:7px;align-items:center;gap:10px;min-height:42px;padding:10px 12px;display:flex}.sidebar-nav a:hover,.sidebar-nav a[aria-current=page]{background:var(--color-surface-warm);color:var(--color-green-900)}.sidebar-footer{border-top:1px solid var(--color-line);padding-top:14px}.sidebar-footer .secondary-button{width:100%}.logout-icon-button{background:var(--color-icon-bg);color:var(--color-green-900);min-height:38px;padding:9px}.bottom-nav-shell{display:none}.page{max-width:1180px;margin:0 auto;padding:28px clamp(16px,4vw,40px) 56px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-title{color:var(--color-green-900);margin:4px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.1}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{padding:18px}.card h2{color:var(--color-green-900);align-items:center;gap:8px;display:flex}.card h2 svg{color:var(--color-teal-600)}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.section-heading h2,.section-heading p{margin-top:0;margin-bottom:0}.section-heading h2+p{margin-top:4px}.metric{gap:6px;display:grid}.metric span{color:var(--color-ink-600);font-size:.86rem;font-weight:700}.metric strong{color:var(--color-green-900);font-size:1.65rem;line-height:1.1}.table-wrap{overflow-x:auto}.import-candidate-panel{border:1px solid var(--color-line);border-radius:var(--radius);gap:10px;padding:14px;display:grid}.import-candidate-panel h3{color:var(--color-green-900);margin:0}.candidate-card{border:1px solid var(--color-line);border-radius:var(--radius);gap:8px;padding:12px 14px;display:grid}.candidate-card-resolved{opacity:.7}.candidate-card-header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.candidate-reason{color:var(--color-ink-600);font-size:.82rem}.candidate-amount{font-size:.88rem;font-weight:600}.candidate-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.candidate-button{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink-900);cursor:pointer;white-space:nowrap;border-radius:5px;padding:5px 11px;font-size:.78rem;font-weight:700}.candidate-button:hover{background:var(--color-surface-soft);border-color:var(--color-teal-600)}.candidate-button-active{background:var(--color-green-900);border-color:var(--color-green-900);color:#fff}.candidate-button-active:hover{background:var(--color-green-700);border-color:var(--color-green-700)}.status-undecided{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-decided{background:var(--color-sage-200);color:var(--color-green-700)}.status-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.status-transfer{background:var(--color-sage-200);color:var(--color-green-700)}.import-history-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.import-history-card{border:1px solid var(--color-line);border-radius:var(--radius);color:inherit;gap:5px;padding:14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.import-history-card:hover{border-color:var(--color-teal-600);box-shadow:var(--shadow-card)}.import-history-card-active{background:var(--color-surface-soft);border-color:var(--color-teal-600)}.import-history-card-title{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.import-row-list{gap:8px;display:grid}.import-row-card{border:1px solid var(--color-line);border-radius:var(--radius);gap:8px;padding:12px 14px;display:grid}.import-row-card-error{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.import-row-card-warning{background:var(--color-warning-bg)}.import-row-header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.import-row-num{color:var(--color-ink-600);min-width:2.4rem;font-size:.78rem;font-weight:600}.import-row-fields{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 20px;display:grid}.import-row-field label{color:var(--color-ink-600);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;display:block}.import-row-field span{font-size:.88rem;font-weight:500}.import-row-messages{gap:2px;display:grid}.import-row-msg-error{color:var(--color-danger-text);font-size:.82rem}.import-row-msg-warning{color:var(--color-warning-text);font-size:.82rem}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:11px 10px}.table th{color:var(--color-label);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.data-table{min-width:980px}.data-table tbody tr:hover{background:var(--color-row-hover)}.data-table small{margin-top:5px;font-size:.76rem;display:block}.transaction-table{min-width:1320px}.nowrap{white-space:nowrap}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-grid{gap:12px;display:grid}.create-panel-grid{align-items:start}.create-form{gap:14px;display:grid}.create-form-accounts{grid-template-columns:1.4fr 1fr 1fr .7fr auto auto;align-items:end}.form-actions{justify-content:flex-end;align-items:center;display:flex}.section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.checkbox-field,.table-checkbox{color:var(--color-label);align-items:center;gap:8px;font-size:.88rem;font-weight:700;display:inline-flex}.checkbox-field{min-height:42px}.table-checkbox{min-height:36px}.table-control{min-width:120px;min-height:36px;padding:7px 9px}.short-control,.type-control,.status-control{min-width:96px}.date-control{min-width:132px}.account-control,.category-control,.merchant-control{min-width:150px}.money-control{text-align:right;min-width:136px}.note-control{min-width:180px}.table-actions{flex-wrap:nowrap;align-items:center;gap:7px;display:flex}.compact-button{white-space:nowrap;min-height:34px;padding:7px 10px}.status-pill{border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.status-active{background:var(--color-success-bg);color:var(--color-success-text)}.status-muted{background:var(--color-muted-bg);color:var(--color-ink-600)}.record-list{display:grid}.record-row{background:var(--color-surface);border:0;border-bottom:1px solid var(--color-line);color:inherit;cursor:pointer;text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:14px 4px;display:grid}.record-row:hover{background:var(--color-row-hover)}.record-row-static{cursor:default}.record-icon{color:var(--color-icon-fg);border-radius:999px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.record-icon-account,.record-icon-income{background:var(--color-icon-bg)}.record-icon-expense{background:var(--color-warning-bg);color:var(--color-warning-text)}.record-icon-transfer{background:var(--color-surface-raised);color:var(--color-text-muted)}.filter-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:8px;margin-bottom:4px;padding-bottom:16px;display:flex}.filter-bar .field{flex:9rem;margin:0}.filter-bar label{letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:.72rem}.filter-count{color:var(--color-text-muted);flex:100%;align-self:flex-end;padding-bottom:2px;font-size:.82rem}.filter-context{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;font-size:.86rem;display:flex}.filter-context a{color:var(--brand-teal);font-weight:700}.filter-context-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.filter-context-chip{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:650;line-height:1}.record-main,.record-side{gap:4px;min-width:0;display:grid}.record-main strong,.record-side strong{font-size:1rem}.record-main .muted,.record-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-note{color:var(--color-ink-600);font-size:.82rem}.record-side{text-align:right;justify-items:end}.settings-page-stack,.settings-list{gap:18px;display:grid}.settings-type-section{gap:12px;display:grid}.settings-type-heading{display:flex}.settings-group{border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden}.settings-group-heading{background:var(--color-surface-soft);border-bottom:1px solid var(--color-line);grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:10px;padding:12px 14px;display:grid}.settings-group-heading h3{overflow-wrap:anywhere;margin:0 0 3px}.draggable-heading,.draggable-row{cursor:grab}.draggable-heading:active,.draggable-row:active{cursor:grabbing}.drag-handle{color:var(--color-ink-600);justify-content:center;align-items:center;display:inline-flex}.drag-handle-cell{width:40px;min-height:40px}.collapse-button{background:var(--color-icon-bg);color:var(--color-green-900);width:40px;min-height:40px;padding:9px}.category-record-row{grid-template-columns:40px auto minmax(0,1fr) auto}.compact-empty{border:0;border-radius:0;padding:14px}.readonly-field{border:1px solid var(--color-line);border-radius:7px;min-height:42px;padding:10px 12px;font-weight:800;display:inline-flex}.readonly-income{background:var(--color-success-bg);color:var(--color-success-text)}.readonly-expense{background:var(--color-warning-bg);color:var(--color-warning-text)}.account-balance-summary{gap:6px}.account-record-row{grid-template-columns:auto minmax(0,1fr) minmax(168px,auto);padding:14px 4px}.account-card-title-line{flex-wrap:wrap;align-items:center;min-width:0;display:flex}.account-type-badge{background:var(--color-icon-bg);color:var(--color-green-900);flex:none}.account-card-meta{color:var(--color-ink-600);flex-wrap:wrap;align-items:center;gap:6px;font-size:.86rem;display:flex}.account-opening-balance{color:var(--color-ink-600);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.account-current-balance strong{color:var(--color-green-900);font-size:1.08rem;line-height:1.15}.dashboard-record-list .record-row:first-child{padding-top:8px}.dashboard-record-list .record-row:last-child{border-bottom:0;padding-bottom:8px}.amount-income{color:var(--color-success-text)}.amount-expense{color:var(--color-danger-text)}.modal-backdrop{z-index:100;background:#0d1b1794;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-modal);gap:18px;width:min(100%,720px);max-width:720px;max-height:calc(100vh - 36px);padding:20px;display:grid;overflow-y:auto}.modal-header{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.modal-header h2{margin:2px 0 0}.modal-icon-button{background:var(--color-icon-bg);color:var(--color-green-900);min-height:40px;padding:9px}.modal-form{gap:14px;display:grid}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.modal-danger-zone{border-top:1px solid var(--color-line);justify-content:flex-end;padding-top:16px;display:flex}.badge{border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.badge-income{background:var(--color-success-bg);color:var(--color-success-text)}.badge-expense{background:var(--color-warning-bg);color:var(--color-warning-text)}.audit-entity-id{margin-top:3px;font-size:.82rem;display:block}.audit-action{background:var(--color-icon-bg);color:var(--color-green-900);text-transform:capitalize;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.audit-meta{gap:7px;min-width:280px;display:grid}.audit-field-list{flex-wrap:wrap;gap:6px;display:flex}.audit-field{background:var(--color-surface-warm);border:1px solid var(--color-line);color:var(--color-label);border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.theme-toggle{background:var(--color-surface-soft);border:1px solid var(--color-line);border-radius:var(--radius);color:var(--color-ink-900);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:58px;margin-top:12px;padding:12px;display:flex}.theme-toggle:hover{background:var(--color-surface-warm)}.theme-toggle-icon{background:var(--color-icon-bg);color:var(--color-icon-fg);border-radius:999px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.theme-toggle span:last-child{gap:2px;min-width:0;display:grid}.theme-toggle small{color:var(--color-ink-600)}.empty{border:1px dashed var(--color-line);border-radius:var(--radius);color:var(--color-ink-600);text-align:center;padding:20px}.skeleton{background:linear-gradient(90deg, var(--color-muted-bg) 0%, var(--color-surface-soft) 50%, var(--color-muted-bg) 100%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeleton-pulse;display:block}.skeleton-line{height:.9rem}.skeleton-line-sm{height:.72rem}.skeleton-line-lg{height:1.65rem}.skeleton-block{height:100%;min-height:80px}.skeleton-circle{border-radius:999px;width:46px;height:46px}.skeleton-stack{gap:8px;display:grid}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.period-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.period-label{color:var(--color-ink-600);align-items:center;gap:5px;margin-right:2px;font-size:.78rem;font-weight:700;display:inline-flex}.period-sep{background:var(--color-line);width:1px;height:18px;margin:0 4px}.period-active-badge{background:var(--color-success-bg);border:1px solid var(--brand-teal);color:var(--color-success-text);border-radius:14px;align-items:center;gap:4px;margin-left:auto;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.report-bars{gap:12px;display:grid}.report-bar-row{color:inherit;gap:7px;text-decoration:none;display:grid}.report-bar-row:hover strong{color:var(--brand-teal)}.report-bar-main{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.report-bar-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-bar-track{background:var(--color-surface-raised);border-radius:999px;height:8px;display:block;overflow:hidden}.report-bar-fill{background:linear-gradient(90deg, var(--brand-teal), var(--brand-gold));border-radius:inherit;min-width:4px;height:100%;display:block}.period-pill{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink-600);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:5px 14px;font-size:.8rem;font-weight:700;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.period-pill:hover{background:var(--color-surface-soft);color:var(--color-green-900)}.period-pill-active{background:var(--color-green-900);border-color:var(--color-green-900);color:var(--color-on-primary)}.period-pill-active:hover{background:var(--color-green-700)}.dashboard-header-desktop{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.dashboard-header-mobile{display:none}.dashboard-header-stack{gap:12px;display:grid}.hh-sub{color:var(--color-ink-600);margin:2px 0 0;font-size:.82rem}.icon-button-circle{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink-600);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-button-circle:hover{background:var(--color-surface-soft)}.page-title-sm{color:var(--color-green-900);margin:0;font-size:1.25rem;font-weight:800}.header-actions{gap:8px;display:inline-flex}.dashboard-active-period-row{display:none}.metric-label-row{color:var(--color-ink-600);align-items:center;gap:5px;margin-bottom:4px;font-size:.78rem;font-weight:700;display:inline-flex}.metric-meta{color:var(--color-ink-600);align-items:center;gap:4px;margin-top:4px;font-size:.78rem;display:inline-flex}.link-warning{color:var(--color-warning-text);cursor:pointer;font-weight:700}.link-warning:hover{text-decoration:underline}.metric-value-warning{color:var(--color-warning-text)}.metric-value-income{color:var(--brand-teal)}.metric-value-expense{color:var(--color-danger-text)}.metric-delta{border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:.7rem;font-weight:800;display:inline-flex}.metric-delta-up{background:var(--color-success-bg);color:var(--color-success-text)}.metric-delta-down{background:var(--color-danger-bg);color:var(--color-danger-text)}.metric-delta-neutral{background:var(--color-muted-bg);color:var(--color-ink-600)}.metric-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.metric-warning strong{color:var(--color-warning-text)}.confidence-row{align-items:center;gap:12px;display:flex}.confidence-label{color:var(--color-label);white-space:nowrap;align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:inline-flex}.confidence-bar-track{background:var(--color-line);border-radius:3px;flex:1;height:6px;margin:0;overflow:hidden}.confidence-bar-fill{background:var(--brand-teal);border-radius:3px;height:100%;transition:width .3s}.confidence-bar-fill-low{background:var(--color-warning-text)}.confidence-pct{color:var(--brand-teal);white-space:nowrap;font-size:.85rem;font-weight:800}.confidence-chips{flex-wrap:wrap;gap:14px;margin-top:10px;display:flex}.chip{color:var(--color-ink-600);align-items:center;gap:4px;font-size:.78rem;display:inline-flex}.chip-success{color:var(--color-success-text)}.chip-warning{color:var(--color-warning-text)}.confidence-stats{color:var(--color-ink-600);margin:0;font-size:.82rem}.sidebar-tagline{color:var(--color-ink-600);margin:2px 0 0;font-size:.75rem}.sidebar-section-label{color:var(--color-ink-600);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;padding:0 12px;font-size:.68rem;font-weight:800}.nav-badge{background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:999px;justify-content:center;min-width:18px;margin-left:auto;padding:1px 5px;font-size:.72rem;font-weight:800;display:inline-flex}.sidebar-profile{align-items:center;gap:10px;display:flex}.sidebar-profile-info{flex:1;gap:1px;min-width:0;display:grid;overflow:hidden}.sidebar-profile-name{color:var(--color-green-900);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:700;overflow:hidden}.sidebar-profile-label{color:var(--color-ink-600);font-size:.72rem}.card-header-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.view-all-link{color:var(--color-teal-600);white-space:nowrap;font-size:.82rem;font-weight:700}.view-all-link:hover{text-decoration:underline}.dashboard-record-list .record-row{padding:10px 4px}.acc-bar-wrap{background:var(--color-line);border-radius:2px;width:60px;height:3px;margin-top:4px;margin-left:auto;overflow:hidden}.acc-bar{background:var(--brand-teal);border-radius:2px;height:100%;transition:width .3s}.panel-total-row{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;display:flex}.panel-total-row strong{color:var(--brand-teal)}.cat-icon{border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.cat-icon-food{color:#9a5511;background:#fdebd0}.cat-icon-transport{color:#1f4f8f;background:#e3eefc}.cat-icon-grocery{color:#147365;background:#d9f0e2}.cat-icon-health{color:#aa2a5a;background:#fbdfe6}.cat-icon-income{background:var(--color-success-bg);color:var(--color-success-text)}.cat-icon-default{background:var(--color-icon-bg);color:var(--color-icon-fg)}.tx-badge{letter-spacing:.02em;text-transform:lowercase;white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:.66rem;font-weight:700}.tx-badge-reviewed{background:var(--color-success-bg);color:var(--color-success-text)}.tx-badge-pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.tx-meta-line{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.sidebar-avatar{background:var(--color-icon-bg);color:var(--color-icon-fg);border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:800;display:inline-flex}.bottom-nav-v2{grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:end;gap:0;display:grid}.bottom-nav-v2 a,.bottom-nav-v2 button.bottom-more{color:var(--color-ink-600);cursor:pointer;text-align:center;background:0 0;border:0;place-items:center;gap:2px;min-height:54px;padding:6px 3px;font-size:.66rem;font-weight:800;text-decoration:none;display:grid}.bottom-nav-v2 a[aria-current=page]{color:var(--brand-deep-green)}.bottom-nav-v2 a[aria-current=page]:after{background:var(--brand-teal);content:"";border-radius:50%;width:4px;height:4px;margin-top:1px}.bottom-nav-v2 svg{width:20px;height:20px}.bottom-fab{background:var(--brand-teal);color:var(--color-on-primary);border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:48px;height:48px;margin-top:-16px;padding:0;text-decoration:none;display:inline-flex;box-shadow:0 6px 18px #1fa48c59}.bottom-fab:hover{background:var(--color-green-700)}.bottom-fab svg{width:24px!important;height:24px!important}.bottom-nav-v2 .nav-badge{margin-left:2px}.more-drawer-overlay{opacity:0;pointer-events:none;z-index:95;background:#00000073;transition:opacity .2s;position:fixed;inset:0}.more-drawer-overlay.open{opacity:1;pointer-events:all}.more-drawer-sheet{background:var(--color-surface);z-index:100;border-radius:18px 18px 0 0;max-height:86vh;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -8px 24px #00000026}.more-drawer-sheet.open{transform:translateY(0)}.ms-handle-row{justify-content:center;padding:10px 0 4px;display:flex}.ms-handle{background:var(--color-line);border-radius:2px;width:36px;height:4px}.ms-title{color:var(--color-green-900);align-items:center;gap:8px;padding:4px 20px 12px;font-size:.95rem;font-weight:700;display:flex}.ms-section-label{color:var(--color-ink-600);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:8px 20px 6px;font-size:.7rem;font-weight:800}.ms-grid{grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 4px;display:grid}.ms-item{background:var(--color-surface-soft);border:1px solid var(--color-line);color:var(--color-ink-900);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:11px 14px;text-decoration:none;transition:background .15s;display:flex}.ms-item:hover{background:var(--color-surface-warm)}.ms-item-disabled{cursor:not-allowed;opacity:.55}.ms-item-disabled:hover{background:var(--color-surface-soft)}.ms-item-icon{color:var(--brand-teal);flex:none;justify-content:center;align-items:center;display:inline-flex}.ms-item-text{flex:1;gap:1px;min-width:0;display:grid}.ms-item-label{color:var(--color-green-900);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:700;overflow:hidden}.ms-item-sub{color:var(--color-ink-600);font-size:.72rem}.ms-item .nav-badge{margin-left:auto}.ms-divider{background:var(--color-line);height:1px;margin:10px 16px}.ms-bottom-row{padding:8px 20px calc(16px + env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:12px;display:flex}.ms-user{align-items:center;gap:10px;min-width:0;display:flex}.ms-user-info{gap:1px;min-width:0;display:grid}.ms-user-name{color:var(--color-green-900);font-size:.88rem;font-weight:700}.ms-user-sub{color:var(--color-ink-600);font-size:.72rem}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media (max-width:860px){.app-shell{padding-bottom:calc(74px + env(safe-area-inset-bottom));display:block}.sidebar,.dashboard-header-desktop{display:none}.dashboard-header-mobile{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.period-bar{scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding-bottom:4px;overflow-x:auto}.period-bar::-webkit-scrollbar{display:none}.period-bar>.period-label,.period-bar>.period-sep,.period-bar>.period-active-badge{display:none}.dashboard-active-period-row{color:var(--color-ink-600);justify-content:space-between;align-items:center;margin-top:8px;padding:0;font-size:.78rem;display:flex}.dashboard-active-period-row .ap-label{color:var(--color-ink-600);align-items:center;gap:5px;display:inline-flex}.dashboard-active-period-row .ap-val{color:var(--brand-teal);font-weight:800}.confidence-chips .chip-import-batches{display:none}.grid-4.stat-row{grid-template-columns:1fr 1fr;gap:8px}.grid-4.stat-row>article:nth-child(4){order:1}.grid-4.stat-row>article:nth-child(2){order:2}.grid-4.stat-row>article:nth-child(3){order:3}.stat-row .metric{min-width:0;padding:12px}.stat-row .metric strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;overflow:hidden}.stat-row .metric-label-row{font-size:.72rem}.stat-row .metric-meta{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.topbar{display:flex}.page-with-mobile-header~.topbar{display:none}body:has(.dashboard-header-mobile) .topbar{display:none}.topbar,.page-header,.section-heading{flex-direction:column;align-items:stretch}.topbar{flex-direction:row;align-items:center}.topbar .brand-logo{width:120px}.topbar .brand-lockup span{display:none}.page{padding-bottom:28px}.bottom-nav-shell{background:var(--color-chrome);border-top:1px solid var(--color-line);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:90;display:block;position:fixed;bottom:0;left:0;right:0}.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;display:grid}.bottom-nav a{color:var(--color-label);text-align:center;border-radius:7px;place-items:center;gap:3px;min-height:54px;padding:6px 3px;font-size:.68rem;font-weight:800;display:grid}.bottom-nav a:hover,.bottom-nav a[aria-current=page]{background:var(--color-surface-warm);color:var(--color-green-900)}.bottom-nav .nav-icon{width:28px;height:28px}.bottom-nav svg{width:19px;height:19px}.grid-2,.grid-3,.grid-4,.create-form-accounts,.inline-form{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .button{width:100%}.record-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.record-side{text-align:left;grid-column:2;justify-items:start}.dashboard-record-list .record-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:8px 0}.dashboard-record-list .record-side{text-align:right;grid-column:auto;place-items:flex-end end}.dashboard-record-list .record-icon,.dashboard-record-list .cat-icon{width:32px;height:32px}.dashboard-record-list .record-icon svg,.dashboard-record-list .cat-icon svg{width:16px;height:16px}.dashboard-record-list .record-main strong{font-size:.82rem}.dashboard-record-list .record-main .muted,.dashboard-record-list .record-note,.dashboard-record-list .tx-meta-line{font-size:.72rem}.dashboard-record-list .record-side strong{font-size:.82rem}.dashboard-record-list .record-side .muted,.dashboard-record-list .record-side time{font-size:.7rem}.dashboard-record-list .acc-bar-wrap{width:44px}.page>section>.card,.page>.card,section.card{padding:14px}.card h2{font-size:.95rem;font-weight:700}.card h2 svg{width:16px;height:16px}.view-all-link{font-size:.75rem}.panel-total-row{margin-top:10px;padding-top:8px;font-size:.82rem}.panel-total-row strong{font-size:.92rem}.tx-badge{padding:1px 5px;font-size:.6rem}.confidence-label{font-size:.78rem}.confidence-pct{font-size:.82rem}.confidence-chips{gap:10px;margin-top:8px}.confidence-chips .chip{font-size:.72rem}.account-record-row{grid-template-columns:auto minmax(0,1fr)}.account-record-row .account-balance-summary{text-align:left;grid-column:2;justify-items:start}.account-card-meta{gap:5px}.settings-group-heading{grid-template-columns:36px minmax(0,1fr) 40px;padding:10px 12px}.category-record-row{grid-template-columns:36px 42px minmax(0,1fr);align-items:center;gap:10px;padding:12px 8px}.category-record-row .record-side{grid-column:3;justify-items:start}.category-record-row .status-pill{margin-top:2px}.drag-handle-cell{width:36px;min-height:40px}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{border-radius:18px 18px 0 0;width:100%;max-height:90vh;padding:18px}.modal-actions,.modal-danger-zone,.section-actions,.button-row{justify-content:stretch}.modal-actions .button,.modal-actions .primary-button,.modal-actions .secondary-button,.modal-danger-zone .danger-button,.section-actions .button,.section-actions .primary-button,.section-actions .secondary-button,.button-row .button,.button-row .primary-button,.button-row .secondary-button,.button-row .danger-button{width:100%}}
