:root{--bg: #f7f7f5;--card: #ffffff;--border: #e2e2de;--text: #1a1a1a;--text-secondary: #5c5c5c;--primary: #1f5fbf;--bad: #9a3216;--bad-bg: #fbeae5;--radius: 8px;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.5rem;margin:0 0 .5rem}.app-name{font-weight:700;margin:0}.top-bar{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:12px 16px}.narrow{max-width:480px;margin:0 auto;padding:32px 16px}.narrow>.app-name{margin-bottom:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.secondary-text,.page-status{color:var(--text-secondary)}.page-status{padding:32px 16px;text-align:center}label{display:block;font-weight:600}input{width:100%;min-height:44px;padding:8px 12px;font:inherit;color:var(--text);border:1px solid #8a8a85;border-radius:6px;background:var(--card)}input[aria-invalid=true]{border-color:var(--bad)}button{min-height:44px;padding:8px 16px;margin:0;font:inherit;font-weight:600;color:#fff;background:var(--primary);border:1px solid var(--primary);border-radius:6px;cursor:pointer}button.secondary{color:var(--primary);background:var(--card)}button:disabled{opacity:.7;cursor:progress}button.secondary:disabled{opacity:1;color:#5c5c5c;border-color:var(--border);background:#f0f0ec;cursor:not-allowed}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.field-error{color:var(--bad);background:var(--bad-bg);padding:8px 12px;border-radius:6px;margin:8px 0 0}:root{--text-tertiary: #4a4a4a;--good: #1c6b36;--good-bg: #e6f2ea;--warning: #4d3a00;--warning-bg: #fff4db;--nav-active: #ededea;--row-border: #f0f0ec;--input-border: #8a8a85}a{color:var(--primary)}a:hover{color:#174a94}h2{font-size:18px;font-weight:600;margin:0}h3{font-size:16px;font-weight:600;margin:8px 0 0}p{margin:0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:8px;background:var(--card);padding:8px 12px;z-index:10}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.block{display:block}.site-header{background:var(--card);border-bottom:1px solid var(--border)}.site-header-inner{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.site-header-inner .app-name{font-size:17px}.main-nav{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 auto}.main-nav a{padding:10px 12px;border-radius:6px;font-size:14px;color:var(--text-tertiary);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.main-nav a[aria-current=page]{color:var(--text);font-weight:600;background:var(--nav-active)}.page{max-width:1200px;margin:0 auto;padding:32px 24px 48px}.narrow-page{max-width:760px;margin:0 auto}.stack{display:flex;flex-direction:column;gap:16px}.page>.stack{gap:24px}.page-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px}.page-header h1{font-size:28px;margin:0}.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.card{padding:20px}.two-column{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;align-items:start}.two-column.even{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}@media(max-width:860px){.two-column{grid-template-columns:minmax(0,1fr)}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.stat{display:flex;flex-direction:column;gap:6px}.stat-label{font-size:14px;color:var(--text-secondary)}.stat-value{font-size:32px;font-weight:700}.stat-note{font-size:13px;color:var(--text-secondary)}.banner{padding:12px 16px;border-radius:var(--radius);font-size:14px}.banner ul{margin:8px 0 0;padding-left:20px}.banner-warning{color:var(--warning);background:var(--warning-bg)}.banner-info{color:var(--text);background:#eef3fb}.banner-bad{color:var(--bad);background:var(--bad-bg)}.badge{display:inline-block;padding:3px 8px;border-radius:4px;font-weight:600;font-size:13px;margin-left:6px}.badge-good{background:var(--good-bg);color:var(--good)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-neutral{background:var(--nav-active);color:var(--text)}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;color:var(--text-secondary);font-size:13px;font-weight:500;padding:8px 12px 8px 0;border-bottom:1px solid var(--border)}tbody th,tbody td{text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid var(--row-border);vertical-align:top}tbody th{font-weight:500}.num{text-align:right;font-variant-numeric:tabular-nums}thead th.num{text-align:right}.table-scroll{overflow-x:auto;position:relative}@media(max-width:600px){.table-scroll>table:not(.cashflow){min-width:560px}}td:has(>.actions),td:has(>button:only-child),td.action-cell{text-align:right;white-space:nowrap;padding-right:0}td>.actions{justify-content:flex-end;flex-wrap:nowrap;margin:-11px 0}.list-table{table-layout:fixed}.list-table .col-buttons{width:172px}.accounts-table{table-layout:fixed;min-width:620px}.accounts-table .col-name{width:28%}.accounts-table .col-balance{width:14%}.accounts-table .col-date{width:22%}.accounts-table .num{padding-right:24px}.accounts-table .col-action{width:120px}.field{display:flex;flex-direction:column;gap:4px;border:0;padding:0;margin:0;min-width:0}.field label,.field legend{font-weight:600;margin:0;padding:0}.field-help{font-size:13px;color:var(--text-secondary)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}@media(max-width:600px){.field-grid{grid-template-columns:minmax(0,1fr)}}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:600px){.field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}fieldset.field>legend{margin-bottom:8px}.amount-unit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}select{width:100%;min-height:44px;padding:8px 12px;font:inherit;color:var(--text);border:1px solid var(--input-border);border-radius:6px;background:var(--card)}.inline-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-fields select{width:auto;flex:1 1 200px}.card-head .inline-fields{flex-wrap:nowrap}.card-head .inline-fields select{min-width:0;flex:0 1 auto}.when-field .inline-fields select{max-width:320px}.inline-fields label{font-weight:400}.narrow-input{width:110px}.radio,.checkbox{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:400!important}.radio input,.checkbox input{flex:none;width:20px;height:20px;min-height:0;margin:0}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.actions.spread{justify-content:space-between}a.button{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;font-weight:600;color:#fff;background:var(--primary);border-radius:6px;text-decoration:none}a.button:hover{color:#fff;background:#174a94}button.danger{background:var(--bad);border-color:var(--bad)}button.icon{min-width:44px;padding:8px}.subform{border-left:3px solid var(--border);padding-left:16px}.row-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--row-border)}.legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-tertiary)}.legend li{display:flex;align-items:center;gap:6px}.legend span{width:12px;height:12px;border-radius:2px}.chart{margin:0}details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--primary);font-weight:600}.facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 24px;margin:0;font-size:14px}.facts dt{color:var(--text-secondary)}.facts dd{margin:0}.step-list,.order-list{list-style:none;margin:0;padding:0}.step-list li,.order-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--row-border)}.order-list li{align-items:flex-start}.order-body{flex:1 1 auto;display:flex;flex-direction:column;gap:8px}.step-number{width:28px;height:28px;border-radius:50%;background:var(--nav-active);display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex:none}.step-list li.done .step-number{background:var(--good-bg);color:var(--good)}.step-list li.next .step-number{background:var(--primary);color:#fff}.setup-progress ol{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px}.setup-progress a{color:var(--text-tertiary);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.setup-progress li[aria-current=step] a{color:var(--text);font-weight:700;text-decoration:underline}.setup-progress li.done a:before{content:"✓ ";color:var(--good)}.plain-list{margin:0;padding-left:20px}@media(max-width:600px){.page{padding:24px 16px 40px}.site-header-inner{padding:8px 16px 0;gap:8px 16px;justify-content:space-between}.main-nav{order:3;flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none}.main-nav a{white-space:nowrap}.stat-value{font-size:26px}}.shortfall{border-color:var(--bad);background:var(--bad-bg)}.headline{font-size:24px;font-weight:700;color:var(--bad)}.fix-title{font-size:20px}.indented{padding-left:30px;margin-bottom:8px}.medium-input{max-width:200px}.cashflow .group-row th{padding-top:16px;font-weight:600;color:var(--text-secondary);font-size:13px;text-transform:none}.cashflow .total-row th,.cashflow .total-row td{font-weight:700;border-bottom:1px solid var(--border)}select.auto-width{width:auto}.cashflow .subgroup-row th{padding:10px 0 2px;font-weight:600;border-bottom:0}.cashflow th.indent{padding-left:16px;font-weight:400}.cashflow .net-row th,.cashflow .net-row td{font-weight:700;font-size:15px;border-top:2px solid var(--text);border-bottom:0}.scenario-banner{background:var(--warning-bg);color:var(--warning);border-bottom:1px solid #f0dfb0}.scenario-banner-inner{max-width:1200px;margin:0 auto;padding:10px 24px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:14px}.switcher{flex-wrap:nowrap;min-width:0}.switcher select{flex:0 1 auto;min-width:0;max-width:180px;text-overflow:ellipsis}.scenario-banner-inner>span:first-child{flex:1 1 420px}.scenario-banner-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}@media(max-width:600px){.site-header-inner .sign-out{order:1}.site-header-inner .switcher{order:2;flex:1 0 100%}.site-header-inner .switcher select{flex:1 1 0;max-width:none}}.switcher label{font-size:14px;color:var(--text-tertiary);font-weight:400}.badge-inline{margin-left:0}details.menu{position:relative}details.menu>summary{list-style:none;padding:8px 12px;border:1px solid var(--primary);border-radius:6px;color:var(--primary);font-weight:600;min-height:44px;display:inline-flex;align-items:center}details.menu>summary::-webkit-details-marker{display:none}.menu-items{position:absolute;right:0;z-index:5;margin-top:4px;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:200px}.menu-items button,.menu-items a{width:100%;justify-content:flex-start;text-align:left}a.button.secondary-link{color:var(--primary);background:var(--card);border:1px solid var(--primary)}input.row-check{width:24px;height:24px;min-height:0}.reconciles{font-size:14px;margin-top:8px}.field-label{font-weight:600}.field-value{margin:0;font-size:1.125rem}.table-scroll>table.holdings-table{min-width:720px}.search-results{list-style:none;margin:0;padding:0}.search-results li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--row-border)}.search-results li>span:first-child{min-width:0;overflow-wrap:anywhere}.search-results li>:last-child{flex:none}.inline-form{align-items:flex-end}.inline-form .field{flex:1 1 240px;max-width:360px}.nowrap{white-space:nowrap}
