*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f8fafc;color:#0f172a}.app-shell{max-width:1180px;margin:0 auto;padding:24px}.topbar,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar h1,.section-head h2,.panel h2,.panel h3{margin:0}.topbar p,.section-head p{margin:.35rem 0 0;color:#64748b}.panel,.subpanel,.metric,.note,.readonly-box,.banner{background:#fff;border:1px solid #dbe3ec;border-radius:16px}.panel{padding:20px}.subpanel{padding:16px}.metric{padding:16px}.metric span,.subpanel span,.label-text{display:block;color:#64748b;font-size:.9rem}.metric strong{display:block;font-size:1.5rem;margin-top:6px}.metric small{display:block;color:#64748b;margin-top:4px}.stack>*+*{margin-top:12px}.stack-lg>*+*{margin-top:20px}.divider-top{border-top:1px solid #e2e8f0;padding-top:20px}.grid-2,.grid-3,.grid-4,.supply-grid,.admin-actions{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.supply-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell>section,.app-shell>div{margin-bottom:18px}label{font-weight:600;font-size:.94rem}input,select,textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;font:inherit}textarea{resize:vertical}button{border:1px solid #cbd5e1;border-radius:12px;padding:11px 14px;font:inherit;font-weight:600;cursor:pointer;background:#fff;color:#0f172a}button:hover{background:#f8fafc}.primary{background:#2563eb;color:#fff;border-color:#2563eb}.primary:hover{background:#1d4ed8}.secondary{background:#fff}.supply-option{text-align:left;padding:16px}.supply-option.selected{border-color:#2563eb;background:#eff6ff}.supply-option:disabled{opacity:.45;cursor:not-allowed}.supply-option strong{display:block;font-size:1.2rem;margin-top:6px}.note{padding:12px 14px;color:#475569}.readonly-box{padding:11px 12px;margin-top:6px}.totals{border:1px solid #dbe3ec;border-radius:16px;overflow:hidden;background:#fff}.totals>div{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid #eef2f7}.totals>div:last-child{border-bottom:0}.totals .emphasis{font-size:1.05rem;background:#f8fafc}.banner{padding:12px 14px;color:#92400e;background:#fffbeb;border-color:#fde68a}.status{min-height:20px;color:#475569}.hidden{display:none!important}.quote-section{background:#fff}.quote-section h3{margin:.35rem 0}.quote-section p{margin:.35rem 0;color:#64748b}
@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.app-shell{padding:14px}.grid-2,.grid-3,.grid-4,.supply-grid,.admin-actions{grid-template-columns:1fr}.panel{padding:16px}}
@media print{body{background:#fff}.app-shell{max-width:none;padding:0}.topbar,#adminPanel,.app-shell>section:not(#quoteSection),.app-shell>div:not(.quote-section),.no-print,.quote-inputs label{display:none!important}#quoteSection{display:block!important;border:0;padding:0}.quote-section{box-shadow:none}.quote-section h2{font-size:24px;margin-bottom:18px}.quote-section .grid-2{grid-template-columns:1fr 1fr}.quote-inputs>div{display:block}.quote-section .note{border:0;padding:12px 0}.totals,.subpanel,.readonly-box{border-color:#cbd5e1}button{display:none!important}}
