:root{--bg:#FBFCFD;--panel:#fff;--elev:#EEF4F6;--ink:#1B2733;--sub:#566773;--faint:#93A2AB;--line:#E5ECEF;--line2:#EFF4F6;--accent:#1690B5;--accent-soft:#E2F3F8;--on-accent:#fff;--good:#12A67C;--good-soft:#E2F4EE;--warn:#B7791F;--warn-soft:#FBF2E1;--bad:#E24B4A;--bad-soft:#FBEAEA;--mut:#93A2AB;--mut-soft:#EEF2F4;--r:12px;--r-sm:9px;--shadow:0 1px 1px rgba(27,39,51,.03),0 4px 12px rgba(27,39,51,.05)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a{cursor:pointer;text-decoration:none;color:inherit}svg{display:block}.center{min-height:100vh;display:flex;align-items:center;justify-content:center}.muted{color:var(--sub)}.mono{font-family:ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}.err{color:var(--bad);font-size:13px;margin-top:12px}.link{color:var(--accent);font-weight:600;font-size:13px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.loginbox{width:100%;max-width:360px;text-align:center}.login-logo{height:52px;width:auto;margin:0 0 26px}.loginbox h1{font-size:23px;letter-spacing:-.025em;margin:0 0 6px}.loginbox .sub{color:var(--sub);font-size:14px;margin:0 0 26px}.gsignin{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:320px;padding:11px 16px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font-size:14.5px;font-weight:600;cursor:pointer;transition:border-color .15s,box-shadow .15s}.gsignin:hover{border-color:var(--accent);box-shadow:var(--shadow)}.gsignin svg{flex-shrink:0}.loginbox .hint{margin-top:18px;font-size:12.5px;color:var(--faint)}.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.side{background:var(--panel);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;padding:6px 10px 16px}.side-logo{height:auto;width:100%;max-width:150px;display:block}.navlbl{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:600;padding:14px 10px 6px}.nav{display:flex;flex-direction:column;gap:1px}.nav a{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:var(--r-sm);color:var(--sub);font-size:13.5px;font-weight:500}.nav a svg{width:17px;height:17px;color:var(--faint)}.nav a:hover{background:var(--elev);color:var(--ink)}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav a.active svg{color:var(--accent)}.sidefoot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.sidefoot .av{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.sidefoot .nm{font-size:13px;font-weight:600}.sidefoot .rl{font-size:11px;color:var(--faint)}.signout{margin-top:12px}main{min-width:0}.pad{padding:34px 30px;max-width:920px}.eyebrow{font-size:12px;font-weight:600;color:var(--accent);margin:0 0 10px}h1{font-size:28px;letter-spacing:-.03em;font-weight:670;margin:0 0 8px}h2{font-size:15px;font-weight:640;letter-spacing:-.02em;margin:34px 0 14px;display:flex;align-items:center;gap:9px}h2 .cnt{font-size:12px;font-weight:600;color:var(--faint);background:var(--elev);padding:2px 8px;border-radius:20px}.lede{color:var(--sub);font-size:15px;margin:0 0 22px;max-width:64ch}.btns{display:flex;gap:9px;flex-wrap:wrap}.btn{font-size:13.5px;font-weight:600;padding:9px 15px;border-radius:var(--r-sm);border:1px solid transparent}.btn-acc{background:var(--accent);color:#fff}.btn-acc:hover{filter:brightness(1.07)}.btn-ghost{background:var(--panel);border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn.small{padding:6px 11px;font-size:12.5px;border:1px solid var(--line);background:var(--panel);color:var(--ink);margin-top:10px}.btn.small:hover{border-color:var(--accent);color:var(--accent)}.ghost{font-size:13px;padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel);color:var(--ink)}.inline{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.inp{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 11px;font:inherit;font-size:13.5px;background:var(--panel);color:var(--ink);width:110px}.inp.wide{width:200px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}.stat .sk{font-size:12.5px;color:var(--sub);font-weight:500}.stat .sv{font-size:26px;font-weight:660;letter-spacing:-.03em;margin-top:8px}.stat .sd{font-size:12px;color:var(--faint);margin-top:2px}.stat.good .sv{color:var(--good)}.stat.warn .sv{color:var(--warn)}.stat.acc .sv{color:var(--accent)}.tokbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--r);padding:13px 16px;margin:20px 0;font-size:13.5px}.tokbar b{font-weight:660}.rows{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:15px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px}.score{width:44px;height:44px;flex-shrink:0;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:660}.score .n{font-size:16px}.sc-good{background:var(--good-soft);color:var(--good)}.sc-warn{background:var(--warn-soft);color:var(--warn)}.sc-bad{background:var(--bad-soft);color:var(--bad)}.sc-mut{background:var(--mut-soft);color:var(--mut)}.row .info{flex:1;min-width:0}.row .nm{font-weight:600;font-size:14.5px}.row .mt{font-size:12.5px;color:var(--sub);margin-top:3px}.tag{font-size:12px;font-weight:600;padding:5px 11px;border-radius:8px;white-space:nowrap}.t-good{background:var(--good-soft);color:var(--good)}.t-warn{background:var(--warn-soft);color:var(--warn)}.t-bad{background:var(--bad-soft);color:var(--bad)}.t-mut{background:var(--mut-soft);color:var(--mut)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px;margin-bottom:12px}.card .hd{font-weight:640;font-size:14px;margin:-4px 0 12px}.card .ct{font-weight:600;font-size:14.5px}.card .cs{font-size:12.5px;color:var(--sub);margin-top:3px}.rowhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:16px}.sup{padding:14px 16px;margin:0}.ahead{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:8px}.big{width:84px;height:84px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.big .n{font-size:36px;font-weight:670;letter-spacing:-.04em;line-height:1}.big .u{font-size:11px;font-weight:600;letter-spacing:.06em;margin-top:2px}.big.g{background:var(--good-soft);color:var(--good)}.big.w{background:var(--warn-soft);color:var(--warn)}.big.b{background:var(--bad-soft);color:var(--bad)}.metrics{display:flex;gap:24px;flex-wrap:wrap}.metrics .mv{font-size:19px;font-weight:660;letter-spacing:-.03em}.metrics .ml{font-size:12.5px;color:var(--sub)}.bars{display:flex;flex-direction:column;gap:9px;margin-top:14px}.bar{display:flex;align-items:center;gap:14px}.bar .l{width:120px;font-size:13px;color:var(--sub);text-transform:capitalize}.track{flex:1;height:6px;border-radius:20px;background:var(--elev);overflow:hidden}.fill{height:100%;border-radius:20px;background:var(--good)}.bar .p{width:46px;text-align:right;font-size:12.5px;font-weight:600;color:var(--sub)}.prov{font-size:13.5px;color:var(--sub);line-height:1.6;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line2)}.prov b{color:var(--ink)}.pipe{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-top:8px}.step{font-size:12px;font-weight:600;padding:5px 11px;border-radius:20px}.s-done{background:var(--good-soft);color:var(--good)}.s-now{background:var(--accent-soft);color:var(--accent)}.s-next{background:var(--mut-soft);color:var(--mut)}.sep{width:16px;height:1px;background:var(--line);margin:0 4px}.track-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--elev);border-radius:var(--r-sm);padding:11px 14px;margin:12px 0 16px;font-size:13px;color:var(--sub)}.track-row .link{margin-left:auto}.tl-n{display:flex;gap:13px}.tl-dc{display:flex;flex-direction:column;align-items:center}.tl-dot{width:11px;height:11px;border-radius:50%;margin-top:4px}.tl-ln{width:2px;flex:1;min-height:22px;background:var(--line)}.tl-t{font-weight:600;font-size:13.5px}.tl-s{font-size:12.5px;color:var(--sub);padding-bottom:14px}.tw{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}th{text-align:left;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--line2)}td{padding:13px 16px;border-bottom:1px solid var(--line2)}tr:last-child td{border-bottom:none}.setgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.field{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line2);font-size:13.5px}.field:last-child{border-bottom:none}.field .lab{color:var(--sub)}.field .val{font-weight:600}.topbar,.scrim{display:none}@media (max-width:760px){.app{grid-template-columns:1fr}.topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;background:var(--panel);border-bottom:1px solid var(--line);padding:9px 14px}.hamburger{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);cursor:pointer}.hamburger svg{width:20px;height:20px}.topbar-logo{height:26px;width:auto}.side{position:fixed;top:0;left:0;bottom:0;width:264px;height:100dvh;z-index:50;overflow-y:auto;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 40px #0f172038}.side.open{transform:translate(0)}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f172073}.pad{padding:20px 16px}h1{font-size:24px}}
