:root{font-family:Segoe UI,Trebuchet MS,sans-serif;color:#11212d;background:radial-gradient(circle at top left,rgba(219,195,138,.35),transparent 32rem),linear-gradient(180deg,#f6f0e4,#efe7d8)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.app-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.panel{width:min(860px,100%);padding:2.5rem;border:1px solid rgba(17,33,45,.12);border-radius:28px;background:#fffbf5db;box-shadow:0 18px 55px #11212d1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.eyebrow{margin:0 0 .75rem;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:#8a5a18}.panel h1{margin:0;font-size:clamp(2.5rem,4vw,4.25rem);line-height:.95}.lead{margin:1rem 0 2rem;max-width:42rem;font-size:1.05rem;line-height:1.6;color:#31434f}.upload-form{display:grid;gap:1rem;margin-bottom:2rem;padding:1.25rem;border-radius:20px;background:#fff8ebe6;border:1px solid rgba(138,90,24,.14)}.field{display:grid;gap:.45rem;font-weight:600}.field span{color:#384b57}.field input[type=file]{width:100%;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(17,33,45,.18);background:#fffdf9}.field input[type=text],.field input[type=number],.field textarea{width:100%;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(17,33,45,.18);background:#fffdf9;font:inherit;color:inherit}.field textarea{resize:vertical}.file-summary{display:grid;gap:.15rem;color:#445863}.file-summary p{margin:0}.file-name{font-weight:700;color:#11212d}.primary-button,.secondary-link,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.8rem 1.15rem;border-radius:999px;font-weight:700;text-decoration:none}.primary-button{border:0;color:#fffdf8;background:linear-gradient(135deg,#8a5a18,#b87420);cursor:pointer}.primary-button:disabled{cursor:not-allowed;opacity:.55}.secondary-link{color:#8a5a18;border:1px solid rgba(138,90,24,.22);background:#fffdf9e6}.ghost-button{border:1px dashed rgba(17,33,45,.18);color:#445863;background:transparent;cursor:pointer}.status-text,.status-meta,.error-text{margin:0}.status-text,.status-meta{color:#445863}.error-text{color:#9a2929;font-weight:600}.status-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.status-card{padding:1.25rem;border-radius:18px;background:#fffdf9;border:1px solid rgba(17,33,45,.08)}.status-card h2{margin:0 0 .5rem;font-size:1rem}.status-card p{margin:0;line-height:1.5;color:#445863}.summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric{font-size:2.25rem;font-weight:800;color:#11212d}.entity-breakdown{margin-top:2rem;padding:1.25rem;border-radius:20px;background:#fffdf9e6;border:1px solid rgba(17,33,45,.08)}.entity-breakdown h2{margin-top:0}.entity-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.entity-list li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(17,33,45,.08)}.page-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.settings-form{display:grid;gap:1.25rem}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.checkbox-field{align-content:end}.checkbox-field input{width:24px;height:24px}.preview-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:18px;background:#8a5a1814}.preview-banner span{color:#445863}.preview-banner strong{font-size:1.4rem}.review-layout{display:grid;gap:1rem;margin-top:2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.quote-summary,.review-adjustments{padding:1.25rem;border-radius:20px;background:#fffdf9e6;border:1px solid rgba(17,33,45,.08)}.quote-summary h2,.review-adjustments h2{margin-top:0}.line-item-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.line-item-list li,.totals-panel p{display:flex;justify-content:space-between;gap:1rem;margin:0}.line-item-list li{padding-bottom:.75rem;border-bottom:1px solid rgba(17,33,45,.08)}.totals-panel{display:grid;gap:.6rem;margin-top:1.25rem}.projected-total{padding-top:.75rem;border-top:1px solid rgba(17,33,45,.08)}.extra-costs{display:grid;gap:1rem}.extra-cost-row{display:grid;gap:.75rem;grid-template-columns:minmax(0,1.5fr) minmax(180px,.9fr) auto;align-items:end}
