body{margin:0}:root{--bg:#070a12;--panel:#0a0e18db;--panelBorder:#ffffff14;--text:#ffffffeb;--muted:#ffffffad;--accent:#7c3aed;--good:#22c55e;--warn:#f59e0b;--bad:#ef4444;--mono:ui-monospace, Consolas, monospace;color:var(--text);background:var(--bg)}html,body,#root{height:100%}body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden}.screen{place-items:center;height:100%;display:grid}.card{border:1px solid var(--panelBorder);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;width:min(560px,92vw);padding:18px;box-shadow:0 24px 80px #00000059}.title{letter-spacing:.2px;font-weight:700}.muted{color:var(--muted);font-family:var(--mono);margin-top:6px;font-size:12px}.row{align-items:center;gap:10px;margin-top:14px;display:flex}.field{width:100%;margin-top:12px}.label{color:var(--muted);font-size:12px;font-family:var(--mono);margin-bottom:6px}input{box-sizing:border-box;border:1px solid var(--panelBorder);width:100%;color:var(--text);background:#ffffff0a;border-radius:10px;outline:none;padding:10px 12px}input:focus{border-color:#7c3aed99;box-shadow:0 0 0 4px #7c3aed26}.btn{color:var(--text);cursor:pointer;background:#7c3aed24;border:1px solid #7c3aed80;border-radius:10px;padding:10px 12px;font-weight:600}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{background:#ffffff0f;border-color:#ffffff24}.factory-dashboard{box-sizing:border-box;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.factory-chat{width:100%;max-width:900px;height:100%;max-height:80vh}.room-status-anchor{pointer-events:auto;width:min(420px,100vw - 40px);max-height:calc(100vh - 40px);position:absolute;top:20px;right:20px}.room-status-panel{border:1px solid var(--panelBorder);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:inherit;border-radius:14px;grid-template-rows:auto auto 1fr auto;display:grid;overflow:hidden;box-shadow:0 18px 42px #00000059}.room-status-head{border-bottom:1px solid var(--panelBorder);justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.room-status-title{font-weight:700}.room-status-subtitle{color:var(--muted);font-size:11px;font-family:var(--mono);margin-top:4px}.room-status-summary{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.room-status-refresh{padding:6px 10px}.room-status-state{color:var(--muted);font-size:12px;font-family:var(--mono);padding:10px 12px}.room-status-list{gap:8px;padding:10px;display:grid;overflow:auto}.room-status-item{border:1px solid var(--panelBorder);background:#ffffff08;border-radius:10px;gap:8px;padding:10px;display:grid}.room-status-item-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-status-item-top:hover{opacity:.85}.room-status-toggle{color:var(--textMuted,#6b7280);flex-shrink:0;width:12px;font-size:10px}.room-status-name{font-size:13px;font-weight:700}.room-status-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.room-kv{color:var(--muted);font-size:11px;font-family:var(--mono)}.room-chip{border:1px solid var(--panelBorder);font-size:10px;font-family:var(--mono);text-transform:lowercase;letter-spacing:.02em;color:var(--text);background:#ffffff0f;border-radius:999px;padding:3px 8px}.room-chip.ok{background:#22c55e29;border-color:#22c55e73}.room-chip.warn{background:#f59e0b29;border-color:#f59e0b73}.room-chip.bad{background:#ef444429;border-color:#ef444473}.room-chip.muted{color:#d1d5db;background:#94a3b81f;border-color:#94a3b859}.room-status-note{color:var(--muted);font-size:11px;line-height:1.35}.room-status-links{color:var(--muted);font-size:11px;font-family:var(--mono);gap:3px;display:grid}.room-status-action{color:#c4b5fd;border:1px solid #c4b5fd73;border-radius:8px;width:fit-content;margin-top:4px;padding:3px 8px;text-decoration:none}.room-status-action:hover{color:#ddd6fe;border-color:#c4b5fdb3}.room-status-action.disabled{color:var(--muted);pointer-events:none;border-color:#94a3b859}.room-status-footer{border-top:1px solid var(--panelBorder);color:var(--muted);font-size:10px;font-family:var(--mono);padding:8px 12px}@media (width<=1080px){.room-status-anchor{width:100%;max-width:900px;margin-top:12px;position:static}}@media (width<=700px){.factory-dashboard{padding:0}.factory-chat{max-width:none;height:100dvh;max-height:none}.room-status-anchor{display:none}}
