:root{color:#18232d;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f5f8;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{color:#fff;cursor:pointer;background:#176b59;border:0;border-radius:10px;padding:10px 14px;font-weight:700;transition:filter .15s,transform .15s}button:hover{filter:brightness(1.06)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:wait}.secondary{color:#17594c;background:#e8f0ee}.danger{color:#fff;background:#b53b45}input{color:#18232d;background:#fff;border:1px solid #d5dee4;border-radius:9px;outline:none;width:100%;padding:10px 12px}input:focus{border-color:#3d9782;box-shadow:0 0 0 3px #3d978222}label{color:#485862;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.login-shell{background:radial-gradient(at top,#d7ede5,#f3f6f9 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:#fff;border:1px solid #e1e8ec;border-radius:22px;box-shadow:0 24px 80px #183d3214}.login-card{width:min(430px,100%);padding:36px}.login-card h1{margin:18px 0 4px;font-family:Manrope,sans-serif;font-size:34px}.login-card>p{color:#687984;margin:0 0 28px}.login-card small{color:#788790;text-align:center;margin-top:18px;display:block}.brand-mark{color:#fff;background:#176b59;border-radius:15px;place-items:center;width:48px;height:48px;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;display:grid;box-shadow:0 6px 14px #176b5935}.brand-mark.small{border-radius:11px;width:34px;height:34px;font-size:18px}.stack{flex-direction:column;gap:16px;display:flex}.stack.compact{gap:10px;margin-top:12px}.error{color:#b42335;font-size:13px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:#fff;border-bottom:1px solid #e0e7eb;justify-content:space-between;align-items:center;gap:15px;padding:13px 23px;display:flex}.brand,.current-user{align-items:center;gap:12px;display:flex}.brand strong{font-family:Manrope,sans-serif;font-size:19px}.environment-badge{letter-spacing:.07em;text-transform:uppercase;color:#875b05;background:#fff2d5;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:800}.current-user{color:#52626d;font-size:13px}.workspace{flex:1;grid-template-columns:minmax(235px,290px) minmax(360px,1fr) minmax(240px,320px);gap:14px;min-height:0;padding:15px;display:grid}.sidebar,.chat-panel,.call-panel{background:#fff;border:1px solid #e1e7eb;border-radius:16px;min-height:calc(100vh - 130px);overflow:hidden}.sidebar{padding:18px 12px;overflow-y:auto}.sidebar h2,.call-panel h2{text-transform:uppercase;letter-spacing:.06em;color:#71818b;margin:10px 8px 12px;font-family:Manrope,sans-serif;font-size:14px}.sidebar h2:not(:first-child){margin-top:25px}.list{flex-direction:column;gap:4px;display:flex}.list-item,.user-item{color:#263740;text-align:left;background:0 0;border-radius:11px;align-items:center;gap:9px;width:100%;padding:9px;display:flex}.list-item:hover,.list-item.selected{background:#edf5f2}.avatar{color:#176b59;background:#d9ece6;border-radius:12px;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.list-item>span:last-child,.user-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.list-item strong,.user-item strong{font-size:12px}.list-item small,.user-item small{color:#81919a;text-overflow:ellipsis;white-space:nowrap;max-width:155px;font-size:11px;overflow:hidden}.user-item{padding:8px 5px}.user-meta{flex:1}.user-actions{gap:3px;display:flex}.user-actions button{border-radius:7px;padding:6px 7px;font-size:11px}.admin-panel{background:#f6faf8;border:1px solid #e1ece7;border-radius:12px;margin:0 4px 24px;padding:10px}.admin-panel summary{cursor:pointer;color:#236554;font-size:12px;font-weight:800}.chat-panel{flex-direction:column;display:flex}.chat-header{border-bottom:1px solid #e7ecef;justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;display:flex}.chat-header h2{margin:0 0 4px;font-family:Manrope,sans-serif;font-size:17px}.chat-header small{color:#81919a}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.message-list{background:linear-gradient(#fafcfd,#f8fafb);flex-direction:column;flex:1;gap:12px;min-height:250px;padding:20px;display:flex;overflow-y:auto}.message{background:#fff;border:1px solid #e2e9ed;border-radius:4px 15px 15px;align-self:flex-start;max-width:78%;padding:10px 12px;box-shadow:0 3px 9px #1e3c4b05}.message.mine{background:#e7f4ed;border-color:#d7e9e0;border-radius:15px 4px 15px 15px;align-self:flex-end}.message strong{color:#326e5e;font-size:11px}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:14px}.message time{text-align:right;color:#7f8f97;font-size:10px;display:block}.message-form{border-top:1px solid #e7ecef;gap:10px;padding:14px;display:flex}.empty-state{text-align:center;color:#73848e;max-width:350px;margin:auto;padding:40px}.empty-state span{color:#3f927d;font-size:46px}.empty-state h2{color:#20333d;font-family:Manrope,sans-serif}.call-panel{flex-direction:column;padding:17px 14px;display:flex}.call-status{text-align:center;padding:14px 5px 18px}.pulse{background:#2caa7b;border-radius:50%;width:12px;height:12px;margin:0 auto 12px;display:block;box-shadow:0 0 0 7px #2caa7b1c}.call-status strong{font-family:Manrope,sans-serif;font-size:18px}.call-status p{color:#2e8a6b;margin:7px;font-size:13px}.call-status small{color:#9aa7ae;font-size:10px}.remote-media{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:5px;min-height:100px;display:flex}.remote-video{object-fit:cover;background:#102c26;border-radius:12px;width:100%;max-height:270px}.call-controls{justify-content:center;padding:14px 0}.call-empty{color:#90a0a8;flex:1;align-content:center;justify-items:center;display:grid}.call-empty span{color:#a9c6bd;font-size:43px}.call-empty p{font-size:13px}.notice{border-radius:10px;margin:10px 15px;padding:11px 13px;font-size:12px}.muted{color:#61717a;background:#f6f8f9;margin:18px 0 0;line-height:1.5}.muted p{margin:6px 0 0}.warning{color:#7f5a0a;background:#fff5df}.error-notice{color:#a62232;background:#fff0f0;justify-content:space-between;align-items:center;display:flex}.notice-close{color:inherit;background:0 0;padding:0 6px;font-size:18px}.incoming-call{z-index:5;background:#fff;border:1px solid #d7e7df;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:min(390px,100% - 40px);padding:20px;display:flex;position:fixed;top:75px;right:20px;box-shadow:0 20px 60px #112d2630}.incoming-call strong{font-family:Manrope,sans-serif}.incoming-call p{color:#7b8b93;margin:7px 0 0;font-size:12px}footer{text-align:center;color:#94a1a8;padding:11px;font-size:10px}@media (width<=1050px){.workspace{grid-template-columns:240px minmax(300px,1fr)}.call-panel{grid-column:1/-1;min-height:230px}.call-panel .remote-media{min-height:50px}.sidebar,.chat-panel{min-height:calc(100vh - 135px)}}@media (width<=700px){.topbar{padding:10px 12px}.current-user{gap:6px;font-size:11px}.workspace{flex-direction:column;padding:8px;display:flex}.sidebar{min-height:240px;max-height:38vh}.chat-panel{min-height:55vh}.call-panel{min-height:220px}.chat-header{padding:12px}.chat-header .row button{padding:8px;font-size:11px}.message{max-width:92%}.incoming-call{flex-direction:column;align-items:stretch;width:calc(100% - 16px);top:65px;right:8px}.login-card{padding:27px}}.password-change{background:#fff7e5;border:1px solid #f0dfb9;border-radius:12px;margin:12px 15px 0;padding:14px}.password-change p{color:#76613b;margin:5px 0 12px;font-size:12px}.password-change input{flex:1;min-width:180px}.message-form input:not([type=file]){flex:1;min-width:0}.file-input-hidden{display:none!important}.attach-button{white-space:nowrap;flex-shrink:0}.attachment-card{flex-direction:column;gap:8px;min-width:0;max-width:min(360px,100%);margin:8px 0 4px;display:flex}.attachment-image{object-fit:contain;background:#f5f8f7;border:1px solid #dce6e2;border-radius:10px;width:auto;max-width:100%;max-height:260px;display:block}.attachment-player{width:min(320px,100%);max-width:100%;margin:3px 0;display:block}.attachment-meta{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:4px;font-size:12px;display:grid}.attachment-name{color:#273b43;font-weight:700}.attachment-meta small{color:#7e8d95;font-size:10px}.attachment-meta a{color:#176b59;overflow-wrap:anywhere;width:max-content;max-width:100%;font-size:12px;font-weight:800;text-decoration:underline}.attachment-icon{font-size:30px;line-height:1.2}@media (width<=700px){.message-form{gap:6px;padding:10px}.message-form button{padding:9px 10px;font-size:12px}.attachment-player{width:100%}}
