:root{color:#1e293b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;background:#f7f9f8;font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font-family:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #83b9a6}::selection{color:#173f35;background:#c8e7d8}#root{width:100%;min-height:100vh;margin:0}.dashboard{width:min(1440px,100%);margin:0 auto;padding:32px 40px}.topbar{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:20px;padding-bottom:28px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{color:#fff;background:#173f35;border-radius:12px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.brand h1{margin:0;font-size:22px;line-height:1.3}.brand p,.intro p,.section-heading p{color:#64748b;margin:4px 0 0}.refresh-button,.error-panel button{color:#fff;font:inherit;cursor:pointer;background:#173f35;border:0;border-radius:8px;padding:11px 16px}.refresh-button:hover,.error-panel button:hover{background:#245849}.intro{padding:36px 0 22px}.eyebrow{color:#35715d;letter-spacing:1.5px;font-size:12px;font-weight:800}.intro h2{letter-spacing:-1px;margin:8px 0;font-size:clamp(28px,4vw,38px)}.notice{color:#775516;background:#fff9e9;border:1px solid #e9d5a1;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:15px 18px;font-size:13px;display:flex}.notice strong{letter-spacing:.3px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:9px;padding:22px;display:flex}.metric-card>span,.assumptions span{color:#64748b;font-size:13px}.metric-card strong{font-size:30px;line-height:1.2}.metric-card small{color:#64748b;line-height:1.5}.assumptions{background:#f1f5f3;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px;padding:20px;display:grid}.assumptions>div{flex-direction:column;gap:8px;display:flex}.assumptions strong{font-size:14px}.report-section{margin-top:20px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.section-heading h2{margin:0;font-size:23px}.product-count{white-space:nowrap;color:#245849;background:#e9f2ed;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:700}.table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:1050px}thead{background:#f8faf9}th,td{vertical-align:top;border-bottom:1px solid #e5e7eb;padding:16px 14px}th{color:#475569;font-size:12px;font-weight:700;line-height:1.5}td{font-size:13px;line-height:1.6}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}td strong{color:#1e293b;min-width:160px;display:block}td small{color:#64748b;overflow-wrap:anywhere;margin-top:5px;display:block}.status{overflow-wrap:anywhere;border-radius:7px;max-width:240px;padding:6px 9px;font-size:12px;font-weight:700;line-height:1.5;display:inline-block}.status-ok{color:#22613d;background:#e6f5eb}.status-review{color:#825713;background:#fff1d6}.status-slow{color:#49409a;background:#e9e8ff}td .review-note{max-width:260px;margin-top:8px;line-height:1.5}.footnote,.review-summary{color:#64748b;font-size:13px;line-height:1.6}.review-summary{background:#fff9e9;border-radius:8px;padding:14px 16px}.message{color:#64748b;padding:24px 0}.error-panel{background:#fff4f4;border:1px solid #f1b8b8;border-radius:10px;margin:24px 0;padding:20px}.error-panel p{color:#9f2525}footer{color:#64748b;text-align:center;border-top:1px solid #e5e7eb;margin-top:42px;padding-top:22px;font-size:12px}@media (width<=850px){.dashboard{padding:22px 18px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.assumptions{grid-template-columns:1fr}}@media (width<=480px){.dashboard{padding:18px 12px}.topbar{align-items:flex-start}.brand{gap:9px}.brand h1{font-size:18px}.brand p{font-size:12px}.refresh-button{padding:9px 10px;font-size:12px}.metrics{gap:10px}.metric-card{padding:15px}.metric-card strong{font-size:25px}.section-heading{flex-direction:column;align-items:flex-start}}
