@import url(https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&display=swap);:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ec3013;--color-accent-2:#e15b47;--color-divider:color-mix(in srgb,#201e1d 40%,#0000);--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#fff2ef;--color-accent-200:#ffe0d9;--color-accent-300:#ffc4b8;--color-accent-400:#ff9783;--color-accent-500:#ff563c;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-accent-900:#4d170e;--color-accent-2-100:#fff2ef;--color-accent-2-200:#ffe0da;--color-accent-2-300:#ffc4b9;--color-accent-2-400:#ff9784;--color-accent-2-500:#ef6853;--color-accent-2-600:#c94b39;--color-accent-2-700:#9e3526;--color-accent-2-800:#71261b;--color-accent-2-900:#471d16;--font-heading:"Archivo",system-ui,sans-serif;--font-heading-weight:800;--font-body:"Archivo",system-ui,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--content-max:1400px;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--shadow-sm:0 1px 2px color-mix(in srgb,#2d2b2b 14%,#0000);--shadow-md:0 3px 10px color-mix(in srgb,#2d2b2b 16%,#0000);--shadow-lg:0 12px 32px color-mix(in srgb,#2d2b2b 22%,#0000)}*,:after,:before{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.55;margin:0;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;line-height:1.12;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px;letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}.text-muted{color:color-mix(in srgb,var(--color-text) 55%,#0000)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,#0000)}.hr{background:var(--color-divider);border:0;height:2px;margin:var(--space-4) 0}.btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-heading);font-size:14px;font-weight:var(--font-heading-weight);gap:6px;justify-content:center;line-height:1.2;padding:var(--space-2) calc(var(--space-3)*1.2);text-decoration:none;white-space:nowrap}.btn svg{display:block}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,#0000)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,#0000)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,#0000)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,#0000)}.btn-icon{height:36px;padding:0;width:36px}.btn-block{justify-content:flex-start;margin-top:var(--space-2);text-align:left;width:100%}.btn-danger{border-color:var(--color-divider);color:var(--color-accent-700)}.btn-danger:hover{background:var(--color-accent-100)}.form{display:flex;flex-direction:column;gap:var(--space-3)}.form-error{color:var(--color-accent-700);font-size:13px;margin:-4px 0 0}.field{display:flex;flex-direction:column;gap:4px;position:relative}.field>label{color:color-mix(in srgb,var(--color-text) 70%,#0000);display:block;font-size:12px;margin-bottom:2px}.field-inline{align-items:center;display:flex;gap:10px}.field-inline label{font-size:13px}.field-inline input[type=checkbox]{width:auto}.input,select.input,textarea.input{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);caret-color:var(--color-accent);color:var(--color-text);font:inherit;font-size:14px;min-height:36px;padding:6px 10px;width:100%}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,#0000)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}.field-error{color:var(--color-accent-700);font-size:12px;margin-top:2px}.radio{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;gap:8px}.radio input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;height:16px;width:16px}.radio input:checked+.dot,.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);flex-wrap:wrap;overflow:hidden}.seg,.seg-opt{display:inline-flex}.seg-opt{align-items:center;cursor:pointer;font-size:13px;gap:6px;padding:7px 12px}.seg-opt input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,#0000)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{background:var(--color-surface);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.card-kicker{color:var(--color-accent);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.card-title{font-family:var(--font-heading);font-size:17px;font-weight:var(--font-heading-weight);line-height:1.2}.card-body{flex:1 1;font-size:13px;margin:0;opacity:.8}.card-meta{align-items:center;color:color-mix(in srgb,var(--color-text) 50%,#0000);display:flex;font-size:11px;gap:6px}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{align-items:center;border-radius:calc(var(--radius-md)*.75);display:inline-flex;font-size:11px;letter-spacing:.02em;padding:3px 10px}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{border-bottom:2px solid var(--color-divider);gap:var(--space-4);padding-block:var(--space-3);padding-inline:max(var(--space-4),calc((100% - var(--content-max))/2 + var(--space-4)))}.nav,.nav-brand{align-items:center;display:flex}.nav-brand{font-family:var(--font-heading);font-size:18px;font-weight:var(--font-heading-weight);gap:10px;margin-right:auto}.nav a{color:var(--color-text);font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table-scroll{overflow-x:auto}.table-scroll>.table{min-width:min(720px,-webkit-max-content);min-width:min(720px,max-content)}.table{border-collapse:collapse;font-size:14px;width:100%}.table th{border-bottom:2px solid var(--color-divider);color:color-mix(in srgb,var(--color-text) 60%,#0000);font-size:11px;letter-spacing:.08em;text-align:left;text-transform:uppercase}.table td,.table th{padding:var(--space-2)}.table td{border-bottom:1px solid var(--color-divider)}@media (hover:hover){.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,#0000)}}.table .actions-cell{text-align:right;white-space:nowrap}.dialog-backdrop{background:color-mix(in srgb,var(--color-neutral-900) 50%,#0000);display:grid;inset:0;padding:var(--space-4);place-items:center;position:fixed;z-index:1001}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3);max-height:90dvh;overflow-y:auto;padding:var(--space-4);position:relative;width:min(480px,100%)}.dialog-title{font-family:var(--font-heading);font-size:20px;font-weight:var(--font-heading-weight);padding-right:var(--space-8)}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-2)}.kpi-strip{background:var(--color-surface);border:2px solid var(--color-divider);display:grid;margin-bottom:var(--space-4)}.kpi-cell{border-right:2px solid var(--color-divider);padding:var(--space-4) var(--space-6)}.kpi-cell:last-child{border-right:none}.kpi-label{color:color-mix(in srgb,var(--color-text) 55%,#0000);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.kpi-value{font-family:var(--font-heading);font-size:26px;font-weight:var(--font-heading-weight);margin-top:6px}.kpi-value.positive{color:var(--color-neutral-900)}.kpi-value.negative{color:var(--color-accent-700)}.kpi-sub{color:color-mix(in srgb,var(--color-text) 60%,#0000);font-size:12px;margin-top:4px}@media (hover:hover){.row-hover:hover{background:color-mix(in srgb,var(--color-text) 4%,#0000)}}.icon-btn{background:none;border:none;color:color-mix(in srgb,var(--color-text) 45%,#0000);cursor:pointer;display:inline-flex;padding:4px}.icon-btn:hover{color:var(--color-accent-700)}@media (max-width:900px){.kpi-strip{grid-template-columns:1fr 1fr!important}.kpi-cell{border-bottom:1px solid var(--color-divider)}}@media (max-width:600px){.kpi-cell{padding:var(--space-3)}.kpi-value{font-size:20px}.kpi-label{font-size:10px}}@media (pointer:coarse){.input,select.input,textarea.input{font-size:16px}.account-name-input,.balance-input,.budget-input,.module-inline-input{font-size:16px;min-height:36px}}@media (max-width:600px){.icon-btn{padding:10px}.sort-button{padding-block:6px}.btn{padding-block:var(--space-3)}.btn-icon{height:40px;padding:0;width:40px}.seg-opt{padding:10px 14px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-container{display:flex;flex-direction:column;gap:var(--space-4)}.hero-grid{background:var(--color-surface);border:2px solid var(--color-divider);display:grid;grid-template-columns:1.55fr 1fr}.hero-left{border-right:2px solid var(--color-divider);gap:var(--space-2)}.hero-left,.hero-right{display:flex;flex-direction:column;padding:var(--space-6)}.hero-right{gap:var(--space-4)}.hero-figure{font-family:var(--font-heading);font-size:46px;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-top:6px}.hero-delta-row{align-items:center;display:flex;gap:10px;margin-top:2px}.hero-split-grid{grid-gap:var(--space-4);border-top:1px solid var(--color-divider);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;margin-top:auto;padding-top:var(--space-3)}.hero-split-label{color:color-mix(in srgb,var(--color-text) 55%,#0000);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.hero-split-value{font-family:var(--font-heading);font-size:22px;font-weight:800;margin-top:4px}.quickadd-list{display:flex;flex-direction:column;gap:8px}.range-toolbar{align-items:center;display:flex;gap:var(--space-3)}.main-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1.55fr 1fr}.grid-column{display:flex;flex-direction:column;gap:var(--space-4)}.card-header{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.chart-container{height:220px;position:relative}.pie-charts-container{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr;height:200px}.chart-empty{align-items:center;display:flex;font-size:13px;height:100%;justify-content:center;padding:0 var(--space-2);text-align:center}.total-balance-row{align-items:baseline;border-bottom:2px solid var(--color-divider);margin-bottom:2px;padding-bottom:var(--space-2)}.account-row,.total-balance-row{display:flex;justify-content:space-between}.account-row{align-items:center;border-bottom:1px solid var(--color-divider);gap:10px;padding:9px 4px}.account-row:last-child{border-bottom:none}.account-row:hover{background:color-mix(in srgb,var(--color-text) 4%,#0000)}.account-row-left{align-items:center;display:flex;flex:1 1;gap:9px;min-width:0}.account-name{cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-name-input{flex:1 1;min-height:28px;min-width:0;padding:2px 8px}.balance-display{cursor:pointer;font-weight:700}.balance-input{min-height:28px;padding:2px 8px;text-align:right;width:120px}.positive-balance{color:var(--color-text)}.negative-balance{color:var(--color-accent-700)}.category-list{display:flex;flex-direction:column;gap:2px}.category-item{align-items:center;border-bottom:1px solid var(--color-divider);display:flex;flex-wrap:wrap;gap:8px;padding:8px 4px}.category-item:last-child{border-bottom:none}.category-color-swatch{border-radius:50%;flex:none;height:11px;width:11px}.category-name{flex:1 1;font-size:13px;font-weight:600;min-width:110px}.category-actions{display:flex;gap:2px}.category-budget-row{flex-basis:100%}.budget-bar{background:var(--color-neutral-200);height:8px;margin-top:4px}.budget-bar-fill{background:var(--color-neutral-800);height:100%}.budget-bar-fill.over-budget{background:var(--color-accent-500)}.budget-text{color:color-mix(in srgb,var(--color-text) 55%,#0000);font-size:12px}.over-budget-text{color:var(--color-accent-700);font-size:12px;font-weight:600}.budget-input{min-height:28px;padding:2px 8px;width:110px}.income-amount{color:var(--color-text);font-weight:700}.expense-amount{color:var(--color-accent-700);font-weight:700}.transaction-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.transaction-filter-input{width:220px}.transfer-account-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}.transaction-category-cell{align-items:center;display:flex;gap:8px}.transaction-transfer-label{color:color-mix(in srgb,var(--color-text) 55%,#0000);font-style:italic}.transaction-remark-cell{font-size:13px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:600px){.transaction-remark-cell{max-width:180px;overflow:visible;white-space:normal}}.transaction-remark-readonly{background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:13px;margin:0;padding:6px 10px;word-break:break-word}.sort-button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.08em;padding:0;text-transform:uppercase}.pagination-controls{align-items:center;border-top:2px solid var(--color-divider);display:flex;font-size:13px;justify-content:space-between;margin-top:var(--space-2);padding-top:var(--space-2)}.pagination-page-size{align-items:center;display:flex;gap:6px}.pagination-page-size select.input{font-size:13px;padding:4px 8px;width:auto}.color-picker-container,.icon-picker-container{align-items:center;display:flex;gap:var(--space-3)}.icon-preview{align-items:center;background:var(--color-bg);display:flex;font-size:1.6em;justify-content:center}.color-swatch,.icon-preview{border:1px solid var(--color-divider);flex:none;height:44px;width:44px}.color-swatch{cursor:pointer}.color-picker-container span{background:var(--color-bg);border:1px solid var(--color-divider);font-family:ui-monospace,monospace;font-size:12px;padding:4px 8px}.picker-popover{box-shadow:var(--shadow-md);left:0;position:absolute;top:100%;z-index:20}.picker-cover{inset:0;position:fixed}@media (max-width:1100px){.hero-grid{grid-template-columns:1fr}.hero-left{border-bottom:2px solid var(--color-divider);border-right:none}.main-grid{grid-template-columns:1fr}}@media (max-width:600px){.hero-left,.hero-right{padding:var(--space-4)}.hero-figure{font-size:clamp(28px,8.5vw,46px)}.pie-charts-container{grid-template-columns:1fr;height:auto}.pie-charts-container .chart-container{height:240px}.hero-split-grid{gap:var(--space-3);grid-template-columns:1fr}.pagination-controls{flex-wrap:wrap;gap:var(--space-2)}.balance-input,.budget-input{min-width:0;width:100%}.category-name{min-width:0}.transaction-filter-input{width:100%}.transfer-account-grid{grid-template-columns:1fr}}.modal-close{position:absolute;right:var(--space-3);top:var(--space-3)}.auth-page{display:flex;justify-content:center;padding:var(--space-8) var(--space-4)}.auth-card{max-width:380px;width:100%}.auth-card h2{font-size:26px}.auth-error{color:var(--color-accent-700);font-size:13px;margin:-4px 0 4px}.auth-switch{font-size:13px;margin-top:var(--space-2);text-align:center}.auth-loading{color:color-mix(in srgb,var(--color-text) 55%,#0000);padding:var(--space-8);text-align:center}.module-container{display:flex;flex-direction:column;gap:var(--space-4)}.module-header{align-items:flex-end;display:flex;gap:var(--space-3);justify-content:space-between}.module-description{margin:4px 0 0;max-width:60ch}.module-add-btn{white-space:nowrap;width:auto}.positive-value{color:var(--color-text);font-weight:700}.negative-value{color:var(--color-accent-700);font-weight:700}.mini-progress{background:var(--color-neutral-200);height:8px;width:90px}.mini-progress-fill{background:var(--color-accent);height:100%}.module-empty{background:var(--color-surface);color:color-mix(in srgb,var(--color-text) 55%,#0000);padding:var(--space-8) var(--space-4);text-align:center}.module-editable-cell{cursor:pointer;padding:2px 4px}.module-editable-cell:hover{background:color-mix(in srgb,var(--color-text) 6%,#0000)}.module-inline-input{min-height:28px;padding:2px 8px;width:110px}.module-expand-btn{font-size:1em}.module-expanded-row{background:var(--color-bg);padding:var(--space-4)!important}.module-expanded-empty{color:color-mix(in srgb,var(--color-text) 55%,#0000);font-size:13px;margin:0}.image-input{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-2)}.image-input-preview{background:var(--color-bg);max-height:180px;max-width:180px;object-fit:contain}.asset-thumb,.image-input-preview{border:1px solid var(--color-divider)}.asset-thumb{display:block;height:48px;object-fit:cover;width:48px}.asset-image-details{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4)}.asset-image-full{background:var(--color-bg);border:1px solid var(--color-divider);max-height:320px;max-width:100%;object-fit:contain}.asset-image-controls{flex-direction:column;min-width:220px}.asset-image-actions,.asset-image-controls{display:flex;gap:var(--space-2)}.module-view-toggle{align-self:flex-start}.module-card-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.asset-card{gap:0;overflow:hidden;padding:0}.asset-card-figure{aspect-ratio:4/3;background:var(--color-bg);border:none;border-bottom:1px solid var(--color-divider);cursor:pointer;display:grid;overflow:hidden;padding:0;place-items:center;width:100%}.asset-card-figure img{height:100%;object-fit:cover;width:100%}.asset-card-figure:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.asset-card-placeholder{align-items:center;color:color-mix(in srgb,var(--color-text) 40%,#0000);font-size:12px}.asset-card-body,.asset-card-placeholder{display:flex;flex-direction:column;gap:var(--space-1)}.asset-card-body{flex:1 1;padding:var(--space-3)}.asset-card-figures{font-feature-settings:"tnum";align-items:baseline;font-size:13px;font-variant-numeric:tabular-nums}.asset-card-actions,.asset-card-figures{display:flex;gap:var(--space-2);justify-content:space-between}.asset-card-actions{align-items:center;padding:0 var(--space-3) var(--space-3)}.asset-detail-list{grid-gap:4px var(--space-3);display:grid;font-size:13px;gap:4px var(--space-3);grid-template-columns:auto 1fr;margin:0}.asset-detail-list dt{color:color-mix(in srgb,var(--color-text) 55%,#0000)}.asset-detail-list dd{margin:0;white-space:pre-wrap}.loan-amortization{display:flex;flex-direction:column;gap:var(--space-3)}.loan-schedule-scroll{max-height:300px;overflow-x:auto;overflow-y:auto}.shares-view-toggle{max-width:320px}.shares-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1.55fr 1fr}.shares-portfolio-actions{align-items:center;display:flex;gap:var(--space-3)}.shares-portfolio-actions .form-error{margin:0}.entry-table-footer td{border-top:2px solid var(--color-divider);font-weight:700}.salary-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.salary-year-picker{display:flex;flex-direction:column;font-size:12px;gap:4px}.salary-year-picker .input{min-width:220px}.salary-controls .seg{min-width:200px;width:auto}.salary-row-tag{font-size:10px;margin-left:6px}.salary-kpi-split{display:block;font-family:var(--font-body);font-size:12px;font-weight:400;line-height:1.4;margin-top:2px}.salary-group-row{background:var(--color-bg);font-weight:700}.salary-breakdown{grid-gap:var(--space-4);align-items:start;display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.salary-breakdown-table{border-collapse:collapse;font-size:13px;margin-top:6px;width:100%}.salary-breakdown-table td{border-bottom:1px solid var(--color-divider);padding:3px 0}.salary-breakdown-table td:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.salary-breakdown-total td{border-bottom:none;border-top:1px solid var(--color-text);font-weight:700}.salary-pivot-scroll{background:var(--color-surface);overflow-x:auto}.salary-pivot{font-size:13px;min-width:900px}.salary-pivot th[scope=row]{background:var(--color-surface);font-weight:400;left:0;position:-webkit-sticky;position:sticky;text-align:left;white-space:nowrap;z-index:1}.salary-pivot td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.salary-pivot thead th{text-align:right}.salary-pivot thead th:first-child{text-align:left}.salary-pivot-forecast{color:var(--color-accent-700);font-size:10px;font-weight:400}.salary-pivot-subtotal td,.salary-pivot-subtotal th[scope=row]{border-top:1px solid var(--color-divider);font-weight:700}.salary-pivot-total td,.salary-pivot-total th[scope=row]{border-top:2px solid var(--color-text);font-weight:700}.salary-pivot-memo td,.salary-pivot-memo th[scope=row]{border-top:none;color:color-mix(in srgb,var(--color-text) 65%,#0000);font-style:italic;padding-top:var(--space-3)}.salary-pivot-hint{font-size:12px;margin:0}@media (max-width:600px){.module-header{align-items:stretch;flex-direction:column}.module-add-btn{width:100%}.salary-breakdown{grid-template-columns:1fr}.salary-controls{align-items:stretch}.salary-controls .seg,.salary-year-picker .input{min-width:0}.shares-view-toggle{max-width:none}.shares-portfolio-actions{flex-wrap:wrap}.asset-image-controls{min-width:0}.module-inline-input{min-width:0;width:100%}}@media (max-width:1000px){.shares-grid{grid-template-columns:1fr}}.calculators-layout{align-items:flex-start;display:flex;gap:var(--space-4)}.calculators-sidebar{background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;flex-shrink:0;gap:2px;padding:var(--space-2);width:220px}.calculators-sidebar-item{align-items:flex-start;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-body);gap:2px;padding:var(--space-2) var(--space-3);text-align:left}.calculators-sidebar-item:hover{background:color-mix(in srgb,var(--color-text) 7%,#0000)}.calculators-sidebar-item.active{background:var(--color-accent);color:var(--color-bg)}.calculators-sidebar-item.active .calculators-sidebar-item-desc{color:color-mix(in srgb,var(--color-bg) 75%,#0000)}.calculators-sidebar-item-label{font-family:var(--font-heading);font-size:14px;font-weight:800}.calculators-sidebar-item-desc{color:color-mix(in srgb,var(--color-text) 60%,#0000);font-size:12px}.calculators-content{flex:1 1;max-width:760px;min-width:0}@media (max-width:720px){.calculators-layout{flex-direction:column}.calculators-sidebar{flex-direction:row;flex-wrap:wrap;width:100%}.calculators-content{max-width:100%}}.calculator-card{background:var(--color-surface);box-shadow:var(--shadow-sm);padding:var(--space-4)}.calculator-card h3{border-bottom:2px solid var(--color-divider);font-size:19px;margin-top:0;padding-bottom:var(--space-2)}.calculator-note{color:color-mix(in srgb,var(--color-text) 60%,#0000);font-size:13px;margin-bottom:var(--space-3)}.calculator-card input[type=number],.calculator-card input[type=text],.calculator-card select{background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:14px;min-height:36px;padding:6px 10px;width:100%}.calculator-card .form-group{margin-bottom:var(--space-3)}.calculator-card .form-group label{color:color-mix(in srgb,var(--color-text) 70%,#0000);display:block;font-size:12px;margin-bottom:4px}.calculator-card button.btn-secondary{align-items:center;background:#0000;border:1px solid var(--color-divider);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-heading);font-size:13px;font-weight:800;gap:6px;justify-content:center;padding:var(--space-2) calc(var(--space-3)*1.2);white-space:nowrap}.calculator-card button.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,#0000)}.calculator-table{border-collapse:collapse;font-size:13px;margin-bottom:var(--space-3);width:100%}.calculator-table td,.calculator-table th{border-bottom:1px solid var(--color-divider);padding:var(--space-2);text-align:left}.calculator-table th{color:color-mix(in srgb,var(--color-text) 60%,#0000);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.calculator-breakdown,.calculator-results{background:var(--color-bg)}.calculator-results{border:1px solid var(--color-divider);display:flex;flex-direction:column;gap:8px;padding:var(--space-3)}.calculator-results>div{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);justify-content:space-between}.calculator-result-label{color:color-mix(in srgb,var(--color-text) 60%,#0000);font-size:13px}.calculator-result-value{font-family:var(--font-heading);font-size:16px;font-weight:800}.calculator-card-wide{grid-column:1/-1;max-width:760px}.calculator-section{border-bottom:1px solid var(--color-divider);margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.calculator-section h4{font-size:15px;margin-bottom:var(--space-2)}.calculator-section .form-group:last-child{margin-bottom:0}.form-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-2)}@media (max-width:600px){.form-row .form-group{flex:1 1 200px}}.form-row .form-group{flex:1 1;margin-bottom:0}.checkbox-row{align-items:center}.checkbox-row label{align-items:center;display:flex;font-size:13px;font-weight:400;gap:6px}.checkbox-row input[type=checkbox]{width:auto}.tax-saving-note{background:var(--color-accent-100);border:1px solid var(--color-accent-300);color:var(--color-accent-800);margin:var(--space-3) 0;padding:var(--space-2) var(--space-3)}.active-bracket,.salary-total-row{background:var(--color-accent-100);font-weight:700}.salary-contribution-row td:first-child{color:color-mix(in srgb,var(--color-text) 70%,#0000);padding-left:var(--space-4)}.comparison-tables{display:flex;flex-wrap:wrap;gap:var(--space-3)}.comparison-tables>table{flex:1 1 260px;min-width:0}.scope-toggle{border:1px solid var(--color-divider);display:inline-flex;margin-bottom:var(--space-3)}.scope-toggle button{background:none;border:none;color:var(--color-text);cursor:pointer;font-family:var(--font-body);font-size:13px;padding:7px 12px}.scope-toggle button+button{border-left:1px solid var(--color-divider)}.scope-toggle button.active{background:var(--color-accent);color:var(--color-bg)}.scope-toggle button:not(.active):hover{background:color-mix(in srgb,var(--color-text) 7%,#0000)}.statement-upload-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.statement-file-input{align-items:center;background:var(--color-bg);border:1px dashed var(--color-divider);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:14px;gap:8px;padding:8px 14px}.statement-file-input:hover{border-color:var(--color-accent)}.statement-account-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.statement-balance-row{align-items:flex-end;border-top:1px solid var(--color-divider);display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3)}.statement-balance-value{font-family:var(--font-heading);font-size:20px;font-weight:var(--font-heading-weight);margin-top:4px}.statement-balance-arrow{color:color-mix(in srgb,var(--color-text) 45%,#0000);font-size:18px;padding-bottom:2px}.statement-balance-note{font-size:12px;margin:var(--space-3) 0 0}.statement-remark-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:600px){.statement-remark-cell{max-width:200px;overflow:visible;white-space:normal}}.dialog:has(.delete-data-form){width:min(620px,100%)}.delete-data-section+.delete-data-section{margin-top:var(--space-3)}.delete-data-section-title{color:color-mix(in srgb,var(--color-text) 55%,#0000);font-size:11px;letter-spacing:.08em;margin-bottom:var(--space-2);text-transform:uppercase}.delete-data-row{align-items:flex-start;border:1px solid var(--color-divider);border-radius:var(--radius-md);display:flex;gap:10px;padding:8px 10px}.delete-data-row+.delete-data-row{margin-top:6px}.delete-data-row.is-selected{background:color-mix(in srgb,var(--color-accent) 8%,#0000);border-color:var(--color-accent)}.delete-data-row.is-empty{opacity:.5}.delete-data-row input[type=checkbox]{flex:none;margin-top:3px;width:auto}.delete-data-row-label{display:flex;font-size:14px;font-weight:600;gap:var(--space-2);justify-content:space-between}.delete-data-row-count{font-feature-settings:"tnum";color:color-mix(in srgb,var(--color-text) 55%,#0000);font-variant-numeric:tabular-nums;font-weight:400;white-space:nowrap}.delete-data-row-note{color:color-mix(in srgb,var(--color-text) 65%,#0000);font-size:12px;line-height:1.45;margin-top:2px}.delete-data-accounts{border-left:2px solid var(--color-divider);margin:8px 0 0 26px;padding-left:10px}.delete-data-accounts-title{color:color-mix(in srgb,var(--color-text) 65%,#0000);font-size:12px;margin-bottom:4px}.delete-data-account{align-items:center;display:flex;font-size:13px;gap:8px;padding:2px 0}.delete-data-account input[type=checkbox]{flex:none;width:auto}.delete-data-account-count{font-feature-settings:"tnum";color:color-mix(in srgb,var(--color-text) 55%,#0000);font-variant-numeric:tabular-nums;margin-left:auto}.delete-data-hint{background:color-mix(in srgb,var(--color-text) 4%,#0000);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:12px;line-height:1.45;padding:8px 10px}.delete-data-result{font-size:13px;line-height:1.6}.delete-data-result ul{margin:4px 0 0;padding-left:18px}.App{display:flex;flex-direction:column;min-height:100dvh}.brand-mark{background:var(--color-accent);font-size:15px;height:26px;width:26px}.avatar-badge,.brand-mark{align-items:center;color:var(--color-bg);display:inline-flex;font-weight:800;justify-content:center}.avatar-badge{background:var(--color-neutral-800);flex:none;font-family:var(--font-heading);font-size:13px;height:34px;width:34px}.site-nav-toggle{display:none}.site-nav-links{gap:var(--space-4)}.site-nav-actions,.site-nav-links{align-items:center;display:flex;flex-wrap:wrap}.site-nav-actions{gap:8px;margin-left:var(--space-2)}.site-nav-email{font-size:13px}.site-nav-drawer-actions{display:none}@media (max-width:880px){.nav{flex-wrap:wrap}.site-nav-toggle{display:inline-flex}.site-nav-links{align-items:flex-start;border-top:1px solid var(--color-divider);display:none;flex-direction:column;gap:2px;margin-top:var(--space-2);order:5;padding-top:var(--space-2);width:100%}.site-nav-links.open{display:flex}.site-nav-links a{padding:8px 4px;width:100%}}@media (max-width:600px){.site-nav-email,.site-nav-logout{display:none}.site-nav-drawer-actions{align-items:flex-start;border-top:1px solid var(--color-divider);display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);width:100%}.site-nav-drawer-actions .site-nav-email{display:block;font-size:13px}.nav{gap:var(--space-2)}.nav-brand{font-size:16px}}main{flex:1 1;margin-inline:auto;max-width:var(--content-max);padding-bottom:var(--space-4);padding-top:var(--space-4);padding-inline:var(--space-4);width:100%}@media (max-width:600px){main{padding-inline:var(--space-3)}}.footer{border-top:2px solid var(--color-divider);padding:var(--space-4) 0;text-align:center}.icon-button{background:none;border:none;color:inherit;cursor:pointer;margin:0 5px;padding:5px}.confirm-toast p{margin-bottom:4px}.confirm-toast-actions{display:flex;gap:8px;margin-top:8px}.btn-toast-cancel,.btn-toast-confirm{border:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-heading);font-weight:700;padding:4px 12px}.btn-toast-confirm{background:var(--color-accent);color:var(--color-bg)}.btn-toast-cancel{background:var(--color-neutral-200);color:var(--color-text)}
/*# sourceMappingURL=main.f4bbde31.css.map*/