:root{--bg:#0b0f1a;--bg-soft:#0f1524;--panel:#0d1322f0;--panel-border:#1e2a44;--text:#e5ecf7;--muted:#8b98b3;--faint:#5b6a88;--accent:#38bdf8;--accent-dim:#0ea5e9;--danger:#ef4444;--ok:#22c55e;--warn:#f59e0b;--radius:12px;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;overflow:hidden}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.app{background:radial-gradient(1200px 700px at 70% 20%, #101a30 0%, var(--bg) 60%);flex-direction:column;height:100vh;display:flex}.app-header{border-bottom:1px solid var(--panel-border);background:var(--panel);z-index:20;justify-content:space-between;align-items:center;gap:12px;height:58px;padding:0 16px;display:flex}.brand h1{letter-spacing:.4px;margin:0;font-size:16px}.brand p{color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin:0;font-size:11px}.header-right{align-items:center;gap:10px;display:flex}.main{flex:1;min-height:0;display:flex}.sidebar-left{border-right:1px solid var(--panel-border);background:var(--panel);z-index:10;flex-direction:column;gap:12px;width:322px;min-width:322px;padding:12px;display:flex;overflow-y:auto}.viewport{flex:1;min-width:0;position:relative}.viewport>div{position:absolute;inset:0}.viewport canvas{display:block}.badge{letter-spacing:.6px;border:1px solid var(--panel-border);background:var(--bg-soft);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:11px;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.badge-live{color:var(--ok);border-color:#22c55e66}.badge-live .dot{animation:1.6s ease-in-out infinite pulse}.badge-demo{color:#a855f7;border-color:#a855f773}.badge-connecting{color:var(--warn)}.badge-error{color:var(--danger);border-color:#ef444473}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.stat-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat-card{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--bg-soft);padding:10px 12px}.stat-card .label{text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-size:10px}.stat-card .value{margin-top:2px;font-size:22px;font-weight:700}.stat-card.errors .value{color:var(--danger)}.agent-list{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.agent-list h2,.section-title{text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin:0;font-size:11px}.search-input{border:1px solid var(--panel-border);background:var(--bg-soft);width:100%;color:var(--text);border-radius:8px;outline:none;padding:9px 12px;font-size:13px}.search-input:focus{border-color:var(--accent-dim)}.search-input::placeholder{color:var(--faint)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--panel-border);color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.chip .dot{border-radius:50%;width:7px;height:7px}.chip.active{border-color:var(--accent-dim);color:var(--text);background:#38bdf824}.agent-cards{flex-direction:column;gap:8px;padding-right:2px;display:flex;overflow-y:auto}.agent-card{text-align:left;border-radius:var(--radius);border:1px solid var(--panel-border);background:var(--bg-soft);width:100%;color:var(--text);flex-direction:column;gap:6px;padding:10px 12px;transition:border-color .15s;display:flex}.agent-card:hover{border-color:var(--accent-dim)}.agent-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.agent-card-top{align-items:center;gap:8px;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.agent-card .name{font-size:13.5px;font-weight:600}.agent-card .role{color:var(--muted);margin-left:auto;font-size:11px}.agent-card .task{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.agent-card .seen{color:var(--faint);font-size:11px}.empty-state{text-align:center;color:var(--muted);border:1px dashed var(--panel-border);border-radius:var(--radius);padding:24px 12px;font-size:13px}.progress{background:#1a2338;border-radius:3px;height:5px;overflow:hidden}.progress>div{background:linear-gradient(90deg, var(--accent-dim), var(--accent));border-radius:3px;height:100%;transition:width .4s}.detail-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);z-index:15;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:12px;width:340px;max-height:calc(100% - 24px);padding:16px;display:flex;position:absolute;top:12px;right:12px;overflow-y:auto}.detail-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.detail-header h2{margin:0;font-size:17px}.detail-header .role{color:var(--muted);margin-top:2px;font-size:12px}.icon-btn{border:1px solid var(--panel-border);color:var(--muted);background:0 0;border-radius:8px;padding:6px 10px;font-size:13px}.icon-btn:hover{color:var(--text);border-color:var(--accent-dim)}.status-pill{letter-spacing:.8px;text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.detail-row{justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.detail-row .k{color:var(--muted)}.detail-row .v{text-align:right;word-break:break-word}.detail-task{background:var(--bg-soft);border:1px solid var(--panel-border);border-radius:8px;padding:10px 12px;font-size:13px}.activity-list{flex-direction:column;gap:8px;max-height:260px;display:flex;overflow-y:auto}.activity-item{border-left:2px solid var(--panel-border);background:#ffffff05;border-radius:0 8px 8px 0;padding:8px 10px;font-size:12px}.activity-item .time{color:var(--faint);margin-bottom:2px;font-size:10.5px;display:block}.camera-controls{z-index:15;gap:8px;display:flex;position:absolute;bottom:12px;left:12px}.btn{border:1px solid var(--panel-border);background:var(--panel);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:9px;padding:9px 14px;font-size:12.5px;font-weight:600}.btn:hover:not(:disabled){border-color:var(--accent-dim)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent-dim);border-color:var(--accent-dim);color:#04121d}.btn-primary:hover:not(:disabled){background:var(--accent)}.event-drawer{border-top:1px solid var(--panel-border);background:var(--panel);z-index:20}.event-drawer-toggle{width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:1.6px;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;font-weight:700;display:flex}.event-drawer-toggle:hover{color:var(--text)}.event-drawer-body{flex-direction:column;gap:6px;max-height:180px;padding:0 16px 12px;display:flex;overflow-y:auto}.event-item{background:#ffffff05;border-radius:8px;align-items:baseline;gap:10px;padding:6px 10px;font-size:12.5px;display:flex}.event-item .time{color:var(--faint);white-space:nowrap;font-size:11px}.event-item .who{color:var(--accent);white-space:nowrap;font-weight:600}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-soft);border:1px solid var(--panel-border);border-radius:16px;flex-direction:column;gap:14px;width:min(440px,100vw - 32px);padding:20px;display:flex}.modal h2{margin:0;font-size:16px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:12px;font-weight:600}.field input[type=text]{border:1px solid var(--panel-border);background:var(--bg);color:var(--text);border-radius:8px;outline:none;padding:9px 12px;font-size:13px}.field input[type=text]:focus{border-color:var(--accent-dim)}.checkbox-row{align-items:center;gap:10px;font-size:13px;display:flex}.checkbox-row input{width:16px;height:16px;accent-color:var(--accent-dim)}.hint{color:var(--muted);font-size:12px;line-height:1.5}.config-error{color:#fca5a5;z-index:20;background:#ef44441a;border-bottom:1px solid #ef444466;padding:10px 16px;font-size:13px}.loading-overlay{background:var(--bg);z-index:30;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex;position:absolute;inset:0}.spinner{border:3px solid var(--panel-border);border-top-color:var(--accent);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.asset-guard-fallback{border:1px dashed var(--warn);border-radius:var(--radius);color:var(--warn);flex-direction:column;gap:4px;padding:12px;font-size:12px;display:flex}.error-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100vh;padding:24px;display:flex}.error-fallback h2{margin:0}.error-fallback p{color:var(--muted);max-width:480px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#24314f;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#31405f}.char-preview{flex-direction:column;gap:8px;display:flex}.char-preview-canvas{border-radius:var(--radius);border:1px solid var(--panel-border);background:radial-gradient(circle at 50% 35%,#1b2540 0%,#0b0f1a 70%);height:190px;overflow:hidden}.char-preview-canvas canvas{display:block}.pixel-preview{flex-direction:column;justify-content:center;align-items:center;gap:4px;height:100%;padding:8px;display:flex}.pixel-preview canvas{image-rendering:pixelated}.pixel-preview-anim{color:var(--muted);text-transform:capitalize;letter-spacing:.04em;font-size:11px}.admin-char-note{color:var(--muted);text-align:center;margin:0;padding:0 12px 10px;font-size:11px}.char-swatches{flex-wrap:wrap;gap:6px 12px;display:flex}.char-swatch{color:var(--muted);text-transform:capitalize;align-items:center;gap:6px;font-size:12px;display:inline-flex}.char-swatch-dot{border:1px solid #ffffff40;border-radius:50%;width:12px;height:12px;display:inline-block}.side-panel{background:var(--bg-soft);border-left:1px solid var(--panel-border);z-index:40;flex-direction:column;gap:12px;width:min(420px,92vw);padding:16px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-16px 0 48px #00000073}.side-panel-header{justify-content:space-between;align-items:center;display:flex}.side-panel-header h2{margin:0;font-size:16px}.icon-btn{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:13px}.icon-btn:hover{background:#ffffff0f}.header-action{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:13px}.header-action:hover{background:#ffffff0f}.primary-btn{background:var(--accent,#4f8ff7);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600}.primary-btn:disabled{opacity:.45;cursor:not-allowed}.text-input{background:var(--bg);border:1px solid var(--panel-border);width:100%;color:var(--text);box-sizing:border-box;border-radius:10px;padding:10px 12px;font-size:14px}.field{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.muted{color:var(--text-dim)}.error-text{color:#ff7a7a;margin:0;font-size:13px}.success-text{color:#7dffa8;margin:0;font-size:13px}.sim-badge{letter-spacing:.06em;color:#ffc107;vertical-align:middle;background:#ffc10726;border:1px solid #ffc10766;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.kanban-add{gap:8px;display:flex}.kanban-add .text-input{flex:1}.kanban-columns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kanban-column{background:var(--bg);border:1px solid var(--panel-border);border-radius:12px;min-height:120px;padding:10px}.kanban-column h3{justify-content:space-between;align-items:center;margin:0 0 8px;font-size:13px;display:flex}.kanban-column .count{background:#ffffff14;border-radius:10px;padding:1px 8px;font-size:12px}.kanban-cards{flex-direction:column;gap:8px;display:flex}.kanban-card{background:var(--bg-soft);border:1px solid var(--panel-border);border-radius:10px;padding:10px}.kanban-card-title{margin:0 0 6px;font-size:13px;font-weight:600}.kanban-card-meta{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.assignee{align-items:center;gap:6px;display:inline-flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.kanban-card-actions{justify-content:space-between;align-items:center;gap:6px;display:flex}.mini-select{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);border-radius:8px;max-width:130px;padding:5px 6px;font-size:12px}.kanban-steppers{gap:4px;display:flex}.mini-btn{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:14px}.mini-btn:disabled{opacity:.3;cursor:not-allowed}.mini-btn.danger:hover{color:#ff7a7a;border-color:#ff7a7a}.empty{text-align:center;padding:12px 0}.agent-pick-list{flex-direction:column;gap:6px;max-height:220px;display:flex;overflow-y:auto}.agent-pick{border:1px solid var(--panel-border);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.agent-pick:hover{background:#ffffff0a}.meeting-active h3,.meeting-new h3{margin:0 0 4px;font-size:15px}.meeting-new{flex-direction:column;gap:10px;display:flex}.transcript{background:var(--bg);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:10px;max-height:45vh;margin-bottom:10px;padding:10px;display:flex;overflow-y:auto}.a2a-msg p{margin:0;font-size:13px;line-height:1.45}.minutes{border:1px dashed var(--panel-border);background:#ffffff08;border-radius:8px;padding:8px}.minutes pre{white-space:pre-wrap;margin:6px 0 0;font-family:inherit;font-size:12px}.meeting-archive{border-top:1px solid var(--panel-border);padding-top:10px}.meeting-archived-item{margin-bottom:8px;font-size:13px}.meeting-archived-item summary{cursor:pointer}.link-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-left:8px;font-size:12px;text-decoration:underline}.admin-gate{background:radial-gradient(1200px 700px at 70% 20%, #101a30 0%, var(--bg) 60%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;overflow-y:auto}.admin-gate-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;flex-direction:column;gap:14px;width:min(520px,100%);padding:28px;display:flex}.admin-gate-card h1{margin:0;font-size:20px}.admin-gate-card ol{color:var(--muted);flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:13px;display:flex}.admin-gate-card code{background:var(--bg-soft);border-radius:6px;padding:1px 6px;font-size:12px}.admin-shell{background:radial-gradient(1200px 700px at 70% 20%, #101a30 0%, var(--bg) 60%);min-height:100vh;display:flex}.admin-sidebar{background:var(--panel);border-right:1px solid var(--panel-border);flex-direction:column;gap:12px;width:240px;min-width:240px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.admin-brand h1{margin:0;font-size:16px}.admin-brand p{color:var(--muted);margin:2px 0 0;font-size:12px}.admin-sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex}.admin-nav-item{text-align:left;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:9px 12px;font-size:13.5px;font-weight:600}.admin-nav-item:hover{background:var(--bg-soft);color:var(--text)}.admin-nav-item.active{background:var(--bg-soft);color:var(--accent)}.admin-sidebar-foot{flex-direction:column;gap:8px;display:flex}.admin-main{flex:1;min-width:0;padding:24px;overflow-y:auto}.admin-page{flex-direction:column;gap:16px;max-width:1100px;display:flex}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-page-header h2{margin:0;font-size:22px}.admin-page-header p{margin:4px 0 0;font-size:13px}.admin-page-actions{gap:8px;display:flex}.admin-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:18px}.admin-panel h3{margin:0 0 12px;font-size:15px}.admin-panel h4{margin:16px 0 8px;font-size:13px}.admin-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.admin-cards .stat-card .v{font-size:24px}.admin-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-grid-3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.admin-row-gap{margin-bottom:10px}.admin-grid-ws{grid-template-columns:1.4fr .7fr .7fr .7fr 1.2fr .6fr .5fr;align-items:center;gap:8px;display:grid}.admin-ws-head{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:11px}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);border-bottom:1px solid var(--panel-border);padding:8px 10px;font-size:11px}.admin-table td{border-bottom:1px solid var(--panel-border);vertical-align:top;padding:10px}.admin-table tr.archived td{opacity:.55}.admin-row-actions{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.admin-form{flex-direction:column;gap:14px;display:flex}.admin-form h3{margin:8px 0 0;font-size:15px}.admin-form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.admin-page .field input[type=text],.admin-page .field input[type=password],.admin-page .field input[type=number],.admin-gate-card .field input[type=text],.admin-gate-card .field input[type=password],.admin-page .field select,.admin-page .field textarea,.admin-panel input[type=text],.admin-panel input[type=number],.admin-panel select,.admin-panel textarea{border:1px solid var(--panel-border);background:var(--bg);color:var(--text);border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:13px}.admin-page .field input:focus,.admin-gate-card .field input:focus,.admin-page .field select:focus,.admin-page .field textarea:focus,.admin-panel input:focus,.admin-panel select:focus,.admin-panel textarea:focus{border-color:var(--accent-dim)}.admin-page .field input:disabled,.admin-panel input:disabled{opacity:.55;cursor:not-allowed}.admin-page .field input[type=color],.admin-panel input[type=color]{border:1px solid var(--panel-border);background:var(--bg);cursor:pointer;border-radius:8px;width:48px;height:36px;padding:2px}.admin-page .field input[type=checkbox],.admin-panel input[type=checkbox]{width:auto;accent-color:var(--accent-dim)}.checkbox-row{align-items:center;gap:8px;margin:8px 0;font-size:13px;display:flex}.checkbox-row input{accent-color:var(--accent-dim)}.admin-checklist{border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;gap:2px;max-height:220px;padding:8px 10px;display:flex;overflow-y:auto}.admin-checklist .checkbox-row{margin:4px 0}.admin-btn-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.admin-quick-links{flex-wrap:wrap;gap:8px;display:flex}.admin-activity-list{flex-direction:column;gap:8px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.admin-json{background:var(--bg);border:1px solid var(--panel-border);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:8px 0 0;padding:10px 12px;font-size:11.5px;overflow-x:auto}.order-brief{background:var(--bg);border:1px solid var(--panel-border);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.6}.warn-text{color:var(--warn);background:#f59e0b14;border:1px solid #f59e0b59;border-radius:8px;padding:10px 12px;font-size:13px}.char-editor{grid-template-columns:280px 1fr;gap:16px;display:grid}.char-editor-preview{flex-direction:column;gap:8px;display:flex}.admin-char-preview{border:1px solid var(--panel-border);background:var(--bg);border-radius:12px;height:300px;overflow:hidden}.char-editor-form{flex-direction:column;gap:10px;display:flex}.color-input{align-items:center;gap:10px;display:inline-flex}.color-input code{color:var(--muted);font-size:12px}.admin-portfolio-item{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.admin-brand-preview{background:var(--bg);border:1px solid var(--panel-border);border-radius:12px;padding:20px}.admin-brand-preview h2{margin:8px 0 4px;font-size:20px}.admin-brand-logo{max-width:200px;max-height:64px}.admin-swatch-row{gap:8px;margin-top:12px;display:flex}.admin-swatch{border:1px solid var(--panel-border);border-radius:10px;width:40px;height:40px}.admin-toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.admin-toast{background:var(--bg-soft);border:1px solid var(--panel-border);border-radius:10px;padding:10px 14px;font-size:13px;box-shadow:0 8px 24px #0006}.admin-toast.ok{border-color:var(--ok)}.admin-toast.err{border-color:var(--danger)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.pill-ok{color:var(--ok)}.pill-warn{color:var(--warn)}.pill-bad{color:var(--danger)}.pill-info{color:var(--accent)}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.small{font-size:11.5px}@media (width<=900px){.admin-grid-2,.char-editor{grid-template-columns:1fr}.admin-sidebar{width:190px;min-width:190px}}
