:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f8;color:#18202a;--surface: #ffffff;--surface-subtle: #eef2f5;--border: #cfd8df;--text-muted: #64717f;--primary: #176b87;--primary-strong: #0f5369;--danger: #b42318;--success: #16803c;--space-1: 4px;--space-3: 12px;--space-4: 16px;--space-5: 18px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.app{min-height:100vh;padding:24px}.topbar,.toolbar,.panel,.run,.authPanel{background:var(--surface);border:1px solid var(--border);border-radius:8px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}.topbarActions{display:inline-flex;align-items:center;gap:8px}h1,h2,p{margin:0}h1{font-size:24px;line-height:1.2}h2{font-size:16px}.topbar p,.muted{color:var(--text-muted)}.toolbar{display:grid;grid-template-columns:minmax(180px,240px) minmax(260px,1fr) auto auto;gap:12px;margin:18px 0;padding:14px}label{display:grid;gap:6px;color:var(--text-muted);font-size:13px}select,input,textarea{width:100%;border:1px solid var(--border);border-radius:6px;background:#fff;color:#18202a;padding:10px 12px}textarea{min-height:260px;resize:vertical;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;line-height:1.5}.primaryButton,.secondaryButton,.iconButton,.serverItem{border:1px solid transparent;cursor:pointer}.primaryButton,.secondaryButton{align-self:end;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:6px;padding:0 16px;font-weight:700}.primaryButton{background:var(--primary);color:#fff}.primaryButton:hover{background:var(--primary-strong)}.secondaryButton{border-color:var(--border);background:var(--surface-subtle);color:#18202a}.secondaryButton:hover{border-color:var(--primary)}.primaryButton:disabled,.secondaryButton:disabled{cursor:not-allowed;opacity:.6}.full{width:100%}.iconButton{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:6px;background:var(--surface-subtle);color:#18202a}.iconButton.small{width:30px;height:30px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.panel{padding:16px}.panelHeader,.sectionTitle{display:flex;align-items:center;gap:8px;margin-bottom:12px}.presetDescription{margin:-4px 0 12px;color:var(--text-muted);font-size:13px;line-height:1.45}.savePreset{display:grid;grid-template-columns:minmax(160px,240px) minmax(220px,1fr) auto;gap:12px;margin-top:12px}.serverList{display:grid;gap:8px}.serverItem{display:grid;gap:4px;width:100%;border-color:var(--border);border-radius:6px;background:#fff;padding:12px;text-align:left}.serverItem span{color:var(--text-muted);font-size:13px}.serverItem.active{border-color:var(--primary);background:#e8f3f6}.runs{margin-top:22px}.run{margin-top:12px;overflow:hidden}.run>header{display:grid;grid-template-columns:minmax(100px,1fr) auto auto auto;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:10px 12px}.run.success>header{border-left:4px solid var(--success)}.run.failed>header{border-left:4px solid var(--danger)}.step{display:grid;gap:8px;padding:12px;border-top:1px solid var(--surface-subtle)}code,pre{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}pre{overflow:auto;margin:0;max-height:360px;border-radius:6px;background:#101820;color:#e8eef4;padding:12px;white-space:pre-wrap}.stderr{color:#ffd0c9}.pill{width:fit-content;border-radius:999px;background:var(--surface-subtle);color:var(--text-muted);padding:3px 8px;font-size:12px}.alert{display:flex;align-items:center;gap:8px;margin:14px 0;border:1px solid #f0b8b2;border-radius:6px;background:#fff1ef;color:var(--danger);padding:10px 12px}.authPage{display:grid;min-height:100vh;place-items:center;padding:20px}.authPanel{width:min(440px,100%);padding:20px}.authForm{display:grid;gap:12px}.googleButton{min-height:44px}.googleButton.disabled{opacity:.6;pointer-events:none}.authForm textarea{min-height:96px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:820px){.app{padding:14px}.toolbar,.workspace,.savePreset{grid-template-columns:1fr}.primaryButton,.secondaryButton{width:100%}}.resourcesPage{margin-top:var(--space-5)}.resourcesView{display:grid;gap:var(--space-4)}.resourceTabs{display:flex;gap:var(--space-1);overflow-x:auto;border-bottom:1px solid var(--border)}.resourceTab{flex:0 0 auto;border:1px solid transparent;border-bottom:3px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;padding:var(--space-3) var(--space-4);font:inherit;font-weight:700}.resourceTab:hover{color:var(--primary-strong)}.resourceTab:focus-visible{border-color:var(--primary);outline:none}.resourceTab.active{border-bottom-color:var(--primary);color:var(--primary-strong)}.resourceTabPanel:focus-visible{outline:2px solid var(--primary);outline-offset:var(--space-1)}.resourcesToolbar{grid-template-columns:minmax(180px,240px) auto 1fr;margin:0}.viewTab{padding:8px 14px}.viewTab.active{border-color:var(--primary);color:var(--primary-strong);background:var(--surface-subtle)}.lastUpdated{align-self:center;white-space:nowrap}.metricsEmpty{display:flex;align-items:center;gap:8px;margin:18px 2px}.metricsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}.metricCard.wide{grid-column:1 / -1}.metricValue{font-size:1.7rem;font-weight:600;margin:6px 0}.meter{height:8px;border-radius:4px;background:var(--surface-subtle);overflow:hidden;margin:6px 0}.meterFill{height:100%;border-radius:4px}.meterFill.ok{background:var(--success)}.meterFill.warn,span.warn{background:#b7791f}span.warn,span.crit{background:none;font-weight:600}span.warn{color:#b7791f}.meterFill.crit{background:var(--danger)}span.crit{color:var(--danger)}.diskRow{margin-bottom:12px}.diskRowHeader{display:flex;justify-content:space-between;align-items:baseline}.netRow{display:flex;gap:16px;align-items:baseline;margin-bottom:8px}.netRow code{min-width:90px}.processTable{width:100%;border-collapse:collapse;font-size:.9rem}.processTable th,.processTable td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border)}.processTable th{color:var(--text-muted);font-weight:500}@media(max-width:820px){.resourcesToolbar{grid-template-columns:1fr}}
