:root{font-family:Inter,system-ui,-apple-system,Arial,sans-serif;color:#202328;background:#f3f4f5}*{box-sizing:border-box}body{margin:0}.shell{max-width:520px;margin:auto;min-height:100dvh;background:#f7f8f8;padding-bottom:28px}.top{background:white;box-shadow:0 2px 12px #2221;padding:16px 18px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand b{font-size:25px;letter-spacing:-1.2px}.brand b span{color:#f47920}.brand small{display:block;font-size:9px;letter-spacing:1.6px;color:#858585;font-weight:800}.mark{background:#171717;color:#f47920;border-radius:13px;font-weight:1000;font-size:24px;width:43px;height:43px;display:grid;place-items:center}.status{font-size:10px;background:#f2f2f2;color:#666;border-radius:40px;padding:8px 10px}.status.on{background:#e3f8ed;color:#157d48}.panel{background:#fff;border:1px solid #ececec;border-radius:22px;box-shadow:0 7px 22px #2220000b}.login{margin:32px 16px;padding:26px 22px;text-align:center}.symbol{font-size:40px}.login h1{margin:12px 0 6px}.login p{color:#777;font-size:13px}.login form{text-align:left;margin-top:25px}.login label{font-size:12px;display:block;font-weight:700;margin:14px 0}.login input,.send input{display:block;width:100%;border:1px solid #e4e4e4;background:#fafafa;border-radius:12px;padding:13px;font:inherit;font-size:14px;margin-top:6px;outline-color:#f47920}.login details{margin:15px 0;color:#777;font-size:12px}.primary{background:#f47920;border:0;border-radius:14px;width:100%;padding:15px;font-weight:800;color:white;font-size:15px}.fine{font-size:11px!important;color:#8b8b8b!important;line-height:1.5}.center{text-align:center;padding:0 24px}main{padding:0 16px}.roomline{display:flex;justify-content:space-between;align-items:center;margin:22px 3px}.roomline small{letter-spacing:1.5px;font-size:9px;color:#e06a14;font-weight:900}.roomline h1{font-size:24px;letter-spacing:-.5px;margin:2px 0}.roomline span{font-size:12px;color:#888}.ghost{background:#fff;border:1px solid #ececec;border-radius:12px;padding:10px 14px;font-weight:800;color:#555}.radio{padding:20px;text-align:center}.radiohead,.chathead{display:flex;align-items:center;justify-content:space-between;text-align:left}.radiohead strong,.chathead strong{display:block;font-size:16px}.radiohead small,.chathead small{font-size:11px;color:#999;display:block;margin-top:5px}.dot{border-radius:50%;background:#48bd86;width:10px;height:10px;box-shadow:0 0 0 5px #dff7e9}.dot.busy{background:#f47920;box-shadow:0 0 0 5px #ffecda}.ptt{margin:25px auto 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:192px;height:192px;background:#191919;color:white;border:8px solid #fff;box-shadow:0 0 0 2px #ededed,0 10px 28px #2223;border-radius:50%;touch-action:none;user-select:none;cursor:pointer}.ptt span{font-size:52px}.ptt b{font-size:11px;margin-top:12px;letter-spacing:.4px}.ptt.active{background:#e8701e;box-shadow:0 0 0 7px #ffe2cb,0 14px 30px #f4825650}.ptt:disabled{background:#aaa}.hint{font-size:11px;color:#999;margin:19px 0 0}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:13px 0}.actions button{border:1px solid #eee;background:#fff;border-radius:17px;min-height:68px;color:#242424;font-weight:800;font-size:13px}.actions span{display:block;font-size:22px;margin-bottom:4px}#sos{color:#bd3025;background:#fff9f8;border-color:#ffe4e0}.chat{padding:18px}.chathead>span{font-size:22px}.messages{height:270px;overflow-y:auto;margin:15px 0;display:flex;flex-direction:column;gap:10px;background:#fafafa;border-radius:14px;padding:12px}.bubble{font-size:13px;background:white;border:1px solid #eee;border-radius:12px;padding:10px;max-width:95%;align-self:flex-start;line-height:1.4;overflow-wrap:anywhere}.bubble.me{align-self:flex-end;background:#fff0e2;border-color:#f8dcc4}.bubble.sos{background:#ffede9;border-color:#f4b4a9}.bubble small{display:block;color:#a15b30;font-size:10px;font-weight:800;margin-bottom:4px}.bubble a{color:#af530c}.send{display:flex;gap:7px}.send input{margin:0;flex:1;min-width:0}.send button{width:49px;border:0;background:#f47920;border-radius:12px;color:white;font-size:22px}.people{padding:17px;margin:13px 0}.people>strong{font-size:14px}.person{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f2f2f2;padding:10px 0;font-size:12px}.person:last-child{border:0}.person button{font-size:11px;color:#a83324;border:1px solid #f3c5bc;border-radius:9px;background:white;padding:6px}.person i{font-style:normal;color:#aaa}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(460px,calc(100% - 30px));background:#222;color:white;border-radius:12px;padding:13px;text-align:center;display:none;z-index:5;font-size:12px}@media(max-width:360px){.ptt{width:165px;height:165px}}
/* Conecta 0.2: minimal extensions respecting the original ViaOn layout */
.mediaactions{display:flex;gap:7px;justify-content:space-between;margin:12px 0}.attach{border:1px solid #e8e8e8;background:#fff;border-radius:12px;padding:10px 7px;flex:1;text-align:center;font:750 11px/1.4 Inter,system-ui,sans-serif;color:#353535;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.attach span{font-size:18px;color:#e36c1f}.attach.recording{background:#fff0e2;color:#9d410a;border-color:#f3b783}.consent{display:flex;gap:9px;text-align:left;align-items:flex-start;margin:15px 0 0;padding:12px 13px;background:#fafafa;border:1px solid #eee;border-radius:13px;line-height:1.35;color:#333;font-size:11px;font-weight:750;cursor:pointer}.consent input{accent-color:#e8701e;width:16px;height:16px;flex:0 0 16px;margin:1px 0 0}.consent small{display:block;font-size:10px;color:#858585;font-weight:450;margin-top:4px}.transcript-option{margin:8px 0 12px;background:#fff}.media-preview{max-width:100%;max-height:260px;border-radius:11px;display:block;margin-top:7px;object-fit:contain}.media-video{width:min(100%,300px);max-height:260px;border-radius:11px;display:block;margin-top:7px}.media-audio{display:block;width:min(100%,275px);height:42px;margin-top:7px}.audio-tag{color:#a6511c;font-size:10px;margin:6px 0}.transcript{margin-top:8px;border-top:1px solid #e8e8e8;padding-top:7px}.transcript summary{cursor:pointer;font-size:11px;color:#aa5013;font-weight:750}.transcript p{margin:7px 0 2px;font-size:12px;line-height:1.5;color:#3c3c3c}.transcript.unavailable summary{color:#8b8b8b}.bubble{max-width:94%;min-width:85px}.bubble img{background:#f1f1f1}.time{font-size:9px;color:#999;text-align:right;margin-top:5px}.notice-time{font-size:10px;color:#a33a2d;margin-top:5px}#recordingStatus{margin:7px 0 10px;background:#fff1e3;color:#925017;border:1px solid #ffd2a4;border-radius:9px;padding:9px;font-size:12px}#recordingStatus[hidden]{display:none}button:focus-visible,.attach:focus-within{outline:3px solid #ffba7c;outline-offset:2px}.ptt:active{transform:scale(.99)}

/* ViaOn Conecta 0.2.1 - ampliação de imagens sem sair da sala */
.media-preview{cursor:zoom-in;touch-action:manipulation}
.media-preview:focus-visible{outline:3px solid #f47920;outline-offset:3px}
.image-viewer[hidden]{display:none!important}
.image-viewer{position:fixed;inset:0;z-index:1000;background:rgba(9,11,14,.94);display:flex;align-items:center;justify-content:center;padding:60px 12px 24px;overscroll-behavior:contain}
.image-viewer img{max-width:100%;max-height:calc(100dvh - 90px);width:auto;height:auto;object-fit:contain;border-radius:6px}
.image-viewer-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:14px;width:44px;height:44px;border:1px solid #fff5;border-radius:50%;background:#222;color:#fff;font-size:21px;cursor:pointer}
.viewer-open{overflow:hidden}
.media-error{font-size:12px;padding:10px;border:1px solid #f4b7a1;background:#fff5ef;color:#893c1a;border-radius:9px;margin-top:8px}

/* ViaOn Conecta 0.3 ROOT: painel claro e compacto */
.root-panel[hidden]{display:none!important}.root-panel{padding:18px;margin:14px 0 18px;border:1px solid #f2dcc7}.root-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.root-head small{color:#ba5b15;letter-spacing:1.3px;font-size:9px;font-weight:900}.root-head h2{font-size:20px;letter-spacing:-.6px;margin:6px 0}.root-head p{font-size:11px;color:#777;line-height:1.5}.root-shield{padding:7px 10px;border-radius:10px;background:#171717;color:#ff962f;font-size:12px;font-weight:900;white-space:nowrap}.root-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.root-kpis>div{padding:10px;border-radius:12px;background:#fbf7f4;text-align:center}.root-kpis strong{display:block;font-size:22px}.root-kpis small{display:block;font-size:10px;color:#7a7370}.root-label{font-size:12px;font-weight:750;color:#333;display:block;margin:14px 0 7px}.root-label select,.root-inline input,.root-section textarea{width:100%;border:1px solid #e6e4e3;border-radius:10px;background:#fff;padding:10px;font:inherit;margin-top:7px;outline-color:#f47920}.root-inline{display:flex;gap:7px;align-items:stretch;margin:8px 0}.root-inline input{min-width:0;flex:1;margin-top:0}.root-inline button{white-space:nowrap}.root-panel button{background:white;border:1px solid #e8e6e4;color:#34302d;border-radius:10px;padding:9px 11px;font-size:11px;font-weight:750;cursor:pointer}.root-panel button.root-orange{background:#f47920;color:#fff;border-color:#f47920}.root-panel button.root-danger{color:#b6382d;border-color:#f1cac6}.root-section{border-top:1px solid #eee;margin-top:14px;padding-top:12px}.root-section summary{cursor:pointer;font-weight:800;font-size:13px;color:#37332f;margin-bottom:10px}.root-list{display:flex;flex-direction:column;gap:6px;margin:7px 0;max-height:300px;overflow:auto}.root-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:9px 8px;background:#fafafa;border:1px solid #f0f0f0;border-radius:10px;flex-wrap:wrap}.root-row span{font-size:11px;line-height:1.5;overflow-wrap:anywhere;flex:1;min-width:100px}.root-row small{color:#888;font-size:10px;display:block}.root-row-actions{display:flex;gap:4px;flex-wrap:wrap}.root-row-actions button{font-size:10px;padding:6px 8px}.root-section textarea{resize:vertical;min-height:66px}.root-section form>button{margin-top:9px}
/* v0.3.1 approved layout: light, dense, accessible and chat-first */
:root{--ink:#20252d;--sub:#6a707b;--bg:#fafafa;--pane:#fff;--stroke:#e5e7eb;--orange:#f47718;--orange-soft:#fff2e7;--bubble:#fff;--bubble-own:#fff0e1;--black:#111827;font-family:Inter,'Segoe UI',system-ui,sans-serif;color:var(--ink);background:#edf0f3;font-size:13px}
body{background:#edf0f3;color:var(--ink)}
.shell{max-width:680px;background:var(--bg);min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
.top{height:66px;padding:10px 18px;box-shadow:none;border-bottom:1px solid var(--stroke);background:var(--pane)}
.brand b{font-size:21px}.brand small{font-size:9px;letter-spacing:.8px}.mark{width:37px;height:37px;border-radius:11px;font-size:22px;background:var(--orange-soft);color:var(--orange)}
.panel{border:1px solid var(--stroke);box-shadow:0 2px 10px #18181807;background:var(--pane);border-radius:16px}
.login{max-width:430px;margin:36px auto;padding:23px}.login-brand{text-align:center}.login-brand h1{font-size:29px;letter-spacing:-1.4px;margin:8px 0 4px}.login-brand h1 span{color:var(--orange)}.login-brand p{font-size:11px}.login-fox{font-size:30px;color:var(--orange)}
.auth-tabs{display:flex;gap:4px;border-radius:12px;background:#f0f1f2;margin:18px 0 4px;padding:4px}.auth-tabs button{border:0;background:transparent;border-radius:9px;padding:10px 4px;flex:1;color:#6c6c6c;font-size:12px;font-weight:800;cursor:pointer}.auth-tabs button.active{background:var(--orange);color:white}.auth-form[hidden],.permissions-modal[hidden],.legacy-login[hidden]{display:none!important}.auth-form{padding:4px 0}.auth-form label{text-align:left;font-size:11px;margin:11px 0;display:block}.auth-form input,.auth-form select{width:100%;margin-top:5px;border:1px solid var(--stroke);background:var(--pane);border-radius:10px;padding:12px;color:var(--ink);font:inherit}.auth-form .primary{margin-top:10px;font-size:13px}.link-button{border:0;color:var(--orange);background:transparent;cursor:pointer;font-size:11px;margin:10px}
.roomline{margin:10px 14px 8px}.roomline h1{font-size:18px;margin:0 0 2px}.roomline small{letter-spacing:.5px;font-size:9px}.roomline span{font-size:10px}.room-tools{display:flex;gap:6px}.room-tools button{padding:8px 10px;font-size:11px}
.chat-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 12px 8px}.chat-nav button{border:1px solid var(--stroke);border-radius:10px;background:var(--pane);color:var(--ink);min-height:37px;padding:6px 2px;font-weight:700;font-size:10px;cursor:pointer;white-space:nowrap}.chat-nav button.active{background:var(--orange);border-color:var(--orange);color:white}
.chat{margin:0 12px 8px;padding:8px 9px 9px;display:flex;flex-direction:column;min-height:min(74dvh,810px)}.chathead{padding:4px 7px}.chathead strong{font-size:12px}.chathead small{font-size:9px}.chathead>span{font-size:15px}
.messages{flex:1;height:auto;min-height:44dvh;max-height:65dvh;overflow-y:auto;margin:5px 0;padding:12px 8px;gap:7px;border-radius:12px;position:relative;background:#fcfaf7 url('/fox.svg') center 52%/min(60vw,270px) no-repeat;scrollbar-color:#d0d2d4 transparent}
.bubble{font-size:11.25px;max-width:90%;line-height:1.35;padding:8px 10px;background:var(--bubble);border-color:var(--stroke);box-shadow:0 1px 4px #00000008}.bubble small{font-size:9px;margin-bottom:3px}.bubble.me{background:var(--bubble-own);border-color:#ffd5b3}.bubble .time{font-size:8px}
.mediaactions{margin:5px 0 2px;gap:5px}.attach{padding:7px 4px;border-radius:9px;font-size:10px;background:var(--pane);border-color:var(--stroke);color:var(--ink)}.attach span{font-size:14px}
.transcript-option{margin:3px 0 6px;padding:6px 9px;border-radius:9px;font-size:10px;background:var(--pane);border-color:var(--stroke)}.transcript-option small{font-size:9px}.send input{font-size:12px;padding:10px 12px;background:var(--pane);border-color:var(--stroke)}.send button{width:42px;font-size:17px;background:var(--orange)}
.radio{margin:8px 12px;padding:10px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.radiohead{min-width:120px;flex:1}.radiohead strong{font-size:12px}.radiohead small{font-size:9px;margin-top:4px}.radio .hint{width:100%;margin:0;font-size:9px;text-align:left}.radio .consent{width:100%;margin:0;font-size:9px;padding:5px 8px}.radio .consent small{font-size:9px}.ptt{width:76px;height:76px;border:3px solid var(--pane);margin:0;box-shadow:0 0 0 2px #e7e7e7,0 3px 8px #0002;background:var(--orange);gap:2px;flex-shrink:0}.ptt span{font-size:24px}.ptt b{font-size:9px;margin:0}.ptt.active{box-shadow:0 0 0 5px #ffd4b4,0 4px 12px #f4792065}.actions{margin:0 12px 8px;grid-template-columns:repeat(2,1fr);gap:6px}.actions button{min-height:41px;border-radius:11px;font-size:11px}.actions span{display:inline;margin-right:5px;font-size:14px}.people{margin:8px 12px;padding:11px}.people>strong{font-size:12px}
/* ROOT desktop dashboard: dark sidebar + light management, as approved */
.is-admin .shell{max-width:1600px}.is-admin .top{background:#11151b;color:#fff}.is-admin .status{background:#20252d;color:#c8cad0}.is-admin main{max-width:none;padding:0 13px}.is-admin .root-panel{display:grid;grid-template-columns:205px minmax(0,1fr);padding:0;overflow:hidden;margin:4px 0 14px;background:#f7f8fa;border-radius:16px;box-shadow:0 4px 19px #10141b18}.is-admin .root-panel[hidden]{display:none}
.root-sidebar{background:#12161d;color:#f2f2f2;padding:22px 12px;display:flex;flex-direction:column;min-height:75vh;gap:16px}.root-sidebar-brand{font-size:25px;font-weight:950;letter-spacing:-1.2px;text-align:center}.root-sidebar-brand span{color:var(--orange)}.root-sidebar-brand small{font-size:12px;display:block;letter-spacing:0}.root-sidebar nav{display:flex;flex-direction:column;gap:5px}.root-sidebar nav a{color:#e1e4e7;text-decoration:none;padding:11px 9px;border-radius:10px;font-weight:700;font-size:11px}.root-sidebar nav a:first-child,.root-sidebar nav a:hover{background:var(--orange);color:white}.root-sidebar-foot{margin-top:auto;color:#aaa;text-align:center;font-size:10px}
.root-dashboard{padding:15px;min-width:0}.root-head{background:transparent}.root-head h2{font-size:23px;margin:3px 0}.root-head p{font-size:11px}.root-shield{background:#171717;color:#ff972e;font-size:11px;padding:8px}
.root-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0}.root-kpis>div{background:var(--pane);border:1px solid var(--stroke);border-radius:13px;padding:14px 7px}.root-kpis strong{font-size:25px}.root-kpis small{font-size:10px}
.root-label{font-size:11px}.root-label select{padding:11px}.root-section{padding:14px 13px;border:1px solid var(--stroke);background:var(--pane);border-radius:13px;margin:10px 0}.root-section summary{font-size:14px}.root-section[hidden]{display:none}.root-row{border:1px solid #e8eaed;background:#fafbfc;border-radius:9px;padding:8px;min-width:0}.root-row span{font-size:11px}.root-row button{font-size:10px}.root-row-actions{gap:5px}.root-inline{margin:9px 0}.root-panel button.root-orange{background:var(--orange);border-color:var(--orange)}.root-panel button.root-danger{border:1px solid #f0b2ac;color:#b52e22}.root-panel input,.root-panel textarea,.root-panel select{color:var(--ink);background:var(--pane)}.root-panel form{max-width:100%}
.permissions-modal{border:1px solid #ffd4b0;border-radius:13px;background:#fff7ef;margin:12px 0;padding:15px}.permissions-modal h3{margin:0 0 14px;font-size:14px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 10px;margin:8px 0}.permission-line{font-size:11px;display:flex;align-items:center;gap:5px;padding:7px;background:#fff;border-radius:7px}.permission-line input{accent-color:var(--orange)}
.is-admin #chatPanel,.is-admin #radioPanel,.is-admin .actions,.is-admin #peoplePanel{max-width:770px;margin-left:auto;margin-right:auto}.is-admin #chatPanel{min-height:440px}.is-admin .messages{min-height:350px;max-height:560px}
/* Night mode that actually reduces emitted light */
:root[data-theme="dark"]{--bg:#111317;--pane:#1b1e23;--stroke:#32363c;--ink:#edf0f2;--sub:#a2a7ad;--bubble:#262a30;--bubble-own:#3c2a20;--orange-soft:#342218;background:#080a0d;color:var(--ink)}
[data-theme="dark"] body{background:#080a0d;color:var(--ink)}[data-theme="dark"] .top{background:#181b20;border-color:var(--stroke)}[data-theme="dark"] .panel,[data-theme="dark"] .root-section{background:var(--pane);border-color:var(--stroke)}[data-theme="dark"] .chat-nav button,[data-theme="dark"] .ghost,[data-theme="dark"] .actions button,[data-theme="dark"] .attach,[data-theme="dark"] .consent,[data-theme="dark"] .root-kpis>div{background:var(--pane);color:var(--ink);border-color:var(--stroke)}[data-theme="dark"] .messages{background-color:#16191d;background-image:url('/fox.svg')}[data-theme="dark"] .bubble{background:var(--bubble);color:var(--ink);border-color:var(--stroke)}[data-theme="dark"] .bubble.me{background:var(--bubble-own)}[data-theme="dark"] .bubble small,[data-theme="dark"] .chathead small,[data-theme="dark"] .radiohead small,[data-theme="dark"] .roomline span{color:#adb2b9}[data-theme="dark"] .root-panel{background:#111317!important}[data-theme="dark"] .root-row,[data-theme="dark"] .permission-line{background:#24282d;color:#eee;border-color:var(--stroke)}[data-theme="dark"] .permissions-modal{background:#2b241f;border-color:#5b3a21}[data-theme="dark"] .login input,[data-theme="dark"] .auth-form input,[data-theme="dark"] .auth-form select,[data-theme="dark"] .send input,[data-theme="dark"] .root-panel input,[data-theme="dark"] .root-panel textarea,[data-theme="dark"] .root-panel select{background:#282d32;color:#f1f1f1;border-color:var(--stroke)}[data-theme="dark"] .auth-tabs{background:#25282d}[data-theme="dark"] .auth-tabs button{color:#bdc0c5}[data-theme="dark"] .auth-tabs button.active,[data-theme="dark"] .chat-nav button.active{background:#bb510e;color:#fff}
@media(max-width:750px){.root-sidebar{display:none}.is-admin .root-panel{grid-template-columns:1fr}.root-dashboard{padding:10px}.root-head h2{font-size:18px}.root-kpis strong{font-size:21px}.root-row-actions button{font-size:10px}.messages{min-height:50dvh;max-height:65dvh}.is-admin #chatPanel{min-height:50dvh}.login{margin:15px 12px}}
@media(max-width:370px){.chat-nav button{font-size:9px}.roomline h1{font-size:15px}.attach{font-size:9px}.ptt{width:70px;height:70px}.bubble{font-size:10.5px}}

/* ViaOn Conecta 0.3.2 responsive PWA, chat-first, instalável */
.header-actions{display:flex;align-items:center;gap:8px;min-width:0}
.install-app{display:inline-flex;align-items:center;gap:5px;border:1px solid #facba3;background:var(--orange-soft);color:#a74d0c;padding:9px 11px;border-radius:10px;font:750 11px/1.25 Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.install-app:disabled{opacity:.7;cursor:default}
.install-modal[hidden]{display:none!important}
.install-modal{position:fixed;inset:0;background:#0d111bd0;display:grid;place-items:center;z-index:1002;padding:16px}
.install-dialog{width:min(440px,100%);background:#fff;border-radius:24px;padding:27px 23px 22px;position:relative;color:#24242a;box-shadow:0 24px 75px #0005}
.install-dialog h2{font-size:21px;margin:9px 0}.install-dialog p{font-size:13px;line-height:1.65;color:#525963}.install-symbol{width:50px;height:50px;border-radius:16px;background:#fff2e6;color:#f47718;display:grid;place-items:center;font-size:32px}.install-close{position:absolute;right:12px;top:12px;background:#f3f4f5;border:0;width:34px;height:34px;border-radius:50%;cursor:pointer}.install-benefits{font-size:12px;line-height:2.1;color:#25282d;background:#f6f7f8;padding:12px;border-radius:14px}.install-dialog .install-note{font-size:11px;color:#717780}.install-dialog .primary{cursor:pointer}
[data-theme="dark"] .install-app{background:#2c2119;color:#ffd0aa;border-color:#634328}
[data-theme="dark"] .install-dialog{background:#1d2127;color:#fff}
[data-theme="dark"] .install-dialog p{color:#c4c9cd}
[data-theme="dark"] .install-benefits{background:#292f36;color:#e7e9ec}
[data-theme="dark"] .install-close{background:#343a41;color:#fff}
/* Desktop uses available width instead of a stretched telephone column. */
@media(min-width:960px){
 body:not(.is-admin) .shell{max-width:1340px;min-height:100dvh;box-shadow:0 4px 40px #19223112}
 body:not(.is-admin) main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px 16px;padding:0 22px 20px;align-content:start}
 body:not(.is-admin) .roomline{grid-column:1/-1;margin:20px 0 7px}
 body:not(.is-admin) .chat-nav{grid-column:1/-1;margin:0 0 2px;display:flex;gap:8px}
 body:not(.is-admin) .chat-nav button{padding:10px 24px;min-height:41px}
 body:not(.is-admin) .chat{grid-column:1;grid-row:3/span 4;margin:0;min-height:calc(100dvh - 245px);height:min(840px,calc(100dvh - 170px));padding:14px}
 body:not(.is-admin) .messages{flex:1;max-height:none;min-height:350px;background-size:260px}
 body:not(.is-admin) .radio{grid-column:2;grid-row:3;margin:0;align-self:start;flex-direction:column;justify-content:center;padding:18px}
 body:not(.is-admin) .radiohead{width:100%}
 body:not(.is-admin) .radio .consent{margin-top:2px}
 body:not(.is-admin) .ptt{height:96px;width:96px}
 body:not(.is-admin) .actions{grid-column:2;grid-row:4;margin:0}
 body:not(.is-admin) .people{grid-column:2;grid-row:5;margin:0;align-self:start}
 body:not(.is-admin) .center{grid-column:1/-1}
 body:not(.is-admin) .chathead strong{font-size:14px}
 body:not(.is-admin) .bubble{font-size:12px;max-width:78%}
 body:not(.is-admin) .mediaactions{max-width:590px}
 .is-admin .shell{max-width:1720px}
 .is-admin .root-panel{grid-template-columns:240px minmax(0,1fr)}
 .is-admin .root-dashboard{padding:18px 24px}
 .is-admin .root-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
 .is-admin .root-head h2{font-size:26px}
}
@media(max-width:650px){
 .top{padding:9px 11px;height:59px}.brand b{font-size:18px}.brand small{font-size:8px}.mark{width:33px;height:33px;font-size:18px}
 .install-app{font-size:10px;padding:7px 8px}.status{font-size:9px;padding:6px 7px}
 .roomline{margin:11px 12px 8px}.roomline h1{font-size:16px}
 .chat{min-height:calc(100dvh - 185px)}
 .messages{max-height:none;min-height:50dvh}
 .radio{margin:7px 12px}.ptt{width:75px;height:75px}
 body{overscroll-behavior-y:contain}
}
@media(max-width:380px){.header-actions{gap:5px}.install-app{font-size:9px;padding:6px 5px}.status{font-size:8px}.chat-nav{margin-left:9px;margin-right:9px}.chat-nav button{font-size:9px}}
/* ROOT management desktop composition: same black/orange/white visual as approved concept */
@media(min-width:1100px){
 .is-admin .root-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;row-gap:7px;align-content:start}
 .is-admin .root-head,.is-admin .root-kpis{grid-column:1/-1}
 .is-admin .root-label{grid-column:1;align-self:end;margin:3px 0}
 .is-admin .root-dashboard>.root-inline{grid-column:2;align-self:end;margin:3px 0}
 .is-admin #rootCitiesSection{grid-column:1}
 .is-admin #rootAccountsSection{grid-column:2}
 .is-admin #rootModerationSection{grid-column:1}
 .is-admin #rootSosSection{grid-column:2}
 .is-admin #rootAnnouncementsSection{grid-column:1}
 .is-admin #rootReportsSection{grid-column:2}
 .is-admin .root-dashboard>.fine:last-child{grid-column:1/-1;text-align:center}
 .is-admin .root-section{margin:4px 0}
 .is-admin .root-list{max-height:360px}
 .is-admin .root-sidebar{min-height:calc(100dvh - 95px)}
 .is-admin .root-sidebar nav a{font-size:12px;padding:13px 12px}
 .is-admin .root-section summary{font-size:14px}
 .is-admin .root-head{padding:10px 2px 2px}
 .is-admin .root-kpis>div{display:flex;flex-direction:column;align-items:center;gap:6px}
}
