:root{--bg:#f6f8fb;--panel:#fff;--panel2:#f1f5f9;--text:#0f172a;--muted:#64748b;--line:#dbe3ee;--brand:#2563eb;--green:#16a34a;--amber:#d97706;--red:#dc2626;--orange:#ea580c;--blue:#0284c7;--shadow:0 18px 40px rgba(15,23,42,.08)}.dark{--bg:#08111f;--panel:#111c2e;--panel2:#16243a;--text:#e5edf8;--muted:#91a3bb;--line:#263850;--brand:#60a5fa;--shadow:0 18px 40px rgba(0,0,0,.3)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;gap:18px;align-items:center;padding:12px 28px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.dark .topbar{background:rgba(8,17,31,.82)}
.brand-mark{width:36px;height:36px;border-radius:12px;object-fit:contain;display:block}
.topbar a{color:var(--muted);text-decoration:none}.topbar a.active{color:var(--text);font-weight:700}.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}button{border:0;border-radius:12px;padding:10px 14px;background:var(--panel2);color:var(--text);cursor:pointer}button.primary,.primary{background:var(--brand);color:#fff}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:34px 32px 20px;max-width:1500px;margin:auto}.eyebrow{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}h1{margin:6px 0 4px;font-size:40px;letter-spacing:-.04em}.hero p{margin:0;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.badge,.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--panel2);color:var(--muted);font-weight:700}.badge.good{color:var(--green)}.badge.warn{color:var(--amber)}.badge.bad{color:var(--red)}main{max-width:1500px;margin:auto;padding:10px 32px 40px}.grid{display:grid;gap:16px}.summary{grid-template-columns:1.5fr repeat(4,1fr)}.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin:0 0 12px}.metric{font-size:30px;font-weight:850;letter-spacing:-.04em}.muted{color:var(--muted)}.progress{height:10px;background:var(--panel2);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:999px}.quarters{grid-template-columns:repeat(4,1fr)}.rep-cards{grid-template-columns:repeat(3,1fr)}.rep-card{cursor:pointer;transition:.18s transform,.18s border-color}.rep-card:hover,.rep-card.selected{transform:translateY(-2px);border-color:var(--brand)}.rep-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.avatar{width:48px;height:48px;border-radius:16px;background:var(--panel2);display:grid;place-items:center;font-weight:850}.radial{--p:0;--c:var(--brand);width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--panel2) 0);font-weight:900}.radial:before{content:attr(data-score);width:58px;height:58px;border-radius:50%;background:var(--panel);display:grid;place-items:center}.score-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.score-pills div{background:var(--panel2);border-radius:14px;padding:8px;text-align:center}.score-pills b{display:block}.detail{margin-top:18px}.tabs{display:flex;gap:8px;margin:14px 0}.tab{border:1px solid var(--line)}.tab.active{background:var(--brand);color:#fff}.pillars{grid-template-columns:repeat(4,1fr)}.bar-row{margin:12px 0}.bar-row label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:6px}.pipeline-stage{margin:12px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden}.stage-title{padding:12px 14px;background:var(--panel2);font-weight:850;display:flex;justify-content:space-between}.deal{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid var(--line)}.deal a{color:var(--brand);font-weight:800}.stale{color:var(--red);font-weight:800}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.upload{border:2px dashed var(--line);padding:24px;border-radius:20px;text-align:center;background:var(--panel2)}input[type=file]{margin:10px auto;display:block}.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;z-index:50}.hidden{display:none}.modal-card{width:min(360px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.pin-dots{display:flex;justify-content:center;gap:10px;margin:14px}.pin-dots span{width:14px;height:14px;border-radius:50%;border:1px solid var(--muted)}.pin-dots span.on{background:var(--brand);border-color:var(--brand)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{font-size:20px;padding:16px}.modal-actions{display:flex;justify-content:space-between;margin-top:12px}.error{color:var(--red)}footer{border-top:1px solid var(--line);padding:24px 32px;color:var(--muted)}.grade-A{--gc:var(--green)}.grade-B{--gc:var(--blue)}.grade-C{--gc:var(--amber)}.grade-D{--gc:var(--orange)}.grade-F{--gc:var(--red)}.grade{color:var(--gc)}@media(max-width:1100px){.summary,.quarters,.rep-cards,.pillars{grid-template-columns:1fr 1fr}.hero{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.topbar{overflow:auto;padding:10px}.summary,.quarters,.rep-cards,.pillars{grid-template-columns:1fr}.deal{grid-template-columns:1fr}.hero,main{padding-left:16px;padding-right:16px}h1{font-size:32px}}
