@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--ink:#10213b;--muted:#66758c;--line:#dde5f0;--canvas:#f5f7fb;--surface:#fff;--navy:#102746;--mint:#27d7b1;--blue:#356cff;--amber:#ffb547;--rose:#f75d73;color:var(--ink);background:var(--canvas);font-family:Manrope,Avenir Next,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 92% -10%,#dceaff 0,transparent 32rem),var(--canvas)}a{color:inherit}button,input,select{font:inherit}button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}button:not(:disabled):hover{transform:translateY(-1px)}.shell{max-width:1360px;margin:0 auto;padding:28px 28px 72px}.topbar{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-bottom:32px}.topbar>div{position:relative;padding-left:16px}.topbar>div:before{background:linear-gradient(180deg,var(--mint),var(--blue));border-radius:99px;content:"";height:42px;left:0;position:absolute;top:2px;width:4px}.topbar h1,h2,h3{margin:0;letter-spacing:-.045em}.topbar h1{font-size:clamp(26px,3vw,38px);line-height:1.12}.topbar nav{align-items:center;display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.topbar nav a{border-radius:9px;color:#52647e;font-size:13px;font-weight:800;padding:9px 11px;text-decoration:none}.topbar nav a:hover,.topbar nav a[aria-current=page]{background:#e7edff;color:#284fc0}.eyebrow{color:#66809d;font-size:10px;font-weight:800;letter-spacing:.13em;margin:0 0 8px;text-transform:uppercase}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:14px;gap:14px}.metric-card{background:var(--surface);border:1px solid rgba(213,224,239,.9);border-radius:16px;box-shadow:0 10px 28px rgba(37,62,99,.045);min-height:154px;overflow:hidden;padding:19px;position:relative}.metric-card:after{background:#cad5e4;border-radius:10px;content:"";height:5px;left:19px;position:absolute;top:0;width:38px}.metric-card p,.metric-card span{color:var(--muted);display:block;font-size:12px;line-height:1.45;margin:0}.metric-card strong{color:var(--ink);display:block;font-size:clamp(24px,2vw,31px);letter-spacing:-.06em;line-height:1;margin:25px 0 11px}.metric-card.positive:after{background:var(--mint)}.metric-card.warning:after{background:var(--amber)}.metric-card.critical:after{background:var(--rose)}.metric-card.neutral:after{background:var(--blue)}.notice{align-items:center;background:#fff7e7;border:1px solid #ffd477;border-radius:14px;color:#704700;display:flex;font-size:13px;gap:16px;justify-content:space-between;margin-bottom:20px;padding:13px 16px}.notice button{background:transparent;border:1px solid #d89519;border-radius:8px;color:#704700;cursor:pointer;font-size:12px;font-weight:800;padding:7px 11px}.worklist{align-items:center;background:linear-gradient(115deg,var(--navy),#1b3970);border-radius:20px;box-shadow:0 22px 42px rgba(18,39,70,.18);color:#fff;display:flex;justify-content:space-between;gap:24px;margin:28px 0;overflow:hidden;padding:30px;position:relative}.worklist:after{background:radial-gradient(circle,rgba(39,215,177,.38),transparent 65%);content:"";height:300px;position:absolute;right:-70px;top:-165px;width:300px}.worklist>*{position:relative;z-index:1}.worklist .eyebrow,.worklist p{color:#b5c9e3}.worklist h2{font-size:24px;margin-bottom:9px}.worklist p:last-child{line-height:1.6;margin:0;max-width:650px}.primary-action{align-items:center;background:var(--mint);border:0;border-radius:9px;box-shadow:0 10px 20px rgba(22,206,168,.2);color:#063c38;cursor:pointer;display:inline-flex;font-size:13px;font-weight:800;justify-content:center;padding:12px 15px;text-decoration:none;white-space:nowrap}.primary-action:disabled{cursor:wait;opacity:.6}.primary-action:hover{background:#65e5c8}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 28px rgba(37,62,99,.04);margin-bottom:20px;padding:22px}.panel h2{font-size:21px}.panel p{color:var(--muted);font-size:13px;line-height:1.6}.field{color:#38506f;display:grid;font-size:12px;font-weight:800;grid-gap:8px;gap:8px}.field select{background:#f9fbff;border:1px solid #d6e0ed;border-radius:9px;color:var(--ink);padding:11px 12px}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}table{background:var(--surface);border:1px solid var(--line);border-collapse:separate;border-radius:16px;border-spacing:0;box-shadow:0 10px 28px rgba(37,62,99,.04);overflow:hidden;width:100%}td,th{border-bottom:1px solid #edf1f6;font-size:12px;padding:14px 15px;text-align:left}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .16s ease}tbody tr:hover{background:#f7faff}th{background:#f6f8fc;color:#718199;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}td{color:#334965}td a{color:#3059d3;font-weight:800;text-decoration:none}td a:hover{text-decoration:underline}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{background:#fff;border:1px solid #cbd8e8;border-radius:7px;color:#244260;cursor:pointer;font-size:11px;font-weight:800;padding:7px 9px}.actions button:first-child{background:#e6fbf5;border-color:#9ae7d6;color:#08775f}.updated{color:#74849b;font-family:DM Mono,monospace;font-size:11px;margin-top:16px}.dashboard-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);margin-top:18px}.insight-card,.run-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 28px rgba(37,62,99,.04);padding:23px}.insight-card h2,.run-card h2{font-size:19px}.progress-row{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:126px 1fr 46px;margin-top:23px}.progress-row span{color:#59708d;font-size:12px;font-weight:700}.progress-track{background:#eaf0f7;border-radius:99px;height:9px;overflow:hidden}.progress-track i{background:linear-gradient(90deg,var(--blue),var(--mint));border-radius:inherit;display:block;height:100%}.progress-row b{color:#23446c;font-size:12px;text-align:right}.mini-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}.mini-legend span{color:#60748e;font-size:11px;font-weight:700}.mini-legend i{border-radius:50%;display:inline-block;height:7px;margin-right:5px;width:7px}.dot-mint{background:var(--mint)}.dot-blue{background:var(--blue)}.dot-amber{background:var(--amber)}.run-list{display:grid;grid-gap:13px;gap:13px;margin-top:18px}.run-list>div{align-items:center;border-bottom:1px solid #edf1f7;display:flex;gap:10px;justify-content:space-between;padding-bottom:13px}.run-list>div:last-child{border-bottom:0;padding-bottom:0}.run-list strong{color:#2a4261;font-size:12px}.run-list span{color:#72839b;font-size:11px}.status-dot{border-radius:50%;display:inline-block;height:8px;margin-right:7px;width:8px}.status-dot.good{background:var(--mint);box-shadow:0 0 0 4px #e5fbf6}.status-dot.watch{background:var(--amber);box-shadow:0 0 0 4px #fff5df}.status-dot.risk{background:var(--rose);box-shadow:0 0 0 4px #ffeaee}.upload-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)}.upload-form{display:grid;grid-gap:16px;gap:16px}.upload-form label{color:#38506f;display:grid;font-size:12px;font-weight:800;grid-gap:8px;gap:8px}.upload-form select{background:#f9fbff;border:1px solid #d6e0ed;border-radius:9px;padding:11px 12px}.dropzone{background:linear-gradient(145deg,#f4f8ff,#fbfdff);border:1.5px dashed #aabde0;border-radius:14px;color:#436183;min-height:150px;padding:20px;place-content:center;text-align:center}.dropzone input{margin:10px auto 0;max-width:235px}.file-name{color:#2453ba;font-family:DM Mono,monospace;font-size:11px;margin-top:8px}.upload-tips{background:linear-gradient(155deg,#edf4ff,#f8fbff);border:1px solid #d6e5fb;border-radius:16px;padding:22px}.upload-tips h2{color:#17355f;font-size:18px}.upload-tips li{color:#526b89;font-size:12px;line-height:1.6;margin:8px 0}.upload-result{margin-top:20px}.upload-result progress{accent-color:var(--blue);height:8px;margin:8px 0 15px;width:min(100%,420px)}.json-preview{background:#0f2341;border-radius:12px;color:#d7e8ff;font-family:DM Mono,monospace;font-size:11px;max-height:360px;overflow:auto;padding:16px}@media (max-width:1050px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.shell{padding:22px 16px 50px}.topbar,.worklist{align-items:flex-start;flex-direction:column}.topbar nav{justify-content:flex-start}.dashboard-grid,.metrics,.split,.upload-layout{grid-template-columns:1fr}.worklist{padding:24px}.progress-row{grid-template-columns:105px 1fr 38px}table{display:block;overflow-x:auto;white-space:nowrap}}