html{background:#f4f6f8}body{margin:0}#root{min-height:100vh}:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffffe6,#f4f6f8f2),#f4f6f8;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:#17324d;cursor:pointer;background:#fff;border:1px solid #c8d0d8;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 12px;display:inline-flex}button:hover{color:#0e5f9f;border-color:#4b85b6}button:disabled{color:#8b98a5;cursor:not-allowed;background:#eef1f4}input,select{color:#17202a;background:#fff;border:1px solid #cbd3dc;border-radius:6px;width:100%;min-height:38px;padding:8px 10px}input:focus,select:focus{border-color:#2374ab;outline:3px solid #2374ab24}.app-shell{width:min(1440px,100%);margin:0 auto;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:10px 0 22px;display:flex}.topbar h1,.section-heading h2,.empty-state h2{letter-spacing:0;margin:0}.topbar h1{font-size:34px;line-height:1.1}.source-chip{color:#405160;background:#fff;border:1px solid #cbd8e3;border-radius:999px;margin-top:8px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.eyebrow{color:#607080;letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:700}.upload-button{color:#fff;cursor:pointer;background:#20639b;border-radius:6px;align-items:center;gap:8px;min-height:42px;padding:10px 14px;display:inline-flex}.upload-button:hover{background:#174d79}.upload-button input{display:none}.topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.alert{color:#724800;background:#fff7e8;border:1px solid #e3ad58;border-radius:6px;margin-bottom:16px;padding:12px 14px}.empty-state,.panel{background:#fff;border:1px solid #d9e0e7;border-radius:8px}.empty-state{text-align:center;place-items:center;min-height:420px;padding:32px;display:grid}.empty-state svg{color:#20639b}.empty-state p{color:#5d6d7e;max-width:580px;margin:10px auto 0}.workspace{grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);gap:16px;display:grid}.panel{min-width:0;padding:18px}.quote-details,.results-panel{grid-column:1/-1}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-heading h2{font-size:20px}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.form-grid label{color:#546372;gap:6px;font-size:13px;font-weight:650;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-box{position:relative}.search-box svg{color:#6b7b8a;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-box input{width:220px;padding-left:32px}.table-wrap{border:1px solid #dbe2e8;border-radius:6px;overflow:auto}.master-table{max-height:560px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5ebf0;padding:10px 12px}th{z-index:1;color:#4a5968;text-transform:uppercase;background:#f1f5f8;font-size:12px;font-weight:750;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}.qty-input{text-align:right;width:92px}.pill,.status{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.pill{color:#315c43;background:#e7f4ec}.quotation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:640px;padding-right:3px;display:grid;overflow:auto}.quotation-card{background:#fbfcfd;border:1px solid #d8e0e7;border-radius:8px;gap:12px;padding:14px;display:grid}.quotation-card label{color:#546372;gap:6px;font-size:13px;font-weight:650;display:grid}.quotation-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.quotation-card-top strong{color:#17202a}.discount-input div{position:relative}.discount-input svg{color:#6b7b8a;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.discount-input input{padding-left:32px}.icon-button{width:38px;padding:8px}.summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.summary-card{background:#fbfcfd;border:1px solid #d8e0e7;border-radius:8px;gap:6px;min-height:94px;padding:13px;display:grid}.summary-card span{color:#4f5e6d;font-size:12px;font-weight:750}.summary-card strong{font-size:22px}.summary-card small{color:#687785}.subtext{color:#6d7a86;margin-top:2px;font-size:12px;display:block}.status.ok{color:#21613e;background:#dff2e8}.status.warn{color:#815300;background:#fff0c2}.muted-row td{color:#697684;background:#fffaf0}.no-results{color:#62717f;text-align:center;place-items:center;min-height:240px;display:grid}.no-results svg{color:#d59116}.modal-backdrop{z-index:10;background:#17202a75;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.price-list-modal{background:#fff;border:1px solid #cfd9e2;border-radius:8px;grid-template-rows:auto auto auto minmax(0,1fr);gap:14px;width:min(1120px,100%);max-height:min(780px,100vh - 44px);padding:18px;display:grid;box-shadow:0 24px 70px #17202a38}.modal-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-heading h2{letter-spacing:0;margin:0;font-size:20px}.price-list-controls{grid-template-columns:minmax(280px,1fr) minmax(220px,320px);gap:12px;display:grid}.price-list-controls label{color:#546372;gap:6px;font-size:13px;font-weight:650;display:grid}.price-list-controls .search-box{position:static}.price-list-controls .search-box div{position:relative}.price-list-controls .search-box input{width:100%}.price-list-controls .search-box svg{top:50%}.price-list-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.price-list-meta span{color:#405160;background:#f7fafc;border:1px solid #d8e2eb;border-radius:999px;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.price-list-table{min-height:260px;overflow:auto}.price-list-table td:first-child,.price-list-table td:last-child{text-align:right}@media (width<=1120px){.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}}@media (width<=720px){.app-shell{padding:16px}.topbar,.section-heading,.topbar-actions,.modal-heading{flex-direction:column;align-items:stretch}.form-grid,.price-list-controls,.quotation-grid,.summary-strip{grid-template-columns:1fr}.search-box input{width:100%}}
