:root{--bg: #10110f;--bg-raise: #181a16;--bg-panel: #1e211b;--line: #32362c;--text: #ece7d8;--muted: #9a937e;--accent: #d7a13b;--accent-dim: #8a6a24;--ok: #7cb87a;--danger: #d46a5a;--warn: #e0b25a;--mono: "Cascadia Mono", "Consolas", "SFMono-Regular", ui-monospace, monospace;--sans: "Segoe UI", "IBM Plex Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--sans)}button,input,select,textarea{font:inherit;color:inherit}button{background:#2a2d25;border:1px solid var(--line);border-radius:6px;padding:.4rem .75rem;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent-dim)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#1a1408;border-color:var(--accent);font-weight:650}input,select,textarea{width:100%;background:#12140f;border:1px solid var(--line);border-radius:6px;padding:.55rem .7rem}.kicker{margin:0;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem}.login-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 10% 10%,#2a2416 0,transparent 40%),linear-gradient(180deg,#16150f,#0d0e0b)}.login-panel{width:min(440px,100%);background:var(--bg-raise);border:1px solid var(--line);border-radius:16px;padding:2rem}.login-panel h1{margin:.4rem 0 .6rem;font-size:2rem}.lede,.muted{color:var(--muted);line-height:1.45}.meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.25rem 0 1.5rem}.meta dt{color:var(--muted);font-size:.75rem}.meta dd{margin:.15rem 0 0;font-family:var(--mono);font-size:.9rem}form{display:grid;gap:.85rem}label{display:grid;gap:.35rem;font-size:.85rem;color:var(--muted)}.linkish{background:none;border:none;color:var(--accent);text-align:left;padding:0}.error{color:var(--danger);margin:0}.banner{margin:0 1rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto 1fr}.topbar{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--bg-raise)}.topbar h1{margin:0;font-size:1.15rem}.topbar-actions{display:flex;gap:.5rem;align-items:center}.pill{font-family:var(--mono);font-size:.8rem;border:1px solid var(--line);border-radius:999px;padding:.25rem .7rem;color:var(--muted)}.sidebar{border-right:1px solid var(--line);background:var(--bg-panel);display:flex;flex-direction:column;min-height:0}.filter{margin:.8rem;width:calc(100% - 1.6rem)}.project-list{overflow:auto;padding:0 .6rem 1rem}.project-list h2{margin:.9rem .4rem .35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.container-btn{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.1rem .55rem;text-align:left;background:transparent;margin-bottom:.25rem}.container-btn.active{background:#2b271c;border-color:var(--accent-dim)}.dot{width:8px;height:8px;border-radius:50%;grid-row:span 2;align-self:center}.dot.on{background:var(--ok);box-shadow:0 0 8px var(--ok)}.dot.off{background:#6b6354}.container-name{font-family:var(--mono);font-size:.82rem}.container-status{grid-column:2;color:var(--muted);font-size:.72rem}.viewer{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;min-height:0}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.toolbar-title{display:grid;min-width:220px;margin-right:auto}.toolbar-title span{color:var(--muted);font-size:.78rem}.toolbar label{width:auto}.toolbar .search{width:220px}.check{display:flex;flex-direction:row;align-items:center;gap:.4rem;color:var(--text)}.check input{width:auto}.log-pane{margin:0;overflow:auto;padding:.8rem 1rem 1.2rem;font-family:var(--mono);font-size:12.5px;line-height:1.45;background:#0c0d0a;white-space:pre}.log-pane.wrap{white-space:pre-wrap;word-break:break-word}.line-error{color:#f0a197;background:#2a1512}.line-warn{color:var(--warn)}.status-bar{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;background:var(--bg-raise)}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{max-height:34vh;border-right:none;border-bottom:1px solid var(--line)}}
