:root{color:#e5e7eb;background:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.login{background:radial-gradient(circle at top,#1f2937,#020617 68%);place-items:center;min-height:100vh;display:grid}.loginPanel{background:#0f172a;border:1px solid #374151;border-radius:8px;gap:16px;width:min(420px,100vw - 32px);padding:28px;display:grid}.loginPanel h1{margin:0;font-size:34px}.loginLogo{border-radius:18px;width:88px;height:88px}.loginPanel label{color:#9ca3af;gap:8px;display:grid}.loginPanel input{color:#f8fafc;background:#020617;border:1px solid #334155;border-radius:6px;height:46px;padding:0 12px}.loginError{color:#fecaca;background:#7f1d1d59;border:1px solid #991b1b;border-radius:6px;padding:10px 12px}.loginPanel button,.user button,.channel{color:#f8fafc;cursor:pointer;background:#1f2937;border:1px solid #334155;border-radius:6px;min-height:44px}.loginPanel button{background:#2563eb;border-color:#2563eb}.console{background:#0b1120;min-height:100vh;padding:24px}header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}header h1{margin:0;font-size:30px}.brandTitle{align-items:center;gap:14px;display:flex}.brandTitle img{border-radius:12px;width:58px;height:58px}header p{color:#94a3b8;margin:4px 0 0}.status{color:#86efac;align-items:center;gap:8px;display:inline-flex}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.topStatus{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;gap:12px;margin-bottom:18px;display:grid}.topStatus div,.dangerBtn,.mapBtn{color:#f8fafc;background:#111827;border:1px solid #263241;border-radius:8px;min-height:54px;padding:10px 14px}.topStatus strong,.topStatus span{display:block}.topStatus span{color:#94a3b8;margin-top:4px}.dangerBtn{cursor:pointer;background:#450a0a;border-color:#7f1d1d;align-items:center;gap:8px;display:inline-flex}.mapBtn{cursor:pointer;background:#172554;border-color:#1d4ed8;align-items:center;gap:8px;display:inline-flex}.channel{border-width:2px;align-items:center;gap:10px;padding:0 16px;display:inline-flex}.channel span{border-radius:99px;width:12px;height:12px}.speakingDot.active{box-shadow:0 0 0 4px #22c55e2e,0 0 14px #22c55ed9}.speakingInlineDot{background:#22c55e;border-radius:99px;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 12px #22c55ecc}.channel.active{background:#334155}.channel.manage{border-style:dashed}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.panel{background:#111827;border:1px solid #1f2937;border-radius:8px;padding:18px}.panel.wide{grid-column:1/-1}.mapLayout{grid-template-columns:minmax(320px,.34fr) minmax(0,1fr);gap:16px;display:grid}.mapPanel{background:#111827;border:1px solid #1f2937;border-radius:8px;min-height:calc(100vh - 148px);overflow:hidden}.mapCanvas{width:100%;height:calc(100vh - 148px)}.mapPlaceholder{color:#94a3b8;place-items:center;min-height:calc(100vh - 148px);display:grid}.mapUserRow{background:#0b1120;border:1px solid #263241;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.mapUserRow small{color:#94a3b8;margin-top:4px;display:block}.mapUserRow button{color:#f8fafc;cursor:pointer;background:#1f2937;border:1px solid #334155;border-radius:6px;min-height:38px;padding:0 12px}.panel h2{align-items:center;gap:8px;margin:0 0 14px;font-size:18px;display:flex}.userList,.events{gap:10px;display:grid}.userRoute{background:#0b1120;border:1px solid #263241;border-radius:8px;gap:12px;padding:12px;display:grid}.userRouteHeader{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.userRoute small{color:#94a3b8;margin-top:4px;display:block}.userRoute button{color:#f8fafc;cursor:pointer;background:#1f2937;border:1px solid #334155;border-radius:6px;place-items:center;width:44px;min-height:44px;display:grid}.userActions{gap:8px;display:flex}.routeMatrix{grid-template-columns:minmax(54px,1fr) repeat(3,minmax(64px,.7fr));align-items:center;gap:8px;display:grid}.routeMatrix span{color:#94a3b8;justify-content:center;align-items:center;gap:5px;font-size:13px;display:inline-flex}.routeMatrix strong{color:#f8fafc}.routeMatrix label{background:#111827;border:1px solid #1f2937;border-radius:6px;place-items:center;min-height:34px;display:grid}.routeMatrix input{accent-color:#22c55e;width:18px;height:18px}.webCall{gap:10px;display:grid}.webCall small{color:#94a3b8}.webNameField{color:#cbd5e1;gap:6px;font-size:13px;display:grid}.webNameField input{color:#f8fafc;background:#020617;border:1px solid #334155;border-radius:6px;min-height:40px;padding:0 10px}.webCallButtons{flex-wrap:wrap;gap:10px;display:flex}.webCallButtons button{color:#f8fafc;cursor:pointer;background:#1f2937;border:1px solid #334155;border-radius:6px;min-height:42px;padding:0 14px}.accountList{gap:10px;display:grid}.accountRow{background:#0b1120;border:1px solid #263241;border-radius:8px;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;align-items:center;gap:10px;padding:10px;display:grid}.tableHead{color:#94a3b8;background:#111827;min-height:34px;font-size:13px;font-weight:700}.tableHead span{padding:0 10px}.confirmModal{background:#111827;border:1px solid #7f1d1d;border-radius:8px;width:min(480px,100%);padding:22px}.confirmModal h2{margin:0 0 10px}.confirmModal p{color:#cbd5e1;line-height:1.6}.dangerInline{background:#7f1d1d!important;border-color:#7f1d1d!important}.webTerminalBadge{color:#cbd5e1;background:#111827;border:1px solid #334155;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:0 10px;display:inline-flex}.webTerminalNote{color:#94a3b8;background:#0b1120;border:1px solid #263241;border-radius:6px;padding:12px}.accountRow small{color:#94a3b8;display:block}.accountRow input{color:#f8fafc;background:#020617;border:1px solid #334155;border-radius:6px;min-height:40px;padding:0 10px}.accountRow button{color:#f8fafc;cursor:pointer;background:#1f2937;border:1px solid #334155;border-radius:6px;min-height:40px;padding:0 12px}.channelEdit{background:#0b1120;border:1px solid #263241;border-radius:8px;grid-template-columns:.6fr 1fr 1fr .45fr auto auto;align-items:center;gap:10px;padding:10px;display:grid}.channelEdit input{color:#f8fafc;background:#020617;border:1px solid #334155;border-radius:6px;min-height:40px;padding:0 10px}.channelEdit button{color:#f8fafc;cursor:pointer;background:#1f2937;border:1px solid #334155;border-radius:6px;min-height:40px;padding:0 12px}.modalBackdrop{z-index:10;background:#000000ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#111827;border:1px solid #334155;border-radius:8px;width:min(980px,100%);max-height:min(760px,100vh - 48px);padding:20px;overflow:auto}.modal h2{margin:0 0 16px}footer{color:#64748b;text-align:center;justify-content:center;gap:14px;margin-top:22px;display:flex}footer a{color:#f97316;text-decoration:none}.empty,.meter{color:#94a3b8}.meter{border-left:4px solid #64748b;align-items:center;min-height:44px;padding-left:12px;display:flex}.meter.green{border-color:#22c55e}.meter.yellow{border-color:#eab308}.meter.red{border-color:#ef4444}.meter.gray{border-color:#64748b}pre{color:#cbd5e1;background:#020617;border-radius:6px;margin:0;padding:12px;overflow:auto}@media (width<=760px){.console{padding:14px}header{flex-direction:column;align-items:flex-start}.grid,.topStatus,.mapLayout,.accountRow,.channelEdit{grid-template-columns:1fr}}
