:root{--accent: #4d8cff;--accent-dim: rgba(77, 140, 255, .15);--accent-glow: rgba(77, 140, 255, .22);--accent-steel: #6B8DD4;--blue: #4d8cff;--blue-bright: #6BA3FF;--blue-dark: #2D5DBF;--green: #70f0a8;--amber: #ffca72;--red: #ff9d9d;--bg: #07101f;--bg-accent: radial-gradient(circle at top right, rgba(77, 140, 255, .16), transparent 28%), radial-gradient(circle at top left, rgba(112, 240, 168, .08), transparent 24%);--panel: rgba(17, 25, 54, .88);--panel-strong: rgba(21, 28, 51, .96);--panel-soft: rgba(14, 21, 43, .95);--panel-hover: rgba(32, 43, 82, .9);--line: rgba(92, 112, 173, .24);--line-strong: rgba(97, 138, 255, .48);--text: #edf2ff;--muted: #9fb0e0;--muted-dim: rgba(159, 176, 224, .6);--graphite: #1a2234;--charcoal: #111936;--slate: #26345d;--deep-black: #050a14;--border: rgba(92, 112, 173, .28);--input-bg: rgba(8, 14, 32, .95);--btn-primary: linear-gradient(180deg, rgba(38, 57, 111, .95), rgba(28, 40, 74, .98));--btn-active: linear-gradient(180deg, rgba(70, 105, 207, .96), rgba(41, 60, 111, .98));--sidebar-tab-active: #4660de;--focus-ring: rgba(77, 140, 255, .4);--shadow: 0 18px 42px rgba(0, 0, 0, .28)}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-accent),var(--bg);color:var(--text);margin:0;padding:0;min-height:100vh;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}.dashboard-root{display:flex;flex-direction:column;min-height:100vh}.dashboard-body{display:flex;flex:1;padding:0;gap:0}.sidebar{width:200px;min-width:200px;background:var(--bg);display:flex;flex-direction:column;gap:6px;padding:20px 12px;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border);flex-shrink:0}.mobile-topbar,.mobile-nav-overlay,.mobile-nav-drawer{display:none}.mobile-topbar{align-items:center;gap:12px;margin-bottom:16px}.mobile-topbar-title{color:var(--muted);font-size:14px;letter-spacing:.04em;text-transform:uppercase}.mobile-nav-toggle,.mobile-nav-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel-soft);color:var(--text);border-radius:10px;padding:10px 12px;cursor:pointer}.mobile-nav-drawer{position:fixed;top:0;left:0;bottom:0;width:min(300px,85vw);background:linear-gradient(180deg,#0e152bfc,#0a1022fc);border-right:1px solid var(--border);padding:22px 14px;z-index:40;transform:translate(-100%);transition:transform .2s ease;overflow-y:auto}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:30;opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-nav-overlay.open{opacity:1;pointer-events:auto}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sidebar-brand{padding:6px 8px 16px;border-bottom:1px solid var(--line);margin-bottom:8px}.sidebar-brand-name{font-size:15px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.sidebar-brand-sub{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.sidebar-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-dim);padding:8px 8px 4px}.sidebar-tab{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-size:13px;font-weight:600;text-align:left;background:transparent;color:var(--muted);transition:all .15s ease;width:100%;font-family:inherit}.sidebar-tab:hover{background:var(--panel);border-color:var(--line);color:var(--text)}.sidebar-tab.active{background:var(--sidebar-tab-active);color:#fff;border-color:transparent;box-shadow:0 4px 14px var(--accent-glow)}.sidebar-tab .tab-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.sidebar-tab .tab-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tab .tab-badge{font-size:10px;background:#ffffff26;padding:1px 6px;border-radius:10px;flex-shrink:0}.sidebar-tab.active .tab-badge{background:#ffffff40}.main-content{flex:1;padding:20px 24px;min-width:0;overflow-y:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px 20px;flex-wrap:wrap}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-title{font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--text)}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.topbar-breadcrumb span{color:var(--muted-dim)}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-status{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:20px;font-size:12px;color:var(--muted)}.topbar-status .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.topbar-status.warning .dot{background:var(--amber);box-shadow:0 0 6px var(--amber)}.topbar-status.error .dot{background:var(--red);box-shadow:0 0 6px var(--red);animation:none}.theme-switcher{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:20px;font-size:12px;color:var(--muted)}.theme-switcher-label{font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.theme-btn{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease;font-size:0;padding:0}.theme-btn.blue-btn{background:#4d8cff}.theme-btn.red-btn{background:#ff4d4d}.theme-btn:hover{transform:scale(1.15)}.theme-btn.active{border-color:var(--text);box-shadow:0 0 0 2px var(--bg)}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:0;overflow-wrap:anywhere}.qa-main-grid,.qa-player-scrub-row,.qa-boundary-grid,.qa-step-grid,.qa-variant-row,.qa-player-meta-row,.qa-video-card,.qa-boundary-card,.qa-toolbar-card{min-width:0}.qa-video-card video{width:100%;max-width:100%;height:auto;display:block}.qa-player-range{min-width:0}.card.hero-card{background:var(--panel-strong)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px}.card-title{font-size:18px;font-weight:760;letter-spacing:-.02em;color:var(--text);margin:0}.card-subtitle{font-size:12px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid var(--line);background:var(--btn-primary);color:var(--text);font-family:inherit}.btn:hover{filter:brightness(1.08);transform:translateY(-1px);border-color:var(--line-strong)}.btn:active{transform:translateY(0)}.btn.btn-secondary{background:var(--panel-soft);border-color:var(--border);color:var(--muted)}.btn.btn-secondary:hover{background:var(--panel-hover);color:var(--text)}.btn.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.btn-ghost:hover{background:var(--panel);color:var(--text);border-color:var(--border)}.btn.btn-active{background:var(--btn-active);border-color:#78a1ff80;color:#fff;box-shadow:0 6px 18px var(--accent-glow)}.btn.btn-active:hover{filter:brightness(1.05);box-shadow:0 8px 22px var(--accent-glow)}.btn.btn-sm{padding:6px 10px;font-size:12px;border-radius:8px}.btn.btn-xs{padding:4px 8px;font-size:11px;border-radius:6px}.btn.btn-icon{padding:8px;border-radius:10px}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.kpi-card{background:var(--panel-soft);border:1px solid var(--border);border-radius:14px;padding:16px;transition:all .15s ease;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:.6}.kpi-card:hover{border-color:var(--line-strong);background:var(--panel-hover)}.kpi-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.kpi-value{font-size:30px;font-weight:850;letter-spacing:-.03em;color:var(--text);line-height:1;margin-bottom:8px}.kpi-delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 8px;border-radius:20px}.kpi-delta.up{color:var(--green);background:#70f0a81f}.kpi-delta.down{color:var(--red);background:#ff9d9d1f}.kpi-delta.neutral{color:var(--muted);background:var(--panel)}.kpi-chart-mini{margin-top:12px;height:36px;display:flex;align-items:flex-end;gap:3px}.kpi-bar{flex:1;background:var(--accent);opacity:.4;border-radius:3px 3px 0 0;min-height:4px;transition:opacity .15s}.kpi-bar:hover{opacity:.7}.kpi-bar.highest{opacity:.9}.chart-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}.chart-card{background:var(--panel-soft);border:1px solid var(--border);border-radius:14px;padding:18px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chart-title{font-size:15px;font-weight:700;color:var(--text)}.chart-meta{font-size:12px;color:var(--muted)}.chart-area{position:relative;height:140px;margin-bottom:12px}.chart-svg{width:100%;height:100%}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-area-fill{fill:url(#chartGradient)}.chart-grid-lines line{stroke:var(--line);stroke-width:1;stroke-dasharray:4 4}.chart-x-labels,.chart-y-labels{font-size:10px;fill:var(--muted)}.chart-tooltip{position:absolute;background:var(--panel-strong);border:1px solid var(--line-strong);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--text);pointer-events:none;box-shadow:var(--shadow);z-index:10}.donut-container{display:flex;align-items:center;gap:20px}.donut-svg{width:120px;height:120px;flex-shrink:0}.donut-legend{display:flex;flex-direction:column;gap:8px;flex:1}.donut-legend-item{display:flex;align-items:center;gap:8px;font-size:12px}.donut-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.donut-legend-label{color:var(--muted);flex:1}.donut-legend-value{font-weight:700;color:var(--text)}.data-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:12px 14px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--panel-soft);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid rgba(92,112,173,.1);vertical-align:middle;color:var(--text)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--panel-hover)}.data-table .col-name{font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .col-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}.status-running{background:#4d8cff26;color:var(--blue-bright);border:1px solid rgba(77,140,255,.25)}.status-done{background:#70f0a81f;color:var(--green);border:1px solid rgba(112,240,168,.2)}.status-queued{background:var(--panel);color:var(--muted);border:1px solid var(--border)}.status-err{background:#ff9d9d1f;color:var(--red);border:1px solid rgba(255,157,157,.2)}.status-blocked{background:#ffca721f;color:var(--amber);border:1px solid rgba(255,202,114,.2)}.activity-list{display:flex;flex-direction:column;gap:8px}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--panel-soft);border:1px solid var(--border);border-radius:12px;transition:all .15s ease}.activity-item:hover{border-color:var(--line-strong);background:var(--panel-hover)}.activity-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;background:var(--accent-dim);color:var(--accent)}.activity-body{flex:1;min-width:0}.activity-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-meta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.activity-time{color:var(--muted-dim);font-size:11px;flex-shrink:0;font-variant-numeric:tabular-nums}.tab-bar{display:flex;gap:4px;padding:4px;background:var(--panel-soft);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;flex-wrap:wrap}.tab-item{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid transparent;background:transparent;color:var(--muted);font-family:inherit}.tab-item:hover{color:var(--text);background:var(--panel)}.tab-item.active{background:var(--btn-active);color:#fff;border-color:#78a1ff66;box-shadow:0 4px 12px var(--accent-glow)}.progress-track{height:8px;background:var(--deep-black);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:999px;transition:width .4s ease}.progress-fill.blue{background:linear-gradient(90deg,var(--blue),var(--blue-bright))}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:var(--panel-hover);font-size:12px;font-weight:600;color:var(--muted);border:1px solid transparent}.pill.pill-blue{color:var(--blue-bright);background:var(--accent-dim);border-color:#4d8cff33}.pill.pill-green{color:var(--green);background:#70f0a81a;border-color:#70f0a833}.pill.pill-amber{color:var(--amber);background:#ffca721a;border-color:#ffca7233}.pill.pill-red{color:var(--red);background:#ff9d9d1a;border-color:#ff9d9d33}.form-group{margin-bottom:14px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.form-input{width:100%;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px var(--focus-ring)}.form-input::placeholder{color:var(--muted-dim)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.flex-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.flex-col{display:flex;flex-direction:column;gap:12px}.flex-1{flex:1;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.section-title{font-size:16px;font-weight:760;letter-spacing:-.02em;color:var(--text);margin:0}.muted{color:var(--muted)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-bold{font-weight:700}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{padding:24px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--border);border-radius:12px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--slate);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--muted-dim)}@media (max-width: 900px){.chart-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.sidebar{display:none}.mobile-topbar{display:flex}.mobile-nav-overlay,.mobile-nav-drawer{display:block}.main-content{padding:16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 16px 16px}.grid-2,.grid-3{grid-template-columns:1fr}.card{padding:16px}.qa-main-grid{grid-template-columns:minmax(0,1fr)!important}.qa-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.qa-player-scrub-row{grid-template-columns:1fr 1fr!important}.qa-player-scrub-row .qa-player-range{grid-column:1 / -1;order:-1}.qa-player-scrub-row .btn{width:100%;justify-content:center}.qa-player-meta-row{flex-direction:column;align-items:stretch!important}.qa-player-meta-row .btn{width:100%;justify-content:center}.qa-boundary-grid{grid-template-columns:minmax(0,1fr)!important}.qa-variant-row{align-items:stretch!important}.qa-variant-row>div:last-child{margin-left:0!important;width:100%;overflow-wrap:anywhere}}@media (max-width: 480px){.main-content{padding:12px}.qa-step-grid{grid-template-columns:minmax(0,1fr)!important}}.tx-container::-webkit-scrollbar{width:5px}.tx-container::-webkit-scrollbar-track{background:transparent}.tx-container::-webkit-scrollbar-thumb{background:var(--slate);border-radius:999px}.tx-container::-webkit-scrollbar-thumb:hover{background:var(--muted-dim)}.tx-word{white-space:pre-wrap;cursor:pointer;-webkit-user-select:none;user-select:none}.tx-word:hover{text-decoration:underline;opacity:.85}.tx-active{background:#4d8cffd9!important;color:#fff!important;border-radius:4px;padding:2px 5px;outline:2px solid #4d8cff}
