:root{--navy:#101b2d;--navy2:#18283e;--blue:#2563eb;--blue2:#1d4ed8;--soft:#eaf2ff;--line:#e5ebf2;--text:#172033;--muted:#687892;--green:#16a66a;--danger:#d7354b}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{margin:0;background:#e9eef5;color:var(--text);font-family:Inter,system-ui,sans-serif}button,input,textarea{font:inherit}.shell{display:grid;grid-template-columns:268px 330px minmax(0,1fr);height:100vh;max-width:1540px;margin:auto;background:#fff;box-shadow:0 8px 42px #1e293b1c}.rail{min-height:0;overflow:auto;padding:27px 18px 18px;color:#eaf1fb;background:linear-gradient(160deg,#0c1626,#18283e 70%,#101b2d);display:flex;flex-direction:column}.brand{height:54px;display:flex;align-items:center}.rail .brand{background:transparent}.conexa-logo{width:210px;height:50px;object-fit:contain;object-position:left}.rail>p{margin:10px 10px 32px;color:#9fb0c7;font-size:12px}.rail nav{display:grid;gap:7px}.rail nav button{display:flex;align-items:center;gap:14px;padding:13px 14px;border:0;border-radius:10px;background:transparent;color:#d8e2f0;text-align:left;font-size:15px}.rail nav button svg{width:19px}.rail nav button:hover{background:#223954;color:#fff}.rail nav .on{background:#2454a0;box-shadow:inset 0 0 0 1px #4f82d3;color:#fff}.emergency-nav{margin-top:12px!important;border:1px solid #8f3544!important;background:#3b1b28!important;color:#ffcad0!important}.profile{margin-top:auto;padding:14px;border:1px solid #2a405d;border-radius:13px;background:#172b45}.profile>i,.profile small i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#22c579}.profile>small{margin-left:7px;color:#dce7f4;font-size:12px}.profile>div{display:flex;gap:10px;align-items:center;margin-top:12px}.profile span{display:grid;gap:3px;flex:1}.profile span b{font-size:13px}.profile span small{color:#9fb0c7;font-size:11px}.profile svg{width:18px;cursor:pointer}.avatar{display:grid;place-items:center;flex:none;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#d4e2fb,#99afe8);color:#1d3659;font-size:11px;font-weight:700}.avatar img{width:100%;height:100%;object-fit:cover}.list{min-height:0;overflow:auto;border-right:1px solid var(--line);background:#fff}.list header{height:104px;padding:27px 18px 18px;border-bottom:1px solid var(--line)}.list h1{margin:0;font-size:20px}.list header p{margin:6px 0;color:var(--muted);font-size:12px}.list h4{display:flex;justify-content:space-between;margin:25px 19px 12px;font-size:11px}.list h4 svg{width:17px}.list>button{display:flex;gap:12px;align-items:center;width:calc(100% - 20px);margin:3px 10px;padding:10px 11px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left}.list>button:hover{background:#f4f7fb}.list>button.selected{background:var(--soft);box-shadow:inset 3px 0 var(--blue)}.list button div:nth-child(2){display:grid;gap:4px;flex:1;min-width:0}.list button b{font-size:13px}.list small{color:var(--muted);font-size:11px;line-height:1.35}.list small i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#a1acbc}.list small i.live{background:#22c579}.list em{min-width:20px;margin-left:auto;padding:3px 7px;border-radius:12px;background:var(--blue);box-shadow:0 2px 7px #2563eb55;color:#fff;font-size:10px;font-style:normal;text-align:center}.chan{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;background:#eaf2ff;color:var(--blue)}.chan.green{background:#e9f9f1;color:var(--green)}.chan svg{width:20px}.search{display:flex;gap:8px;align-items:center;margin:0 18px 10px;padding:10px 11px;border:1px solid #dce3ed;border-radius:9px}.search svg{width:16px;color:#60708a}.search input{width:100%;border:0;outline:0;color:#26344a;font-size:13px}.chat{display:flex;flex-direction:column;min-width:0;min-height:0;height:100vh;overflow:hidden;background:#fbfcfe}.chat>header,.admin>header{display:flex;gap:14px;align-items:center;flex:0 0 104px;height:104px;padding:20px 28px;border-bottom:1px solid var(--line);background:#fff}.chat h2,.chat p{margin:0}.chat h2{font-size:19px}.chat header p{margin-top:4px;color:var(--muted);font-size:12px}.back{display:none}.messages{flex:1;min-height:0;overflow:auto;padding:25px clamp(22px,4vw,58px);scrollbar-color:#b5c0cf transparent;scrollbar-width:thin}.messages-loading,.emptyview{display:grid;place-items:center;height:100%;color:var(--muted);font-size:13px}.messages article{display:flex;gap:12px;max-width:760px;margin:0 0 24px}.messages article.mine{margin-left:auto}.messages article>div{min-width:0}.meta{display:flex;gap:10px;align-items:center}.meta b{color:#187249;font-size:12px}.mine .meta b{color:#2357b8}.meta time{color:#7b879a;font-size:11px}.messages p{margin:7px 0;font-size:13px;line-height:1.55}.quoted{display:grid;margin-top:8px;padding:8px;border-left:3px solid var(--blue);background:#edf4ff;color:#52617a;font-size:11px;text-decoration:none}.attachment{display:flex;gap:12px;align-items:center;max-width:470px;padding:11px;border:1px solid #e0e6ee;border-radius:11px;color:inherit;text-decoration:none}.attachment img{display:block;max-width:360px;max-height:270px;border-radius:8px}.attachment span{display:grid;gap:4px;flex:1}.attachment small{color:var(--muted);font-size:11px}.audio{display:block;width:min(420px,70vw);margin:9px 0}.reactions{display:flex;gap:4px;align-items:center;min-height:25px}.reactions button,.msgtools button{position:relative;padding:3px 7px;border:1px solid #dfe6ef;border-radius:12px;background:#fff;font-size:11px;cursor:pointer}.msgtools{display:inline-flex;gap:3px;opacity:0}.messages article:hover .msgtools{opacity:1}.msgtools svg,.reactions>svg{width:13px;height:13px}.chat footer{flex:0 0 auto;margin:0 28px 18px;padding:12px 14px;border:1px solid #dce4ee;border-radius:13px;background:#fff;box-shadow:0 5px 14px #33415508}.chat textarea{width:100%;height:40px;border:0;outline:0;resize:none;color:#1f2b3d;font-size:13px}.chat footer>div{display:flex;gap:15px;align-items:center}.chat footer button{display:flex;gap:6px;align-items:center;border:0;background:transparent;color:#64748b;font-size:12px;cursor:pointer}.chat footer svg{width:17px}.chat footer .send{margin-left:auto;padding:10px;border-radius:9px;background:var(--blue);color:#fff}.replying{margin:-4px -5px 9px;padding:7px!important;border-radius:7px;background:#f1f5fb;font-size:11px}.replying svg:last-child{margin-left:auto;cursor:pointer}.recording{color:var(--danger)!important;font-weight:700}.login,.loading{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 70% 15%,#2454a0,#101b2d 58%)}.login form{width:min(420px,90vw);padding:37px;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0005}.login-brand{display:flex;align-items:center;height:48px}.login-brand img{width:220px;height:48px;object-fit:contain;object-position:left}.login h1{margin:32px 0 4px;font-size:28px}.login p{color:var(--muted)}.login label{display:grid;gap:7px;margin:18px 0;font-size:12px;font-weight:700}.login input{padding:12px;border:1px solid #d9e1eb;border-radius:8px}.login form>button,.adminhead button{width:100%;padding:12px;border:0;border-radius:9px;background:var(--blue);color:#fff}.error{color:#c42e43;font-size:12px}.admin{height:100%;overflow:auto;background:#fbfcfe}.adminbody{padding:30px}.adminhead{display:flex;justify-content:space-between;align-items:center;margin:28px 0 15px}.adminhead h2{margin:0;font-size:20px}.adminhead p{color:var(--muted)}.adminhead button{display:flex;gap:7px;width:auto}.userrow{display:grid;grid-template-columns:45px 1fr 180px 90px 32px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.userrow div:nth-child(2){display:grid;gap:3px}.userrow small{color:var(--muted)}.userrow em{padding:5px;border-radius:12px;background:#eaf2ff;color:var(--blue);font-size:10px;font-style:normal;text-align:center}.userrow button{border:0;background:none}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:28px}.managecard{display:flex;gap:10px;align-items:center;padding:13px;border:1px solid #e0e6ee;border-radius:12px;background:#fff}.managecard>i{width:12px;height:34px;border-radius:8px}.managecard>div{display:grid;gap:4px}.managecard small{color:var(--muted)}.modalback{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:#0f172ab8}.modal{width:min(480px,92vw);padding:25px;border-radius:16px;background:#fff;box-shadow:0 20px 55px #0004}.modal input,.modal select{width:100%;margin:6px 0 12px;padding:10px;border:1px solid #d8e1eb;border-radius:8px}.modalactions{display:flex;justify-content:flex-end;gap:9px}.modalactions button{padding:10px 13px;border:0;border-radius:8px;background:#eaf0f8}.modalactions button:last-child{background:var(--blue);color:#fff}.modalactions .danger{background:var(--danger)!important}.settings-view,.emergency-view{height:100%;overflow:auto;padding:42px 52px;background:#f4f7fb}.page-hero{display:flex;gap:17px;align-items:center;margin-bottom:30px}.hero-icon,.card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf2ff;color:var(--blue)}.eyebrow{margin:0 0 4px!important;color:var(--blue)!important;font-size:10px!important;font-weight:700;letter-spacing:.12em}.page-hero h2,.emergency-view h2{margin:0;font-size:27px}.page-hero p{margin:5px 0 0;color:var(--muted)}.settings-grid{display:grid;gap:13px;max-width:800px}.setting-card{display:flex;gap:15px;align-items:center;padding:19px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.setting-card>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf2ff;color:var(--blue)}.setting-card div{flex:1}.setting-card p,.setting-card small{display:block;margin:3px 0;color:var(--muted);font-size:12px}.setting-card button{padding:8px 11px;border:1px solid #dbe4ef;border-radius:8px;background:#fff;color:var(--blue)}.toggle input{display:none}.toggle i{display:block;width:38px;height:22px;border-radius:20px;background:#cbd5e1}.emergency-view{padding:0}.emergency-view>header{display:flex;gap:14px;align-items:center;padding:28px 42px;border-bottom:1px solid var(--line);background:#fff}.emergency-view>header p{margin:3px 0;color:var(--muted);font-size:12px}.emergency-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#fff0f1;color:var(--danger)}.emergency-content{display:grid;gap:17px;max-width:850px;padding:36px 42px}.security-card{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.security-card>div{display:flex;gap:15px}.security-card h3{margin:1px 0 5px}.security-card p{max-width:490px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.delete-card .card-icon{background:#fff0f1;color:var(--danger)}.primary-action,.danger-action{display:flex;gap:7px;align-items:center;padding:11px 14px;border-radius:9px;white-space:nowrap}.primary-action{border:0;background:var(--blue);color:#fff}.danger-action{border:1px solid #efc1c8;background:#fff;color:#c72f44}.critical-modal{text-align:center}.critical-icon{display:grid;place-items:center;width:47px;height:47px;margin:auto;border-radius:50%;background:#fff0f1;color:var(--danger)}.mobile-brand{display:none}@media(max-width:850px){html,body,#root{overflow:auto}.shell{display:block;min-height:100vh;height:auto;box-shadow:none}.rail{display:none}.list,.chat{height:100vh}.list{border:0}.mobile-hide{display:none!important}.list header{height:132px;padding:15px 18px;background:#17253a;border:0}.mobile-brand{display:block;height:44px;margin-bottom:8px}.mobile-brand img{width:152px;height:40px;object-fit:contain;object-position:left}.list header h1{font-size:19px;color:#fff}.list header p{margin-top:4px;color:#c7d4e5;font-size:11px}.list h4{margin:24px 16px 11px}.list>button{width:calc(100% - 24px);margin:3px 12px;padding:11px}.chat{height:100vh}.chat>header{height:72px;flex-basis:72px;padding:12px 14px}.back{display:block;border:0;background:transparent;color:#42526a}.chat h2{font-size:16px}.messages{padding:18px 14px}.chat footer{margin:0 10px 10px;padding:10px 12px}.chat footer button{font-size:0}.chat footer button svg{margin:0}.chat footer .send{margin-left:auto;font-size:0}.chat textarea{height:35px}.attachment img{max-width:65vw}.userrow{grid-template-columns:45px 1fr 30px}.userrow>span,.userrow>em{display:none}.settings-view,.emergency-view{padding:24px 18px}.emergency-view{padding:0}.emergency-view>header{padding:18px}.emergency-content{padding:22px 18px}.security-card{align-items:flex-start;flex-direction:column}.primary-action,.danger-action{width:100%;justify-content:center}.settings-grid{gap:10px}.setting-card{padding:15px}.setting-card button{display:none}}.rail .brand{height:80px}.conexa-logo{width:232px;height:64px}.rail>p{display:none}@media(max-width:850px){.list header{position:relative;height:88px;padding:16px 18px}.mobile-brand{height:56px;margin:0}.mobile-brand img{width:180px;height:52px}.list header h1,.list header p{display:none}.mobile-menu{display:grid;place-items:center;position:absolute;right:16px;top:24px;width:40px;height:40px;border:1px solid #ffffff3d;border-radius:10px;background:#ffffff14;color:#fff}.mobile-menu svg{width:22px}.mobile-nav{display:block;position:fixed;inset:0;z-index:50;padding:20px 18px;background:linear-gradient(160deg,#0c1626,#18283e 70%,#101b2d);color:#eef5ff}.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 28px;border-bottom:1px solid #ffffff24}.mobile-nav-head img{width:180px;height:52px;object-fit:contain;object-position:left}.mobile-nav-head button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff3d;border-radius:10px;background:#ffffff14;color:#fff}.mobile-nav nav{display:grid;gap:8px;padding-top:22px}.mobile-nav nav button{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border:0;border-radius:11px;background:#ffffff0d;color:#eaf1fb;text-align:left;font-size:16px}.mobile-nav nav button svg{width:20px}.mobile-nav nav .mobile-emergency{margin-top:14px;border:1px solid #a54555;background:#4b1f2d;color:#ffd7dc}}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}fieldset{border:0;padding:0;margin:0;min-width:0}.wide-view{grid-template-columns:268px minmax(0,1fr)}.back.always{display:inline-flex;border:0;background:transparent;color:var(--text)}.mobile-toolbar,.mobile-menu{display:none}.notice{padding:12px 16px;margin:10px;border-radius:9px;background:#eaf2ff;font-size:13px;line-height:1.5}.notice.error{background:#fff0f1;color:#a51d35}.notice.success{background:#e5f7ee;color:#11643d}.notice button{float:right;border:0;background:transparent;color:inherit}.table-scroll{overflow-x:auto}.management-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.management-table th,.management-table td{padding:14px 10px;border-bottom:1px solid var(--line)}.management-table small{display:block;margin-top:5px;color:var(--muted)}.management-table th{color:var(--muted);font-weight:500}.row-actions{gap:8px}.row-actions button,.history-button{padding:7px 10px;margin:3px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--blue);font-size:12px}.editable{align-items:flex-start;flex-direction:column;justify-content:space-between}.editable .row-actions{display:flex;flex-direction:row}.text-danger{color:var(--danger)!important}.filter-label{display:grid;gap:8px;max-width:450px;color:var(--muted);font-size:12px}.filter-label input,.setting-form input,.setting-card select{padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#fff}.modal{max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:20px}.modal label,.setting-form label{display:grid;gap:6px;margin:10px 0;font-size:13px}.modal p{margin:10px 0;line-height:1.5}.avatar-preview{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:8px}.setting-form{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.setting-form h3{margin:0 0 10px}.setting-form>p{color:var(--muted);font-size:13px}.setting-form button{margin:8px 8px 0 0;padding:10px 15px;border:0;border-radius:8px;background:var(--blue);color:#fff}.toggle{position:relative;flex:none;cursor:pointer}.toggle input{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;z-index:1}.toggle i:after{content:"";display:block;position:relative;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s}.toggle input:checked+i{background:var(--blue)}.toggle input:checked+i:after{transform:translate(16px)}.toggle input:focus-visible+i{outline:3px solid #60a5fa;outline-offset:2px}.logout{border:0;background:transparent;color:inherit;padding:0}.list .search{margin-top:16px}.list h4 button{padding:0;border:0;background:transparent;color:var(--muted)}.list-empty{padding:0 20px;color:var(--muted);font-size:12px}.directory-view{padding:32px 40px;overflow:auto;height:100%}.directory-view .search{margin:20px 0;max-width:500px;background:#fff}.directory-view .adminhead{margin-top:0}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.directory-card{display:flex;gap:12px;align-items:center;text-align:left;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text)}.directory-card span:nth-child(2){display:grid;gap:5px;flex:1}.directory-card small,.directory-card>span:last-child{font-size:12px;color:var(--muted)}.empty-copy{padding:20px 0;color:var(--muted);font-size:14px;line-height:1.6}.read-status{color:#2563eb}.sent-status{color:#94a3b8}.messages p{white-space:pre-wrap;overflow-wrap:anywhere}.session-notice{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:15px;background:#fff0f1;color:#a51d35;border-radius:8px;max-width:90vw}.mobile-nav{display:none}.messages .msgtools button:focus{opacity:1}.messages article:focus-within .msgtools{opacity:1}.security-card{flex-wrap:wrap}.settings-view .page-hero{align-items:center}.history-button{display:block;margin:0 auto 15px}[data-theme=dark]{--text:#e5edf8;--muted:#a6b5ca;--line:#34445a;--soft:#20385c;--blue:#60a5fa}[data-theme=dark] body,[data-theme=dark] .chat,[data-theme=dark] .admin,[data-theme=dark] .settings-view,[data-theme=dark] .directory-view,[data-theme=dark] .emergency-view{background:#101b2d}[data-theme=dark] .shell,[data-theme=dark] .list,[data-theme=dark] .chat>header,[data-theme=dark] .admin>header,[data-theme=dark] .emergency-view>header,[data-theme=dark] .modal,[data-theme=dark] .setting-form,[data-theme=dark] .setting-card,[data-theme=dark] .managecard,[data-theme=dark] .security-card,[data-theme=dark] .directory-card,[data-theme=dark] .chat footer{background:#18283e;color:var(--text)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] .search,[data-theme=dark] .directory-view .search{background:#101b2d;color:var(--text)}[data-theme=dark] .list>button:hover{background:#253953}[data-theme=dark] .row-actions button,[data-theme=dark] .setting-card button,[data-theme=dark] .reactions button,[data-theme=dark] .history-button{background:#20324a;color:#93c5fd}[data-theme=dark] .quoted,[data-theme=dark] .replying{background:#20385c;color:#d7e6fb}[data-theme=dark] .meta b{color:#78d6ad}[data-theme=dark] .mine .meta b{color:#93c5fd}[data-theme=dark] .modalactions button,[data-theme=dark] .notice{color:#172033}@media(max-width:850px){.wide-view,.mobile-nav{display:block}.mobile-toolbar{display:flex;gap:12px;align-items:center;padding:10px 14px;background:#17253a;color:#fff;flex:none}.mobile-toolbar button{padding:5px;border:0;background:transparent;color:#fff}.mobile-toolbar>span{flex:1}.mobile-menu{display:grid}.chat{height:100dvh}.chat .admin,.chat .settings-view,.chat .emergency-view{flex:1;min-height:0}.settings-view,.directory-view{padding:20px 16px}.setting-card button{display:block}.directory-view .adminhead{gap:14px;align-items:flex-start;flex-direction:column}.adminbody{padding:18px}.management-table{min-width:580px}.adminhead button{font-size:12px}.admin>header{padding:16px}.directory-grid{grid-template-columns:1fr}.mobile-logout{margin-top:24px;padding:12px;border:1px solid #ffffff40;border-radius:8px;background:transparent;color:#fff}.msgtools{opacity:1}.setting-card{flex-wrap:wrap}.settings-view .page-hero h2{font-size:23px}.modal{max-height:85dvh}.chat footer>div{gap:12px}}
