:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f8;color:#1d252d}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f6f8}button,input,select{font:inherit}button{cursor:pointer}.boot{display:grid;min-height:100vh;place-items:center;color:#53616f}.loginPage{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(180deg,#eef2f6,#f8fafc)}.loginPanel{width:min(420px,100%);display:grid;gap:18px;padding:28px;border:1px solid #d8e0e8;border-radius:8px;background:#fff;box-shadow:0 16px 40px #1f2a3714}.loginPanel h1,.topbar h1{margin:0;font-size:28px;line-height:1.15;letter-spacing:0}.eyebrow{margin:0 0 5px;color:#657486;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}label{display:grid;gap:8px;color:#344252;font-size:14px;font-weight:650}input,select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #c9d3de;border-radius:6px;background:#fff;color:#1d252d}input:focus,select:focus{outline:2px solid #8ab4f8;outline-offset:1px;border-color:#6b9ee8}.primaryBtn,.secondaryBtn,.ghostBtn,.dangerBtn,.navBtn{min-height:40px;border-radius:6px;border:1px solid transparent;padding:8px 13px;font-weight:700}.primaryBtn{background:#216e56;color:#fff}.secondaryBtn{background:#fff;border-color:#cbd5df;color:#23313f}.ghostBtn{width:100%;background:transparent;border-color:#d5dde6;color:#465565}.dangerBtn{background:#a83f3f;color:#fff}.primaryBtn:disabled{opacity:.65;cursor:default}.errorText,.notice{border-radius:6px;padding:10px 12px;background:#fff0f0;color:#9b2c2c;font-size:14px}.appShell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:24px;padding:22px 16px;border-right:1px solid #dce4ec;background:#fff}.brandBlock{display:flex;align-items:center;gap:12px}.brandBlock strong,.brandBlock small{display:block}.brandBlock small{margin-top:2px;color:#6d7b88}.mark{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:#1f6f8b;color:#fff;font-weight:800}nav{display:grid;gap:6px}.navBtn{width:100%;background:transparent;color:#465565;text-align:left}.navBtn.active{background:#e8f1f5;color:#12384a}.content{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.metricsGrid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.metricBox{display:grid;gap:9px;min-height:92px;padding:16px;border:1px solid #d8e0e8;border-radius:8px;background:#fff}.metricBox span{color:#657486;font-size:13px;font-weight:700}.metricBox strong{color:#17212b;font-size:27px;line-height:1;letter-spacing:0}.splitGrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:18px;margin-top:24px}.splitGrid h2{margin:0 0 10px;font-size:18px;letter-spacing:0}.tableWrap{width:100%;overflow:auto;border:1px solid #d8e0e8;border-radius:8px;background:#fff}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:11px 12px;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:middle;white-space:nowrap;font-size:13px}th{background:#f8fafc;color:#5d6b79;font-weight:800}tr:last-child td{border-bottom:0}.pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:800}.pill.ok{background:#e4f5ec;color:#1f6b45}.pill.bad{background:#faeaea;color:#9b2f2f}.emptyState{padding:18px;border:1px dashed #cbd5df;border-radius:8px;color:#657486;background:#fff}.controlPanel{display:grid;gap:16px;max-width:560px}.buttonRow{display:flex;flex-wrap:wrap;gap:10px}.commandOutput{min-height:80px;margin:0;padding:14px;overflow:auto;border-radius:8px;background:#17212b;color:#d8f3dc;font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media (max-width: 980px){.appShell{grid-template-columns:1fr}.sidebar{position:static;border-right:0;border-bottom:1px solid #dce4ec}nav{grid-template-columns:repeat(3,minmax(0,1fr))}.navBtn{text-align:center}.metricsGrid,.splitGrid{grid-template-columns:1fr}}@media (max-width: 620px){.content{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.metricsGrid{gap:10px}nav{grid-template-columns:1fr 1fr}}.sectionBlock,.daemonPanel{margin-top:28px;margin-bottom:28px}.sectionBlock h2,.daemonPanel h2{margin:0 0 12px;font-size:18px;letter-spacing:0}.sectionHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sectionHeader span{color:#657486;font-size:13px;font-weight:800}.daemonList{display:grid;gap:10px}.daemonRow{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.2fr) auto;align-items:center;gap:14px;min-height:76px;padding:13px 14px;border:1px solid #d8e0e8;border-radius:8px;background:#fff}.daemonMain{display:flex;align-items:center;min-width:0;gap:11px}.daemonMain strong,.daemonMain small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daemonMain small{margin-top:3px;color:#657486;font-size:12px}.pulse{position:relative;flex:0 0 auto;width:12px;height:12px;border-radius:999px;background:#9aa8b5}.pulse.working{background:#237b58;box-shadow:0 0 0 6px #237b581f;animation:pulse 1.4s infinite}.pulse.waiting{background:#2f7fa3;box-shadow:0 0 0 6px #2f7fa31a}.pulse.stale{background:#b98323}.pulse.down{background:#b34a4a}@keyframes pulse{0%{box-shadow:0 0 #237b5847}70%{box-shadow:0 0 0 8px #237b5800}to{box-shadow:0 0 #237b5800}}.daemonFacts{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.daemonFacts span{max-width:180px;overflow:hidden;padding:4px 7px;border-radius:999px;background:#f2f5f8;color:#526170;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.daemonActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.daemonActions button,.miniBtn{min-height:30px;padding:5px 9px;border:1px solid #cbd5df;border-radius:6px;background:#fff;color:#23313f;font-size:12px;font-weight:800}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:22px;background:#0f172075;z-index:20}.logModal{display:grid;gap:12px;width:min(980px,100%);max-height:min(760px,calc(100vh - 44px));padding:18px;border-radius:8px;background:#fff;box-shadow:0 18px 60px #0f172047}.logModal header{display:flex;justify-content:space-between;gap:12px}.logModal h2,.logModal p{margin:0}.logModal p{margin-top:4px;color:#657486;font-size:13px}.logModal pre{min-height:280px;max-height:560px;margin:0;overflow:auto;padding:14px;border-radius:8px;background:#111a22;color:#d9f1e3;font-size:12px;line-height:1.45}@media (max-width: 1100px){.daemonRow{grid-template-columns:1fr;align-items:start}.daemonActions{justify-content:flex-start}}:root{color-scheme:dark;background:#2b2b2b;color:#a9b7c6}body,.boot,.loginPage{background:#2b2b2b;color:#a9b7c6}.loginPage{background:linear-gradient(180deg,#252526,#2b2b2b)}.loginPanel,.sidebar,.metricBox,.tableWrap,.emptyState,.daemonRow,.logModal{border-color:#3c3f41;background:#313335;box-shadow:none}.sidebar{border-right-color:#3c3f41}.brandBlock small,.eyebrow,.metricBox span,.daemonMain small,.sectionHeader span,.logModal p{color:gray}.loginPanel h1,.topbar h1,.metricBox strong,.splitGrid h2,.sectionBlock h2,.daemonPanel h2,.logModal h2,.brandBlock strong,.daemonMain strong{color:#f1f1f1}label{color:#c9d1d9}input,select{border-color:#4e5254;background:#2b2b2b;color:#a9b7c6}input:focus,select:focus{border-color:#6897bb;outline-color:#6897bba6}.primaryBtn{background:#6a8759;color:#fff}.secondaryBtn,.ghostBtn,.daemonActions button,.miniBtn{border-color:#4e5254;background:#3c3f41;color:#a9b7c6}.secondaryBtn:hover,.ghostBtn:hover,.daemonActions button:hover,.miniBtn:hover,.navBtn:hover{background:#4b4f51}.dangerBtn{background:#9c4f4f;color:#fff}.mark{background:#6897bb;color:#1f2326}.navBtn{color:#a9b7c6}.navBtn.active{background:#3f464a;color:#fff}.content{background:#2b2b2b}th{background:#3c3f41;color:#c9d1d9}td,th{border-bottom-color:#3c3f41}tr:hover td{background:#303438}.pill.ok{background:#6a87593d;color:#b5d99c}.pill.bad{background:#9c4f4f3d;color:#ffb3b3}.errorText,.notice{background:#9c4f4f38;color:#ffc0c0}.emptyState{border-color:#4e5254;color:gray}.daemonFacts span{background:#3c3f41;color:#a9b7c6}.pulse.working{background:#6a8759;box-shadow:0 0 0 6px #6a875929}.pulse.waiting{background:#6897bb;box-shadow:0 0 0 6px #6897bb24}.pulse.stale{background:#cc7832}.pulse.down{background:#bc3f3c}@keyframes pulse{0%{box-shadow:0 0 #6a875957}70%{box-shadow:0 0 0 8px #6a875900}to{box-shadow:0 0 #6a875900}}.commandOutput,.logModal pre{background:#1e1f22;color:#a9b7c6}.modalBackdrop{background:#000000a3}.iconBtn{display:inline-flex;align-items:center;gap:6px}.iconBtn span{display:inline-grid;width:16px;height:16px;place-items:center;font-size:12px;line-height:1}.iconBtn:disabled{opacity:.42;cursor:not-allowed}.startAction{border-color:#6a8759d9!important;color:#c8e6b5!important}.stopAction{border-color:#9c4f4fe6!important;color:#ffc0c0!important}.refreshBlock{display:flex;align-items:center;gap:10px}.refreshBlock small{color:gray;font-size:11px;font-weight:650;white-space:nowrap}.metricsGrid+.daemonPanel{margin-top:28px}.daemonPanel+.sectionBlock{margin-top:34px}@media (max-width: 620px){.refreshBlock{align-items:flex-start;flex-direction:column}}.daemonFacts b{color:gray;font-size:11px;font-weight:800;text-transform:uppercase}.daemonFacts span{max-width:150px}.filterBar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:10px 12px;border:1px solid #3c3f41;border-radius:8px;background:#313335;color:#c9d1d9;font-size:13px;font-weight:750}.taskLink{color:#6897bb;font-weight:800;text-decoration:none}.taskLink:hover{color:#8bbbe0;text-decoration:underline}.statusFlow{display:inline-flex;align-items:center;gap:5px;color:#a9b7c6;font-size:12px;font-weight:750}.statusFlow b{color:gray}.rolesLayout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px}.rolesTable tr{cursor:pointer}.selectedRow td{background:#3f464a!important}.roleEditor{display:grid;gap:10px;align-content:start}.editorGrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.editorGrid label{display:grid;gap:8px;color:#a9b7c6;font-size:12px;font-weight:800}.editorGrid small{color:gray;font-weight:650}.roleEditor textarea{width:100%;min-height:560px;resize:vertical;padding:14px;border:1px solid #3c3f41;border-radius:8px;background:#1e1f22;color:#a9b7c6;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45}@media (max-width: 1100px){.rolesLayout,.editorGrid{grid-template-columns:1fr}}
