@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=DM+Mono:wght@400;500&family=DM+Sans:wght@300;400;500&display=swap";:root{--ink: #0f0f0d;--paper: #f5f2eb;--cream: #ede9df;--border: rgba(15,15,13,.1);--fog: #8a8880;--gold: #c9a84c;--gold-light: #e8d9a8;--forest: #2d4a3e;--green: #4caf7d;--amber: #f0b429;--orange: #e07b39;--red: #d04040;--risk-low: var(--green);--risk-medium: var(--amber);--risk-high: var(--orange);--risk-critical: var(--red);--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", "Courier New", monospace;--font-serif: "Playfair Display", Georgia, serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--sidebar-width: 220px;--topbar-height: 56px;--content-max: 900px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(15,15,13,.08);--shadow-md: 0 4px 16px rgba(15,15,13,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);line-height:1.6}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-content{flex:1;padding:var(--space-8) var(--space-10);max-width:calc(var(--content-max) + var(--space-10) * 2)}.sidebar{width:var(--sidebar-width);background:var(--ink);display:flex;flex-direction:column;padding:var(--space-6);flex-shrink:0}.sidebar-logo{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--paper);letter-spacing:-.02em;margin-bottom:var(--space-10)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-link{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#fff6;text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color .15s,background .15s}.sidebar-link:hover{color:#ffffffbf}.sidebar-link.active{color:var(--paper);background:#ffffff14}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;padding:0 var(--space-8);gap:var(--space-3)}.topbar-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.topbar-name{font-size:.85rem;color:var(--fog)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-8)}.page-title{font-family:var(--font-serif);font-size:1.8rem;font-weight:400;letter-spacing:-.02em}.page-subtitle{color:var(--fog);font-size:.9rem;margin-top:var(--space-1)}.section-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fog);margin-bottom:var(--space-4)}.tab-nav{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-8)}.tab-link{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);text-decoration:none;padding:var(--space-3) var(--space-4);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab-link:hover{color:var(--ink)}.tab-link.active{color:var(--ink);border-bottom-color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:10px 20px;border-radius:var(--radius-sm);border:1.5px solid transparent;cursor:pointer;transition:all .15s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:var(--forest);border-color:var(--forest)}.btn-ghost{background:transparent;color:var(--fog);border-color:var(--border)}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:currentColor}.btn-spinner{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:.9rem;font-weight:500}.field-helper{font-size:.82rem;color:var(--fog);line-height:1.5}.field-input,.field-select,.field-textarea{font-family:var(--font-sans);font-size:.95rem;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--ink);transition:border-color .15s;width:100%}.field-input:focus,.field-select:focus,.field-textarea:focus{outline:none;border-color:var(--ink)}.field-input.field-error,.field-select.field-error,.field-textarea.field-error{border-color:var(--red)}.field-error-msg{font-size:.78rem;color:var(--red)}.field-char-count{font-size:.72rem;color:var(--fog);text-align:right}.field-textarea{resize:vertical;min-height:100px}.option-list{display:flex;flex-direction:column;gap:var(--space-2)}.option-list-inline{flex-direction:row}.option-btn{text-align:left;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-family:var(--font-sans);font-size:.9rem;cursor:pointer;transition:border-color .15s,background .15s}.option-btn:hover{border-color:var(--ink)}.option-btn.selected{border-color:var(--ink);background:var(--cream);font-weight:500}.currency-wrap{position:relative}.currency-symbol{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--fog)}.currency-input{padding-left:24px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper)}.login-card{width:100%;max-width:400px;padding:var(--space-12);display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.login-logo{font-family:var(--font-serif);font-size:2.5rem;font-weight:700;letter-spacing:-.04em}.login-headline{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;text-align:center;line-height:1.35}.login-sub{font-size:.875rem;color:var(--fog);text-align:center;line-height:1.6}.btn-google{display:flex;align-items:center;gap:var(--space-3);padding:12px 24px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-family:var(--font-sans);font-size:.9rem;font-weight:500;color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s;cursor:pointer}.btn-google:hover{border-color:var(--ink);box-shadow:var(--shadow-sm)}.login-disclaimer{font-size:.72rem;color:var(--fog);text-align:center;line-height:1.6}.dashboard-section{margin-bottom:var(--space-10)}.assessment-list{display:flex;flex-direction:column;gap:var(--space-3)}.assessment-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;width:100%}.assessment-card:hover{border-color:var(--ink);box-shadow:var(--shadow-sm)}.assessment-card-route{font-weight:500;flex:1}.assessment-card-status{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fog)}.corridor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.corridor-card{padding:var(--space-5);border:1.5px solid var(--border);border-radius:var(--radius-md);background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.corridor-card:hover{border-color:var(--ink);box-shadow:var(--shadow-sm)}.corridor-route{font-size:.9rem;font-weight:500}.intake-page{max-width:640px}.intake-progress{display:flex;gap:var(--space-2);margin-bottom:var(--space-8)}.intake-progress-step{height:3px;flex:1;background:var(--border);border-radius:2px;transition:background .2s}.intake-progress-step.done{background:var(--ink)}.intake-progress-step.active{background:var(--gold)}.intake-step-count{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--fog);margin-bottom:var(--space-2)}.intake-step-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;text-transform:capitalize;margin-bottom:var(--space-8)}.intake-fields{display:flex;flex-direction:column;gap:var(--space-6)}.intake-actions{display:flex;gap:var(--space-3);margin-top:var(--space-8);justify-content:flex-end}.intake-review-sub{color:var(--fog);margin-bottom:var(--space-8)}.review-section{margin-bottom:var(--space-6)}.review-section-title{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-3)}.review-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:.875rem}.review-label{color:var(--fog);flex-shrink:0;max-width:50%}.review-value{font-weight:500;text-align:right}.risk-badge{display:inline-block;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px}.risk-badge-low{background:#4caf7d1f;color:#2e7d5a;border:1px solid rgba(76,175,125,.3)}.risk-badge-medium{background:#f0b4291f;color:#9a6f00;border:1px solid rgba(240,180,41,.3)}.risk-badge-high{background:#e07b391f;color:#a04010;border:1px solid rgba(224,123,57,.3)}.risk-badge-critical{background:#d040401f;color:#8b1a1a;border:1px solid rgba(208,64,64,.3)}.risk-dashboard{display:flex;flex-direction:column;gap:var(--space-8)}.risk-overview{display:flex;gap:var(--space-8);align-items:flex-start}.risk-gauge{display:flex;flex-direction:column;align-items:center}.risk-gauge-score{font-family:var(--font-serif);font-size:2rem;margin-top:-8px}.risk-gauge-label{font-size:.75rem;color:var(--fog)}.savings-card{display:flex;flex-direction:column;gap:var(--space-2)}.savings-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--border);font-size:.875rem}.savings-label{color:var(--fog)}.savings-value{font-weight:600;color:var(--green)}.savings-value.exposure{color:var(--red)}.checklist{display:flex;flex-direction:column;gap:var(--space-8)}.checklist-phase-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fog);margin-bottom:var(--space-3)}.checklist-item{display:flex;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border);align-items:flex-start}.checklist-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);background:#fff;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:all .15s}.checklist-check-in_progress{border-color:var(--amber);color:var(--amber)}.checklist-check-complete{border-color:var(--green);background:var(--green);color:#fff}.checklist-item-title{font-weight:500;font-size:.9rem}.checklist-item-desc{font-size:.82rem;color:var(--fog);margin-top:var(--space-1)}.checklist-item-due{font-family:var(--font-mono);font-size:.68rem;color:var(--fog);margin-top:var(--space-1)}.checklist-item-body{flex:1}.checklist-priority{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;padding-top:2px}.checklist-priority-critical{color:var(--red)}.checklist-priority-high{color:var(--orange)}.checklist-priority-medium{color:var(--amber)}.checklist-priority-low{color:var(--fog)}.vault-toolbar{display:flex;gap:var(--space-4);align-items:center;margin-bottom:var(--space-6)}.vault-list{display:flex;flex-direction:column;gap:var(--space-2)}.vault-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:.875rem}.vault-item-name{flex:1;font-weight:500}.vault-item-meta{display:flex;gap:var(--space-3);color:var(--fog);font-size:.8rem}.vault-category{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase}.vault-delete{font-size:.75rem;color:var(--red);background:none;border:none;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.report-section{margin-bottom:var(--space-10)}.report-section-title{font-family:var(--font-serif);font-size:1.2rem;font-weight:700;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.report-headline{font-size:1rem;line-height:1.6;margin-bottom:var(--space-4)}.report-steps{display:flex;flex-direction:column;gap:var(--space-4);list-style:none;counter-reset:steps}.report-step{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;border-left-width:3px}.report-step-critical{border-left-color:var(--red)}.report-step-high{border-left-color:var(--orange)}.report-step-medium{border-left-color:var(--amber)}.report-step-low{border-left-color:var(--fog)}.report-step-title{font-weight:600;font-size:.95rem}.report-step-desc{font-size:.875rem;color:var(--fog);line-height:1.6}.report-step-meta{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-top:var(--space-1)}.report-priority,.report-deadline,.report-pro-flag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:10px}.report-priority-critical{background:#d040401a;color:var(--red)}.report-priority-high{background:#e07b391a;color:var(--orange)}.report-priority-medium{background:#f0b4291a;color:#9a6f00}.report-priority-low,.report-deadline{background:var(--cream);color:var(--fog)}.report-pro-flag{background:#2d4a3e1a;color:var(--forest)}.report-savings-grid{display:flex;gap:var(--space-6);margin-bottom:var(--space-4)}.report-savings-cell{display:flex;flex-direction:column;gap:var(--space-1)}.report-savings-label{font-size:.78rem;color:var(--fog)}.report-savings-range{font-family:var(--font-serif);font-size:1.3rem;color:var(--green)}.report-assumptions{font-size:.82rem;color:var(--fog)}.report-assumptions ul{padding-left:var(--space-4)}.report-compliance{display:flex;flex-direction:column;gap:var(--space-3);list-style:none}.report-compliance-item{display:flex;flex-direction:column;gap:3px;font-size:.875rem}.report-compliance-meta{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;color:var(--fog)}.report-compliance-desc{color:var(--fog);font-size:.82rem}.report-risks{display:flex;flex-direction:column;gap:var(--space-4);list-style:none}.report-risk{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.report-risk p{font-size:.875rem;color:var(--fog);margin-top:var(--space-2);line-height:1.6}.report-disclaimer{margin-top:var(--space-12);padding:var(--space-4) var(--space-5);border:1px solid var(--gold-light);border-radius:var(--radius-sm);background:#c9a84c0a;font-size:.78rem;color:var(--fog);line-height:1.7}.report-disclaimer p+p{margin-top:var(--space-2)}.report-factors{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0}.report-factor{font-size:.875rem;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.section-actions{margin-bottom:var(--space-5)}.evidence-form{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;margin-bottom:var(--space-6)}.evidence-form select,.evidence-form input,.evidence-form textarea{font-family:var(--font-sans);font-size:.875rem;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.form-actions{display:flex;gap:var(--space-3)}.evidence-list{display:flex;flex-direction:column;gap:var(--space-3)}.evidence-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.evidence-card-header{display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.evidence-type{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fog)}.evidence-strength{font-size:.78rem;color:var(--gold)}.evidence-title{font-weight:500;font-size:.9rem}.evidence-desc{font-size:.82rem;color:var(--fog);margin-top:var(--space-1)}.evidence-delete{font-size:.75rem;color:var(--red);background:none;border:none;cursor:pointer;margin-top:var(--space-2)}.financial-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-6)}.financial-card{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.financial-label{font-size:.78rem;color:var(--fog);margin-bottom:var(--space-2)}.financial-value{font-family:var(--font-serif);font-size:1.6rem}.financial-value.savings{color:var(--green)}.financial-value.exposure{color:var(--red)}.financial-assumptions{font-size:.82rem;color:var(--fog)}.financial-assumptions ul{padding-left:var(--space-4);margin-top:var(--space-2)}.financial-assumptions li{margin-bottom:var(--space-1)}.compliance-list{display:flex;flex-direction:column;gap:0}.compliance-item{display:flex;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border);align-items:flex-start}.compliance-toggle{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);background:#fff;cursor:pointer;flex-shrink:0;font-size:.7rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.compliance-item.complete .compliance-toggle{background:var(--green);border-color:var(--green);color:#fff}.compliance-title{font-weight:500;font-size:.9rem}.compliance-meta{display:flex;gap:var(--space-3);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;color:var(--fog);margin-top:var(--space-1)}.compliance-desc{font-size:.82rem;color:var(--fog);margin-top:var(--space-1)}.account-section{max-width:480px;display:flex;flex-direction:column;gap:var(--space-5)}.profile-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--border);font-size:.875rem}.profile-label{color:var(--fog)}.btn-logout{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red);background:none;border:none;cursor:pointer;padding:0;margin-top:var(--space-2)}.billing-plans{display:flex;gap:var(--space-4)}.billing-plan-card{flex:1;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;display:flex;flex-direction:column;gap:var(--space-3)}.billing-plan-name{font-weight:600}.billing-plan-price{font-family:var(--font-serif);font-size:1.2rem}.billing-current{display:flex;flex-direction:column;gap:var(--space-4);font-size:.9rem}.disclaimer{padding:var(--space-4);border:1px solid var(--gold-light);border-radius:var(--radius-sm);background:#c9a84c0a;font-size:.78rem;color:var(--fog);line-height:1.7}.empty-state{font-size:.875rem;color:var(--fog);padding:var(--space-8) 0}.error-msg{font-size:.875rem;color:var(--red)}.report-generating{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-10);color:var(--fog)}.spinner{border-radius:50%;border-style:solid;border-color:var(--border);border-top-color:var(--ink);animation:spin .7s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-md{width:28px;height:28px;border-width:3px}.spinner-lg{width:44px;height:44px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.legal-page{max-width:720px;margin:0 auto;padding:var(--space-12) var(--space-8)}.legal-header{margin-bottom:var(--space-10);padding-bottom:var(--space-6);border-bottom:1px solid var(--border)}.legal-title{font-family:var(--font-serif);font-size:2.2rem;font-weight:400;letter-spacing:-.02em;margin-bottom:var(--space-2)}.legal-meta{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--fog);text-transform:uppercase}.legal-body{display:flex;flex-direction:column;gap:var(--space-8)}.legal-section h2{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;margin-bottom:var(--space-3)}.legal-section h3{font-family:var(--font-sans);font-size:.9rem;font-weight:600;margin-top:var(--space-4);margin-bottom:var(--space-2)}.legal-section p{font-size:.9rem;line-height:1.75;color:#2a2a28;margin-bottom:var(--space-3)}.legal-section p:last-child{margin-bottom:0}.legal-section ul{padding-left:var(--space-5);margin-bottom:var(--space-3)}.legal-section ul li{font-size:.9rem;line-height:1.75;color:#2a2a28;margin-bottom:var(--space-1)}.legal-section a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.legal-section a:hover{color:var(--forest)}.legal-section strong{font-weight:600;color:var(--ink)}
