:root{--ink:#172d49;--muted:#50647e;--dark:#173252;--green:#185d9e;--line:#dfe8f0;--paper:#fff;--bg:#f8fafc;--shadow:0 7px 22px #22426a09;--red:#a63743}
:root{--bg:#fdfdfe}
body{background:var(--bg)}
.mast{background:#fff;color:var(--ink);border-color:#e5ecf3}.mark{background:#e6f2fd}.mark svg{stroke:#1765a9}.brand strong{letter-spacing:-.025em}
.status{color:#556882}.eyebrow{color:#145a9e}.intro{padding-top:38px}.panel,.card{border-radius:18px}
.card.accent{background:linear-gradient(145deg,#f4f9ff,#e8f2fd);border-color:#d9e8f8}.card .value{font-variant-numeric:tabular-nums}
.main-action,.button{background:#e8f1fb;color:#174c80}.button.primary{background:#1765ab;color:#fff}.button.outline{background:#fff;border-color:#d6e4f3;color:#194d80}
.tabs button.active{border-color:#2672b7;color:#175e9e}.chart .line{stroke:#2672b7}.chart .area{fill:#e6f1fb}.chart .dot{fill:#2672b7}.chart .comparison{stroke:#71869e}.legend span:first-child::before{border-color:#71869e}.legend span::before{border-color:#2672b7}
th{background:#f1f6fb;color:#3b5879}.callout.info{background:#eff6fd;border-color:#dfecf8;color:#244b71}.tag.manual{background:#e8f3fb;color:#24547e}.notice{background:#edf5fd;color:#1e4b76}
.mast-actions .button{white-space:nowrap}.loan-switch input{accent-color:#1765ab}
@media(max-width:490px){.intro{padding-top:24px}.mast-actions{gap:5px}.mast-actions .button{padding:7px 8px;font-size:12px}.mast-inner{gap:6px}.brand{gap:7px}.brand strong{font-size:15px}.brand small{font-size:10px}.mark{width:33px;height:33px}}

:root{--dock-height:59px}
.mast-inner{display:grid;grid-template-columns:44px 1fr 44px;min-height:53px}
.bank-home{justify-self:center;padding:0;border:0;border-radius:8px;background:transparent}
.bank-emblem{display:block;width:64px;height:42px;pointer-events:none}
#share-dialog .actions{margin-top:12px}
.market-shortcut{display:grid;place-items:center;justify-self:end;width:38px;height:36px;padding:0;border:1px solid #dae9f7;border-radius:10px;background:#edf6ff;color:#185d9e}
.market-shortcut svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
main.wrap{padding-bottom:calc(var(--dock-height) + env(safe-area-inset-bottom,0px))}
#screen{margin-top:9px}
.top-menu{position:relative;z-index:4}
.top-menu>button{display:grid;place-items:center;width:39px;height:36px;background:transparent;border:0;color:#185d9e}
.top-menu svg{pointer-events:none}
.top-menu svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.top-menu-items{position:absolute;inset-inline-start:0;top:100%;min-width:128px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:3px;box-shadow:0 8px 22px #22426a20}
.top-menu-items button{display:flex;align-items:center;gap:6px;width:100%;text-align:start;padding:7px 5px;border:0;border-radius:5px;background:#fff;color:var(--ink);font-size:12px;white-space:nowrap}
.account-actions{flex-wrap:wrap}
#local-auth-form .field{margin-block:9px}
#local-auth-form [hidden]{display:none}
#document-dialog{width:min(680px,calc(100% - 24px))}
#document-preview{max-height:45vh;overflow:auto;margin-block:8px 12px}
#document-preview .field{margin-bottom:8px}
.document-text{direction:plaintext;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.top-menu-items svg{width:17px;color:#2868a1;stroke-linejoin:round}
.top-menu-items button:hover,.top-menu-items button:focus-visible{background:#eff6fd}
main{touch-action:pan-y pinch-zoom}
.dock{position:fixed;inset:auto 0 0;z-index:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:3px max(0px,calc((100% - 700px)/2)) env(safe-area-inset-bottom,0px);min-height:var(--dock-height);background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 14px #22426a0b}
.dock button{min-width:0;display:grid;justify-items:center;align-content:center;gap:3px;background:transparent;border:0;color:var(--muted);font-size:12px;line-height:1.08;padding:5px 2px}
.dock svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;fill:none}
.dock button.active{color:#145a9e;font-weight:bold;background:#eff6fd;border-radius:8px}
.notice{bottom:calc(var(--dock-height) + env(safe-area-inset-bottom,0px) + 8px);z-index:4}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.quick-links{display:flex;flex-wrap:wrap;gap:7px}
.scope-tabs{display:flex;align-items:center;gap:6px;margin-bottom:9px}
.scope-tabs span{padding:9px 14px;background:#e8f1fb;border-radius:9px;color:#174c80;font-weight:bold}
.line-item>div:first-child{min-width:0;overflow-wrap:anywhere}
.line-item>div:first-child b{white-space:normal}
.obligation-item{align-items:flex-start}
.obligation-item b{white-space:normal}
.obligation-item>div:last-child{text-align:end;flex-shrink:0}
.scenario-panel .section-head{margin-bottom:8px}
#save-plan{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px}
#save-plan input{width:100%;min-width:0}
.scenario-panel .details{margin:8px 0;font-size:13px}
.scenario-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:7px 0 9px;color:#254766;font-size:12px}
.scenario-strip>span{display:grid;align-content:space-between;gap:3px;padding:6px;background:#eff6fd;border:1px solid #e0ecf8;border-radius:8px;line-height:1.2}
.scenario-strip b{display:block}
.compact-table{overflow:visible}
.compact-table table{table-layout:fixed;white-space:normal}
.compact-table th,.compact-table td{padding:6px 4px;text-align:center}
.compact-table th{line-height:1.15}
.compact-table td{height:32px}
.compact-table .money{white-space:nowrap}
.compact-table .loan-switch{justify-content:center;min-height:24px}
.compact-table input[type=checkbox]{margin:0;width:16px;height:16px}
.scenario-table th:first-child{width:34px}
.scenario-table th:nth-child(2),.finance-table th:first-child{width:22%}
.scenario-table th:nth-last-child(-n+2),.finance-table th:nth-last-child(-n+2){width:16%}
.monthly-table th:first-child,.monthly-table th:last-child{width:10%}
.extra-table th:last-child{width:24px}
.loan-lender{padding:2px;border:0;background:transparent;color:#185d9e;font-weight:bold;line-height:1.2;overflow-wrap:anywhere;max-width:100%}
.chart-interactive svg{touch-action:pan-y;cursor:crosshair}
.chart-interactive svg *{pointer-events:none}
.chart-interactive svg:focus-visible{outline:2px solid #2672b7;outline-offset:3px;border-radius:4px}
.chart-interactive .change-point{stroke:#fff;stroke-width:2}
.chart-interactive .change-point.original{fill:#71869e}
.chart-interactive .change-point.alternative{fill:#2672b7}
.forecast-readout{padding:12px;background:#eff6fd;border:1px solid #e0ecf8;border-radius:12px}
.forecast-readout>strong{display:block;color:#145a9e;font-size:18px;margin-bottom:7px}
.forecast-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 10px}
.forecast-values span{display:grid;gap:4px;font-size:13px}
.forecast-values b{font-size:clamp(15px,4.1vw,23px);line-height:1.15}
.forecast-values .money{white-space:nowrap;letter-spacing:-.025em}
@media(max-width:490px){
  .line-item,.line-item .actions{gap:5px}
  .dock button{font-size:10px}
  .compact-panel{padding:8px}
  .compact-table th,.compact-table td{padding-inline:1px;font-size:11px}
  .scenario-table th:first-child{width:23px}
  .scenario-table th:nth-child(2),.finance-table th:first-child{width:17%;overflow-wrap:anywhere}
  .scenario-table th:nth-last-child(-n+2),.finance-table th:nth-last-child(-n+2){width:15%}
  .scenario-strip{font-size:10px;gap:3px}
  .scenario-strip>span{padding:4px 2px;text-align:center}
  .scenario-strip b{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
  .monthly-table th,.monthly-table td{font-size:10px}
  .tx-table table{white-space:normal}
  .tx-table th:nth-child(2){width:23%}
  .tx-table th:nth-child(6){width:13%}
  .tx-table td{overflow-wrap:anywhere}
  .tx-table .money{font-size:10px}
  #save-plan .button{padding:5px 7px;font-size:11px}
  .forecast-readout{padding:9px}
  .forecast-values{gap:5px}
  .forecast-values span{font-size:11px}
}
