:root{--brand-900:#0b3b39;--brand-700:#0f5f5a;--brand-600:#12736c;--brand-500:#159a90;--brand-050:#e6f4f2;--accent:var(--brand-600);--accent-hover:var(--brand-700);--accent-contrast:#fff;--ring:rgba(18,115,108,.35);--bg:#f6f7f8;--bg-subtle:#eef0f2;--panel:#fff;--panel-2:#fafbfc;--border:#e2e5e9;--border-strong:#cdd2d9;--text:#14181f;--text-2:#3b424d;--muted:#6b7280;--muted-2:#949aa4;--success:#0f8a5f;--success-bg:#e6f6ee;--danger:#c0392b;--danger-bg:#fdecea;--warning:#9a6b00;--warning-bg:#fdf3e0;--info:var(--brand-600);--info-bg:var(--brand-050);--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);--shadow-md:0 4px 12px rgba(16,24,40,.06),0 2px 4px rgba(16,24,40,.04);--shadow-lg:0 12px 32px rgba(16,24,40,.1);--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--nav-h:60px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{padding:0;background:var(--bg);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}body,h1,h2,h3,html{margin:0;color:var(--text)}h1,h2,h3{line-height:1.2;letter-spacing:-.01em}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.15rem;font-weight:650;margin:0}h3{font-size:1rem;font-weight:600}p{margin:0 0 .75rem}p:last-child{margin-bottom:0}a{color:var(--accent);text-decoration:none;font-weight:500;border-radius:4px}a:hover{color:var(--accent-hover);text-decoration:underline}strong{font-weight:650}.lede{color:var(--text-2);font-size:1.05rem;max-width:62ch}.note{font-size:.95rem;max-width:68ch}.muted,.note{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:var(--font-mono)}.shell{max-width:720px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.app-main{max-width:1040px;margin:0 auto;padding:2rem 1.25rem 4rem}.stack{flex-direction:column}.row,.stack{display:flex;gap:1rem}.row{flex-wrap:wrap}.section{margin-top:2rem}.section:first-of-type{margin-top:0}.wordmark{display:inline-flex;align-items:center;gap:.5rem;font-weight:750;font-size:1.2rem;letter-spacing:-.02em;color:var(--text)}.wordmark:hover{text-decoration:none;color:var(--text)}.wordmark .dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));display:inline-grid;place-items:center;color:#fff;font-size:.85rem;font-weight:800;box-shadow:var(--shadow-sm)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.nav-inner{max-width:1040px;margin:0 auto;min-height:var(--nav-h);padding:0 1.25rem;gap:1rem}.nav-inner,.nav-links{display:flex;align-items:center}.nav-links{gap:.25rem;margin-left:.75rem;flex-wrap:wrap}.nav-link{color:var(--text-2);font-size:.92rem;font-weight:500;padding:.4rem .7rem;border-radius:var(--r-sm);line-height:1}.nav-link:hover{background:var(--bg-subtle);color:var(--text);text-decoration:none}.nav-link[aria-current=page]{background:var(--brand-050);color:var(--brand-700);font-weight:600}.nav-spacer{flex:1 1}.nav-right{display:flex;align-items:center;gap:.5rem}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-head .titles{display:flex;flex-direction:column;gap:.25rem}.page-head .subtitle{color:var(--muted);font-size:.95rem}.topbar{justify-content:space-between;gap:1rem;margin-bottom:1rem}.actions,.topbar{display:flex;align-items:center;flex-wrap:wrap}.actions{gap:.6rem}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--accent);border:1px solid transparent;border-radius:var(--r-sm);padding:.55rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.btn,.btn:hover,button,button:hover{color:var(--accent-contrast);text-decoration:none}.btn:hover,button:hover{background:var(--accent-hover)}.btn:active,button:active{transform:translateY(.5px)}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}.btn.secondary,button.secondary{background:var(--panel);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn.secondary:hover,button.secondary:hover{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text)}.btn.ghost,button.ghost{background:transparent;color:var(--text-2);border-color:transparent;box-shadow:none}.btn.ghost:hover,button.ghost:hover{background:var(--bg-subtle);color:var(--text)}.btn.danger,button.danger{background:var(--panel);color:var(--danger);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn.danger:hover,button.danger:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.btn-sm{padding:.35rem .7rem;font-size:.85rem}a>button{width:100%}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:550;color:var(--text-2)}input,select,textarea{width:100%;background:var(--panel);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-sm);padding:.55rem .7rem;font-family:inherit;font-size:.95rem;line-height:1.4;min-width:0;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--muted-2)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem;cursor:pointer}input:hover,select:hover,textarea:hover{border-color:var(--muted-2)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}input[type=checkbox]{width:auto;min-width:0;accent-color:var(--accent);width:1.05rem;height:1.05rem}textarea{resize:vertical}textarea.code{font-family:var(--font-mono);font-size:.88rem;line-height:1.5}.btn:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm)}.card+.card{margin-top:1rem}.card-pad-lg{padding:1.75rem}.metric{display:flex;flex-direction:column;gap:.35rem;min-width:0}.metric .label{color:var(--muted);font-size:.82rem;font-weight:550;text-transform:uppercase;letter-spacing:.03em}.metric .value{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric .value.sub{font-size:1.25rem}.metric .hint{color:var(--muted-2);font-size:.78rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem}.metric-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--panel-2);color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}tbody td,thead th{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--border)}tbody td{color:var(--text-2);vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--panel-2)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text-2);line-height:1.4;white-space:nowrap;text-transform:capitalize;letter-spacing:.01em}.badge.brand{background:var(--brand-050);border-color:transparent;color:var(--brand-700)}.badge.success{background:var(--success-bg);border-color:transparent;color:var(--success)}.badge.warning{background:var(--warning-bg);border-color:transparent;color:var(--warning)}.badge.danger{background:var(--danger-bg);border-color:transparent;color:var(--danger)}.badge.estimate{display:inline-block;margin-top:.3rem;background:var(--warning-bg);border-color:transparent;color:var(--warning);text-transform:none}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:2.5rem 1.5rem;background:var(--panel);border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--muted)}.empty .empty-icon{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--brand-050);color:var(--brand-600);margin-bottom:.25rem}.empty .empty-title{color:var(--text);font-weight:650;font-size:1rem}.empty .empty-body{max-width:42ch;font-size:.92rem}.empty .actions{margin-top:.5rem;justify-content:center}.callout{background:var(--info-bg);border:1px solid transparent;border-left:3px solid var(--brand-500);color:var(--brand-900);border-radius:var(--r-sm);padding:.75rem 1rem;font-size:.9rem}.callout.neutral{background:var(--bg-subtle);border-left-color:var(--border-strong);color:var(--text-2)}.disclaimer{color:var(--muted);font-size:.82rem;border-top:1px solid var(--border);padding-top:1rem;margin-top:1.5rem;max-width:72ch}.total-ok{color:var(--success)}.total-bad,.total-ok{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.error,.total-bad{color:var(--danger)}.error{background:var(--danger-bg);border:1px solid transparent;border-radius:var(--r-sm);padding:.6rem .85rem;font-size:.9rem}.form-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:1.5rem}.form-card h2{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.form-card h2:first-child{margin-top:0;padding-top:0;border-top:0}.field-row{display:flex;align-items:center;gap:.6rem}.checkbox-label{flex-direction:row!important;align-items:center;gap:.55rem!important;font-weight:500;color:var(--text)}.alloc-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);padding:1rem 1.1rem}.alloc-card+.alloc-card{margin-top:.75rem}@media (max-width:860px){.metric-grid,.metric-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){h1{font-size:1.4rem}.app-main,.shell{padding-left:1rem;padding-right:1rem}.nav-inner{padding:0 1rem;gap:.5rem}.nav-links{margin-left:.25rem;gap:0}.nav-link{padding:.4rem .5rem;font-size:.85rem}.metric-grid,.metric-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.metric .value{font-size:1.3rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.report-block{margin-top:2.25rem}.report-section-heading{display:flex;align-items:center;gap:.6rem;font-size:1.1rem;margin-bottom:.75rem}.report-section-n{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:var(--r-pill);background:var(--brand-050);color:var(--brand-700);font-size:.85rem;font-weight:700;flex:0 0 auto}.report-tag-group{margin-top:1rem}.report-tag-title{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.95rem;margin-bottom:.5rem}.report-tag-total{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.report-ownership{margin-top:1rem}.report-loan{margin-top:.75rem}.report-loan-head{display:flex;align-items:center;gap:.6rem}.report-split{margin-top:1rem}.report-split-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem;color:var(--text-2)}.landing{max-width:1080px;margin:0 auto;padding:3rem 1.25rem}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-gap:2.5rem;gap:2.5rem;align-items:center;padding:1rem 0 2.5rem}.hero-copy h1{font-size:clamp(2rem,4vw,2.75rem);line-height:1.12;letter-spacing:-.02em;margin:1rem 0;max-width:18ch}.hero-copy .lede{max-width:52ch}.hero-copy .actions,.hero-note{margin-top:1.5rem}.hero-note{padding-left:1rem;border-left:3px solid var(--brand-500);color:var(--text-2);font-size:.92rem;max-width:52ch}.hero-card{padding:1.25rem 1.35rem 1.1rem;box-shadow:var(--shadow-lg)}.hero-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.hero-card-title{font-weight:600}.hero-lines{list-style:none;margin:0;padding:.5rem 0 .75rem}.hero-lines li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed var(--border);font-size:.95rem}.hero-lines li:last-child{border-bottom:0}.hero-lines .in{color:var(--success)}.hero-lines .out{color:var(--text-2)}.hero-card-foot{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.landing-section{padding:2.5rem 0 .5rem}.landing-section h2{font-size:1.5rem;letter-spacing:-.01em;margin:0 0 .5rem}.section-lede{color:var(--text-2);max-width:64ch;margin:0 0 1.5rem}.plans,.steps,.views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;list-style:none;margin:0;padding:0}.plan,.step,.view{display:flex;flex-direction:column;gap:.5rem;margin-top:0!important}.step h3,.view h3{margin:0;font-size:1.05rem}.plan p,.step p,.view p{margin:0;color:var(--text-2);font-size:.95rem}.step-n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-pill);background:var(--brand-050);color:var(--brand-700);font-weight:700;font-size:.85rem}.trust-list{margin:.75rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem 2rem;gap:1rem 2rem;color:var(--text-2);font-size:.95rem}.trust-list strong{color:var(--text)}.plan-name{font-weight:700;font-size:1.1rem}.plan-who{color:var(--brand-700);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.landing-footer{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem}@media (max-width:860px){.hero{gap:1.75rem}.hero,.plans,.steps,.trust-list,.views{grid-template-columns:1fr}.nav-right .nav-link{display:none}}@media print{.actions .no-print,.nav,.no-print{display:none!important}body,html{background:#fff;color:#000}.app-main{max-width:none;margin:0;padding:0}.callout,.card,.table-wrap{box-shadow:none!important;border:1px solid #999!important;background:#fff!important;overflow:visible!important}thead th{position:static;background:#f2f2f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.badge,tbody td,thead th{color:#000!important}.badge{border:1px solid #999!important;background:#fff!important}.report-section-n{background:#eee!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.disclaimer{color:#000}.report-block{page-break-inside:avoid;break-inside:avoid}.report-section-heading,.report-tag-title{page-break-after:avoid;break-after:avoid}tr{page-break-inside:avoid;break-inside:avoid}}