:root{color-scheme:dark;--bg:#0f1117;--side:#14171e;--panel:#191d26;--panel2:#212632;--border:#2a303d;--text:#f1f2f6;--muted:#a1a9bc;--dim:#758099;--purple:#b09aff;--purple-bg:#302846;--green:#67d8b6;--warn:#edbd75;--red:#f2a4ae;--shadow:0 20px 65px #0005}
[data-theme=light]{color-scheme:light;--bg:#f4f5fa;--side:#fff;--panel:#fff;--panel2:#eef0f7;--border:#dce0eb;--text:#202436;--muted:#626a80;--dim:#717a90;--purple:#7954d1;--purple-bg:#eee8ff;--green:#13836b;--warn:#986315;--red:#b53449;--shadow:0 20px 65px #26314d16}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}button,input,select{font:inherit}button,a,select{cursor:pointer}button,input,select{color:var(--text)}button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,color .15s,border-color .15s}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}input,select{width:100%;height:38px;border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:0 10px;min-width:0}input:focus,select:focus{border-color:var(--purple)}:focus-visible{outline:2px solid var(--purple);outline-offset:3px}svg.icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}h1,h2,p{margin:0}h1{font-size:27px;letter-spacing:-.7px;font-weight:650}h2{font-size:16px;font-weight:650}small{font-size:12px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.1px;color:var(--dim);margin-bottom:6px}.muted{color:var(--muted);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.primary,.secondary{border-radius:8px;min-height:36px;padding:8px 14px;font-size:12px;font-weight:600}.primary{background:var(--purple);color:#161026}.primary:hover{filter:brightness(1.1)}.secondary{border:1px solid var(--border);background:var(--panel)}.secondary:hover{background:var(--panel2);border-color:var(--dim)}.icon-button{width:32px;height:32px;border-radius:7px;background:var(--panel2);color:var(--muted)}.icon-button:hover{color:var(--text);background:var(--border)}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:var(--side);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:30px 18px;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:700;letter-spacing:-.8px;margin-bottom:50px}.brand-mark{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;color:var(--purple);background:var(--purple-bg)}.brand-mark svg{width:22px;height:22px}.brand-sub{display:block;font-size:9px;font-weight:550;letter-spacing:2px;color:var(--muted);margin-top:2px}.nav-label{font-size:10px;letter-spacing:1.5px;color:var(--dim);margin:0 12px 12px}.sidebar nav{display:grid;gap:7px}.nav-item{justify-content:flex-start;height:43px;background:none;color:var(--muted);border-radius:9px;padding:0 13px;gap:12px;font-size:13px;font-weight:550}.nav-item:hover{background:var(--panel2);color:var(--text)}.nav-item.active{background:var(--purple-bg);color:var(--purple)}.side-bottom{margin-top:auto;border-top:1px solid var(--border);padding:22px 10px 0}.side-bottom p{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:550}.side-bottom small{display:block;color:var(--dim);margin:9px 0;font-size:11px;line-height:1.8}.meter-state{color:var(--muted)!important;font-size:11px!important;margin-top:11px}.meter-state i{width:6px;height:6px;border-radius:100%;background:var(--dim)}.meter-state i.live{background:var(--green);box-shadow:0 0 8px #67d8b629}.meter-state i.warn{background:var(--warn)}.text-button{padding:0;background:none;color:var(--dim);font-size:11px;margin-top:16px}.text-button:hover{color:var(--text)}main{margin-left:220px;padding:32px 34px;max-width:1920px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:16px}.head-title{display:flex;align-items:center;gap:12px}.head-sub{font-size:12px;color:var(--muted);margin-top:6px}.head-actions{display:flex;align-items:center;gap:10px}.update-time{font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}.mobile-menu{display:none}.filters{display:grid;grid-template-columns:.9fr 1fr 1fr 1.4fr 1.15fr .9fr 1fr 1.3fr;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:15px 17px}.filters label{color:var(--dim);font-size:10px;display:grid;gap:6px;font-weight:550}.filters input,.filters select{font-size:11px;height:34px}.range-note{color:var(--dim);font-size:11px;display:flex;gap:8px;align-items:center;margin:20px 0 15px}.range-note svg{width:13px;height:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi{min-height:128px;border:1px solid var(--border);background:var(--panel);border-radius:13px;padding:19px 20px}.kpi.featured{border-color:#8b74c2;background:var(--purple-bg)}.kpi-label{font-size:11px;font-weight:550;color:var(--muted);display:flex;align-items:center;justify-content:space-between}.featured .kpi-label,.featured .kpi-value{color:var(--purple)}.kpi-label svg{width:16px;height:16px}.kpi-value{font-size:31px;line-height:1.3;font-weight:650;letter-spacing:-1px;margin:11px 0 8px;font-variant-numeric:tabular-nums}.kpi p{font-size:10px;color:var(--dim)}.runtime{display:flex;flex-wrap:wrap;gap:24px;margin:18px 3px 23px;color:var(--muted);font-size:11px}.runtime strong{color:var(--text);font-weight:600;margin-left:6px}.runtime .good{color:var(--green)}.runtime .bad{color:var(--red)}.section-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);gap:18px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:22px;margin-bottom:20px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.panel-head p{font-size:11px;color:var(--dim);margin-top:6px}.compact-label select{font-size:10px;height:29px;min-width:96px;background:var(--panel2)}.panel-foot{font-size:10px;color:var(--dim);margin-top:19px}.legend{display:flex;justify-content:flex-end;gap:13px;font-size:10px;color:var(--muted);margin-top:-4px;margin-bottom:10px}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:6px;height:6px;border-radius:2px;background:var(--purple)}.legend i.output{background:var(--green)}.chart{position:relative;height:225px;display:grid;grid-template-columns:42px 1fr;gap:7px}.axis{display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:var(--dim);padding-bottom:24px}.plot{display:flex;align-items:stretch;gap:2px;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),var(--border) 25%);margin-bottom:24px;border-bottom:1px solid var(--border)}.bar-group{display:flex;flex:1;gap:2px;align-items:flex-end;position:relative;min-width:0;background:none;padding:0 1px;border-radius:3px}.bar-group:hover{background:var(--panel2)}.bar{background:var(--purple);width:50%;border-radius:3px 3px 0 0;min-height:0;opacity:.9}.bar.output{background:var(--green)}.chart-label{position:absolute;bottom:-24px;font-size:9px;color:var(--dim);white-space:nowrap;left:50%;transform:translateX(-50%)}.chart-empty{position:absolute;inset:50px 0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:12px;color:var(--dim);pointer-events:none;background:var(--panel)}.chart-empty p{font-size:10px;margin-top:7px}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav strong{font-size:11px;white-space:nowrap;min-width:77px;text-align:center}.calendar-nav .icon-button{width:25px;height:25px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{text-align:center;color:var(--dim);font-size:10px;margin-bottom:10px}.calendar button,.calendar .blank{height:31px;border-radius:7px;font-size:11px;font-weight:550;position:relative}.calendar button{color:var(--muted);background:var(--panel2)}.calendar button:hover{box-shadow:inset 0 0 0 1px var(--purple)}.calendar button.outside{opacity:.4}.calendar button.heat1{background:var(--purple-bg)}.calendar button.heat2{background:#64517f;color:#f7f2ff}.calendar button.heat3{background:#7d61b9;color:#fff}.calendar button.heat4{background:var(--purple);color:#211a35}.calendar button.selected{box-shadow:inset 0 0 0 2px var(--purple);color:var(--purple)}.calendar button.selected.heat4{color:#211a35;box-shadow:inset 0 0 0 2px #ddd1ff}.calendar button.today::after{content:"";width:4px;height:4px;background:var(--green);border-radius:100%;position:absolute;top:5px;right:6px}.calendar-foot{display:flex;align-items:center;justify-content:space-between;margin-top:22px;font-size:10px;color:var(--dim);gap:10px}.heat-legend{display:flex;gap:4px;align-items:center}.heat-legend i{width:8px;height:8px;border-radius:2px;background:var(--panel2)}.heat-legend i:nth-of-type(2){background:var(--purple-bg)}.heat-legend i:nth-of-type(3){background:#64517f}.heat-legend i:nth-of-type(4){background:#7d61b9}.heat-legend i:nth-of-type(5){background:var(--purple)}.segmented{display:flex;background:var(--bg);padding:3px;border-radius:7px}.segmented button{color:var(--dim);font-size:10px;padding:5px 10px;border-radius:5px;background:none}.segmented button.selected{background:var(--purple-bg);color:var(--purple)}.ranking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}.rank-item{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--border);padding-top:16px}.rank-number{font-size:10px;color:var(--dim);padding-top:8px;min-width:17px}.rank-logo{width:32px;height:32px;border-radius:10px;background:var(--purple-bg);color:var(--purple);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.rank-body{flex:1;min-width:0}.rank-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.rank-name{font-size:12px;font-weight:600;overflow-wrap:anywhere}.rank-value{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.rank-caption{font-size:10px;color:var(--dim);margin:4px 0 10px;overflow-wrap:anywhere}.rank-track{height:3px;border-radius:4px;background:var(--border);overflow:hidden}.rank-track span{display:block;height:100%;background:var(--purple);border-radius:4px}.rank-item:nth-child(even) .rank-logo{color:var(--green);background:#16382f}.rank-item:nth-child(even) .rank-track span{background:var(--green)}.empty{padding:30px;text-align:center;color:var(--dim);font-size:12px;grid-column:1/-1}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}th{font-size:10px;color:var(--dim);font-weight:550;padding:0 10px 13px;border-bottom:1px solid var(--border)}td{padding:16px 10px;border-bottom:1px solid var(--border);color:var(--text)}th:first-child,td:first-child{padding-left:0}td .sub{display:block;font-size:10px;color:var(--dim);margin-top:5px}.requests-table td:nth-child(2){max-width:250px}.model-cell{display:block;white-space:normal;overflow-wrap:anywhere;min-width:135px;font-weight:600}.badge{display:inline-flex;border-radius:5px;padding:2px 6px;font-size:9px;background:var(--panel2);color:var(--muted);border:1px solid var(--border);margin:1px 3px 1px 0}.badge.estimated{color:var(--purple);background:var(--purple-bg);border-color:transparent}.badge.reported,.badge.succeeded{color:var(--green);background:#16382f;border-color:#244039}.badge.failed,.badge.interrupted{color:var(--red)}.badge.partial,.badge.cancelled{color:var(--warn)}.detail-button{background:none;color:var(--purple);font-size:10px;padding:5px}.pagination{display:flex;justify-content:space-between;align-items:center;color:var(--dim);font-size:10px;padding-top:18px}.pagination>div{display:flex;gap:8px}.page-footer{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:var(--dim);padding:0 2px 5px}.alert{background:#8d663316;border:1px solid #8d663360;color:var(--warn);border-radius:9px;padding:12px 15px;margin-bottom:16px;font-size:12px}.loading main{opacity:.7}.loading #refresh svg{animation:rotate 1s linear infinite}dialog{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:15px;width:min(1000px,calc(100vw - 32px));max-height:85vh;padding:25px;box-shadow:var(--shadow)}dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}#detail-id{overflow-wrap:anywhere;margin-bottom:20px}.detail-summary{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-bottom:20px}.login-shell{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:25px;position:relative;overflow:hidden}.login-panel{width:420px;padding:37px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow);z-index:1}.login-panel .brand-mark{margin-bottom:22px;width:43px;height:43px}.login-panel h1{font-size:28px;margin:11px 0}.login-copy{color:var(--muted);font-size:12px;margin:0 0 32px}.login-panel label{font-size:11px;font-weight:550;display:block;margin-bottom:8px}.login-panel input{height:43px}.field-help{font-size:10px;color:var(--dim);margin:11px 0 22px}.login-panel .primary{width:100%;height:43px;justify-content:space-between;font-size:12px}.login-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:var(--dim);margin-top:20px}.login-note svg{width:12px;height:12px}#login-error{font-size:11px;color:var(--red);margin-top:12px}.login-art{position:absolute;inset:0;pointer-events:none}.orb{position:absolute;width:700px;height:700px;border-radius:100%;background:radial-gradient(circle,#7962ce18,transparent 68%);left:50%;top:50%;transform:translate(-50%,-50%)}.grid-art{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;opacity:.16;mask-image:radial-gradient(ellipse,#000,transparent 70%)}@keyframes rotate{to{transform:rotate(360deg)}}
@media(min-width:1800px){main{padding:40px 55px}.kpi{min-height:144px}.kpi-value{font-size:36px}.chart{height:265px}.calendar button,.calendar .blank{height:36px}}
@media(max-width:1300px){.sidebar{width:195px}main{margin-left:195px;padding:25px}.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.section-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr)}.kpi{padding:17px}.kpi-value{font-size:25px}.panel{padding:18px}.runtime{gap:14px}}
@media(max-width:1000px){.section-grid{grid-template-columns:1fr}.calendar-panel{max-width:none}.calendar button,.calendar .blank{height:37px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking{grid-template-columns:1fr}.update-time{display:none}.page-footer{flex-direction:column;gap:7px}}
@media(max-width:768px){.sidebar{visibility:hidden;transform:translateX(-100%);transition:transform .2s;width:220px;box-shadow:var(--shadow)}body.menu-open .sidebar{visibility:visible;transform:translateX(0)}.mobile-menu{display:inline-flex}main{margin-left:0;padding:20px}.filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.head-sub{display:none}.head-title .eyebrow{font-size:8px}.head-title h1{font-size:23px}.page-head{margin-bottom:22px}.head-actions{gap:7px}.head-actions .secondary{padding:8px 10px}.kpi{min-height:125px}}
@media(max-width:480px){main{padding:16px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.kpi-grid{gap:10px}.kpi{padding:14px}.kpi-value{font-size:23px;letter-spacing:-.7px}.kpi p{font-size:9px}.runtime{font-size:10px;gap:10px 17px}.panel-head{gap:10px}.panel-head p{font-size:10px;max-width:180px}.calendar-nav{gap:5px}.calendar-nav strong{font-size:10px;min-width:65px}.calendar-panel .panel-head{align-items:flex-start}.panel{padding:16px}.rank-top{gap:8px}.rank-name{font-size:11px}.rank-value{font-size:11px}.head-actions .secondary{font-size:0;padding:8px;gap:0}.login-panel{padding:28px}.page-head .eyebrow{letter-spacing:1px}.chart{grid-template-columns:35px 1fr}.chart-label{font-size:8px}.panel-foot{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
