:root{--background:#f6f7f9;--panel:#fff;--panel-soft:#f0f3f7;--border:#d9e0e8;--border-strong:#bac6d3;--text:#17202a;--muted:#627084;--accent:#166f7a;--accent-strong:#0f5660;--danger:#b42335;--warning:#91610c;--success:#147548;--shadow:0 18px 45px #212d401f}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background);color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.loadingShell,.authShell{place-items:center;min-height:100vh;padding:24px;display:grid}.authPanel{border:1px solid var(--border);background:var(--panel);width:min(440px,100%);box-shadow:var(--shadow);border-radius:8px;padding:28px}.appShell{grid-template-columns:320px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:#eef2f5;flex-direction:column;gap:20px;min-height:100vh;padding:24px;display:flex}.brandBlock,.topbar,.sectionHeader,.tableRow,.accountBlock{justify-content:space-between;align-items:center;gap:16px;display:flex}.brandBlock{justify-content:flex-start}.brandMark{background:var(--text);color:#fff;border-radius:8px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2,h3{margin-bottom:0;line-height:1.12}h1{font-size:1.45rem}h2{font-size:1.55rem}h3{font-size:1rem}.workspace{flex-direction:column;gap:18px;min-width:0;padding:24px;display:flex}.topbar{min-height:68px}.tabs,.authSwitch,.buttonGroup{align-items:center;gap:8px;display:flex}.tabs,.authSwitch{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:4px}.tabs button,.authSwitch button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 12px;font-weight:700}.tabs button.active,.authSwitch button.active{background:var(--text);color:#fff}.stackForm,.miniForm,.inlineForm{gap:12px;display:grid}.inlineForm{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.miniForm{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:12px}label{color:var(--muted);gap:6px;font-size:.82rem;font-weight:700;display:grid}.checkboxLabel{border:1px solid var(--border-strong);background:#fff;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:0 11px;display:flex}.checkboxLabel input{width:auto;min-height:auto}input,select{border:1px solid var(--border-strong);width:100%;min-height:40px;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:0 11px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #166f7a24}.primaryButton,.secondaryButton,.dangerButton{white-space:nowrap;border-radius:6px;min-height:38px;padding:0 14px;font-weight:800}.primaryButton{border:1px solid var(--accent-strong);background:var(--accent);color:#fff}.secondaryButton{border:1px solid var(--border-strong);background:var(--panel);color:var(--text)}.dangerButton{color:var(--danger);background:#fff1f3;border:1px solid #b4233559}.projectNav,.list,.tableLike{gap:8px;display:grid}.projectNav{overflow:auto}.projectButton,.rowButton,.messageBar{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);text-align:left;border-radius:8px}.projectButton,.rowButton{gap:5px;padding:12px;display:grid}.projectButton.active,.rowButton.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}small,.accountBlock span{color:var(--muted);font-size:.78rem}.accountBlock{border-top:1px solid var(--border);align-items:flex-end;margin-top:auto;padding-top:16px}.accountBlock div{gap:4px;min-width:0;display:grid}.panelGrid{grid-template-columns:minmax(280px,.95fr) minmax(320px,1.3fr);gap:18px;display:grid}.sectionBlock{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-content:start;gap:16px;min-width:0;padding:18px;display:grid}.wideBlock{grid-column:1/-1}.logPane{color:#d7f7e8;white-space:pre-wrap;background:#101820;border:1px solid #101820;border-radius:8px;min-height:420px;max-height:calc(100vh - 220px);margin:0;padding:14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.55;overflow:auto}.statusPill{text-transform:uppercase;border-radius:999px;justify-self:start;padding:4px 9px;font-size:.72rem;font-weight:800}.statusGood{color:var(--success);background:#e7f7ef}.statusBad{color:var(--danger);background:#fff1f3}.statusWork{color:var(--warning);background:#fff6df}.statusNeutral{background:var(--panel-soft);color:var(--muted)}.tableRow{border:1px solid var(--border);border-radius:8px;padding:12px}.tableRow>div{gap:4px;min-width:0;display:grid}.keyValueList,.metricGrid{gap:10px;display:grid}.keyValue{gap:6px;display:grid}.keyValue span,.metricBox span{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:800}.keyValue code{border:1px solid var(--border);background:var(--panel-soft);color:var(--text);white-space:nowrap;border-radius:6px;padding:10px;overflow-x:auto}.metricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.metricBox{border:1px solid var(--border);border-radius:8px;gap:8px;padding:12px;display:grid}.editorGrid{grid-template-columns:minmax(220px,.45fr) minmax(360px,1fr);gap:16px;display:grid}.tableEditorMain{align-content:start;gap:14px;min-width:0;display:grid}.messageBar{border-color:#0000;padding:12px 14px;font-weight:700}.messageBar.error,.formError{color:var(--danger);background:#fff1f3}.messageBar.notice{color:var(--success);background:#e7f7ef}.formError{border-radius:6px;margin:0;padding:10px}.emptyState,.emptySmall{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:8px;padding:18px}.emptySmall{margin:0}@media (width<=980px){.appShell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);min-height:auto}.panelGrid,.editorGrid{grid-template-columns:1fr}.topbar,.sectionHeader,.tableRow,.accountBlock{flex-direction:column;align-items:stretch}.tabs{overflow-x:auto}}@media (width<=620px){.workspace,.sidebar{padding:16px}.authPanel{padding:20px}.inlineForm{grid-template-columns:1fr}.tabs,.authSwitch,.buttonGroup{flex-direction:column;align-items:stretch}}
