*,:before,:after{box-sizing:border-box}:root{--bg:#f7f7f4;--panel:#fff;--soft:#efefeb;--border:#1018281f;--border-strong:#10182838;--text:#111827;--muted:#6b7280;--danger:#dc2626;--ok:#2563eb;--warn:#ca8a04;--accent:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-height:100vh;margin:0}body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}.btn{border:1px solid var(--border);background:var(--panel);min-width:0;height:34px;color:var(--text);justify-content:center;align-items:center;gap:7px;padding:0 13px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--border-strong);background:var(--soft)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{height:28px;padding:0 9px;font-size:12px}.btn.lg{height:42px;padding:0 18px}.btn.danger{color:var(--danger)}.muted{color:var(--muted)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app{min-height:100vh}.brand{align-items:center;gap:10px;display:inline-flex}.brand-mark{object-fit:contain;width:28px;height:28px;display:block}.topbar{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:16px;height:58px;padding:0 24px;display:flex;position:sticky;top:0}.topbar .brand>div:last-child{flex-direction:column;line-height:1.15;display:flex}.topbar .brand span{color:var(--muted);font-size:12px}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-nav{align-items:center;gap:4px;display:flex}.nav-link{height:32px;color:var(--muted);align-items:center;gap:7px;padding:0 10px;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover,.nav-link.active{background:var(--panel);color:var(--text)}.main{width:min(1180px,100vw - 32px);margin:0 auto;padding:30px 0 64px}.page-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.page-head h1{margin:0;font-size:24px;line-height:1.2}.page-head p{color:var(--muted);margin:4px 0 0}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.worker-release-panel{border:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 18px;padding:14px;display:flex}.worker-release-latest{gap:5px;min-width:0;display:grid}.worker-release-latest span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.worker-release-latest strong{font-variant-numeric:tabular-nums;font-size:24px;line-height:1}.worker-release-form{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.worker-release-version{width:180px}.auth-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--border);width:min(420px,100%);padding:28px}.auth-brand{margin-bottom:20px}.auth-card h1{margin:0 0 8px;font-size:22px}.auth-card p{color:var(--muted);margin:0 0 18px}.auth-gh{width:100%}.auth-error,.notice{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border));background:color-mix(in srgb, var(--danger) 6%, var(--panel));color:var(--danger);align-items:flex-start;gap:8px;margin:12px 0;padding:10px 12px;display:flex}.notice{border-color:color-mix(in srgb, var(--ok) 28%, var(--border));background:color-mix(in srgb, var(--ok) 6%, var(--panel));color:var(--ok)}.loading-row{align-items:center;gap:8px;display:flex}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.kpi{background:var(--panel);border:1px solid var(--border);padding:14px}.kpi strong{font-size:22px;display:block}.kpi span{color:var(--muted);font-size:12px}.worker-list,.user-list{gap:8px;display:grid}.user-row{background:var(--panel);border:1px solid var(--border);grid-template-columns:minmax(240px,1fr) minmax(220px,auto) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.user-main{align-items:center;gap:10px;min-width:0;display:flex}.user-avatar{object-fit:cover;border:1px solid var(--border);background:var(--soft);flex:none;width:34px;height:34px}.user-avatar.fallback{color:var(--muted);place-items:center;display:inline-grid}.user-title{min-width:0}.user-title strong,.user-title small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-title small,.user-meta{color:var(--muted);font-size:12px}.user-meta{flex-wrap:wrap;justify-content:flex-end;gap:6px 12px;display:flex}.user-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.pill{border:1px solid var(--border);background:var(--soft);height:24px;color:var(--muted);align-items:center;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.subscription-pill{border:1px solid var(--border);background:var(--soft);height:24px;color:var(--muted);align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.subscription-pill.active{border-color:color-mix(in srgb, var(--ok) 35%, var(--border));background:color-mix(in srgb, var(--ok) 8%, var(--panel));color:var(--ok)}.subscription-pill.warning{border-color:color-mix(in srgb, var(--warn) 35%, var(--border));background:color-mix(in srgb, var(--warn) 8%, var(--panel));color:var(--warn)}.subscription-pill.inactive{border-color:color-mix(in srgb, var(--danger) 24%, var(--border));background:color-mix(in srgb, var(--danger) 6%, var(--panel));color:color-mix(in srgb, var(--danger) 80%, var(--muted))}.worker-row{background:var(--panel);border:1px solid var(--border)}.worker-row.is-disabled{opacity:.68}.worker-row-main{text-align:left;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr) 24px;align-items:center;gap:10px;width:100%;padding:12px 14px;display:grid}.worker-title{min-width:0}.worker-title strong,.worker-title small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.worker-title small{color:var(--muted)}.status-dot{background:var(--muted);width:8px;height:8px}.status-idle{background:var(--ok)}.status-busy,.status-degraded{background:var(--warn)}.status-offline,.status-disabled{background:var(--muted)}.rotate{transform:rotate(180deg)}.worker-expanded{border-top:1px solid var(--border);background:var(--bg);padding:14px}.worker-actions,.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.edit-panel{margin-top:14px}.edit-head,.modal-head,.modal-foot,.code-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.edit-head h3,.worker-detail h3{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.field{color:var(--muted);gap:6px;font-size:12px;display:grid}.provider-chain-field{border:0;grid-column:1/-1;margin:0;padding:0}.provider-chain-field legend{color:var(--muted);padding:0}.provider-toggle-list{flex-wrap:wrap;gap:10px 16px;display:flex}.provider-toggle{color:var(--text)}.field-help{color:var(--muted);line-height:1.45}.field input,.field select{border:1px solid var(--border);background:var(--panel);width:100%;min-width:0;height:34px;color:var(--text);padding:0 10px}.settings-list{gap:12px;display:grid}.server-overview{margin-bottom:12px}.server-machine-monitor{gap:14px;display:grid}.server-machine-facts,.server-machine-grid{gap:12px;display:grid}.server-machine-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.server-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.server-machine-facts>div,.server-machine-metric{border:1px solid var(--border);background:var(--bg);min-width:0;padding:12px}.server-machine-facts>div{gap:4px;display:grid}.server-machine-facts span,.server-machine-metric-h,.server-machine-metric-detail,.server-machine-axis-label,.server-machine-chart-empty{color:var(--muted)}.server-machine-facts b,.server-machine-metric-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);overflow:hidden}.server-machine-facts span,.server-machine-metric-h{font-size:12px;font-weight:700}.server-machine-metric{gap:8px;display:grid}.server-machine-metric-h{align-items:center;gap:7px;display:flex}.server-machine-metric-icon{border:1px solid var(--border);background:var(--panel);width:22px;height:22px;color:var(--text);place-items:center;display:inline-grid}.server-machine-metric-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.2}.server-machine-metric-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.server-machine-chart,.server-machine-chart-svg,.server-machine-chart-empty{width:100%;min-width:0;height:150px}.server-machine-chart-svg{display:block}.server-machine-gridline{stroke:var(--border);stroke-width:1px}.server-machine-axis{stroke:var(--border-strong);stroke-width:1px}.server-machine-axis-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.server-machine-chart-empty{border:1px dashed var(--border);place-items:center;font-size:12px;display:grid}.settings-section{border:1px solid var(--border);background:var(--panel);padding:14px}.settings-section-head{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:12px}.settings-section-head h2{margin:0;font-size:18px;line-height:1.25}.settings-section-head p{color:var(--muted);margin:4px 0 0}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.setting-field{color:var(--muted);gap:6px;font-size:12px;display:grid}.setting-label{color:var(--text);font-weight:700}.setting-field input:not([type=checkbox]),.setting-field select{border:1px solid var(--border);background:var(--bg);width:100%;min-width:0;height:34px;color:var(--text);padding:0 10px}.setting-field small{line-height:1.45}.setting-suggestion{color:var(--accent);margin-top:4px;font-weight:700;display:block}.setting-toggle{min-height:34px;color:var(--text);align-items:center;gap:8px;display:inline-flex}.plan-config-list{gap:12px;display:grid}.plan-settings-panel,.plan-agents-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, var(--bg));gap:12px;padding:14px;display:grid}.plan-settings-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-settings-head h2{margin:0;font-size:18px;line-height:1.25}.plan-settings-head p{color:var(--muted);margin:4px 0 0}.plan-settings-sections{gap:12px;display:grid}.plan-config-card{background:var(--panel);border:1px solid var(--border);padding:14px}.plan-config-head,.plan-config-meta,.plan-config-primary,.plan-config-actions{align-items:center;gap:10px;display:flex}.plan-config-head{justify-content:space-between;align-items:flex-start}.plan-config-head h2{margin:0;font-size:18px;line-height:1.25}.plan-config-meta{color:var(--muted);flex-wrap:wrap;margin-top:6px;font-size:12px}.plan-config-primary{border:1px solid var(--border);background:var(--soft);height:30px;color:var(--muted);text-transform:uppercase;padding:0 9px;font-size:12px;font-weight:700}.plan-config-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px;display:grid}.plan-config-columns section{min-width:0}.plan-config-columns h3{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px}.plan-agent-config-section{gap:10px;margin-top:8px;display:grid}.plan-agent-config-head{gap:4px;display:grid}.plan-agent-config-head h3{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px}.plan-agent-config-head p{color:var(--muted);margin:0;font-size:13px}.plan-config-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:14px;padding-top:12px}.worker-detail{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px;padding-top:14px;display:grid}.worker-detail dl{margin:8px 0 0}.worker-detail dl>div{justify-content:space-between;gap:12px;padding:3px 0;display:flex}.worker-detail dt{color:var(--muted)}.worker-detail dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.worker-activity{grid-column:1/-1}.worker-machine-metrics{grid-column:1/-1;gap:10px;display:grid}.activity-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.activity-summary{color:var(--muted);align-items:baseline;gap:6px;font-size:12px;display:flex}.activity-summary strong{color:var(--text);font-size:18px}.activity-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.activity-list li{border:1px solid var(--border);background:var(--panel);padding:10px}.activity-record-head{justify-content:space-between;gap:12px;display:flex}.activity-record-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.activity-record-head span,.activity-meta,.activity-times{color:var(--muted);font-size:12px}.activity-times{flex-wrap:wrap;gap:8px 14px;margin-top:6px;display:flex}.audit-list{margin:8px 0 0;padding-left:18px}.empty{border:1px solid var(--border);background:var(--panel);color:var(--muted);text-align:center;padding:34px}.modal-back{z-index:30;background:#11182759;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border-strong);width:min(720px,100%);max-height:calc(100vh - 36px);padding:18px;overflow:auto}.modal h2{margin:0;font-size:18px}.modal-foot{justify-content:flex-end;margin-top:14px}.result-block{gap:10px;margin:12px 0;display:grid}.code-block{border:1px solid var(--border);background:var(--panel)}.code-head{border-bottom:1px solid var(--border);padding:8px 10px}.code-block pre{white-space:pre-wrap;word-break:break-all;margin:0;padding:10px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto}@media (width<=760px){.topbar,.page-head{flex-direction:column;align-items:stretch;height:auto}.topbar{padding:12px 16px}.topbar-actions,.topbar-nav,.page-actions{justify-content:flex-start}.worker-release-panel,.worker-release-form{flex-direction:column;align-items:stretch}.worker-release-version{width:100%}.user-row{grid-template-columns:minmax(0,1fr)}.user-meta,.user-actions{justify-content:flex-start}.kpis,.form-grid,.form-grid.compact,.server-machine-facts,.server-machine-grid,.settings-grid,.plan-config-columns,.worker-detail{grid-template-columns:minmax(0,1fr)}.plan-config-head{flex-direction:column}.plan-config-actions{justify-content:flex-start}}
