:root{--ink: #1a202c;--surface: #faf9f6;--subtle: #e6e6e1;--muted: #5e6470;--accent: #a8813c;--line: #e6e6e1;--line-soft: #efeeea;--radius: 2px;--font: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--shadow: 0 1px 2px rgba(26, 32, 44, .05), 0 8px 24px -14px rgba(26, 32, 44, .18);--ink-soft: var(--muted);--paper: var(--surface);--card: #ffffff;--brand: var(--ink);--brand-soft: var(--subtle);--good: #1f7a3d;--warn: #9a6b00;--tbd: #a02020}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font);font-weight:600;letter-spacing:-.01em;margin:0 0 .4em}label,button,input,select,textarea,.ui-sans{font-family:var(--font)}.ui-mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.app-shell{max-width:1180px;margin:0 auto;padding:32px 24px 96px}.app-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.app-header h1{font-size:1.7rem;color:var(--brand)}.app-header .tagline{color:var(--ink-soft);font-size:.95rem}.accent-rule{width:64px;height:3px;background:var(--accent);margin:10px 0 4px}.tabs{display:flex;gap:6px;margin-bottom:24px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tab-button{border:none;background:transparent;padding:10px 16px;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);cursor:pointer;border-bottom:2px solid transparent}.tab-button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow);margin-bottom:20px}.card h2{font-size:1.05rem;color:var(--brand);margin-bottom:4px}.card .card-sub{color:var(--ink-soft);font-size:.85rem;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.06em}input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],select,textarea{border:1px solid var(--line);border-radius:var(--radius);padding:9px 11px;font-size:.95rem;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}input:disabled{background:var(--subtle);color:var(--ink-soft);cursor:not-allowed}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.9rem}.responsibility-select{min-width:150px}.row-inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.btn{border:1px solid var(--brand);background:var(--brand);color:#fff;padding:10px 18px;border-radius:var(--radius);cursor:pointer;font-family:var(--mono);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;transition:background .2s ease,transform .2s ease}.btn:hover,.btn:focus-visible{background:#000;border-color:#000;transform:translateY(-1px)}.btn.secondary{background:transparent;color:var(--brand)}.btn.secondary:hover,.btn.secondary:focus-visible{background:var(--subtle);color:var(--ink)}.btn.subtle{border-color:var(--line);background:transparent;color:var(--ink-soft)}.btn.subtle:hover,.btn.subtle:focus-visible{background:var(--subtle);color:var(--ink)}.btn.danger{border-color:var(--tbd);color:var(--tbd);background:transparent}.list-item{border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px;background:#fffdf9}.list-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.report-hero{text-align:center;padding:34px 24px;background:linear-gradient(180deg,var(--brand-soft),#fff);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px}.report-hero .address{font-size:1rem;color:var(--ink-soft);margin-bottom:18px}.report-hero .net-figure{font-size:3rem;font-weight:700;color:var(--brand);font-family:var(--font)}.report-hero .net-label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--ink-soft);font-family:var(--mono)}.report-hero .net-percent{margin-top:8px;color:var(--ink-soft);font-size:.95rem}.line-table{width:100%;border-collapse:collapse;font-size:.92rem}.line-table th{text-align:left;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);border-bottom:1px solid var(--line);padding:8px 6px}.line-table td{padding:9px 6px;border-bottom:1px solid #f0eee7;vertical-align:top}.line-table tr:last-child td{border-bottom:none}.amount-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.total-row td{font-weight:700;border-top:2px solid var(--ink);padding-top:12px}.status-pill{display:inline-block;font-size:.68rem;font-family:var(--mono);padding:2px 8px;border-radius:999px;font-weight:600;letter-spacing:.04em}.status-Verified{background:#e3f3e6;color:var(--good)}.status-Estimated{background:#fdf2df;color:var(--warn)}.status-TBD{background:#fbe6e6;color:var(--tbd)}.status-User-Provided{background:#e8ecfb;color:#33459a}.status-Typical-Market-Estimate{background:#eee6f7;color:#6b3fa0}.na-text{color:var(--ink-soft);font-style:italic}.collapsible{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;background:#fffdf9}.collapsible-header{width:100%;display:flex;align-items:center;gap:8px;background:none;border:none;text-align:left;padding:12px 16px;cursor:pointer;font-family:var(--font)}.collapsible-caret{display:inline-block;color:var(--brand);transition:transform .1s ease;font-size:.8rem}.collapsible-caret.open{transform:rotate(90deg)}.collapsible-title{font-weight:600;color:var(--ink);font-size:.92rem}.collapsible-subtitle{color:var(--ink-soft);font-size:.8rem}.collapsible-body{padding:0 16px 16px}.net-toggle-group{display:flex;gap:8px;margin-bottom:16px}.net-toggle{border:1px solid var(--line);background:#fff;color:var(--ink-soft);padding:8px 14px;border-radius:999px;cursor:pointer;font-size:.72rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}.net-toggle.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.typical-cost-note{font-size:.85rem;color:#6b3fa0;background:#f6f1fb;border:1px solid #e0d0f2;border-radius:var(--radius);padding:10px 14px;margin-top:10px}.audit-toggle{cursor:pointer;color:var(--brand);font-size:.78rem;text-decoration:underline;background:none;border:none;padding:0}.audit-detail{background:#f7f6f1;border-left:3px solid var(--brand);padding:10px 14px;font-size:.82rem;color:var(--ink-soft);margin-top:6px;font-family:var(--font)}.warning-box{background:#fdf2df;border:1px solid #eccf8f;border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;font-size:.9rem}.disclaimer{font-size:.78rem;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:16px;margin-top:28px;line-height:1.5}.section-heading{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin:22px 0 10px;font-family:var(--mono)}.scenario-table th,.scenario-table td{padding:10px 14px}.scenario-table th:first-child,.scenario-table td:first-child{text-align:left}@media print{.no-print{display:none!important}body{background:#fff}.app-shell{max-width:100%;padding:0}.card{box-shadow:none;border:none;break-inside:avoid}}.portal-shell{min-height:100%;display:flex;flex-direction:column;border-top:2px solid var(--ink)}.portal-header{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:18px 24px;border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap}.wordmark{font-family:var(--font);font-weight:600;font-size:1.28rem;letter-spacing:-.022em;color:var(--ink)}.brand-suffix{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border-left:1px solid var(--line);padding-left:.5rem}.portal-brand{display:flex;align-items:baseline;gap:.5rem;text-decoration:none;color:var(--ink)}.brand{display:flex;flex-direction:column;gap:.26rem}.brand .wordmark{font-size:1.85rem}.brand .brandline{font-size:1.2rem}.brandline{font-family:var(--font);font-weight:500;font-size:.82rem;letter-spacing:.04em;color:var(--muted);margin:0}.brandline em{font-style:italic;font-weight:600;color:var(--ink)}.portal-nav{display:flex;gap:clamp(1rem,2vw,1.75rem);margin-left:auto;align-items:center;flex-wrap:wrap}.portal-nav a,.portal-nav button.link-like{position:relative;font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;background:none;border:none;cursor:pointer;padding:.35rem 0}.portal-nav a:after,.portal-nav button.link-like:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.portal-nav a:hover:after,.portal-nav a:focus-visible:after,.portal-nav a[aria-current=page]:after,.portal-nav button.link-like:hover:after,.portal-nav button.link-like:focus-visible:after{transform:scaleX(1)}.portal-main{flex:1}.portal-breadcrumb{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.portal-breadcrumb a{color:var(--muted);text-decoration:none}.portal-breadcrumb a:hover{color:var(--ink)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:8px}.tool-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.tool-card.coming-soon{background:var(--subtle);box-shadow:none;border-style:dashed}.tool-card h3{font-size:1.05rem;color:var(--ink)}.tool-card p{color:var(--ink-soft);font-size:.9rem;margin:0;flex:1}.tool-card-badge{align-self:flex-start;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:999px;background:var(--subtle);color:var(--muted)}.tool-card-badge.available{background:#e3f3e6;color:var(--good)}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;background:var(--paper)}.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:44px 40px}.auth-wordmark{font-family:var(--font);font-weight:600;font-size:1.85rem;letter-spacing:-.022em;color:var(--ink);margin:0}.auth-subheading{color:var(--ink-soft);font-size:.92rem;line-height:1.4;margin:12px 0 0}.auth-card .accent-rule{margin:16px 0 0}.auth-form{margin-top:30px;display:flex;flex-direction:column}.auth-form .field{margin-bottom:18px}.auth-shell input[type=text],.auth-shell input[type=email],.auth-shell input[type=password],.auth-shell select,.auth-shell textarea,.account-fields input[type=text],.account-fields input[type=email],.account-fields input[type=password],.account-fields select,.account-fields textarea{background:var(--subtle);border-color:#1a202c29}.auth-shell input[type=text]:focus,.auth-shell input[type=email]:focus,.auth-shell input[type=password]:focus,.auth-shell select:focus,.auth-shell textarea:focus,.account-fields input[type=text]:focus,.account-fields input[type=email]:focus,.account-fields input[type=password]:focus,.account-fields select:focus,.account-fields textarea:focus{border-color:var(--brand)}.auth-footer{margin-top:24px;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center}.auth-links{display:flex;justify-content:flex-end;margin-top:-6px;margin-bottom:16px}.auth-links a,.auth-links button.link-like{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-decoration:none;background:none;border:none;cursor:pointer;padding:0}.auth-links a:hover,.auth-links button.link-like:hover{color:var(--ink)}.auth-back{display:inline-block;margin-top:20px;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-decoration:none}.auth-back:hover{color:var(--ink)}.form-error{background:#fbe6e6;border:1px solid #f0bcbc;color:var(--tbd);border-radius:var(--radius);padding:10px 14px;font-size:.85rem;margin-bottom:16px}.form-success{background:#e3f3e6;border:1px solid #bfe3c9;color:var(--good);border-radius:var(--radius);padding:10px 14px;font-size:.85rem;margin-bottom:16px}.status-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:32px 20px;background:var(--paper)}.status-screen h1{font-size:1.3rem;color:var(--ink)}.status-screen p{color:var(--ink-soft);max-width:32rem;margin:0}.status-screen .status-screen-code{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.status-screen .env-list{font-family:var(--mono);font-size:.85rem;color:var(--tbd);margin:6px 0 0}.settings-grid{display:grid;gap:20px;max-width:640px}.settings-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
