:root{--bg:#f3efe6;--surface:#fffaf2;--surface-alt:#ece4d7;--ink:#14281d;--muted:#5f675d;--line:rgba(20,40,29,0.12);--accent:#d56f3e;--accent-dark:#8f3e1f;--good:#2a7d58;--warn:#b88124;--danger:#9e3c31;--shadow:0 18px 60px rgba(22,27,23,0.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,Times New Roman,serif;background:radial-gradient(circle at top left,rgba(213,111,62,.18),transparent 28%),linear-gradient(180deg,#f7f0e2,#efe7d6);color:var(--ink)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.site-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0}.brand{font-size:1.5rem;font-weight:700;letter-spacing:.04em}.checkbox-row,.footer-grid,.metric-row,.nav-actions,.nav-links,.row-inline,.section-row,.summary-grid{display:flex;gap:1rem}.nav-links{flex:1 1;justify-content:center;color:var(--muted)}.nav-actions{align-items:center}.back-link,.badge,.button,.input,.sidebar-link,.text-link{transition:.18s ease}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.95rem 1.4rem;background:var(--ink);color:white;font-size:.95rem;cursor:pointer;box-shadow:var(--shadow)}.button:hover{transform:translateY(-1px)}.button-secondary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.button-full{width:100%}.hero{display:grid;grid-template-columns:1.3fr .9fr;grid-gap:2rem;gap:2rem;padding:3rem 0 4rem}.auth-card h1,.dashboard-head h1,.estimate-result h2,.hero-copy h1,.section-heading h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:.96;letter-spacing:-.04em}.card p,.footer-copy,.hero-body,.muted{color:var(--muted);line-height:1.6}.detail-grid,.estimate-layout,.hero-form,.ops-grid,.split-layout,.stats-grid,.three-up{display:grid;grid-gap:1rem;gap:1rem}.hero-form{grid-template-columns:1fr auto;margin:1.5rem 0}.input{width:100%;border:1px solid var(--line);border-radius:999px;padding:1rem 1.15rem;background:rgba(255,250,242,.84);color:var(--ink);font-size:1rem}.input:focus{outline:2px solid rgba(213,111,62,.22);outline-offset:2px}.auth-card,.card,.panel-card,.sidebar,.table-card{background:rgba(255,250,242,.82);border:1px solid rgba(20,40,29,.08);border-radius:28px;box-shadow:var(--shadow)}.auth-card,.card,.panel-card,.table-card{padding:1.4rem}.glass-card{position:-webkit-sticky;position:sticky;top:1rem}.eyebrow{margin-bottom:.7rem;color:var(--accent-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700}.metric-row,.summary-grid{flex-wrap:wrap}.metric-card,.summary-grid>div{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-radius:20px;background:rgba(236,228,215,.7);min-width:150px}.metric-card strong,.stat-card strong,.summary-grid strong{font-size:1.6rem}.summary-grid{margin:1rem 0}.check-list{margin:0;padding-left:1.2rem;color:var(--muted)}.section{padding:3rem 0}.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.accent-section{padding:2rem;border-radius:32px;background:linear-gradient(135deg,rgba(20,40,29,.98),rgba(64,45,32,.92));color:white}.accent-section .muted,.accent-section p{color:rgba(255,255,255,.76)}.split-layout{grid-template-columns:1fr 1fr}.ops-grid,.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-card{font-size:1.05rem}.footer{display:flex;justify-content:space-between;gap:2rem;padding:3rem 0 4rem}.footer-title{margin-bottom:.75rem;font-weight:700}.auth-page,.narrow-page{padding:3rem 0 4rem}.auth-card{max-width:520px;margin:0 auto}.stack,.stack-sm,.timeline,.upload-form{display:grid}.stack{gap:1rem}.stack-sm{gap:.75rem}.upload-form{grid-template-columns:1fr auto;align-items:center;gap:.75rem}.input-file{border-radius:18px;padding:.7rem .9rem}.checkbox-row{align-items:flex-start;color:var(--muted)}.callout,.error-banner,.insight,.list-row,.timeline-item{border-radius:20px;padding:1rem}.error-banner{background:rgba(158,60,49,.08);color:var(--danger)}.callout{background:rgba(42,125,88,.08);margin:1rem 0}.detail-grid,.estimate-layout{grid-template-columns:1.2fr .8fr;align-items:start}.table-card{overflow:hidden}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:1rem 0;border-top:1px solid var(--line);text-align:left}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:999px;font-size:.8rem;text-transform:capitalize}.badge-good{background:rgba(42,125,88,.12);color:var(--good)}.badge-neutral{background:rgba(20,40,29,.08);color:var(--ink)}.badge-warn{background:rgba(184,129,36,.12);color:var(--warn)}.badge-danger{background:rgba(158,60,49,.12);color:var(--danger)}.back-link,.text-link{color:var(--accent-dark);font-weight:700}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{margin:1rem;padding:1.2rem;display:grid;align-content:start;grid-gap:1rem;gap:1rem;background:rgba(21,35,27,.98);color:white}.sidebar-label{color:rgba(255,255,255,.58);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.sidebar-link{display:block;padding:.7rem 0;color:rgba(255,255,255,.82)}.sidebar-meta{padding-top:1rem;border-top:1px solid rgba(255,255,255,.14)}.dashboard-main{padding:1rem 1rem 2rem 0}.dashboard-head{padding:1rem 0 1.4rem}.list-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:rgba(236,228,215,.52)}.timeline{gap:.75rem}.timeline-item{background:rgba(236,228,215,.52)}.timeline-item span{color:var(--muted);font-size:.9rem}.insight-good{background:rgba(42,125,88,.08)}.insight-neutral{background:rgba(20,40,29,.06)}.insight-warn{background:rgba(184,129,36,.12)}.section-row{justify-content:space-between;align-items:center}.stat-card{min-height:130px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width:960px){.app-shell,.detail-grid,.estimate-layout,.hero,.ops-grid,.split-layout,.stats-grid,.three-up{grid-template-columns:1fr}.nav{align-items:stretch}.footer,.nav,.nav-actions,.nav-links{flex-direction:column}.hero-form,.upload-form{grid-template-columns:1fr}.sidebar{margin:1rem 1rem 0}.dashboard-main{padding:1rem}.table{display:block;overflow-x:auto}}