:root{font-family:Inter,system-ui,Arial,sans-serif;color-scheme:dark;--bg:#0b1020;--panel:#121a2b;--panel2:#182338;--text:#edf2ff;--muted:#93a1ba;--line:#26334b;--accent:#6d8cff;--bubble:#1c2a42}
:root.light{color-scheme:light;--bg:#f3f5fa;--panel:#fff;--panel2:#edf1f8;--text:#172033;--muted:#66738a;--line:#dce2ed;--accent:#4668e8;--bubble:#e8eefc}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input{font:inherit}button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 13px;border-radius:10px;cursor:pointer}button:hover{filter:brightness(1.12)}input{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);outline:none}label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.primary{background:var(--accent);border-color:var(--accent);color:white;font-weight:700}.danger{background:#a83245;color:#fff;border:0}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(410px,100%);background:var(--panel);padding:30px;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 80px #0004}.brand{font-size:22px;font-weight:800;letter-spacing:-.5px}.brand:first-letter{color:var(--accent)}.tabs{display:flex;gap:8px;margin:25px 0 16px}.tabs button{flex:1}.tabs .active{background:var(--accent);color:white}.auth-card form{display:grid;gap:4px}.auth-card form button{margin-top:14px}.app{height:100vh;display:grid;grid-template-columns:330px 1fr}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;min-height:0}.sidebar header,.chat-head,.modal-card header{display:flex;align-items:center;justify-content:space-between}.head-actions{display:flex;gap:6px}.me{font-size:13px;color:var(--muted);padding:18px 0 10px}.search{display:flex;align-items:center;gap:8px;background:var(--bg);padding:0 10px;border:1px solid var(--line);border-radius:12px}.search input{border:0;background:transparent}.search span{font-size:24px;color:var(--muted)}.sidebar h4{font-size:11px;letter-spacing:1.5px;color:var(--muted);margin:24px 0 8px}.chat-list{overflow:auto}.chat-item,.result{padding:12px;border-radius:12px;cursor:pointer;margin:3px 0;background:transparent}.chat-item:hover,.result:hover{background:var(--panel2)}.result{border:1px solid var(--line)}.admin-link{margin-top:auto}.conversation{min-width:0;display:flex;align-items:stretch;justify-content:center}.empty{margin:auto;text-align:center;color:var(--muted)}.empty div{font-size:64px;color:var(--accent)}.chat-view{width:100%;height:100%;display:flex;flex-direction:column}.chat-head{padding:18px 24px;border-bottom:1px solid var(--line)}.chat-head small{display:block;color:var(--muted);margin-top:4px}.call-actions{display:flex;gap:8px}.messages{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:min(70%,620px);padding:11px 14px;border-radius:15px;background:var(--bubble);align-self:flex-start;overflow-wrap:anywhere}.bubble.mine{align-self:flex-end;background:var(--accent);color:#fff}.bubble small{display:block;opacity:.75;text-align:right;margin-top:5px;font-size:10px}.composer{display:flex;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}.composer input{flex:1}.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:18px;z-index:10}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;width:min(500px,100%);max-height:90vh;overflow:auto}.modal-card.wide{width:min(1100px,100%)}.admin-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:14px}.panel{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.panel.full{grid-column:1/-1}.panel h3{margin-top:4px}.switchline{display:flex;justify-content:space-between;align-items:center;gap:10px}.switchline input{width:auto}.user-row,.admin-msg{border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.user-row button,.admin-msg button{margin:3px;font-size:11px;padding:6px}.call-card{text-align:center}.call-card video{width:100%;max-height:260px;background:#000;border-radius:12px;margin:6px 0}.call-card #localVideo{max-width:160px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#202c43;color:#fff;padding:12px 18px;border-radius:12px;z-index:30}
@media(max-width:760px){.app{grid-template-columns:115px 1fr}.sidebar{padding:10px}.sidebar .brand span,.me,.sidebar h4{display:none}.search{padding:0 5px}.search input{min-width:0;font-size:11px;padding:9px 2px}.chat-item,.result{font-size:11px;padding:8px 4px;overflow-wrap:anywhere}.head-actions{flex-direction:column}.chat-head{padding:12px}.call-actions button{font-size:11px;padding:8px 5px}.messages{padding:12px}.bubble{max-width:88%}.composer{padding:10px}.admin-grid{grid-template-columns:1fr}.panel.full{grid-column:auto}}

/* Dedicated /admin/ route: only the role-verified admin console is shown after login. */
.admin-only .app{display:none!important}
.admin-only #adminModal:not(.hidden){display:grid!important}
.admin-only .auth-card .tabs{display:none}
