:root{--bg-page: #09111b;--bg-shell: #0d1723;--bg-panel: #132031;--bg-panel-alt: #182739;--bg-panel-alt-2: #1d2e43;--bg-selected: #23425c;--bg-current: #18364d;--line: #2b3f58;--line-strong: #3f5e82;--text: #e8eef6;--text-dim: #9cb0c7;--text-soft: #7d91aa;--accent: #49a6ff;--accent-soft: #20496c;--success: #1cd96f;--success-idle: #175631;--danger: #cf5866;color-scheme:dark;font-family:IBM Plex Sans,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}body{margin:0;overflow:hidden;color:var(--text);background:linear-gradient(180deg,rgba(73,166,255,.07),transparent 240px),linear-gradient(180deg,#08111a,#0b1420 45%,#0a121c)}button,input{font:inherit}button{min-height:42px;padding:.7rem 1rem;border:1px solid var(--line-strong);color:var(--text);background:linear-gradient(180deg,#2f6fa6,#275e8d);font-weight:600;cursor:pointer}button:hover{background:linear-gradient(180deg,#3579b1,#2c6899)}button.secondary{background:linear-gradient(180deg,#223346,#1b2838)}button.secondary:hover{background:linear-gradient(180deg,#273a50,#202f41)}button.secondary.warn{border-color:#6d3340;color:#ffd5db;background:linear-gradient(180deg,#632a37,#51212d)}button.secondary.warn:hover{background:linear-gradient(180deg,#6f3140,#5d2632)}button.active{border-color:#4f89bc;background:linear-gradient(180deg,#3a7db4,#306d9f)}button:disabled{opacity:.55;cursor:not-allowed}input{min-height:42px;padding:.7rem .85rem;border:1px solid var(--line-strong);background:#0f1824;color:var(--text);outline:none}input::placeholder{color:var(--text-soft)}input:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px #49a6ff4d}.console-shell{width:100%;height:100vh;padding:8px}.auth-shell{display:grid;place-items:center}.auth-card{width:min(760px,calc(100vw - 64px));border:1px solid var(--line);background:linear-gradient(180deg,#ffffff04,#ffffff01),var(--bg-panel);padding:18px}.auth-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,320px);gap:18px;align-items:start}.auth-intro,.auth-panel{min-width:0}.auth-intro{display:grid;align-content:start;gap:10px}.auth-title{margin:0;font-size:2.1rem;line-height:1.05;letter-spacing:-.04em}.auth-copy{margin:0;max-width:30ch;color:var(--text-dim);line-height:1.6}.auth-panel{display:grid;gap:12px;align-content:start;width:100%}.auth-panel-header h2{margin:4px 0 0;font-size:1.2rem}.auth-fields{display:grid;gap:10px;max-width:100%}.auth-actions{display:flex;flex-wrap:nowrap;gap:8px;align-items:stretch}.auth-actions>button{flex:0 0 auto}.auth-note{min-height:42px;padding:10px 12px;border:1px solid var(--line);background:var(--bg-panel-alt);color:var(--text-dim);line-height:1.45}.console-frame{width:100%;height:100%;display:flex;flex-direction:column;gap:8px;min-height:0}.topbar,.panel,.app-alert{min-width:0;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff04,#ffffff01),var(--bg-panel)}.topbar{display:grid;grid-template-columns:300px minmax(0,1fr);gap:8px;padding:10px}.brand-block,.topbar-access{min-width:0}.brand-label,.panel-kicker,.topbar-field span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600}.brand-title{margin-top:4px;font-size:1.45rem;font-weight:700;letter-spacing:-.03em}.brand-caption{margin-top:6px;max-width:28ch;color:var(--text-dim);line-height:1.55}.topbar-access{display:grid;gap:8px}.access-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(260px,360px) minmax(220px,280px);gap:8px}.topbar-field{display:grid;gap:6px;min-width:0}.topbar-actions{display:flex;flex-wrap:wrap;gap:8px}.topbar-note{min-height:42px;padding:10px 12px;border:1px solid var(--line);background:var(--bg-panel-alt);color:var(--text-dim);line-height:1.45}.app-alert{padding:10px 12px;color:#ffd4dc;background:linear-gradient(180deg,#6b232feb,#561c27eb);border-color:#6a3140}.workspace-grid{flex:1 1 0%;min-height:0;display:grid;grid-template-columns:270px minmax(0,1fr) 320px;gap:8px;align-items:stretch}.panel{min-height:0;display:grid;gap:10px;padding:10px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-header h2{margin:4px 0 0;font-size:1.16rem;letter-spacing:-.02em}.panel-header>span,.admin-table-head span{color:var(--text-dim);font-size:.82rem}.channel-panel{grid-template-rows:auto minmax(0,1fr)}.conversation-panel{height:100%;grid-template-rows:auto minmax(0,1fr) auto auto}.side-stack{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);gap:8px}.people-panel{height:100%;grid-template-rows:auto minmax(0,1fr)}.voice-panel{grid-template-rows:auto auto auto}.voice-panel-bar{flex:0 0 auto;height:auto;max-height:112px;grid-template-rows:auto auto;align-content:start;padding-top:8px;padding-bottom:8px;gap:8px;overflow:hidden}.voice-panel-bar-layout{display:grid;grid-template-columns:auto minmax(320px,640px);gap:12px;align-items:center}.channel-list,.message-list,.people-list,.admin-table-body{min-height:0;overflow:auto}.channel-list,.message-list,.people-list,.admin-table-body,.admin-form-grid,.admin-section{display:grid;align-content:start;gap:8px}.channel-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:40px;border:1px solid var(--line);background:var(--bg-panel-alt);text-align:left}.channel-row.selected{border-color:var(--line-strong);background:var(--bg-selected)}.channel-row.joined{background:var(--bg-current);box-shadow:inset 3px 0 0 0 var(--accent)}.channel-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-row-count{color:var(--text-dim);font-weight:600}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.status-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--line);background:var(--bg-panel-alt);color:var(--text-dim);font-size:.8rem;font-weight:600}.status-chip.live{border-color:#2a7bc3;background:#183c5c;color:#c6e3ff}.message-row,.empty-panel,.person-row,.summary-item,.admin-row,.admin-table{border:1px solid var(--line);background:var(--bg-panel-alt)}.message-row,.empty-panel,.person-row,.summary-item,.admin-row{padding:12px}.message-row.self{border-color:#456889;background:#1d3347}.message-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--text-dim);font-size:.78rem}.message-row p{margin:0;line-height:1.55;white-space:pre-wrap}.empty-panel{color:var(--text-dim);line-height:1.5}.empty-panel strong{display:block;margin-bottom:6px;color:var(--text)}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.people-list{gap:6px}.person-row{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:10px}.person-row-content{min-width:0}.person-row-content strong,.admin-row-main strong{display:block}.person-row-content span,.admin-row-main span,.admin-table-caption{color:var(--text-dim);font-size:.82rem}.talk-indicator{width:12px;height:12px;border:1px solid #1e7f45;background:var(--success-idle)}.talk-indicator.active{border-color:#52ff9a;background:var(--success);box-shadow:0 0 12px #1cd96f73}.voice-primary-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.voice-mode-grid,.voice-readout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.voice-readout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-panel-bar .panel-header h2{font-size:1rem}.voice-panel-bar .panel-header{align-items:center}.voice-panel-bar .summary-item,.voice-panel-bar button,.voice-panel-bar input{min-height:40px}.voice-panel-bar .summary-item{padding:8px 12px}.voice-panel-bar .summary-item strong{margin-top:4px;font-size:.9rem}.summary-item span{display:block;color:var(--text-soft);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.summary-item strong{display:block;margin-top:6px;font-size:.95rem}.admin-panel-wide{min-height:0;max-height:340px;grid-template-rows:auto minmax(0,1fr)}.admin-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);gap:10px}.admin-section{min-height:0}.admin-table{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;padding:10px}.admin-table-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.admin-table-caption{line-height:1.45}.admin-inline-buttons,.admin-row-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-row{display:grid;gap:10px}.debug-console{position:fixed;right:12px;bottom:12px;width:min(560px,calc(100vw - 24px));height:min(72vh,720px);z-index:1000;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:8px;padding:12px;border:1px solid var(--line-strong);background:#09111bf5;box-shadow:0 18px 40px #00000073}.debug-console-header,.debug-console-actions,.debug-console-meta,.debug-entry-head,.debug-entry-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.debug-console-header h2{margin:4px 0 0;font-size:1rem}.debug-console-actions{justify-content:flex-start;flex-wrap:wrap}.debug-console-meta{color:var(--text-dim);font-size:.82rem}.debug-console-body{min-height:0;overflow:auto;display:grid;align-content:start;gap:8px}.debug-entry{padding:10px 12px;border:1px solid var(--line);background:var(--bg-panel-alt)}.debug-entry-head{align-items:flex-start}.debug-entry-head strong{font-size:.92rem}.debug-entry-head span,.debug-entry-meta{color:var(--text-dim);font-size:.76rem}.debug-entry-meta{justify-content:flex-start;text-transform:uppercase}.debug-entry pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word;color:var(--text-dim);font:.8rem/1.45 IBM Plex Mono,SFMono-Regular,Consolas,monospace}.hidden-audio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0;opacity:0;pointer-events:none}@media (max-width: 1440px){.workspace-grid{grid-template-columns:240px minmax(0,1fr) 300px}.admin-layout{grid-template-columns:1fr}}@media (max-width: 1120px){body{overflow:auto}.console-shell{height:auto;min-height:100vh}.console-frame{display:grid;height:auto;min-height:100vh;grid-template-rows:auto auto auto auto auto}.topbar,.auth-layout,.workspace-grid,.access-grid,.voice-panel-bar-layout,.voice-mode-grid,.voice-readout-grid,.composer,.admin-layout{grid-template-columns:1fr}.side-stack{grid-template-rows:auto auto}.admin-panel-wide{max-height:none}}
