:root{--bg: #100d0b;--surface: #1a1512;--surface-2: #241d18;--border: #33291f;--heat-1: #8e2a1b;--heat-2: #c23a1e;--heat-3: #ef6c1a;--heat-4: #f6a623;--heat-5: #fbd24e;--heat-6: #fff1c9;--steel: #2e9be6;--steel-bright: #5cc8ff;--green: #5fb87a;--coral: #f08a72;--surface-3: #2e251e;--text: #f3ece3;--text-muted: #b6a99b;--text-dim: #7c6f63;--molten-pour: linear-gradient(90deg, var(--heat-2), var(--heat-3), var(--heat-5));--font-display: "Archivo", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 40px;--radius: 6px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{background:var(--bg);color:var(--text);font-family:var(--font-display);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);color:var(--text-dim)}a{color:var(--steel);text-decoration:none}a:focus-visible{outline:2px solid var(--steel-bright);outline-offset:2px}.shell{min-height:100vh}.topbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.brand-wordmark{font-weight:800;letter-spacing:-.01em}.topbar-context{color:var(--text-dim)}.shell-body{display:flex;align-items:flex-start}.sidenav{width:218px;flex:none;padding:var(--space-3);border-right:1px solid var(--border);min-height:calc(100vh - 56px)}.sidenav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.sidenav a{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-family:var(--font-mono);font-size:13.5px;color:var(--text-muted)}.sidenav a:hover{background:var(--surface-2);color:var(--text)}.sidenav a.active{background:var(--surface-2);color:var(--heat-5);box-shadow:inset 2px 0 0 var(--heat-3)}.content{flex:1;padding:var(--space-4) var(--space-5);max-width:1180px}.signin,.panel-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:var(--space-5);max-width:420px;width:100%;text-align:center}.signin-card.onboarding{text-align:left}.signin-sub{color:var(--text-muted);margin:var(--space-2) 0 var(--space-4)}.signin-note{color:var(--text-dim);font-size:12px;margin-top:var(--space-3)}.field{display:block;margin:var(--space-3) 0}.field-label{display:block;color:var(--text-dim);font-size:12px;margin-bottom:var(--space-1)}.field input{width:100%;font-family:var(--font-mono);font-size:13px;padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;color:var(--text)}.field input:focus-visible{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px #2e9be638}.form-error{color:#f08a72;font-size:12px}.checkbox-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-dim);font-size:12px;margin:var(--space-3) 0}.checkbox-row-note{margin-left:.25rem}.btn{font-family:var(--font-display);font-weight:700;font-size:13px;padding:var(--space-2) var(--space-4);background:var(--heat-3);color:#1a0f06;border:none;border-radius:8px;cursor:pointer}.btn:hover:not(:disabled){background:var(--heat-4)}.btn:disabled{opacity:.55;cursor:default}.breadcrumb{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--heat-4);margin-bottom:var(--space-2)}.breadcrumb:before{content:"> ";color:var(--heat-3)}.ph{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.ph h1{font-size:30px;font-weight:900;letter-spacing:-.02em;margin:0}.ph .sub{color:var(--text-muted);font-size:13.5px;margin:var(--space-1) 0 0}.card{border:1px solid var(--border);border-radius:13px;background:var(--surface);padding:var(--space-3);margin-bottom:var(--space-3)}.card h3{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:0 0 var(--space-3)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.mono-cell{font-family:var(--font-mono);font-size:12.5px;color:var(--text-muted)}.chip{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;padding:4px 10px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);white-space:nowrap}.chip:before{content:"[ "}.chip:after{content:" ]"}.chip-run{color:var(--heat-5);border-color:#fbd24e66;background:#fbd24e12}.chip-held{color:var(--heat-4);border-color:#f6a62359;background:#f6a6230f}.chip-burst{color:var(--steel-bright);border-color:#5cc8ff66;background:#5cc8ff12}.chip-done{color:var(--green);border-color:#5fb87a66;background:#5fb87a12}.chip-warn{color:var(--heat-4);border-color:#f6a62359;background:#f6a6230f}.chip-fail{color:var(--coral);border-color:#c23a1e80;background:#c23a1e1a}.chip-dorm{color:var(--text-dim)}.chip-pair{display:inline-flex;gap:6px;flex-wrap:wrap}.btn-tooltip-wrap{display:inline-flex}.row-dim{opacity:.6}.subnav{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-3)}.subnav button{font-family:var(--font-mono);font-size:13px;color:var(--text-dim);background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 14px;cursor:pointer}.subnav button:hover{color:var(--text-muted)}.subnav button.active{color:var(--steel-bright);border-bottom-color:var(--steel-bright)}.meter-label{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-bottom:6px}.meter-label .used{color:var(--heat-5)}.heatbar{height:9px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.heatbar>i{display:block;height:100%;background:linear-gradient(90deg,var(--heat-2),var(--heat-3) 60%,var(--heat-5));box-shadow:0 0 10px #ef6c1a80}.segbar{display:flex;height:28px;border-radius:7px;overflow:hidden;border:1px solid var(--border)}.segbar .seg{display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(0,0,0,.3);min-width:0}.segbar .seg span{font-family:var(--font-mono);font-size:10px;font-weight:700;color:#1a0f06;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segbar .seg-free{flex:1;background-image:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 6px,var(--surface) 6px,var(--surface) 12px)}.btn.sm{padding:6px 12px;font-size:12px}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn.ghost:hover:not(:disabled){border-color:var(--steel);color:var(--steel-bright);background:transparent}.btn.steel{background:var(--steel);color:#04243b}.btn.steel:hover:not(:disabled){background:var(--steel-bright)}.btn.danger{background:transparent;color:var(--coral);border:1px solid rgba(194,58,30,.5)}.btn.danger:hover:not(:disabled){background:#c23a1e1f}.table-card{border:1px solid var(--border);border-radius:13px;overflow-x:auto;overflow-y:hidden;background:var(--surface)}table.data{width:100%;border-collapse:collapse}table.data th{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.13em;color:var(--text-dim);text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border)}table.data td{font-size:13px;padding:var(--space-3);border-bottom:1px solid var(--border)}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--surface-2)}.row-actions{display:flex;gap:var(--space-2);justify-content:flex-end;white-space:nowrap}.nowrap{white-space:nowrap}.action-overflow{position:relative;display:inline-block}.action-overflow-menu{position:absolute;right:0;top:calc(100% + var(--space-1));z-index:10;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000040;min-width:140px;padding:var(--space-1) 0}.action-overflow-menu button{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--text);white-space:nowrap}.action-overflow-menu button:hover:not(:disabled){background:var(--surface-3)}.action-overflow-menu button:disabled{opacity:.45;cursor:default}.failure-detail-cell{padding:.5rem 1rem 1rem}.failure-detail-pre{margin:0;white-space:pre-wrap;word-break:break-all;font-size:.8em;max-height:16rem;overflow:auto;background:var(--surface-2);padding:.75rem;border-radius:4px}.job-detail-section-heading{margin-top:var(--space-3);margin-bottom:var(--space-2);font-size:.9rem}.job-detail-muted{opacity:.6}.job-log-error-count{color:var(--heat-2);margin-bottom:var(--space-2)}.job-log-container{max-height:320px;overflow-y:auto;background:#1a140d;border:1px solid var(--border);border-radius:4px;padding:var(--space-2);font-family:var(--font-mono);font-size:11.5px}.job-log-line{display:grid;grid-template-columns:14em 5em 8em 1fr;gap:var(--space-2);padding:1px 0;color:var(--text-muted);line-height:1.4}.job-log-error{color:var(--heat-2)}.job-log-warning{color:var(--heat-4)}.job-log-time{color:var(--text-dim);flex-shrink:0}.job-log-level{flex-shrink:0}.job-log-source{color:var(--text-dim);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-log-message{word-break:break-word}.agent-logs-section{margin-top:var(--space-4)}.agent-logs-toggle{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;cursor:pointer;padding:0;width:100%;text-align:left}.agent-logs-toggle-label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--text-dim)}.agent-logs-toggle-icon{font-size:11px;color:var(--text-dim)}.agent-logs-toolbar{margin:var(--space-2) 0}.agent-logs-scroll{max-height:300px;overflow-y:auto;background:#1a140d;border:1px solid var(--border);border-radius:8px;padding:var(--space-2);font-family:var(--font-mono);font-size:11.5px;margin-top:var(--space-2)}.agent-log-row{display:grid;grid-template-columns:14em 5em 8em 1fr;gap:var(--space-2);padding:1px 0;color:var(--text-muted);line-height:1.4}.agent-log-time{color:var(--text-dim);flex-shrink:0}.agent-log-level{flex-shrink:0}.agent-log-source{color:var(--text-dim);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-log-message{word-break:break-word}.log-level-warning{color:var(--heat-4)}.log-level-error{color:var(--heat-2)}.log-level-critical{color:var(--heat-1);font-weight:600}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#080605b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:80;padding:var(--space-4)}.modal{max-width:560px;width:100%;max-height:min(80vh,760px);overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:var(--space-4);box-shadow:0 30px 80px #0009}.modal.modal-lg{max-width:860px;max-height:min(90vh,1100px)}.modal h2{margin:0 0 var(--space-3);font-size:20px}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-4)}.info-grid{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-4);align-items:baseline}.info-grid dt{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.13em;color:var(--text-dim)}.info-grid dd{margin:0;font-size:13px}.info-section-title{margin:var(--space-4) 0 var(--space-2);font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--text-dim)}.form-hint{color:var(--text-muted);font-size:12px;margin:var(--space-2) 0}.update-action-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.update-progress{margin:0 0 var(--space-3)}.step-timeline{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:var(--space-2) 0;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.step-timeline li{padding:2px 8px;border:1px solid var(--border);border-radius:3px;color:var(--text-dim)}.step-timeline li.step-done{color:var(--steel-bright);border-color:var(--steel-bright)}.step-timeline li.step-active{color:var(--heat-5);border-color:var(--heat-5)}.step-timeline li.step-failed{color:#f08a72;border-color:#f08a72}.stale-value{color:var(--text-dim);font-size:13px}.stale-badge{display:inline-block;font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;padding:1px 5px;border-radius:4px;background:var(--surface-raised);color:var(--text-dim);border:1px solid var(--border)}.tog{width:42px;height:24px;border-radius:13px;background:var(--surface-3);border:none;position:relative;cursor:pointer;padding:0}.tog.on{background:#ef6c1a40}.tog i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-dim);transition:left .2s,background .2s}.tog.on i{left:20px;background:var(--heat-4)}.tog:disabled{opacity:.5;cursor:not-allowed}select.field-input,input.field-input{width:100%;font-family:var(--font-mono);font-size:12.5px;padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;color:var(--text)}select.field-input:focus-visible,input.field-input:focus-visible{outline:none;border-color:var(--steel)}.serial-box{font-family:var(--font-mono);font-size:18px;letter-spacing:.06em;color:var(--heat-5);background:var(--surface-2);border:1px dashed var(--heat-3);border-radius:10px;padding:var(--space-3);text-align:center}.cascade-summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.cascade-summary .au{font-family:var(--font-mono);font-weight:700;color:var(--heat-4);white-space:nowrap}.model-desc{font-size:11px;color:var(--text-dim);margin-top:2px}.notice{border:1px solid rgba(246,166,35,.35);background:#f6a6230f;border-radius:10px;padding:var(--space-3);font-size:13px;margin-bottom:var(--space-3)}.empty{color:var(--text-dim);font-family:var(--font-mono);font-size:13px;padding:var(--space-4);text-align:center}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.topbar-email{color:var(--text-dim);font-size:12px}.heatbar-over>i{background:linear-gradient(90deg,var(--heat-1),var(--heat-2));box-shadow:0 0 10px #c23a1e80}.meter-over{color:var(--coral)}.au-headroom{font-size:12px;color:var(--text-muted);margin:var(--space-2) 0 0}.au-headroom-empty{color:var(--coral)}.slideover-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#080605b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;z-index:80}.slideover{width:420px;max-width:100%;height:100%;background:var(--surface);border-left:1px solid var(--border);box-shadow:-30px 0 80px #0009;display:flex;flex-direction:column}.slideover-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.slideover-head h2{margin:0;font-size:18px}.slideover-body{padding:var(--space-4);overflow-y:auto}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-4)}.detail-list dt{color:var(--text-dim);font-size:12px}.detail-list dd{margin:0;text-align:right}.detail-actions{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.detail-confirm{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stat{display:flex;flex-direction:column}.stat-value{font-size:28px;font-weight:700;color:var(--heat-5)}.stat-label{font-size:11px;color:var(--text-dim)}.chart{width:100%}.chart-svg{width:100%;height:auto;display:block}.chart-axis{stroke:var(--border);stroke-width:1}.chart-line{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:11px;color:var(--text-muted);margin-top:var(--space-2)}.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle}.chart-peak{margin-left:auto;color:var(--text-dim)}.donut{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.donut-svg{width:140px;height:140px}.donut-center{fill:var(--text);font-family:var(--font-mono);font-size:20px;font-weight:700}.donut-sub{fill:var(--text-dim);font-family:var(--font-mono);font-size:10px}.vram-bar{margin-top:var(--space-1)}.vram-bar-track{display:flex;height:12px;border-radius:4px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border)}.vram-seg{flex-shrink:0;height:100%;width:var(--seg-w, 0%)}.vram-seg-weights{background:var(--steel)}.vram-seg-kv-used{background:var(--heat-4)}.vram-seg-kv-free{background:var(--green)}.vram-bar-legend{display:flex;gap:6px;margin-top:4px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);flex-wrap:wrap;align-items:center}.vram-legend-item{white-space:nowrap}.vram-legend-sep{color:var(--text-dim);opacity:.55}.vram-legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:3px;vertical-align:middle}.vram-legend-dot-weights{background:var(--steel)}.vram-legend-dot-kv-used{background:var(--heat-4)}.vram-legend-dot-kv-free{background:var(--green)}.vram-legend-dot-unalloc{background:var(--surface-2);border:1px solid var(--border)}.capacity-timeline{list-style:none;padding:0;margin:0}.capacity-event{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:12px}.capacity-event:last-child{border-bottom:none}.capacity-event-type{font-weight:700;white-space:nowrap;min-width:7ch}.capacity-event-type-loaded{color:var(--green)}.capacity-event-type-loading{color:var(--heat-4)}.capacity-event-type-failed{color:var(--coral)}.capacity-event-type-resized{color:var(--heat-4)}.capacity-event-type-degraded{color:var(--heat-3);font-weight:600}.capacity-event-type-unloading{color:var(--text-muted)}.capacity-event-type-unloaded{color:var(--coral)}.capacity-event-type-burst{color:var(--steel-bright)}.capacity-loading-row{color:var(--text-muted);font-style:italic}.capacity-event-desc{flex:1;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capacity-event-time{color:var(--text-dim);white-space:nowrap}.burst-panel{margin-top:2rem}.burst-panel-heading{margin-bottom:.5rem}.stat-sub{font-size:11px;color:var(--text-dim)}.dash-meter{margin-top:var(--space-3)}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:12px}.feed-row{display:flex;gap:8px;align-items:baseline;color:var(--text-muted)}.feed-time{color:var(--text-dim);min-width:64px;flex-shrink:0}.feed-tag{flex-shrink:0}.feed-tag[data-kind=good]{color:var(--green)}.feed-tag[data-kind=bad]{color:var(--coral)}.feed-tag[data-kind=loading]{color:var(--heat-4)}.feed-tag[data-kind=burst]{color:var(--steel)}.feed-tag[data-kind=quiet]{color:var(--text-dim)}
