@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f8f9fb;--hover: #f1f3f6;--line: #e4e7ec;--line-strong: #d0d5dd;--text: #101828;--text-2: #344054;--muted: #667085;--faint: #98a2b3;--accent: #2455d8;--accent-hover: #1d47bb;--accent-soft: #eaf0fd;--accent-text: #1a3f9e;--out: #e6edfd;--in: #ffffff;--danger: #d92d20;--danger-soft: #fef3f2;--ok: #079455;--ok-soft: #ecfdf3;--warn: #dc6803;--warn-soft: #fffaeb;--radius: 10px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .08), 0 2px 4px -2px rgba(16, 24, 40, .04);--shadow-lg: 0 20px 24px -4px rgba(16, 24, 40, .1), 0 8px 8px -4px rgba(16, 24, 40, .04);color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font:14px/1.5 Inter Variable,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}.messages,.contacts{user-select:none;-webkit-user-select:none}svg{flex-shrink:0}button{font:inherit;font-weight:500;color:var(--text-2);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-sm);transition:background .12s,border-color .12s,color .12s}button:hover:not(:disabled){background:var(--hover)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 4px #2455d826;border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--surface);border-color:#fda29b;color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft)}button.icon{background:transparent;border:none;box-shadow:none;padding:8px;color:var(--muted);border-radius:8px}button.icon:hover:not(:disabled){background:var(--hover);color:var(--text)}button.icon.active{background:var(--accent-soft);color:var(--accent)}button.block{width:100%}input,textarea,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:9px 12px;box-shadow:var(--shadow-sm);width:100%}input::placeholder,textarea::placeholder{color:var(--faint)}input:disabled{background:var(--surface-2);color:var(--muted)}a{color:var(--accent);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}.muted{color:var(--muted)}.small{font-size:12.5px}.grow{flex:1;min-width:0}.row{display:flex;gap:8px;align-items:center}.row-end{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.stack{display:flex;flex-direction:column;gap:10px}.error,.ok,.notice{display:flex;gap:8px;align-items:flex-start;font-size:13px;padding:10px 12px;border-radius:8px}.error{color:#b42318;background:var(--danger-soft);border:1px solid #fecdca}.ok{color:#067647;background:var(--ok-soft);border:1px solid #abefc6}.notice{color:#b54708;background:var(--warn-soft);border:1px solid #fedf89}.section-title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:24px 0 10px}.tag{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;vertical-align:1px}.tag.admin{color:var(--accent-text);background:var(--accent-soft)}.tag.verified{color:#067647;background:var(--ok-soft);gap:3px}.avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;flex-shrink:0;letter-spacing:0}img.avatar.photo{object-fit:cover;background:var(--hover)}.avatar-edit{position:relative;padding:0;border:none;background:none;box-shadow:none;border-radius:50%;cursor:pointer}.avatar-edit-badge{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--accent);border:2px solid var(--surface)}.avatar.sm{width:32px;height:32px;font-size:13px}.avatar.xl{width:112px;height:112px;font-size:42px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:-.01em}.logo{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#2f63ea,var(--accent-text));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.logo.lg{width:52px;height:52px;border-radius:14px}.splash,.empty,.register{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty{flex:1;background:var(--surface-2);gap:6px;padding:24px}.empty .empty-icon{width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:10px}.empty h2{margin:0;font-size:20px;font-weight:600}.empty p{margin:0;max-width:380px}.register{background:var(--bg);overflow-y:auto;padding:32px 16px;justify-content:flex-start}.card{width:400px;max-width:100%;margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:16px;text-align:left}.card .card-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:8px}.card h1{margin:8px 0 0;font-size:22px;font-weight:600;letter-spacing:-.01em}.card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-2)}.card .foot{text-align:center;margin:0}.card .trust{display:flex;gap:8px;align-items:center;justify-content:center;color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:4px}.app{display:flex;height:100%}.sidebar{width:320px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar>header{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 10px 16px}.sidebar .actions{display:flex;gap:0}.sidebar .actions button.icon{padding:7px}.add{margin:4px 12px 8px;position:relative}.add input{padding-left:36px;background:var(--surface-2);box-shadow:none}.add .add-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;list-style:none;margin:0;padding:4px;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg)}.suggest li{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;cursor:pointer;color:var(--text)}.suggest li.active{background:var(--hover)}.contacts{list-style:none;margin:0;padding:4px 8px;overflow-y:auto;flex:1}.contacts li{display:flex;gap:12px;align-items:center;padding:10px;border-radius:10px;cursor:pointer}.contacts li:hover{background:var(--hover)}.contacts li.active{background:var(--accent-soft)}.contacts .top{display:flex;align-items:baseline;gap:8px}.contacts .when{font-size:12px;color:var(--faint)}.contacts li.unread .when{color:var(--accent);font-weight:600}.name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contacts li.unread .preview{color:var(--text-2)}.badge{background:var(--accent);color:#fff;border-radius:999px;font-size:11px;font-weight:600;min-width:20px;height:20px;padding:0 6px;display:flex;align-items:center;justify-content:center}.pane-head{display:flex;align-items:center;gap:8px;padding:0 12px 8px 8px;font-weight:600;font-size:15px}.contacts li.dir-head{cursor:default;padding:12px 10px 4px;font-size:12.5px;font-weight:600;color:var(--accent);position:sticky;top:-4px;background:var(--surface);z-index:1}.contacts li.dir-head:hover,.contacts li.dir-hint:hover{background:none}.contacts li.dir-hint{cursor:default;font-size:13px;color:var(--muted);padding:4px 10px}.contacts .none{padding:32px 16px;text-align:center;color:var(--muted);font-size:13px;cursor:default;flex-direction:column}.contacts .none:hover{background:none}.me{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--line)}.me .name{font-size:13.5px}.status{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;text-transform:capitalize}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--faint)}.status.online:before{background:#17b26a}.status.connecting:before{background:#f79009}.status.offline:before{background:var(--danger)}.chat{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--surface-2)}.chat>header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line);min-height:64px}.chat>header .chat-title{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:4px 6px;margin:-4px -6px;border:none;background:none;box-shadow:none;text-align:left;border-radius:10px;cursor:pointer}.chat>header .chat-title:hover{background:var(--hover)}.chat>header .chat-title .grow{min-width:0}.member-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat>header .sub{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);min-width:0;overflow:hidden}.chat>header .actions{display:flex;gap:2px}.chat .body{flex:1;display:flex;min-height:0;position:relative}.messages{flex:1;overflow-y:auto;padding:20px 8% 12px;display:flex;flex-direction:column;gap:3px}.bubble{max-width:min(68%,560px);padding:8px 12px 6px;border-radius:14px;word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--shadow-sm);margin-top:4px}.bubble.out{align-self:flex-end;background:var(--out);border:1px solid #d3defb;border-bottom-right-radius:4px}.bubble.in{align-self:flex-start;background:var(--in);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.announce{border-left:3px solid var(--accent)}.bubble.call-entry{display:flex;align-items:center;gap:10px;min-width:240px;padding:8px 10px;white-space:normal}.call-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);background:var(--accent-soft)}.call-icon.missed{color:var(--danger);background:var(--danger-soft)}.call-title{font-weight:600;font-size:14px}.call-sub{font-size:12px;color:var(--muted)}.call-back{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;border-radius:999px;color:var(--accent-text);white-space:nowrap}.announce-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent);margin-bottom:4px}.meta{display:flex;justify-content:flex-end;align-items:center;gap:4px;font-size:11px;color:var(--faint);margin-top:2px}.tick{display:inline-flex}.tick.read{color:var(--accent)}.tick.failed{color:var(--danger)}.system{align-self:center;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:5px 12px;border-radius:999px;margin:10px 0;max-width:80%;text-align:center}.composer{display:flex;gap:8px;padding:12px 16px;align-items:flex-end;background:var(--surface);border-top:1px solid var(--line)}.composer .field{flex:1;display:flex;align-items:flex-end;gap:4px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:12px;padding:4px}.composer .field:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #2455d81f}.composer textarea{resize:none;max-height:140px;border:none;background:transparent;box-shadow:none;padding:8px 6px}.composer textarea:focus-visible{box-shadow:none}.composer .send{width:44px;height:44px;padding:0;border-radius:12px}.attach{position:relative}.attach-menu{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px;display:flex;flex-direction:column;min-width:180px;box-shadow:var(--shadow-lg);z-index:5}.attach-menu button{justify-content:flex-start;border:none;box-shadow:none;background:transparent;padding:9px 10px;color:var(--text-2)}.attach-menu button svg{color:var(--muted)}.att-image{display:block;max-width:300px;max-height:300px;border-radius:10px;cursor:zoom-in;margin:2px 0 4px}.att-card{display:flex;gap:12px;align-items:center;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:240px;margin:2px 0 4px;white-space:normal}.att-card.clickable{cursor:pointer}.att-card.clickable:hover{border-color:var(--line-strong);background:var(--surface-2)}.att-icon{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.att-icon.pdf{background:var(--danger-soft);color:#d92d20}.att-icon.warn{background:var(--warn-soft);color:var(--warn)}.att-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer{position:fixed;inset:0;background:#101828b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;display:flex;flex-direction:column}.viewer header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.viewer header .hint{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-left:auto}.att-actions{display:inline-flex;gap:2px}.viewer header .att-actions{margin-left:0}.att-image-wrap{position:relative;display:inline-block}.att-actions.compact{position:absolute;top:8px;right:8px;background:var(--surface);border-radius:8px;box-shadow:var(--shadow-md);opacity:0;transition:opacity .15s}.att-image-wrap:hover .att-actions.compact,.att-actions.compact:focus-within{opacity:1}.forward-list li.clickable{cursor:pointer;align-items:center}.forward-list li.clickable:hover{background:var(--hover)}.viewer-body{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:24px}.viewer-image{max-width:100%;max-height:calc(100vh - 110px);border-radius:8px;margin:auto;box-shadow:var(--shadow-lg)}.pdf-pages{display:flex;flex-direction:column;gap:16px;align-items:center}.pdf-page{max-width:100%;background:var(--surface);border-radius:4px;box-shadow:var(--shadow-lg)}.info{width:340px;background:var(--surface);border-left:1px solid var(--line);padding:0 20px 20px;overflow-y:auto;display:flex;flex-direction:column}.info .profile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0 4px}.info .profile .avatar{width:72px;height:72px;font-size:28px}.info .profile .name{font-size:16px}.info>button,.info .stack>button{justify-content:flex-start;margin-top:8px}.info header,.modal header{display:flex;align-items:center;justify-content:space-between;min-height:64px;font-weight:600;font-size:15px}.modal header .title{display:flex;align-items:center;gap:10px}.modal header .title-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.safety{font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:14px;line-height:1.9;letter-spacing:.06em;background:var(--surface-2);border:1px solid var(--line);padding:12px 14px;border-radius:10px;white-space:pre-wrap;margin:0 0 10px;color:var(--text-2);text-align:center}.modal-bg{position:fixed;inset:0;background:#10182873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:20;padding:24px}.modal{background:var(--surface);border-radius:14px;padding:4px 24px 24px;width:460px;max-width:100%;max-height:100%;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal.wide{width:640px}.modal textarea{resize:vertical}.modal .intro{margin:0 0 16px;color:var(--muted);font-size:13px}.account-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.feature-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.feature-list li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-2)}.feature-list li svg{color:var(--ok);margin-top:2px}.file-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px dashed var(--line-strong);border-radius:8px;cursor:pointer;color:var(--text-2);font-weight:500;min-width:0}.file-btn:hover{background:var(--hover)}.file-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share textarea{font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:13px;background:var(--surface-2)}.emp-list{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.emp-list li{display:flex;align-items:center;gap:12px;padding:12px 14px}.emp-list li+li{border-top:1px solid var(--line)}.emp-list .state{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.emp-list .dot{width:7px;height:7px;border-radius:50%;background:var(--faint)}.emp-list .dot.on{background:#17b26a}.emp-list button{padding:6px 10px;font-size:13px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:10px 16px;border-radius:10px;box-shadow:var(--shadow-lg);z-index:40;cursor:pointer;max-width:80%;font-size:13.5px;display:flex;align-items:center;gap:8px}.call{position:fixed;inset:0;z-index:25;background:#0b141a;color:#e9edef;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.call video.remote{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}.call video.local{position:absolute;right:24px;top:64px;width:220px;border-radius:12px;box-shadow:0 8px 24px #00000073;background:#1f2c33;cursor:pointer;z-index:2}.call video.mirror{transform:scaleX(-1)}.call video.hidden{display:none}.call-top{position:absolute;top:14px;left:20px;right:16px;display:flex;align-items:center;justify-content:space-between;z-index:3}.call .e2e{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#8696a0}.call-top button.icon,.call-mini button.icon{color:#e9edef;background:#ffffff1a;border:none}.call-top button.icon:hover,.call-mini button.icon:hover{background:#ffffff2e}.call-info{text-align:center;z-index:1}.call-info .name{font-size:24px;color:#e9edef}.call-info .sub,.call-mini .sub{color:#8696a0;font-size:14px;margin-top:2px}.call-info .sub.warn,.call-mini .sub.warn{color:#ffd279}.call-info .chip{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:4px 10px;border-radius:999px;font-size:12px;background:#ffffff24}.call.has-video .call-info{position:absolute;top:48px;left:50%;transform:translate(-50%);background:#0b141a99;padding:8px 18px;border-radius:14px}.call-controls{position:absolute;bottom:28px;display:flex;gap:18px;background:#1f2c33;padding:14px 22px;border-radius:999px;box-shadow:0 8px 24px #0006;z-index:3}.call-controls button.round{width:54px;height:54px;border-radius:50%;padding:0;box-shadow:none;background:#ffffff1f;border:none;color:#e9edef}.call-controls button.round:hover:not(:disabled){background:#fff3}.call-controls button.round.on{background:#e9edef;color:#0b141a}.call-controls button.round.hangup,.call-mini button.icon.hangup{background:#f15c6d;color:#fff}.call-controls button.round.accept{background:#00a884;color:#fff}.call-controls .dropdown.up{top:auto;bottom:calc(100% + 10px);left:0;right:auto}.call-mini{position:fixed;right:20px;bottom:20px;z-index:25;width:340px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#1f2c33;color:#e9edef;box-shadow:0 12px 32px #00000059}.call-mini .name{color:#e9edef}.call-mini .sub{font-size:12.5px;margin:0}.call-mini .mini-video{width:64px;height:48px;border-radius:8px;object-fit:cover;background:#000}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lockscreen{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;align-items:center;justify-content:center}.lock-card{width:380px;max-width:calc(100% - 32px);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-md);padding:36px 32px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.lock-card h1{margin:12px 0 0;font-size:20px;font-weight:600}.lock-card p{margin:0 0 16px}.lock-error{min-height:20px;font-size:13px;color:var(--danger);margin-top:8px;text-align:center}.pin{position:relative;display:flex;gap:14px;justify-content:center;padding:12px 18px;border-radius:12px;cursor:text}.pin:focus-within{background:var(--surface-2)}.pin-input{position:absolute;inset:0;opacity:0;width:100%;border:none;box-shadow:none;cursor:text}.pin-dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--line-strong);transition:background .1s}.pin-dot.on{background:var(--accent);border-color:var(--accent)}.pin.error .pin-dot{border-color:var(--danger)}.pin-modal{text-align:center}.pin-modal h3{margin:8px 0 4px;font-size:17px;font-weight:600}.field-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-2)}.avatar-wrap{position:relative;flex-shrink:0;display:flex}.presence-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#17b26a;border:2px solid var(--surface)}.group-avatar{background:var(--accent-soft);color:var(--accent)}.preview.typing,.chat>header .typing,.online-text{color:var(--ok);font-weight:500}.tag.banned{color:#b42318;background:var(--danger-soft)}.tag.dept{color:var(--text-2);background:var(--hover)}.tag.share,button.icon.on{color:#067647;background:var(--ok-soft)}.check-row{display:flex;align-items:flex-start;gap:10px;margin-top:12px;cursor:pointer;font-size:14px}.check-row input{width:auto;margin-top:3px}.dept-select{width:auto;max-width:200px}.dept-edit{margin-top:6px;align-items:flex-start}.chips.dept-picker{flex:1;margin:0}.chips.dept-picker button{display:inline-flex;align-items:center;gap:4px}.link-btn{border:none;background:none;box-shadow:none;padding:4px 6px;color:var(--accent);font-size:13px;white-space:nowrap}.link-btn:hover{background:none;text-decoration:underline}.dept-edit input{padding-top:6px;padding-bottom:6px}.member-list{list-style:none;margin:0 -8px;padding:0}.member-list li{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px}.member-list li.clickable{cursor:pointer}.member-list li.clickable:hover{background:var(--hover)}.bubble{position:relative}.bubble .sender{font-size:12px;font-weight:600;color:var(--accent-text);margin-bottom:2px}.bubble.deleted{background:var(--surface-2);box-shadow:none}.deleted-text{display:flex;align-items:center;gap:6px;font-style:italic;color:var(--muted)}.meta .edited{font-style:italic;margin-right:2px}.msg-actions{position:absolute;top:2px;display:none;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-md);z-index:2}.msg-actions.left{right:calc(100% + 6px)}.msg-actions.right{left:calc(100% + 6px)}.bubble:hover .msg-actions,.msg-actions.open{display:flex}.msg-actions button.icon{padding:6px}.msg-menu{position:absolute;top:calc(100% + 4px);right:0;display:flex;flex-direction:column;min-width:180px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:4px}.msg-actions.right .msg-menu{right:auto;left:0}.msg-menu button{justify-content:flex-start;border:none;box-shadow:none;white-space:nowrap}.danger-text{color:var(--danger)!important}.editing-bar{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--accent-text);padding:0 4px 6px 8px}.editing-bar button.icon{padding:4px}.composer-note{padding:16px;text-align:center;color:var(--muted);background:var(--surface);border-top:1px solid var(--line)}.modal.admin{width:760px;height:min(720px,100%);display:flex;flex-direction:column;overflow:hidden}.admin-body{flex:1;overflow-y:auto;padding:4px 2px;margin:0 -2px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto;scrollbar-width:thin}.tabs button{flex-shrink:0;white-space:nowrap}.tabs button{border:none;box-shadow:none;border-radius:8px 8px 0 0;background:transparent;color:var(--muted);padding:8px 12px 10px;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border-radius:12px;border-color:var(--line)}.stat-value{font-size:26px;font-weight:700;color:var(--text);line-height:1.2}.stat-label{font-size:12.5px;color:var(--muted)}.search{position:relative;display:flex;align-items:center}.search svg{position:absolute;left:11px;color:var(--faint);pointer-events:none}.search input{padding-left:34px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.chips button{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;font-size:12.5px;box-shadow:none}.chips button.active{background:var(--accent-soft);border-color:#b9cbf7;color:var(--accent-text)}.panel{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px;background:var(--surface-2)}.emp-list li.is-banned{background:#fffbfa}.emp-list li.muted{justify-content:center}.emp-list .actions{gap:0}.emp-list .actions button.icon{padding:7px}button.icon.warn:hover:not(:disabled){color:var(--warn);background:var(--warn-soft)}button.icon.danger{color:var(--muted)}button.icon.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.pick-list{max-height:320px;overflow-y:auto}.pick-list li{cursor:pointer}.pick-list li:hover{background:var(--hover)}.pick-list input[type=checkbox]{width:16px;height:16px;box-shadow:none;accent-color:var(--accent);margin:0}.audit li{align-items:flex-start;font-size:13px}.setting{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.setting .name{white-space:normal}input.switch{appearance:none;width:40px;height:22px;padding:0;border-radius:999px;background:var(--line-strong);border:none;box-shadow:none;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s}input.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .15s}input.switch:checked{background:var(--accent)}input.switch:checked:after{transform:translate(18px)}code{font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px;background:var(--surface-2);border:1px solid var(--line);padding:0 4px;border-radius:4px}.modal-bg.notice-bg{z-index:30}.notice-pop{width:520px}.notice-title{margin:4px 0 10px;font-size:18px;line-height:1.35}.notice-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-2);user-select:none;-webkit-user-select:none}.notice-pop .notice-text{max-height:50vh;overflow-y:auto;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px}.notice-meta{margin:12px 0 18px}.notice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.notice-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.notice-item .notice-text{margin-top:8px;font-size:13.5px}.notice-item-title{font-weight:600;overflow-wrap:anywhere}.read-count{padding:4px 10px;border-radius:999px;font-size:12.5px;box-shadow:none;color:var(--accent-text);background:var(--accent-soft);border-color:#b9cbf7;white-space:nowrap}.read-by{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}.read-by .section-title{margin:12px 0 6px}.notice-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 0;text-align:center}button.media-head{margin-top:16px;justify-content:flex-start;border:none;box-shadow:none;padding:8px;margin-left:-8px;margin-right:-8px;width:calc(100% + 16px);font-weight:600;color:var(--text)}.media-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}button.media-thumb{aspect-ratio:1;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface-2);color:var(--faint);box-shadow:none}.media-thumb img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none}.media-gallery{width:720px}.doc-list{list-style:none;margin:0 -8px;padding:0}.doc-list li{display:flex;align-items:flex-start;gap:12px;padding:8px;border-radius:8px;cursor:pointer}.doc-list li:hover{background:var(--hover)}.doc-caption{color:var(--text-2);margin-top:2px;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none}button.icon.dot-host{position:relative}button.icon.dot-host .dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px var(--surface)}.status-panel{width:480px}.status-list{list-style:none;margin:0 -8px;padding:0}.status-list li{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px}.status-list li.clickable{cursor:pointer}.status-list li.clickable:hover{background:var(--hover)}.status-list .name{font-weight:600}.status-ring{position:relative;width:52px;height:52px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.status-ring svg{position:absolute;inset:0}.status-ring .avatar{width:42px;height:42px}.status-stage{position:fixed;inset:0;z-index:35;background:#0a0e16eb;display:flex;align-items:center;justify-content:center;padding:20px}.status-player,.status-compose{position:relative;width:min(440px,100%);height:min(780px,100%);display:flex;flex-direction:column;color:#fff;-webkit-user-select:none;user-select:none}.status-player header,.status-compose header{display:flex;align-items:center;gap:10px;padding:8px 4px;z-index:2}.status-player header .name{font-weight:600}.status-player header .small{color:#ffffffb3}button.icon.light{color:#ffffffd9}button.icon.light:hover:not(:disabled){background:#ffffff1f;color:#fff}.status-bars{display:flex;gap:4px;padding:4px 4px 0}.status-bars span{flex:1;height:3px;border-radius:2px;background:#ffffff4d;overflow:hidden}.status-bars i{display:block;height:100%;background:var(--surface)}.status-card{flex:1;min-height:0;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden}.status-card.photo{background:#000}.status-card.photo img{max-width:100%;max-height:100%;object-fit:contain}.status-card.text textarea,.status-text{width:100%;padding:32px;background:transparent;border:none;box-shadow:none;color:#fff;font-size:26px;line-height:1.35;font-weight:500;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}.status-card.text textarea{height:60%;resize:none}.status-card.text textarea::placeholder{color:#fff9}.status-card.text textarea:focus-visible{box-shadow:none}.status-caption{padding:12px 8px 4px;text-align:center;overflow-wrap:anywhere}.status-pick{display:flex;flex-direction:column;align-items:center;gap:10px;color:#ffffffbf;cursor:pointer;padding:40px}.status-send{display:flex;gap:8px;padding-top:12px}.status-send input{background:#ffffff1a;border-color:#fff3;color:#fff}.status-send button{margin-left:auto}.status-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;border-radius:50%;border:none;background:#ffffff26;color:#fff;box-shadow:none}.status-nav:hover:not(:disabled){background:#ffffff47}.status-nav.left{left:-52px}.status-nav.right{right:-52px}.status-viewers{padding-top:10px;text-align:center}.light-btn{background:#ffffff1f;border-color:transparent;color:#fff;box-shadow:none}.light-btn:hover:not(:disabled){background:#ffffff38}.status-viewers ul{list-style:none;margin:10px 0 0;padding:8px;max-height:220px;overflow-y:auto;background:var(--surface);color:var(--text);border-radius:12px;text-align:left}.status-viewers li{display:flex;align-items:center;gap:10px;padding:6px}.poll,.event{min-width:280px;white-space:normal}.poll-q,.event-title{font-weight:600;display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}.poll ul{list-style:none;margin:8px 0 4px;padding:0;display:flex;flex-direction:column;gap:4px}button.poll-opt{width:100%;justify-content:flex-start;align-items:flex-start;gap:10px;padding:6px 4px;border:none;background:transparent;box-shadow:none;text-align:left;font-weight:400;color:var(--text)}button.poll-opt:hover:not(:disabled){background:#1018280a}.poll-check{width:18px;height:18px;margin-top:1px;flex-shrink:0;border:2px solid var(--line-strong);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff}.poll-check.square{border-radius:4px}.poll-opt.picked .poll-check{background:var(--ok);border-color:var(--ok)}.poll-bar{display:block;height:5px;margin-top:5px;border-radius:3px;background:#10182814;overflow:hidden}.poll-bar i{display:block;height:100%;background:var(--ok);transition:width .25s}.poll-votes{display:flex;flex-direction:column;gap:8px;padding:8px 4px 2px;border-top:1px solid var(--line);margin-top:4px}.poll .link-btn,.event .link-btn{padding:4px 0}.event-head{display:flex;gap:12px;align-items:flex-start}.event-head .small{display:flex;align-items:center;gap:4px;margin-top:2px}.event-date{width:46px;flex-shrink:0;border-radius:10px;overflow:hidden;text-align:center;border:1px solid var(--line);background:var(--surface)}.event-date span{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:#fff;background:var(--danger);padding:1px 0}.event-date strong{display:block;font-size:18px;padding:2px 0 4px}.event-desc{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-2)}.event-rsvp{display:flex;gap:6px;margin-top:10px}.event-rsvp button{flex:1;padding:6px 8px;font-size:13px;box-shadow:none}.event-rsvp button.active{background:var(--ok-soft);border-color:#abefc6;color:#067647}.attach-menu.more-menu{top:calc(100% + 6px);bottom:auto;left:auto;right:0;min-width:200px}.msg-actions button.icon.starred svg{color:#f79009;fill:#f79009}.star-mark{color:#f79009;fill:#f79009}.bubble.flash{animation:flash 1.6s ease-out}@keyframes flash{0%,40%{box-shadow:0 0 0 4px #2455d859}to{box-shadow:var(--shadow-sm)}}.forwarded{display:flex;align-items:center;gap:4px;font-size:12px;font-style:italic;color:var(--muted);margin-bottom:2px}button.quote{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;margin:2px 0 6px;padding:6px 10px;border:none;border-left:3px solid var(--accent);border-radius:6px;background:#1018280d;box-shadow:none;text-align:left;font-weight:400}button.quote:hover:not(:disabled){background:#10182814}.quote-from{font-size:12px;font-weight:600;color:var(--accent-text)}.quote-text{font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.reply-bar strong{display:block}.reply-preview{display:block;font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.bubble.has-reactions{margin-bottom:14px}.reactions{position:absolute;bottom:-14px;display:flex;gap:3px}.bubble.out .reactions{right:8px}.bubble.in .reactions{left:8px}.reactions button{padding:1px 7px;font-size:13px;border-radius:999px;box-shadow:var(--shadow-sm);gap:3px}.reactions button.mine{background:var(--accent-soft);border-color:#b9cbf7}.reaction-picker{position:absolute;top:-42px;z-index:3;display:flex;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-md)}.bubble.out .reaction-picker{right:0}.bubble.in .reaction-picker{left:0}.reaction-picker button{border:none;box-shadow:none;background:transparent;font-size:20px;padding:2px 6px;border-radius:999px}.reaction-picker button:hover,.reaction-picker button.mine{background:var(--accent-soft)}.card-msg{min-width:240px;white-space:normal;margin-bottom:2px}.card-title{font-weight:600;overflow-wrap:anywhere}.card-desc{margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}button.card-action{width:100%;margin-top:8px;padding:6px;font-size:13px;box-shadow:none;color:var(--accent)}.loc-pin{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--danger-soft);color:var(--danger)}.loc-pin.product{background:var(--ok-soft);color:var(--ok)}.product-price{font-weight:600;color:var(--ok)}.voice{display:flex;align-items:center;gap:10px;min-width:240px;padding:2px 0 4px}button.icon.voice-play{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff}button.icon.voice-play:hover:not(:disabled){background:var(--accent-hover);color:#fff}.voice-track{flex:1;height:4px;border-radius:2px;background:#1018281f;overflow:hidden}.voice-track i{display:block;height:100%;background:var(--accent)}.recorder{flex:1;display:flex;align-items:center;gap:10px;font-weight:500}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--danger);animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.3}}.chat-search{padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.search-results{list-style:none;margin:8px 0 0;padding:0;max-height:220px;overflow-y:auto}.search-results li{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:8px;cursor:pointer}.search-results li:hover{background:var(--hover)}.result-text,.starred-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog{width:760px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.product{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--line);border-radius:12px}.product-name{font-weight:600;overflow-wrap:anywhere}.product-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-actions{margin-top:auto;padding-top:6px}.product-actions .primary{flex:1;padding:6px}.product-photo{border-radius:10px;background:var(--surface-2);color:var(--faint);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.product-photo.md{width:100%;aspect-ratio:4 / 3}.modal .row .product-photo.md{width:96px}.product-photo img{width:100%;height:100%;object-fit:cover}.profile-line{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}.contact-line{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted);margin-top:1px}.contact-line span{display:inline-flex;align-items:center;gap:4px;-webkit-user-select:text;user-select:text}.menu-host{position:relative}.dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:15;min-width:220px;padding:6px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);animation:dropdown-in .12s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}}.dropdown button{justify-content:flex-start;gap:12px;width:100%;padding:9px 12px;border:none;border-radius:8px;background:transparent;box-shadow:none;color:var(--text);font-weight:500;white-space:nowrap}.dropdown button svg{color:var(--muted)}.dropdown button:hover:not(:disabled){background:var(--hover)}.dropdown hr{width:100%;margin:4px 0;border:none;border-top:1px solid var(--line)}label.photo-pick{width:72px;height:72px;flex-shrink:0;border-radius:50%;border:1px dashed var(--line-strong);background:var(--surface-2);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;cursor:pointer;overflow:hidden;position:relative}label.photo-pick img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}label.photo-pick img+span{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#1018288c;color:#fff;padding:1px 0 3px}.qr-box{width:220px;height:220px;flex-shrink:0;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center}.qr-box img{width:100%;height:100%;image-rendering:pixelated}.profile-edit{display:flex;gap:12px;align-items:flex-start;margin-top:8px}.profile-edit input{padding-top:6px;padding-bottom:6px}.readonly-field{display:flex;flex-direction:column;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.messages.allow-copy .bubble .text{user-select:text;-webkit-user-select:text}.state-pill{border:0;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;cursor:default}.state-pill:not(:disabled){cursor:pointer}.state-pill.allow{background:var(--ok-soft);color:#067647}.state-pill.deny{background:var(--danger-soft);color:#b42318}.seg{display:inline-flex;background:var(--surface-2);border-radius:10px;padding:3px;gap:3px}.seg button{border:1px solid transparent;background:transparent;padding:6px 12px;border-radius:8px;font-weight:600;color:var(--muted);box-shadow:none}.seg button.active{background:var(--surface);border-color:#2455d8;color:#2455d8}.seg button.allow.active{border-color:#079455;color:#079455}.seg button.deny.active{border-color:#d92d20;color:#d92d20}.choose-list{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow:auto}.choose-list button{border-radius:999px;padding:5px 12px;font-size:13px}.choose-list button.active{background:var(--accent-soft);border-color:#b9cbf7;color:var(--accent-text);font-weight:600}.emp-list li.clickable:hover{background:var(--surface-2)}.help-list{display:grid;gap:10px}.help-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:8px;background:var(--surface)}.help-card .name{font-weight:600}a.button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:8px;color:var(--text-2);text-decoration:none;font-size:13px;font-weight:600}a.button:hover{background:var(--surface-2)}.form-grid{display:grid;gap:10px;max-width:520px}.form-grid label{display:grid;gap:4px;font-size:13px;color:var(--text-2);font-weight:500}.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:40px;box-sizing:border-box}.password-field button.icon{position:absolute;right:4px;top:50%;transform:translateY(-50%)}.remember{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2);cursor:pointer}.remember input{width:auto;margin:0;flex:none}.card label.remember{flex-direction:row;align-items:center;font-weight:400}.qr-box.temp-login{display:grid;gap:8px;padding:16px;min-width:220px;align-content:center;font-size:14px}.qr-box.temp-login code{font-size:15px;background:var(--surface-2);padding:2px 6px;border-radius:6px;user-select:text;-webkit-user-select:text}a.button.primary{background:#2455d8;border-color:#2455d8;color:#fff}.call .call-top,.call .call-info,.call .call-controls{transition:opacity .25s ease,transform .25s ease}.call.idle .call-top,.call.idle .call-info{opacity:0;transform:translateY(-16px);pointer-events:none}.call.idle .call-controls{opacity:0;transform:translateY(24px);pointer-events:none}.call.idle{cursor:none}.call video.local{cursor:grab;touch-action:none}.call video.local:active{cursor:grabbing}.call video.local.placed{right:auto;bottom:auto;transition:none}.call-mini .icon.accept{background:#00a884;color:#fff}.archived-row{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:0 8px 4px;padding:8px 12px;border:0;background:transparent;color:var(--text-2);font-weight:600;border-radius:10px;box-shadow:none}.archived-row:hover{background:var(--hover)}.badge.quiet{background:var(--faint)}.dropdown.context{position:fixed;z-index:50}.mention{color:#2455d8;font-weight:600}.msg-link{color:#2455d8;text-decoration:underline;cursor:pointer}.mention-list{border-top:1px solid var(--line);background:var(--surface);max-height:200px;overflow:auto}.mention-list button{display:flex;align-items:center;gap:8px;width:100%;border:0;border-radius:0;background:transparent;padding:8px 14px;box-shadow:none;text-align:left}.mention-list button:hover{background:var(--hover)}.view-once{display:flex;align-items:center;gap:10px;padding:6px 2px;border:0;background:transparent;box-shadow:none;text-align:left}.view-once-viewer{position:fixed;inset:0;background:#000;z-index:60;display:flex;align-items:center;justify-content:center}.view-once-viewer img{max-width:100%;max-height:100%}.view-once-viewer .hint{position:absolute;bottom:24px;color:#ddd;font-size:13px}.view-once-viewer .close{position:absolute;top:16px;left:16px;color:#fff}.about-line{color:var(--text-2);font-size:14px;text-align:center;margin-top:2px}.load-earlier{align-self:center;margin:8px auto 12px;font-size:13px;border-radius:999px;padding:6px 14px}:root[data-theme=dark]{--bg: #0b141a;--surface: #111b21;--surface-2: #1a242b;--hover: #202c33;--line: #222e35;--line-strong: #2f3d45;--text: #e9edef;--text-2: #cfd6da;--muted: #8696a0;--faint: #667781;--accent: #4f80ff;--accent-hover: #6b93ff;--accent-soft: #17264a;--accent-text: #a9c1ff;--out: #1c3157;--in: #1a242b;--danger: #f15c6d;--danger-soft: #3a1d22;--ok: #21c063;--ok-soft: #12301f;--warn: #f5a524;--warn-soft: #33270f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px -2px rgba(0, 0, 0, .5);--shadow-lg: 0 20px 24px -4px rgba(0, 0, 0, .6);color-scheme:dark}:root[data-theme=dark] img.avatar,:root[data-theme=dark] .qr-box img{filter:none}:root[data-theme=dark] .qr-box{background:#fff}.group-call .gc-grid{position:absolute;inset:56px 16px 110px;display:grid;gap:8px;align-content:center}.gc-tile{position:relative;background:#1f2c33;border-radius:14px;overflow:hidden;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center}.gc-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gc-tile video.mirror{transform:scaleX(-1)}.gc-name{position:absolute;left:10px;bottom:8px;color:#e9edef;font-size:13px;font-weight:600;display:flex;align-items:center;gap:4px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.call-ongoing{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#00a884;color:#fff;font-weight:600;border:0;border-radius:0;width:100%;box-shadow:none;cursor:pointer}button.link{border:0;background:none;padding:0;color:var(--accent);box-shadow:none;text-decoration:underline;cursor:pointer;font:inherit}.back-btn{display:none}@media(max-width:760px){html,body,#root{height:100dvh}input,textarea,select{font-size:16px}.sidebar{width:100%;border-right:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.app.has-chat .sidebar,.app:not(.has-chat)>.empty{display:none}.chat{padding-top:env(safe-area-inset-top)}.chat>header{gap:6px;padding:8px 8px 8px 4px;min-height:56px}.back-btn{display:inline-flex}.chat>header .chat-title{gap:10px}.chat>header .tag.dept,.chat>header .contact-line{display:none}.messages{padding:12px 10px 8px}.bubble{max-width:85%}.composer{padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:6px}.composer-note{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.info{position:fixed;inset:0;z-index:15;width:100%;border-left:none;padding:env(safe-area-inset-top) 16px calc(16px + env(safe-area-inset-bottom))}.modal-bg{padding:0;align-items:stretch}.modal,.modal.wide,.modal.admin{width:100%!important;max-width:100%;height:100%;max-height:100%;border-radius:0;padding:env(safe-area-inset-top) 16px calc(16px + env(safe-area-inset-bottom))}.msg-actions,.msg-actions.left,.msg-actions.right{top:calc(100% + 2px);left:auto;right:auto;z-index:5}.msg-actions.left{right:0}.msg-actions.right{left:0}.msg-actions button.icon{padding:9px}.tabs{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.row:has(>.search){flex-wrap:wrap}.row>.search{flex:1 1 100%}.emp-list li{flex-wrap:wrap;padding:12px}.emp-list li>.grow{flex:1 1 0;min-width:60%}.emp-list li>.row.actions{margin-left:auto}.state-pill{flex:none;width:auto;white-space:nowrap}.toast{left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));transform:none;max-width:none}}.rail{width:64px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0;background:var(--surface-2);border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:none}.rail-space{flex:1}.rail-btn{width:48px;height:48px;padding:0;border:none;border-radius:50%;background:none;box-shadow:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}.rail-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.rail-btn.active{background:var(--accent-soft);color:var(--accent)}.rail-icon{position:relative;display:flex}.rail-label{display:none}.rail-badge{position:absolute;top:-7px;left:13px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--ok);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;border:2px solid var(--surface-2);box-sizing:content-box}.rail-dot{position:absolute;top:-2px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--ok);border:2px solid var(--surface-2)}.rail-me .avatar{width:32px;height:32px}.sidebar-title{font-size:20px;font-weight:700}.phone-only{display:none!important}.nav-pages>.modal-bg{left:64px}.avatar-wrap.ring>.avatar{box-shadow:0 0 0 2px var(--surface),0 0 0 4.5px var(--ok)}.avatar-wrap.ring.seen>.avatar{box-shadow:0 0 0 2px var(--surface),0 0 0 4.5px var(--line-strong)}.avatar-wrap.ring{margin:3px}.avatar-tap{display:flex;border-radius:50%;cursor:pointer}.photo-popup{position:relative;width:min(320px,100%);background:var(--surface);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-lg)}.photo-popup-name{position:absolute;top:0;left:0;right:0;z-index:1;padding:10px 14px;font-weight:600;color:#fff;background:linear-gradient(rgba(0,0,0,.55),transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-popup-img{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;padding:0;border:none;border-radius:0;box-shadow:none;background:var(--surface-2);cursor:zoom-in}.photo-popup-img img{width:100%;height:100%;object-fit:cover}.photo-popup-img .avatar.xl{width:160px;height:160px;font-size:64px}.photo-popup-actions{display:flex;justify-content:space-around;padding:6px;border-top:1px solid var(--line)}.photo-popup-actions .icon{color:var(--accent)}.profile-hero{width:100%;margin:0 0 12px;border-radius:12px;overflow:hidden;padding:0;border:none;box-shadow:none;background:#000;display:flex;justify-content:center;cursor:zoom-in}.profile-hero img{width:100%;max-height:340px;object-fit:contain}.profile-actions{display:flex;gap:8px;margin-top:6px}.profile-actions button{flex-direction:column;gap:2px;min-width:84px;padding:8px 12px;color:var(--accent);font-size:12px}.detail-list{display:flex;flex-direction:column;margin:8px 0 0;border-top:1px solid var(--line)}.detail-row{display:flex;align-items:center;gap:14px;padding:10px 4px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line);-webkit-user-select:text;user-select:text}.detail-row>svg{color:var(--muted)}a.detail-row:hover{background:var(--hover)}a.detail-row>div>div:first-child{color:var(--accent)}.info .media-head .avatar-wrap.ring .avatar{width:28px;height:28px}.photo-pick-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.photo-pick-wrap .link-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px}.birthday-input{gap:8px;align-items:center}.birthday-input input{width:auto;flex:1}.camera-capture{width:440px}.camera-frame{position:relative;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}.camera-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-frame video.mirror{transform:scaleX(-1)}.camera-frame .muted{color:#ccc}@media(max-width:760px){.app{flex-direction:column-reverse}.sidebar{flex:1;min-height:0;padding-bottom:0}.rail{width:100%;flex-direction:row;justify-content:space-around;gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--line);background:var(--surface);overflow:visible}.app.has-chat .rail,.rail .desk-only,.rail-space{display:none}.rail-btn{width:auto;height:auto;flex:1;border-radius:12px;padding:2px 0}.rail-btn .rail-icon{padding:4px 16px;border-radius:16px}.rail-btn.active{background:none;color:var(--text)}.rail-btn.active .rail-icon{background:var(--accent-soft);color:var(--accent)}.rail-label{display:block;font-size:11px;font-weight:600}.rail-badge{left:26px;top:-4px;border-color:var(--surface)}.rail-me .rail-icon{padding:0 12px}.rail-me .avatar{width:28px;height:28px}.phone-only{display:flex!important}.nav-pages>.modal-bg{left:0;bottom:calc(63px + env(safe-area-inset-bottom))}.nav-pages>.modal-bg>.modal{padding-bottom:16px!important}.profile-hero{width:calc(100% + 32px);margin:0 -16px 4px}.camera-capture{width:100%}}.info .media-head>.grow{text-align:left}.info .profile-hero{width:calc(100% + 40px);margin:0 -20px 4px;border-radius:0}.company-badge{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 8px 4px 4px;margin-left:-4px;border:none;background:none;box-shadow:none;border-radius:10px;cursor:pointer}.company-badge:hover{background:var(--hover)}.company-badge .name{font-size:18px;font-weight:700;color:var(--text)}.company-logo{width:34px;height:34px;border-radius:9px;object-fit:cover;flex-shrink:0;background:var(--surface-2)}.company-logo.lg{width:64px;height:64px;border-radius:16px}.company-info{width:520px}.company-hero{display:flex;align-items:center;gap:14px;margin-bottom:8px}.name.big{font-size:19px}.company-item .company-text{-webkit-user-select:text;user-select:text;color:var(--text-2)}.company-item .company-text .text{white-space:pre-wrap}.company-info>button.block{margin-top:16px}.logo-pick{width:84px;height:84px;border-radius:18px;border:1px dashed var(--line-strong);background:var(--surface-2);color:var(--muted);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;flex-shrink:0}.logo-pick img{width:100%;height:100%;object-fit:cover}.company-edit{padding:10px;display:flex;flex-direction:column;gap:8px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-head .section-title{margin-bottom:8px}.section-head>button{font-size:13px;padding:5px 10px}.add-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:5px}.chat-chips{margin:0 12px 6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;align-items:center}.chat-chips::-webkit-scrollbar{display:none}.chat-chips button{flex-shrink:0;white-space:nowrap}.chip-select{width:auto;flex-shrink:0;padding:4px 10px;border-radius:999px;font-size:12.5px;box-shadow:none;background:var(--surface)}.chip-select.active{background:var(--accent-soft);color:var(--accent-text)}.emp-list li.clickable{cursor:pointer}.emp-list li.clickable:hover{background:var(--hover)}.user-detail{display:flex;flex-direction:column;gap:6px}.back-link{display:inline-flex;align-items:center;gap:6px;align-self:flex-start}.user-head{display:flex;align-items:center;gap:16px;padding:8px 0 12px;border-bottom:1px solid var(--line)}.user-head .avatar.xl{width:84px;height:84px;font-size:32px}.action-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}.action-list>button{display:flex;align-items:center;gap:14px;padding:12px 14px;border:none;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:var(--surface);text-align:left;justify-content:flex-start}.action-list>button:last-child{border-bottom:none}.action-list>button:hover{background:var(--hover)}.action-list .grow{display:flex;flex-direction:column}.action-label{font-weight:600;color:var(--text)}.action-list .danger-text .action-label,.action-list .danger-text>svg:first-child{color:var(--danger)}.action-list .warn-text .action-label,.action-list .warn-text>svg:first-child{color:var(--warn)}.profile-form{display:flex;gap:18px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.profile-form-photo{display:flex;flex-direction:column;align-items:center;gap:6px}.form-grid{flex:1;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .span-2{grid-column:span 2}.form-grid .field-label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--muted)}.form-grid input{width:100%}.safety-head .turned{transform:rotate(90deg)}.chat{position:relative}@media(max-width:1180px){.chat .body>.info{position:absolute;top:0;right:0;bottom:0;z-index:12;max-width:100%;box-shadow:var(--shadow-lg)}}@media(max-width:960px){.sidebar{width:280px}}@media(max-width:760px){.sidebar{width:100%}.profile-form{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.company-info{width:100%}}.sort-select{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:0 4px 0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer}.sort-select select{width:auto;border:none;background:transparent;box-shadow:none;padding:4px 6px 4px 0;font-size:12.5px;font-weight:500;color:var(--text-2);cursor:pointer}.sort-select select:focus{outline:none}.dir-sort{margin:0 12px 6px;justify-content:flex-end}:root{--c-dept: #6941c6;--c-dept-soft: #f4f3ff;--c-phone: #067647;--c-phone-soft: #ecfdf3;--c-email: #175cd3;--c-email-soft: #eff8ff;--c-hours: #b54708;--c-hours-soft: #fffaeb}:root[data-theme=dark]{--c-dept: #bdb4fe;--c-dept-soft: #2a2350;--c-phone: #75e0a7;--c-phone-soft: #0f2d20;--c-email: #84caff;--c-email-soft: #102a46;--c-hours: #fec84b;--c-hours-soft: #33270f}.tag.dept{color:var(--c-dept);background:var(--c-dept-soft)}.hdr-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.hdr-chip{display:inline-flex;align-items:center;gap:4px;font-weight:500}.hdr-chip.phone{color:var(--c-phone)}.hdr-chip.email{color:var(--c-email)}.info-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid transparent;box-shadow:none;line-height:1.3}.info-chip.dept{color:var(--c-dept);background:var(--c-dept-soft)}.info-chip.hours{color:var(--c-hours);background:var(--c-hours-soft)}.info-chip.phone{color:var(--c-phone);background:var(--c-phone-soft)}.info-chip.email{color:var(--c-email);background:var(--c-email-soft)}.info-chip.chat-link{color:var(--accent);background:var(--accent-soft)}.info-chip.action:hover{border-color:currentColor}.help-card{gap:10px}.help-card .name{font-size:15px}.help-person{color:var(--text-2);font-size:13px}.company-link{margin-bottom:12px;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.detail-row>svg{flex-shrink:0}.detail-row.dept>svg{color:var(--c-dept)}.detail-row.phone>svg,a.detail-row.phone>div>div:first-child{color:var(--c-phone)}.detail-row.email>svg,a.detail-row.email>div>div:first-child{color:var(--c-email)}.detail-row.birthday>svg{color:var(--c-hours)}.detail-row.emp-id>svg{color:var(--accent)}.emp-id-value,.tag.emp-id{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;overflow-wrap:anywhere}.tag.emp-id{color:var(--text-2);background:var(--surface-2);font-weight:500}.rich-text{white-space:pre-wrap;overflow-wrap:anywhere}a.rich{font-weight:600;text-decoration:none}a.rich:hover{text-decoration:underline}a.rich.url{color:var(--accent)}a.rich.email{color:var(--c-email)}a.rich.phone{color:var(--c-phone)}.file-chip{display:flex;align-items:center;gap:10px;width:100%;margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);text-align:left;justify-content:flex-start}.file-chip>svg{color:var(--danger)}.attach-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;align-self:flex-start}.chip-add{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;border-radius:999px;border-style:dashed}.pick-scroll{max-height:320px;overflow-y:auto}.tick{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tick.on{background:var(--accent);border-color:var(--accent);color:#fff}.info-chip{flex-direction:row;white-space:nowrap}.chat-chips-bar{display:flex;align-items:center;gap:6px;margin:0 12px 6px;min-width:0}.chat-chips-bar .chat-chips{flex:0 1 auto;min-width:0;margin:0;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 18px),transparent);padding-right:14px}.chat-chips-bar>.chip-add{flex:none}.bubble.show-actions .msg-actions{display:flex}.msg-actions:before{content:"";position:absolute;top:-6px;bottom:-6px;width:14px}.msg-actions.left:before{right:-14px}.msg-actions.right:before{left:-14px}.msg-actions:hover{display:flex}.bubble.show-actions{box-shadow:0 0 0 2px var(--accent-soft)}.bubble{cursor:default}:root[data-theme=light],:root:not([data-theme]){--bg: #eaf1fc;--surface: #ffffff;--surface-2: #f4f8fe;--hover: #e8f0fd;--line: #d9e3f3;--line-strong: #bccbe6;--text: #0b1324;--text-2: #1e2a40;--muted: #55657f;--faint: #8b9ab3;--accent: #1d4ed8;--accent-hover: #1e40af;--accent-soft: #e2ebff;--accent-text: #1e3a8a;--out: #dbe7ff;--in: #ffffff;--ok: #16a34a;--ok-soft: #e7f8ee}:root[data-theme=light] .rail{background:linear-gradient(180deg,#1e3a8a,#1d4ed8);border-right:none}:root[data-theme=light] .rail-btn{color:#ffffffc7}:root[data-theme=light] .rail-btn:hover:not(:disabled){background:#ffffff24;color:#fff}:root[data-theme=light] .rail-btn.active{background:#fff;color:#1d4ed8}:root[data-theme=light] .rail-badge,:root[data-theme=light] .rail-dot{border-color:#1e40af}:root[data-theme=light] .rail-me .avatar{box-shadow:0 0 0 2px #ffffffd9}:root[data-theme=light] .sidebar>header{background:#fff;border-bottom:1px solid var(--line);margin-bottom:8px}:root[data-theme=light] .company-badge .name{color:#1e3a8a}:root[data-theme=light] .badge{background:var(--ok)}:root[data-theme=light] .badge.quiet{background:var(--faint)}:root[data-theme=light] .contacts li.unread .when{color:var(--ok)}:root[data-theme=light] .contacts li.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}:root[data-theme=light] .chips button.active,:root[data-theme=light] .chat-chips button.active{background:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=light] .bubble.out{background:var(--out);border-color:#c7d8fb}:root[data-theme=light] .bubble.in{border-color:var(--line)}:root[data-theme=light] .chat>header{background:#fff;border-bottom:1px solid var(--line)}:root[data-theme=light] .chat .messages{background:linear-gradient(180deg,#f2f6fd,#eaf1fc)}:root[data-theme=light] .composer button.primary,:root[data-theme=light] .composer .send{background:var(--ok);border-color:var(--ok)}:root[data-theme=light] .composer button.primary:hover:not(:disabled){background:#15803d;border-color:#15803d}:root[data-theme=light] .modal>header .title-icon,:root[data-theme=light] .title-icon{background:var(--accent-soft);color:var(--accent)}@media(max-width:760px){:root[data-theme=light] .rail{background:#fff;border-top:1px solid var(--line)}:root[data-theme=light] .rail-btn{color:var(--muted)}:root[data-theme=light] .rail-btn.active{background:none;color:var(--text)}:root[data-theme=light] .rail-btn.active .rail-icon{background:var(--accent);color:#fff}:root[data-theme=light] .rail-badge,:root[data-theme=light] .rail-dot{border-color:#fff}}.profile-hero{position:relative;overflow:hidden}.profile-hero .hero-blur{position:absolute;inset:-20px;width:calc(100% + 40px);height:calc(100% + 40px);max-height:none;object-fit:cover;filter:blur(24px) brightness(.75)}.profile-hero .hero-photo{position:relative;width:100%;max-height:360px;object-fit:contain}.user-detail .profile-hero{max-width:420px;align-self:center}:root[data-theme=light] .rail{background:#e3ecfb;border-right:1px solid #d3e0f5}:root[data-theme=light] .rail-btn{color:#4a5b7a}:root[data-theme=light] .rail-btn:hover:not(:disabled){background:#ffffffb3;color:#1e3a8a}:root[data-theme=light] .rail-btn.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 3px #1e3a8a26}:root[data-theme=light] .rail-badge,:root[data-theme=light] .rail-dot{border-color:#e3ecfb}:root[data-theme=light] .rail-me .avatar{box-shadow:0 0 0 2px #fff}:root[data-theme=light] .chips button.active,:root[data-theme=light] .chat-chips button.active{background:#dbe7ff;border-color:#b9cdf6;color:#1e3a8a}:root[data-theme=light] .contacts li.active{background:#e8f0fd;box-shadow:inset 3px 0 #7aa2f2}@media(max-width:760px){:root[data-theme=light] .rail{background:#fff;border-right:none}:root[data-theme=light] .rail-btn.active{box-shadow:none}:root[data-theme=light] .rail-btn.active .rail-icon{background:#dbe7ff;color:#1d4ed8}}.profile-hero.no-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:1;max-height:340px;cursor:default}.profile-hero.no-photo span{font-size:120px;font-weight:700;line-height:1}.rail-btn.rail-admin{background:#1e3a8a;color:#fff;box-shadow:0 2px 6px #1e3a8a59}.rail-btn.rail-admin:hover:not(:disabled),:root[data-theme=light] .rail-btn.rail-admin:hover:not(:disabled){background:#172f73;color:#fff}:root[data-theme=light] .rail-btn.rail-admin,:root[data-theme=light] .rail-btn.rail-admin.active{background:#1e3a8a;color:#fff}.rail-btn.rail-admin.active{box-shadow:0 0 0 3px #93b4f5}.dept-dropdown{position:relative;min-width:0}.dept-dropdown-btn{width:100%;display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 10px;text-align:left;justify-content:flex-start;background:var(--surface)}.dept-dropdown-value{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.dept-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);min-width:240px}.dept-dropdown-menu ul{list-style:none;margin:6px 0;padding:0;max-height:220px;overflow-y:auto}.dept-dropdown-menu li label{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;cursor:pointer;font-weight:500;color:var(--text)}.dept-dropdown-menu li label:hover{background:var(--hover)}.dept-dropdown-menu li input{width:16px;height:16px;accent-color:var(--accent)}.dept-dropdown-foot{gap:8px;align-items:center;padding-top:6px;border-top:1px solid var(--line)}.dept-dropdown-menu{position:static;margin-top:6px;box-shadow:var(--shadow-md)}.crop-modal{width:auto;display:grid;gap:12px;justify-items:center}.crop-modal header{width:100%}.crop-view{position:relative;overflow:hidden;border-radius:12px;background:#000;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.crop-view:active{cursor:grabbing}.crop-view canvas{display:block}.crop-ring{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 9999px #0000008c;border:2px solid rgba(255,255,255,.9);pointer-events:none}.crop-zoom{display:flex;align-items:center;gap:8px;width:300px}.crop-zoom input[type=range]{flex:1;accent-color:var(--accent)}.crop-modal .row-end{width:100%}.share-files{list-style:none;margin:0;padding:0;display:grid;gap:6px}.share-files li{display:flex;align-items:center;gap:8px;font-size:13.5px;min-width:0}.share-files li span.grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-in textarea{width:100%;box-sizing:border-box;resize:vertical}.chat-camera{width:min(720px,94vw)}.chat-camera-frame{position:relative;background:#000;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;max-height:66vh}.chat-camera-frame video,.chat-camera-frame img{width:100%;height:100%;object-fit:contain;display:block}.chat-camera-frame video.mirror{transform:scaleX(-1)}.chat-camera-frame>span{position:absolute;color:#ccc}.modal header{position:sticky;top:0;z-index:3;background:var(--surface);gap:8px}.modal header .title{flex:1 1 auto;min-width:0}.modal header .title-icon{flex-shrink:0}.modal header .title .ellipsis,.modal header .title>span:last-child:not(.title-icon){flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal header>button.icon{flex-shrink:0}@media(max-width:760px){.modal,.modal.wide,.modal.admin{padding-top:0!important}.modal header{padding-top:env(safe-area-inset-top);min-height:calc(56px + env(safe-area-inset-top))}.send-picker .send-picker-list{max-height:none}}.send-picker .list-divider{cursor:default;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:12px}.send-picker .list-divider:hover{background:none}.company-logo.placeholder{display:inline-block;background:var(--surface-2)}.name-placeholder{display:inline-block;width:110px;height:16px;border-radius:6px;background:var(--surface-2)}.zoom-box{position:relative;flex:1;align-self:stretch;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;min-height:0}.zoom-box.zoomed{cursor:grab}.zoom-box.zoomed:active{cursor:grabbing}.zoom-image{transition:transform .08s ease-out;transform-origin:center center;will-change:transform;-webkit-user-select:none;user-select:none}.zoom-controls{position:absolute;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#0000008c;color:#fff}.zoom-controls button.icon{color:#fff}.zoom-controls button.icon:disabled{opacity:.4}.zoom-level{min-width:44px;text-align:center;font-size:12.5px;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.zoom-image{transition:none}}.nav-page-loading{padding:24px}
