:root{--bg:#eef4f8;--panel:#fff;--text:#0f2537;--muted:#607080;--line:#d6e2ea;--line-strong:#c7d7e1;--accent:#2f6f98;--accent-dark:#245d83;--primary-blue:#2f6f98;--accent-soft:#f7fafc;--panel-soft:#f7fafc;--danger:#b42318;--success:#157347}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;padding:0;font-family:Inter,Arial,Helvetica,sans-serif}body{line-height:1.45}a{color:inherit;text-decoration:none}input,button,textarea,select{font:inherit}.page{min-height:100vh;padding:16px}.shell,.calculator-shell,.form-shell,.dashboard-shell{width:100%;max-width:480px;margin:0 auto}.page-header{gap:14px;display:grid}.title{color:var(--text);margin:0;font-size:28px;font-weight:700;line-height:1.2}.subtitle{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.5}.section-title,.toolkit-section-title{color:var(--text);margin:0;font-size:18px;font-weight:700;line-height:1.3}.card,.result-box,.action-card,.toolkit-row,.history-link,.calculator-list-item,.scenario-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 24px #0f25370f}.card,.result-box,.card.compact{padding:16px}.card-title{margin:0;font-size:17px;font-weight:700;line-height:1.3}.stack{gap:16px;display:grid}.stack-tight{gap:4px;display:grid}.calculator-card{gap:16px}.calculator-section,.toolkit-section,.toolkit-sections,.detail-list,.report-section,.report-note-list,.mode-toggle,.calculator-list,.list,.scenario-metrics{display:grid}.calculator-section,.toolkit-sections,.list{gap:16px}.toolkit-section,.detail-list,.report-note-list,.calculator-list,.mode-toggle{gap:10px}.list.flush{margin-top:0}.grid{gap:16px;display:grid}.label{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.field{align-content:start;gap:8px;display:grid}input,textarea,select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:12px;outline:none;padding:10px 12px;transition:border-color .16s,box-shadow .16s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f6f9824}input[type=range].slider{min-height:28px;box-shadow:none;accent-color:var(--accent);background:0 0;border:0;padding:0}.slider-row{gap:6px;display:grid}.slider-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;line-height:1.35;display:flex}button,.button{background:var(--primary-blue);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;min-height:46px;padding:12px 16px;font-weight:600;transition:background .16s,border-color .16s,box-shadow .16s;display:inline-flex}button:hover,.button:hover{background:var(--accent-dark)}button:disabled,.button:disabled{opacity:.72;cursor:not-allowed}.button.secondary,.mode-button{background:var(--panel);color:var(--primary-blue);border:1px solid #2f6f9847}.button.secondary:hover,.mode-button:hover,.mode-button.active{border-color:var(--primary-blue);color:var(--primary-blue);background:#2f6f9814}.button.danger{background:var(--danger)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spaced{justify-content:space-between}.actions{gap:10px;display:grid}.actions>button,.actions>.button,.page-header .row>.button,.page-header .row>button{width:100%}.mini{color:var(--muted);font-size:14px;line-height:1.45}.badge,.status-pill{border-radius:999px;align-items:center;width:fit-content;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge{background:var(--accent-soft);color:var(--primary-blue);border:1px solid var(--line)}.status-pill{font-size:13px}.status-sustainable{color:#12643d;background:#e7f5ed}.status-borderline{color:#9a5a00;background:#fff3df}.status-unsustainable{color:#a32116;background:#fdecec}.error,.success{margin:0;font-size:14px}.error{color:var(--danger)}.success{color:var(--success)}.result-panel{border-left:4px solid var(--accent)}.result-box>strong,.result-box .row>strong{font-size:17px;line-height:1.3}.result-value{color:var(--text);margin:6px 0 0;font-size:30px;font-weight:700;line-height:1.1}.summary-value{color:var(--text);margin:4px 0 0;font-size:20px;font-weight:700;line-height:1.2}.detail-item{gap:6px;display:grid}.detail-item p{margin:0;line-height:1.35}.history-link,.calculator-list-item,.toolkit-row{justify-content:space-between;align-items:flex-start;gap:12px;min-height:72px;padding:14px 16px;display:flex}.history-link:hover,.calculator-list-item:hover,.toolkit-row:hover,.client-card:hover{border-color:var(--accent);box-shadow:0 12px 28px #0f253714}.history-link .stack-tight,.calculator-list-item>span:first-child,.toolkit-row>span:first-child{gap:4px;width:100%;display:grid}.list-arrow{display:none}.action-card{gap:8px;padding:16px;display:grid}.dashboard-card,.client-card,.action-card{min-height:100%;transition:border-color .16s,box-shadow .16s,transform .16s}.client-card{padding:16px}.toolkit-row-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolkit-badge.core{background:var(--accent-soft);color:var(--primary-blue)}.toolkit-history-link{background:var(--panel)}.dashboard-header{gap:16px}.scenario-card{gap:14px;padding:16px;display:grid}.scenario-card.recommended{border-color:var(--accent);background:#fbfdff;box-shadow:inset 0 0 0 1px #2f6f9829,0 10px 24px #0f25370f}.scenario-card>.row{align-items:flex-start}.scenario-metric{border-top:1px solid var(--line);gap:3px;padding-top:9px;display:grid}.scenario-metric:first-child{border-top:0;padding-top:0}.scenario-metric strong{font-size:16px;line-height:1.25}.scenario-metric.primary strong{font-size:24px}.print-report{display:none}.report-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;display:flex}.report-meta{color:var(--muted);font-size:14px}.report-section{break-inside:avoid;page-break-inside:avoid;gap:8px}.report-table{border:1px solid var(--line);border-radius:10px;display:grid;overflow:hidden}.report-row{border-top:1px solid var(--line);grid-template-columns:minmax(160px,42%) minmax(0,1fr);align-items:start;gap:4px 16px;padding:9px 12px;display:grid}.report-row:first-child{border-top:0}.report-row span,.report-note span{color:var(--muted);white-space:nowrap;font-weight:700;line-height:1.3}.report-row strong{text-align:right;overflow-wrap:break-word;justify-self:end;line-height:1.35;display:block}.report-note{border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;padding:10px 12px;display:grid}.report-note p,.scenario-note p{margin:0;line-height:1.45}.scenario-note p{white-space:pre-line}@media (max-width:899px){.grid-2,.grid-3,.grid.grid-2,.grid.grid-3{grid-template-columns:1fr}}@media (min-width:900px){.page{padding:24px 16px}}@media print{@page{margin:9mm 11mm}body{color:#111827;background:#fff}.page{min-height:auto;padding:0}.shell{max-width:none}.no-print{display:none!important}.print-report{box-shadow:none;border:0;gap:10px;padding:0;display:grid}.card,.result-box,.report-table,.report-note,.report-header,.detail-item{break-inside:avoid;page-break-inside:avoid;box-shadow:none}.report-page-one{gap:8px;display:grid}.report-page-two{break-before:page;page-break-before:always;gap:9px;display:grid}.print-report .title{font-size:21px}.print-report .section-title{font-size:15px}.report-client-grid{gap:8px 16px}.report-row{grid-template-columns:195px minmax(0,1fr);column-gap:20px;padding:7px 10px}.report-row strong{text-align:right}.result-box{padding:10px 12px}}.client-hero{background:linear-gradient(#2f6f983d 0%,#fffffffa 100%);border-color:#cddce6;gap:14px}.client-hero-content{gap:8px;display:grid}.client-hero-badge{color:var(--primary-blue);background:#ffffffe0;border-color:#2f6f9833}.client-hero-title{font-size:30px}.client-hero-age{color:var(--muted);margin:0;font-size:16px;font-weight:600}.client-hero-actions{width:100%}
