@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAaEABMAAAAADFgAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJpBmA/U1RBVIE4AFwvbBEICoJ8gkMLFAAwhCoBNgIkAyIEIAWGUAdiDAcbvgpRVHJOI/viwCYyfSFrJjFIG8raYpYj9+IeSF0s6zD+Lk/4OGrZHhHV+wvt2ffuWPwlA51lIICIosSVmyOKEs5Uzlx3NKeXIgn1ssCydUybDV0IHga+SszIyfrQe9bLTFNxjayzgs76hNsDoSYtRe32fiJ4gxBjrP8L+w//zzHjv7Yqyr9o2vOBDXhCo2jMtr4uwAK/gV1U0PxAq/EAD+yW9EoKOL1KLw8rHrFgCSgRTQRzBzpeXVhweEDlyfY8gIoOa2CQJzrTAHIIoitTMVV2dyFwpJ2iAEQTpSkhPitxD3YwuZHEagTcAhyKAcBmUyPdhTovJThOw6HYiaF2M/J7erdi2OUutor6ES6Ac88AvfZvKpb6fJoArohb524042j6Jij36NI7P8Pb7s721naN9gcTtcjXQP4l+8BKEzFVGMxxoHqlq8Ul4LGneFJBDFaOdKpLPcg8P14YSDwIcn75hdlyJLTBlZ4voL6tT46yC/njunXqpJ0/bSvmrH1o3kRlwZ+j0DBogkF3KbDRVBlbOc+fY5HVXwPoT9hfekPnyZMaEmenYLMSg5npqegFOsgXsBv1IoF9aIVfSCNHkk6+gIzILsiYuhWQCfUtZEpbkRntQxBZgw7MwFbMcRvwJrAnBlDqs7isLtL7pO84Xru1i7ah7tckH1Wreqq6K9u0amxU1bcff/s2Y1ni3rh2I8zHzqkm3PGvv3mzC6NDBz/UcOBIg+nm88rxN8MbdtypvHUL5o1c2zG0urYpRmW+VHZdiba6GXN/3v0B3i3nt4RBsbfAu8ftLqRcTIlZ4VYheFTAS5nXLS65VZrbuW3daF2Ze1ChyGXWZN6u9nUuH1LfyTERifZXEpIueMe28vF8FOoTnsONzw+1djo9P71lZGx1vM8mH/BhvSa2HDsRZ1+Ul+RmpnPOIaEuwWnZZdkgQWAAyCDDZ1wk+0sh7wseAAwA6UlHxbftCgYAAwKAgwIAEA7ACfHIRbV7J6dwF/ZzcRRmAjXUYKAGWAlDCCFmKnH+LJEQfHKEmVrfmKwSEab36AcubXQBoDYJV/aRV+funFD8wAXLSLYbwr9+DR+h/qZIKCfeqRG5ghHpdY0zcV2nuz5iJMhAFjaTDwOcoyKGG9JHrCfdp4cC+kCvUrxc7+bliIMiHj95sPIbUeWZEP/HLnN2tlr9EBeRiktHuWvErx98fRz1MuEvHO3FDRgtsSzL/P0hsDLK2n5/uHMOjvTst0HD6t+80ZN798j7j//kjqHxIOZDFPR/FxurFD6/HxGbB799RPHLx5F89MoBOub9jVuOWtmPH3o9H3r26DIuff+LqPLwff/xryDRmiAYmjxiK0GwS9XU+k8QpUrHsCTs4qH89Fv44ubWbQmOE51M7J8Pt8+h+NKt3zZpa2L9zZqcRlyEc4MaNGdfjQCxgIygn78ne4yAzcLWA3zAJ6RRGbijvHr1W+XN8ywrG0EoZSySb0/A9KsllI7Q/Pq8hLu76tfTy5cF4X8bQxTtYp2vr6/+1oI4AhgAlNYFryt62VaX9ktO6VsAeDLeWx6fff4vdV1ts7N6+gw9GCsQnqPB0QUttB9nEc7Aaf4XM0NQ90VJ+HV1rG04znGCmXcpPCA9+nxdMPgPlT7Dz83NMfZuMJaNeRqbc+tjd2QER/b0B44d7nv5Rif7VC8svYkx9SKWwb3YzN2M3cY8jSNLl+PYZqfjxNTxOLXVCmfmduDc0ty1kLbjeiGfIrDFJXWPTTMD5TKupR8cpZgJeXTofId8NoUj6E8XfAc2k4WPdbCberDYAp8Q7L5dUo8wE8cs9QINZYvwXKzvBS4v/n+fQZkGrrFysKEIuFBgjQpxiHH1XA+ZBI+C+oAoxhYKECc42rGOc8L4mYhsiThGfFjOcKmFubPpDgwnY1918Fwo8ouenDJxvGP96HFWJ28hiOy251oKjkcbGz2POMme8CTMThx6wqOPsFtPI6j6HhDyDTxFQYnL88FcXGAGHl3ZuueRbEuxbK6Hc84ZDvRrREtLzyjj8Xkd/uShR1b0sYd8Nh8/c8znxCnadxQcf2nFVWIyw1g+4StXav9j75s+CQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;margin:0;padding:0}:root{--navy:#002343;--navy-900:#001627;--navy-800:#052e54;--navy-700:#0a3d6b;--navy-600:#135286;--navy-glow:#2b8eff26;--paper:#fff;--paper-soft:#eaf1f8;--paper-line:#d8e3ef;--ink:#002343;--ink-soft:#345067;--ink-muted:#7089a0;--on-navy:#fff;--on-navy-soft:#aebfd1;--on-navy-muted:#6b81a0;--navy-divider:#ffffff17;--accent:#2f8bff;--accent-soft:#2f8bff24;--green:#16a34a;--green-bright:#22c55e;--red:#e5484d;--amber:#f59e0b;--font-display:"Archivo Variable", "Segoe UI", sans-serif;--font-body:"Hanken Grotesk Variable", "Segoe UI", sans-serif;--shadow-sm:0 1px 2px #00234314;--shadow-md:0 4px 16px #0023431f;--shadow-lg:0 18px 50px #000c1c73}body{font-family:var(--font-body);background:var(--navy);color:var(--ink);-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}select option{color:#0f2942;background:#fff}input,textarea,select,button{font-family:inherit}.loading-screen{height:100vh;color:var(--on-navy-soft);background:var(--navy);letter-spacing:.3px;justify-content:center;align-items:center;font-size:14px;display:flex}.login-container{background:radial-gradient(900px 500px at 80% -10%, var(--navy-700), transparent 60%), radial-gradient(700px 600px at 10% 110%, var(--navy-800), transparent 55%), var(--navy);justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.login-container:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff0d 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.login-box{border:1px solid var(--navy-divider);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:400px;box-shadow:var(--shadow-lg);background:#ffffff0a;border-radius:20px;padding:44px 40px;position:relative}.login-logo{text-align:center;margin-bottom:34px}.login-logo-img{object-fit:contain;width:110px;height:110px;box-shadow:var(--shadow-md);background:#fff;border-radius:26px;margin-bottom:14px;padding:12px}.login-logo h1{font-family:var(--font-display);letter-spacing:-.5px;color:var(--on-navy);margin:14px 0 6px;font-size:30px;font-weight:800}.login-logo p{color:var(--on-navy-soft);font-size:13.5px}.login-form{flex-direction:column;gap:18px;display:flex}.login-form .field label{color:var(--on-navy-soft)}.login-form .field input{border-color:var(--navy-divider);color:var(--on-navy);background:#ffffff0f}.login-form .field input::placeholder{color:var(--on-navy-muted)}.login-form .field input:focus{border-color:var(--accent);background:#ffffff17}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.7px;font-size:11px;font-weight:700}.field input,.field textarea,.field select{background:var(--paper);border:1.5px solid var(--paper-line);color:var(--ink);border-radius:10px;outline:none;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-row{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.field-row .field{min-width:0}.field textarea{resize:vertical}.field select{cursor:pointer}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:700;transition:transform 80ms,background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #2f8bff4d}.btn-primary:hover{background:#1d7af0}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{color:var(--ink-soft);border:1.5px solid var(--paper-line);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-secondary:hover{border-color:var(--ink-muted);color:var(--ink)}.error-msg{color:var(--red);font-size:13px;font-weight:500}.app-wrapper{background:var(--navy);flex-direction:column;height:100vh;display:flex;overflow:hidden}.main-layout{flex:1;display:flex;overflow:hidden}.main-content{background:var(--paper);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.mobile-bottom-nav,.chat-back-btn{display:none}.titlebar{background:var(--navy-900);-webkit-app-region:drag;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--navy-divider);flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding:0 6px 0 14px;display:flex}.titlebar-drag{font-family:var(--font-display);letter-spacing:.3px;color:var(--on-navy-soft);pointer-events:none;align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.titlebar-logo{object-fit:contain;background:#fff;border-radius:6px;width:22px;height:22px;padding:2px}.titlebar-buttons{-webkit-app-region:no-drag;gap:2px;display:flex}.tb-btn{width:30px;height:24px;color:var(--on-navy-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.tb-btn:hover{color:#fff;background:#ffffff1a}.tb-close:hover{background:var(--red);color:#fff}.update-bar{background:linear-gradient(90deg, var(--accent), #1d7af0);color:#fff;flex-shrink:0;align-items:center;gap:14px;padding:11px 20px;font-size:13.5px;font-weight:600;display:flex;position:relative;overflow:hidden}.update-bar.ready{background:linear-gradient(90deg, var(--green), #15914a)}.update-bar.deferred{background:linear-gradient(90deg, #0a3d6b, var(--navy))}.update-bar .ub-close{border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:700}.update-bar .ub-close:hover{background:#ffffff26}.update-bar .ub-icon{flex-shrink:0}.update-bar .ub-text{flex:1;min-width:0}.update-bar .ub-btn{color:var(--accent);cursor:pointer;background:#fff;border:none;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:7px 15px;font-size:13px;font-weight:700;transition:background .15s;display:flex}.update-bar .ub-btn.green{color:var(--green)}.update-bar .ub-btn:hover{background:#eef3f8}.update-bar .ub-close{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;flex-shrink:0;padding:4px}.update-bar .ub-close:hover{opacity:1}.update-bar .ub-progress{background:#fffffff2;height:3px;transition:width .25s;position:absolute;bottom:0;left:0}.sidebar{background:var(--navy);border-right:1px solid var(--navy-divider);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.sidebar-header{justify-content:center;align-items:center;padding:18px 16px;display:flex}.sidebar-logo{object-fit:contain;width:auto;height:78px;box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;padding:10px 22px}.sidebar-title{font-family:var(--font-display);letter-spacing:-.3px;color:var(--on-navy);font-size:19px;font-weight:800}.sidebar-nav{flex-wrap:wrap;gap:6px;padding:4px 14px 12px;display:flex}.nav-btn{color:var(--on-navy-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;flex:calc(50% - 3px);justify-content:center;align-items:center;gap:7px;padding:9px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.nav-btn:hover{color:var(--on-navy);background:#ffffff0f}.nav-btn.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px #2f8bff59}.nav-badge{color:#fff;background:#e54848;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-weight:800;display:inline-flex}.nav-btn.active .nav-badge{color:var(--accent);background:#fff}.nav-badge.missed{background:#e54848}.sidebar-search{border:1px solid var(--navy-divider);color:var(--on-navy-muted);background:#ffffff0d;border-radius:10px;align-items:center;gap:9px;margin:0 14px 10px;padding:10px 13px;display:flex}.sidebar-search input{color:var(--on-navy);background:0 0;border:none;outline:none;flex:1;font-size:13px}.sidebar-search input::placeholder{color:var(--on-navy-muted)}.contacts-list{flex:1;padding:4px 10px;overflow-y:auto}.contacts-list::-webkit-scrollbar{width:6px}.contacts-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.contact-item{cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:9px 11px;transition:background .12s;display:flex;position:relative}.contact-item:hover{background:#ffffff0f}.contact-item.active{background:#2f8bff29}.contact-avatar{background:linear-gradient(135deg, var(--navy-600), var(--navy-700));width:40px;height:40px;font-family:var(--font-display);color:#fff;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.contact-avatar img{object-fit:cover;border-radius:13px;width:100%;height:100%}.contact-avatar.small{border-radius:10px;width:32px;height:32px;font-size:12px}.contact-avatar.group{background:linear-gradient(135deg, var(--accent), #1d7af0);color:#fff}.list-section-head{letter-spacing:.6px;color:var(--on-navy-muted);text-transform:uppercase;justify-content:space-between;align-items:center;padding:12px 12px 4px;font-size:11px;font-weight:700;display:flex}.section-add{color:var(--on-navy-soft);cursor:pointer;background:#ffffff14;border:none;border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.section-add:hover{background:var(--accent);color:#fff}.list-empty{color:var(--on-navy-muted);padding:4px 12px 8px;font-size:12px}.status-dot{border:2.5px solid var(--navy);border-radius:50%;width:13px;height:13px;position:absolute;bottom:-2px;right:-2px}.status-dot.online{background:var(--green-bright);box-shadow:0 0 0 2px #22c55e40}.status-dot.offline{background:#4b6075}.contact-info{flex:1;min-width:0}.contact-name{color:var(--on-navy);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.contact-dept{color:var(--on-navy-muted);font-size:12px;display:block}.contact-ext{color:var(--on-navy-muted);background:#ffffff0f;border-radius:6px;flex-shrink:0;padding:2px 7px;font-size:11px}.unread-badge{background:var(--accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:flex;box-shadow:0 2px 8px #2f8bff73}.conv-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.conv-row+.conv-row{margin-top:2px}.conv-time{color:var(--on-navy-muted);flex-shrink:0;font-size:11px}.contact-preview{min-width:0;color:var(--on-navy-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.contacts-modal-overlay{z-index:200;background:#060e1a8c;animation:.12s floatIn;display:flex;position:fixed;inset:0}.contacts-modal{background:var(--navy);flex-direction:column;width:min(420px,100%);height:100%;display:flex;box-shadow:6px 0 30px #00000059}.contacts-modal-head{padding:16px 16px 10px;padding-top:calc(16px + env(safe-area-inset-top));font-family:var(--font-display);color:var(--on-navy);justify-content:space-between;align-items:center;font-size:17px;font-weight:700;display:flex}.contacts-modal-close{color:var(--on-navy-soft);cursor:pointer;background:#ffffff14;border:none;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.contacts-modal-close:hover{color:#fff;background:#ffffff29}.contacts-newgroup{cursor:pointer;color:var(--on-navy);text-align:left;background:#ffffff0a;border:none;border-radius:12px;align-items:center;gap:12px;width:calc(100% - 24px);margin:4px 12px 6px;padding:11px 12px;font-size:14px;font-weight:600;display:flex}.contacts-newgroup:hover{background:#ffffff14}.cng-icon{background:linear-gradient(135deg, var(--accent), #1d7af0);color:#fff;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.cng-plus{color:var(--on-navy-muted);margin-left:auto}.contacts-modal-list{flex:1;padding:4px 10px;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--navy-divider);align-items:center;gap:6px;padding:12px 14px;display:flex}.user-info{flex:1;min-width:0}.user-name{font-family:var(--font-display);color:var(--on-navy);font-size:13.5px;font-weight:700;display:block}.user-dept{color:var(--on-navy-muted);font-size:11.5px}.logout-btn{color:var(--on-navy-soft);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px;transition:all .15s}.logout-btn:hover{color:#fff;background:#ffffff14}.group-search{background:var(--paper-soft);border:1.5px solid var(--paper-line);color:var(--ink-muted);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;display:flex}.group-search input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13px}.group-member-picker{border:1px solid var(--paper-line);border-radius:10px;flex-direction:column;gap:2px;max-height:280px;padding:6px;display:flex;overflow-y:auto}.gm-pick{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;transition:background .12s;display:flex}.gm-pick:hover{background:var(--paper-soft)}.gm-pick.on{background:var(--accent-soft)}.gm-pick .contact-avatar.small{background:linear-gradient(135deg, var(--navy-600), var(--navy-700))}.gm-check{border:2px solid var(--paper-line);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.gm-check.on{background:var(--accent);border-color:var(--accent)}.msg-sender{color:var(--accent);margin-bottom:2px;padding-left:2px;font-size:11.5px;font-weight:700}.chat-view{flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-empty{color:var(--ink-muted);background:radial-gradient(circle at center, var(--paper-soft), var(--paper));flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.chat-empty-icon{background:linear-gradient(135deg, var(--navy), var(--navy-700));width:88px;height:88px;box-shadow:var(--shadow-md);border-radius:28px;justify-content:center;align-items:center;display:flex}.chat-empty p{font-size:14.5px}.chat-header{background:var(--navy);box-shadow:0 1px 0 var(--navy-divider);flex-shrink:0;justify-content:space-between;align-items:center;padding:13px 22px;display:flex}.chat-header-info{align-items:center;gap:12px;display:flex}.chat-header-info strong{font-family:var(--font-display);color:var(--on-navy);font-size:15.5px;font-weight:700;display:block}.chat-presence{color:var(--on-navy-soft);align-items:center;gap:6px;font-size:12px;display:flex}.chat-presence .dot{border-radius:50%;width:7px;height:7px}.chat-presence .dot.on{background:var(--green-bright)}.chat-presence .dot.off{background:#4b6075}.call-btn{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:11px;align-items:center;gap:8px;padding:9px 18px;font-size:13.5px;font-weight:700;transition:background .15s,transform 80ms;display:inline-flex;box-shadow:0 4px 14px #16a34a52}.call-btn:hover{background:#15914a}.call-btn:active{transform:translateY(1px)}.messages-list{background:var(--paper-soft);background-image:radial-gradient(var(--paper-line) 1px, transparent 1px);background-size:24px 24px;flex-direction:column;flex:1;gap:3px;padding:22px 22px 10px;display:flex;overflow-y:auto}.messages-list::-webkit-scrollbar{width:8px}.contacts-list::-webkit-scrollbar{width:8px}.calls-list::-webkit-scrollbar{width:8px}.forward-list::-webkit-scrollbar{width:8px}.mention-popup::-webkit-scrollbar{width:8px}.messages-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--navy-700), var(--navy-900));background-clip:padding-box;border:2px solid #0000;border-radius:4px}.contacts-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--navy-700), var(--navy-900));background-clip:padding-box;border:2px solid #0000;border-radius:4px}.calls-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--navy-700), var(--navy-900));background-clip:padding-box;border:2px solid #0000;border-radius:4px}.forward-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--navy-700), var(--navy-900));background-clip:padding-box;border:2px solid #0000;border-radius:4px}.mention-popup::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--navy-700), var(--navy-900));background-clip:padding-box;border:2px solid #0000;border-radius:4px}.messages-list::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box;border:2px solid #0000}.contacts-list::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box;border:2px solid #0000}.messages-list::-webkit-scrollbar-track{background:0 0}.contacts-list::-webkit-scrollbar-track{background:0 0}.calls-list::-webkit-scrollbar-track{background:0 0}.forward-list::-webkit-scrollbar-track{background:0 0}.mention-popup::-webkit-scrollbar-track{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--navy-700) transparent}.page-loading{color:var(--ink-muted);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.load-more-indicator{justify-content:center;padding:8px 0;display:flex}.load-more-indicator button{background:var(--paper);border:1px solid var(--paper-line);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:12px;transition:background .12s,color .12s}.load-more-indicator button:hover{color:var(--accent);background:#fff}.chat-no-messages{text-align:center;color:var(--ink-muted);background:var(--paper);border:1px solid var(--paper-line);box-shadow:var(--shadow-sm);border-radius:14px;margin:auto;padding:14px 22px;font-size:14px}.date-sep{z-index:5;pointer-events:none;justify-content:center;align-items:center;margin:16px 0 12px;display:flex;position:sticky;top:0}.date-sep span{pointer-events:auto;color:var(--ink-muted);background:var(--paper);border:1px solid var(--paper-line);text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:5px 14px;font-size:11px;font-weight:700}.msg-group{flex-direction:column;display:flex}.msg-row{align-items:flex-end;gap:9px;max-width:72%;margin-top:2px;display:flex;position:relative}.msg-row.sent{flex-direction:row-reverse;align-self:flex-end}.msg-row.received{align-self:flex-start}.msg-row.grouped{margin-top:1px}.msg-row.next-same .msg-meta{display:none}.msg-row.grouped .bubble{border-top-left-radius:6px}.msg-row.sent.grouped .bubble{border-top-left-radius:14px;border-top-right-radius:6px}.msg-mini-avatar{background:linear-gradient(135deg, var(--navy-600), var(--navy-700));width:28px;height:28px;font-family:var(--font-display);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.msg-mini-avatar.hidden{visibility:hidden}.bubble{word-break:break-word;border-radius:16px;padding:9px 14px;font-size:14px;line-height:1.45;position:relative}.msg-row.received .bubble{background:var(--paper);color:var(--ink);border:1px solid var(--paper-line);box-shadow:var(--shadow-sm);border-bottom-left-radius:5px}.msg-row.sent .bubble{background:var(--navy);color:#fff;border-bottom-right-radius:5px;box-shadow:0 3px 12px #00234340}.msg-row.sender-colored .msg-mini-avatar{background:var(--sender-color)}.msg-row.sender-colored .msg-sender{color:var(--sender-color)}.msg-row.sender-colored .bubble:not(.bubble-deleted):not(.bubble-image){border-left:3px solid var(--sender-color)}.msg-row.sender-colored .bubble-image{box-shadow:-3px 0 0 0 var(--sender-color), var(--shadow-sm)}.msg-meta{color:var(--ink-muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:3px;font-size:10.5px;display:flex}.msg-row.received .msg-meta{justify-content:flex-start}.read-check{color:var(--ink-muted)}.read-check.read{color:var(--accent)}.msg-mini-avatar img{object-fit:cover;border-radius:9px;width:100%;height:100%}.msg-content{flex-direction:column;min-width:0;display:flex}.msg-row.sent .msg-content{align-items:flex-end}.msg-reply-btn{opacity:0;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;align-self:center;padding:6px;transition:opacity .15s,background .15s,color .15s}.msg-row:hover .msg-reply-btn{opacity:1}.msg-reply-btn:hover{background:var(--paper);color:var(--accent)}.msg-actions{opacity:0;flex-shrink:0;align-self:center;gap:2px;transition:opacity .15s;display:flex;position:relative}.msg-row:hover .msg-actions{opacity:1}.msg-act-btn{background:var(--paper);border:1px solid var(--paper-line);color:var(--ink-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .12s,color .12s,transform .12s;display:flex}.msg-act-btn:hover{color:var(--accent);background:#fff;transform:scale(1.08)}.msg-act-btn.danger:hover{color:#e54848}.msg-row.sent .msg-actions{order:-1}.reaction-picker{border:1px solid var(--paper-line);z-index:50;white-space:nowrap;background:#fff;border-radius:999px;gap:2px;margin-bottom:4px;padding:6px 8px;animation:.14s floatIn;display:flex;position:absolute;bottom:100%;box-shadow:0 8px 22px #00000024}.reaction-picker.received{left:48px}.reaction-picker.sent{right:48px}.reaction-picker button{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:2px 6px;font-size:20px;transition:background .1s,transform .1s}.reaction-picker button:hover{background:var(--paper);transform:scale(1.2)}.msg-reactions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.reaction-pill{background:var(--paper);border:1px solid var(--paper-line);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;transition:background .12s,border-color .12s;display:inline-flex}.reaction-pill:hover{background:#fff}.reaction-pill.mine{border-color:var(--accent);color:var(--accent);background:#2f8bff24;font-weight:600}.reaction-count{font-size:11px}.bubble-deleted{font-style:italic;border:1px dashed var(--paper-line)!important;color:var(--ink-muted)!important;box-shadow:none!important;background:0 0!important}.bubble-deleted em{color:var(--ink-muted);font-style:italic}.bubble-editing{background:var(--paper);min-width:260px;padding:8px}.edit-input{border:1px solid var(--paper-line);background:#fff;border-radius:8px;outline:none;width:100%;padding:6px 10px;font-size:14px}.edit-input:focus{border-color:var(--accent)}.edit-actions{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.edit-actions button{border:1px solid var(--paper-line);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:7px;padding:4px 10px;font-size:12px}.edit-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.edited-tag{opacity:.7;font-size:10px;font-style:italic}.mention{color:var(--accent);background:#2f8bff2e;border-radius:4px;padding:0 4px;font-weight:600}.mention.me{color:#b07700;background:#ffc40047}.msg-row.mentions-me .bubble{box-shadow:inset 0 0 0 2px #ffc4008c}.mention-popup{border:1px solid var(--paper-line);z-index:200;background:#fff;border-radius:12px;max-height:220px;animation:.14s floatIn;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000029}.mention-item{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:none;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.mention-item.active,.mention-item:hover{background:var(--paper)}.mention-avatar{background:var(--navy-700);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.mention-avatar img{object-fit:cover;width:100%;height:100%}.pinned-banner{border-bottom:1px solid var(--paper-line);cursor:pointer;background:#2f8bff14;align-items:center;gap:10px;padding:8px 16px;transition:background .12s;display:flex}.pinned-banner:hover{background:#2f8bff24}.pinned-banner>svg:first-child{color:var(--accent);flex-shrink:0}.pinned-content{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.pinned-from{color:var(--accent);font-size:11px;font-weight:600}.pinned-text{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.pinned-close{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px}.pinned-close:hover{background:var(--paper);color:var(--ink)}.msg-act-btn.pinned{color:var(--accent);background:#2f8bff1f}.header-icon-btn{background:var(--navy-700);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s;display:flex}.header-icon-btn:hover{background:var(--navy-600,#1e3a5f)}.header-icon-btn.call-icon{background:#1aa56b}.header-icon-btn.call-icon:hover{background:#168f5c}.search-bar{background:var(--paper-soft);border-bottom:1px solid var(--paper-line);align-items:center;gap:6px;padding:8px 16px;display:flex}.search-bar>svg:first-child{color:var(--ink-muted);flex-shrink:0}.search-bar input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-count{color:var(--ink-muted);padding:0 4px;font-size:11px}.search-bar button{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;display:flex}.search-bar button:hover:not(:disabled){background:var(--paper);color:var(--accent)}.search-bar button:disabled{opacity:.4;cursor:default}.msg-row.search-hit .bubble{box-shadow:0 0 0 2px var(--accent) inset}.bubble-pdf{cursor:pointer;background:var(--paper);border-left:4px solid #d93025;border-radius:12px;align-items:center;gap:12px;min-width:240px;max-width:320px;padding:12px;display:flex}.bubble-pdf:hover{background:#fff}.pdf-thumb{border:1px solid var(--paper-line);color:#d93025;background:#fff;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:48px;height:56px;display:flex}.pdf-thumb span{font-size:10px;font-weight:700}.chat-header-info .contact-avatar.clickable{cursor:pointer;transition:transform .12s}.chat-header-info .contact-avatar.clickable:hover{transform:scale(1.06)}.lightbox{z-index:9000;background:#000000db;justify-content:center;align-items:center;animation:.14s floatIn;display:flex;position:fixed;inset:0}.lightbox-content{justify-content:center;align-items:center;max-width:92vw;max-height:92vh;display:flex}.lightbox-content img{object-fit:contain;border-radius:8px;max-width:92vw;max-height:92vh}.lightbox-content iframe{background:#fff;border:none;border-radius:8px;width:88vw;height:88vh}.lightbox-close,.lightbox-download{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;display:flex;position:absolute;top:18px}.lightbox-close{right:18px}.lightbox-download{right:68px}.lightbox-close:hover,.lightbox-download:hover{background:#ffffff3d}.forward-overlay{z-index:8000;background:#00000080;justify-content:center;align-items:center;animation:.14s floatIn;display:flex;position:fixed;inset:0}.forward-modal{background:#fff;border-radius:14px;flex-direction:column;width:420px;max-width:92vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 24px 56px #0000004d}.forward-head{border-bottom:1px solid var(--paper-line);color:var(--navy-900);align-items:center;gap:8px;padding:14px 16px;display:flex}.forward-head strong{flex:1}.forward-close{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-radius:6px;padding:4px}.forward-close:hover{background:var(--paper)}.forward-search{border-bottom:1px solid var(--paper-line);background:var(--paper-soft);align-items:center;gap:8px;padding:8px 14px;display:flex}.forward-search svg{color:var(--ink-muted)}.forward-search input{background:0 0;border:none;outline:none;flex:1;font-size:13px}.forward-list{padding:6px 0;overflow-y:auto}.forward-sec{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);padding:8px 16px 4px;font-size:11px;font-weight:700}.forward-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 16px;display:flex}.forward-item:hover{background:var(--paper)}.forward-meta{flex-direction:column;gap:1px;display:flex}.forward-name{color:var(--ink);font-size:13px}.forward-dept{color:var(--ink-muted);font-size:11px}.forward-empty{text-align:center;color:var(--ink-muted);padding:20px;font-size:13px}.calls-page{background:#f5f8fc;flex-direction:column;height:100%;display:flex}.calls-header{background:var(--navy-900);color:#fff;align-items:center;gap:12px;padding:16px 24px;display:flex}.calls-back{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.calls-back:hover{background:#ffffff38}.calls-header h2{margin:0;font-size:18px;font-weight:600}.calls-list{flex:1;padding:12px 0;overflow-y:auto}.calls-empty{text-align:center;color:var(--ink-muted);padding:40px}.call-row{border-bottom:1px solid var(--paper-line);align-items:center;gap:12px;padding:10px 24px;display:flex}.call-row:hover{background:var(--paper-soft)}.call-avatar{background:var(--navy-700);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex;overflow:hidden}.call-avatar img{object-fit:cover;width:100%;height:100%}.call-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.call-name{color:var(--ink);font-size:14px;font-weight:600}.call-row.missed .call-name{color:#d93025}.call-meta{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;display:flex}.call-meta .ic.out{color:#1aa56b}.call-meta .ic.in{color:var(--accent)}.call-meta .ic.missed{color:#d93025}.call-redial{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.call-redial:hover{filter:brightness(1.1)}.reply-quote{border-left:3px solid var(--accent);background:#2f8bff1a;border-radius:7px;flex-direction:column;gap:1px;max-width:280px;margin-bottom:3px;padding:5px 10px;display:flex}.reply-quote-from{color:var(--accent);font-size:11px;font-weight:700}.reply-quote-text{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.reply-bar{background:var(--paper);border-top:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.reply-bar-content{align-items:center;gap:12px;min-width:0;display:flex}.reply-bar-icon{color:var(--accent);flex-shrink:0}.reply-bar-text-wrap{border-left:3px solid var(--accent);flex-direction:column;min-width:0;padding-left:10px;display:flex}.reply-bar-from{color:var(--accent);font-size:12px;font-weight:700}.reply-bar-text{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:55vw;font-size:12.5px;overflow:hidden}.reply-bar-close{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:6px}.reply-bar-close:hover{background:var(--paper-soft);color:var(--red)}.bubble-audio{padding:6px 8px}.bubble-audio audio{width:240px;height:38px;display:block}.msg-row.sent .bubble-audio{background:var(--navy)}.msg-row.sent .bubble-audio audio{filter:invert()hue-rotate(180deg)}.mic-btn{background:var(--paper-soft);border:1.5px solid var(--paper-line);color:var(--ink-soft);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex}.mic-btn:hover{border-color:var(--accent);color:var(--accent)}.emoji-btn{background:var(--paper-soft);border:1.5px solid var(--paper-line);color:var(--ink-soft);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex}.emoji-btn:hover{border-color:var(--accent);color:var(--accent)}.improve-btn{background:var(--paper-soft);border:1.5px solid var(--paper-line);color:#7c5cff;cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex}.improve-btn:hover:not(:disabled){background:#7c5cff14;border-color:#7c5cff}.improve-btn:disabled{opacity:.6;cursor:default}.improve-notice{color:var(--ink-soft);background:var(--paper);border:1px solid var(--paper-line);border-radius:999px;align-self:center;margin-bottom:6px;padding:4px 14px;font-size:12px;font-weight:600;animation:.15s floatIn}.chat-input-wrap{position:relative}.emoji-picker{border:1px solid var(--paper-line);z-index:200;background:#fff;border-radius:14px;flex-direction:column;width:320px;height:280px;animation:.18s floatIn;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0000002e}.emoji-tabs{border-bottom:1px solid var(--paper-line);background:var(--paper-soft);gap:2px;padding:6px 8px;display:flex}.emoji-tab{cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:6px;font-size:18px;transition:background .12s}.emoji-tab:hover{background:var(--paper-line)}.emoji-tab.active{background:#2f8bff26}.emoji-grid{flex:1;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;display:grid;overflow-y:auto}.emoji-item{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;font-size:20px;transition:background .1s;display:flex}.emoji-item:hover{background:var(--paper-line)}.typing-indicator{align-items:center;gap:8px;padding:6px 12px 4px;animation:.2s floatIn;display:flex}.typing-bubble{background:var(--paper-soft);border:1px solid var(--paper-line);border-radius:18px 18px 18px 4px;align-items:center;gap:4px;padding:8px 12px;display:flex}.typing-dot{background:var(--ink-soft);opacity:.5;border-radius:50%;width:6px;height:6px;animation:1.2s infinite typingBlink}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBlink{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.typing-text{color:var(--ink-soft);font-size:12px;font-style:italic}.typing-avatars{display:flex}.typing-avatar{border:2px solid var(--paper-soft);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-right:-7px;font-size:10px;font-weight:700;display:flex;overflow:hidden}.typing-avatars .typing-avatar:last-child{margin-right:8px}.typing-avatar img{object-fit:cover;width:100%;height:100%}.chat-input.recording{gap:14px}.rec-cancel{color:var(--red);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:8px;transition:background .15s;display:flex}.rec-cancel:hover{background:#fef2f2}.rec-indicator{color:var(--ink-soft);background:var(--paper-soft);border:1.5px solid var(--paper-line);border-radius:14px;flex:1;align-items:center;gap:10px;padding:11px 16px;font-size:14px;display:flex}.rec-dot{background:var(--red);border-radius:50%;width:11px;height:11px;animation:1s infinite rec-blink}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.25}}.bubble-image{padding:4px}.bubble-image img{cursor:pointer;border-radius:12px;max-width:260px;max-height:280px;display:block}.bubble-file{cursor:pointer;align-items:center;gap:12px;min-width:200px;padding:12px 14px;display:flex}.file-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.msg-row.received .file-icon{background:var(--accent-soft);color:var(--accent)}.msg-row.sent .file-icon{color:#fff;background:#ffffff26}.file-meta{min-width:0}.file-name{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:13px;font-weight:600;overflow:hidden}.file-size{opacity:.7;font-size:11px}.chat-input{background:var(--paper);border-top:1px solid var(--paper-line);flex-shrink:0;align-items:center;gap:10px;padding:14px 20px;display:flex}.chat-input-wrap{background:var(--paper-soft);border:1.5px solid var(--paper-line);border-radius:14px;flex:1;align-items:center;min-width:0;padding:4px 4px 4px 6px;transition:border-color .15s,box-shadow .15s;display:flex}.chat-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-input-wrap input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:9px 8px;font-size:14px}.chat-input-wrap input::placeholder{color:var(--ink-muted)}.attach-btn{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:8px;transition:all .15s;display:flex}.attach-btn:hover{color:var(--accent);background:var(--accent-soft)}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex;box-shadow:0 4px 12px #2f8bff4d}.send-btn:hover:not(:disabled){background:#1d7af0}.send-btn:disabled{box-shadow:none;cursor:not-allowed;background:#c3d3e3}.upload-chip{color:var(--accent);align-items:center;gap:8px;padding:0 6px;font-size:12px;display:flex}.attach-btn:disabled{cursor:wait}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.call-overlay{z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(#2f8bff2e,#0000 60%),#000816d1;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.call-card{background:linear-gradient(165deg, var(--navy-800), var(--navy));border:1px solid var(--navy-divider);text-align:center;border-radius:28px;flex-direction:column;align-items:center;width:min(440px,92vw);padding:44px 36px 36px;animation:.3s cubic-bezier(.2,.8,.2,1) callCardIn;display:flex;position:relative;box-shadow:0 32px 80px #0000008c,0 0 0 1px #ffffff0a}@keyframes callCardIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.call-card .call-tag{letter-spacing:2px;background:#2f8bff29;border-radius:999px;align-items:center;gap:7px;margin-bottom:26px;padding:5px 12px;font-size:11.5px;display:inline-flex}.call-card .call-avatar-xl{border-radius:40px;width:138px;height:138px;font-size:54px}.call-card .call-avatar-xl.ringing:before,.call-card .call-avatar-xl.ringing:after{border-width:3px;border-radius:40px}.call-card .call-name-xl{margin:28px 0 8px;font-size:26px}.call-card .call-status-xl{font-size:15px}.call-card .call-controls{gap:38px;margin-top:38px}.call-card .cc-btn{width:68px;height:68px}.call-card .cc-hangup,.call-card .cc-accept{width:76px;height:76px}.call-card .cc-accept{animation:2s ease-in-out infinite pulseAccept}@keyframes pulseAccept{0%,to{box-shadow:0 8px 24px #22c55e73}50%{box-shadow:0 8px 28px #22c55ed9,0 0 0 8px #22c55e2e}}@media (width<=480px){.call-card{border-radius:22px;padding:32px 22px 26px}.call-card .call-avatar-xl{width:108px;height:108px;font-size:42px}.call-card .call-name-xl{font-size:22px}.call-card .call-controls{gap:24px;margin-top:28px}.call-card .cc-btn{width:58px;height:58px}.call-card .cc-hangup,.call-card .cc-accept{width:64px;height:64px}}.call-tag{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:22px;font-size:11px;font-weight:700}.call-avatar-xl{background:linear-gradient(135deg, var(--navy-600), var(--navy-700));width:116px;height:116px;font-family:var(--font-display);color:#fff;border-radius:36px;justify-content:center;align-items:center;font-size:46px;font-weight:800;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a}.call-avatar-xl.ringing:before,.call-avatar-xl.ringing:after{content:"";border:2px solid var(--green-bright);border-radius:36px;animation:1.8s ease-out infinite ring-pulse;position:absolute;inset:0}.call-avatar-xl.ringing:after{animation-delay:.9s}@keyframes ring-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.call-name-xl{font-family:var(--font-display);color:var(--on-navy);margin:22px 0 6px;font-size:23px;font-weight:800}.call-status-xl{color:var(--on-navy-soft);font-size:14px}.call-status-xl.connected{color:var(--green-bright)}.call-timer-xl{color:var(--on-navy-soft);font-variant-numeric:tabular-nums;letter-spacing:1px;margin-top:4px;font-size:15px}.call-controls{justify-content:center;align-items:center;gap:18px;margin-top:32px;display:flex}.cc-btn{cursor:pointer;color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .1s,background .15s;display:flex}.cc-btn:active{transform:scale(.92)}.cc-mute{background:#ffffff1f}.cc-mute:hover{background:#fff3}.cc-mute.active{color:var(--navy);background:#fff}.cc-hangup{background:var(--red);width:64px;height:64px;box-shadow:0 8px 24px #e5484d73}.cc-hangup:hover{background:#d33b40}.cc-accept{background:var(--green-bright);width:64px;height:64px;box-shadow:0 8px 24px #22c55e73}.cc-accept:hover{background:#1aa84a}.cc-label{color:var(--on-navy-muted);margin-top:8px;font-size:11px}.cc-group{flex-direction:column;align-items:center;display:flex}.cc-cfg{background:#ffffff1f}.cc-cfg:hover{background:#fff3}.cc-cfg.active{color:var(--navy);background:#fff}.call-overlay-active{z-index:9998}.call-float{z-index:9999;background:linear-gradient(165deg, var(--navy-800), var(--navy));border:1px solid var(--navy-divider);width:320px;box-shadow:var(--shadow-lg);text-align:center;border-radius:22px;flex-direction:column;align-items:center;max-height:calc(100vh - 68px);padding:14px 20px 24px;animation:.25s cubic-bezier(.2,.8,.2,1) floatIn;display:flex;position:fixed;top:52px;right:22px;overflow:hidden auto}.call-float.staged{border-radius:28px;width:min(440px,92vw);max-height:90vh;padding:28px 32px;position:relative;top:auto;right:auto}.call-float.staged .call-avatar-xl{border-radius:32px;width:120px;height:120px;font-size:48px}.call-float.staged .call-name-xl{margin:22px 0 6px;font-size:24px}.call-float.staged .call-controls{gap:16px;margin-top:26px}.call-float.staged .cc-btn{width:56px;height:56px}.call-float.staged .cc-hangup{width:62px;height:62px}.call-float.staged.video-mode{width:min(720px,92vw);padding:18px 22px 24px}.call-float.staged.video-mode .call-video-area{width:100%;max-height:60vh}.call-float.staged.sharing{width:min(1500px,96vw);max-height:94vh}.call-float.staged.sharing .call-video-area{max-height:80vh}.call-float.group.sharing{width:min(1500px,96vw)}.call-float.group.sharing .gc-tiles{max-height:78vh}@media (width<=600px){.call-float.staged{border-radius:22px;width:94vw;padding:22px 20px}.call-float.staged .call-avatar-xl{width:96px;height:96px;font-size:38px}.call-float.staged .call-name-xl{font-size:19px}.call-float.staged .cc-btn{width:50px;height:50px}.call-float.staged .cc-hangup{width:56px;height:56px}}.call-float::-webkit-scrollbar{width:8px}.call-float::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:8px}@keyframes floatIn{0%{opacity:0;transform:translateY(-12px)scale(.96)}to{opacity:1;transform:none}}.call-float-head{justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;display:flex}.call-head-actions{align-items:center;gap:6px;display:flex}.call-float-min{color:var(--on-navy-soft);cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.call-float-min:hover{color:#fff;background:#fff3}.call-float .call-avatar-xl{border-radius:28px;width:92px;height:92px;font-size:38px}.call-float .call-name-xl{margin:16px 0 4px;font-size:20px}.call-float .call-controls{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}.call-float .cc-btn{width:46px;height:46px}.call-float .cc-hangup{width:50px;height:50px}.call-controls-wrap{row-gap:12px}.call-float.video-mode .call-controls{flex-wrap:nowrap;gap:16px;margin-top:14px}.call-float.video-mode .cc-btn{width:52px;height:52px}.call-float.video-mode .cc-hangup{width:58px;height:58px}.call-audio-cfg{border-top:1px solid var(--navy-divider);text-align:left;flex-direction:column;gap:6px;width:100%;margin-top:18px;padding-top:16px;display:flex}.call-cfg-head{color:var(--on-navy);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;font-weight:700;display:flex}.call-audio-cfg label{color:var(--on-navy-soft);align-items:center;gap:5px;margin-top:4px;font-size:11px;font-weight:700;display:flex}.call-audio-cfg select{border:1px solid var(--navy-divider);color:var(--on-navy);cursor:pointer;background:#ffffff0f;border-radius:8px;outline:none;padding:8px 10px;font-size:12.5px}.cc-invite{background:#ffffff1f}.cc-invite:hover{background:#fff3}.cc-invite.active{color:#63b3ed;background:#63b3ed40}.call-float.invite-open{width:320px}.call-invite-panel{border-top:1px solid var(--navy-divider);flex-direction:column;gap:8px;width:100%;margin-top:16px;padding-top:14px;display:flex}.call-invite-header{color:var(--on-navy-soft);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.call-invite-close{color:var(--on-navy-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.call-invite-close:hover{color:var(--on-navy);background:#ffffff1a}.call-invite-search{border:1px solid var(--navy-divider);color:var(--on-navy);background:#ffffff12;border-radius:9px;outline:none;width:100%;padding:8px 12px;font-size:12.5px}.call-invite-search::placeholder{color:var(--on-navy-muted)}.call-invite-search:focus{background:#ffffff17;border-color:#63b3ed66}.call-invite-list{flex-direction:column;gap:2px;max-height:160px;display:flex;overflow-y:auto}.call-invite-list::-webkit-scrollbar{width:4px}.call-invite-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.call-invite-item{cursor:pointer;text-align:left;width:100%;color:var(--on-navy-soft);background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:7px 8px;transition:background .12s;display:flex}.call-invite-item:hover{color:var(--on-navy);background:#ffffff12}.call-invite-item.selected{color:#fff;background:#63b3ed26}.call-invite-avatar{background:var(--navy-700);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex}.call-invite-item.selected .call-invite-avatar{background:#63b3ed4d}.call-invite-name{flex:1;font-size:13px;font-weight:500}.call-invite-check{color:#63b3ed;flex-shrink:0}.call-invite-empty{color:var(--on-navy-muted);text-align:center;padding:8px 0;font-size:12px}.call-invite-confirm{cursor:pointer;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:11px;width:100%;margin-top:2px;padding:10px 14px;font-size:13px;font-weight:700;transition:opacity .15s}.call-invite-confirm:hover{opacity:.88}.call-invite-confirm:disabled{opacity:.5;cursor:not-allowed}.cc-camera{background:#ffffff1f}.cc-camera:hover{background:#fff3}.cc-camera.active{color:var(--green-bright);background:#22c55e40}.cc-speaker{background:#ffffff1f}.cc-speaker:hover{background:#fff3}.cc-speaker.active{color:var(--navy);background:#fff}.cc-screen{background:#ffffff1f}.cc-screen:hover{background:#fff3}.cc-screen.active{background:var(--accent-soft);color:var(--accent)}.cc-screen:disabled{opacity:.4;cursor:not-allowed}.call-remote-video.screen,.call-local-pip.screen,.gc-tile-video.screen{object-fit:contain;background:#000;transform:none}.call-screen-badge{z-index:3;color:#fff;background:#2f8bffeb;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #0000004d}.gc-tile.screen{outline:2px solid var(--accent);outline-offset:-2px;grid-column:span 2}.gc-tile-screen{z-index:3;color:#fff;background:#2f8bffeb;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:8px;right:8px}.ssp-overlay{z-index:10000;background:#0009;justify-content:center;align-items:center;animation:.14s floatIn;display:flex;position:fixed;inset:0}.ssp-modal{background:var(--navy-800);border:1px solid var(--navy-divider);width:min(720px,92vw);max-height:80vh;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.ssp-head{border-bottom:1px solid var(--navy-divider);color:#fff;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.ssp-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ssp-close:hover{background:#fff3}.ssp-tabs{gap:8px;padding:12px 18px 0;display:flex}.ssp-tab{color:var(--on-navy-soft);cursor:pointer;background:#ffffff14;border:none;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.ssp-tab:hover{background:#ffffff24}.ssp-tab.active{background:var(--accent);color:#fff}.ssp-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:16px 18px;display:grid;overflow-y:auto}.ssp-empty{color:var(--on-navy-muted);text-align:center;grid-column:1/-1;padding:30px 0}.ssp-item{border:1px solid var(--navy-divider);cursor:pointer;background:#ffffff0d;border-radius:10px;flex-direction:column;gap:6px;padding:8px;transition:border-color .12s,transform .12s;display:flex}.ssp-item:hover{border-color:var(--accent);transform:translateY(-2px)}.ssp-item img{aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:6px;width:100%}.ssp-item-name{color:var(--on-navy-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.call-float.video-mode{width:840px;padding:14px 18px 22px}.call-float.video-mode .call-float-head{margin-bottom:6px}.call-video-area{background:var(--navy-900);aspect-ratio:16/9;border-radius:16px;width:100%;margin:6px 0;position:relative;overflow:hidden}.call-video-area.collapsed{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.call-cam-notice{text-align:center;width:100%;color:var(--green-bright);background:#22c55e1f;border:1px solid #22c55e4d;border-radius:10px;margin:2px 0 8px;padding:7px 10px;font-size:13px;font-weight:600;animation:.25s floatIn}.call-media-warn,.call-reconnecting{text-align:center;color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf244d;border-radius:10px;justify-content:center;align-items:center;gap:7px;width:100%;margin:2px 0 8px;padding:7px 10px;font-size:12.5px;font-weight:600;display:flex}.call-avatar-area{justify-content:center;align-items:center;padding:10px 0 6px;display:flex}.call-remote-video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.call-remote-avatar-overlay{background:linear-gradient(135deg, var(--navy-800), var(--navy-900));flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.call-avatar-sm{background:linear-gradient(135deg, var(--navy-600), var(--navy-700));width:96px;height:96px;font-family:var(--font-display);color:#fff;border-radius:30px;justify-content:center;align-items:center;font-size:40px;font-weight:700;display:flex;position:relative;box-shadow:0 8px 24px #00000059}.call-remote-avatar-overlay span{color:#fff;font-size:15px;font-weight:600}.call-cam-off-badge{color:var(--on-navy-soft);background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;display:inline-flex}.call-overlay-badges{flex-direction:column;align-items:center;gap:6px;display:flex}.call-remote-mic-badge{z-index:3;color:#fff;background:#d93025eb;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;bottom:12px;left:12px;box-shadow:0 2px 8px #0000004d}.call-name-sm .name-mic-off{color:#e54848;vertical-align:-2px;margin-right:5px}.gc-tile-mic{z-index:3;color:#fff;background:#d93025eb;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #0000004d}.call-local-pip{object-fit:cover;background:var(--navy-800);opacity:0;pointer-events:none;border:2px solid #ffffff40;border-radius:12px;width:200px;height:112px;transition:opacity .25s;position:absolute;bottom:14px;right:14px;transform:scaleX(-1);box-shadow:0 4px 16px #0006}.call-local-pip.visible{opacity:1;pointer-events:auto}.call-info-row{justify-content:space-between;align-items:center;margin:4px 0;padding:0 2px;display:flex}.call-name-sm{color:var(--on-navy);font-size:13px;font-weight:600}.call-timer-sm{color:var(--on-navy-soft);font-variant-numeric:tabular-nums;font-size:13px}.call-float.group{width:840px}.gc-title{font-family:var(--font-display);color:var(--on-navy);justify-content:center;align-items:center;gap:8px;margin:4px 0 12px;font-size:18px;font-weight:800;display:flex}.gc-tiles{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;display:grid}.gc-tiles.count-1{grid-template-columns:1fr}.gc-tiles.count-2,.gc-tiles.count-3,.gc-tiles.count-4{grid-template-columns:repeat(2,1fr)}.gc-tiles.count-5,.gc-tiles.count-6{grid-template-columns:repeat(3,1fr)}.gc-tile{background:var(--navy-900);aspect-ratio:16/9;border-radius:14px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gc-tile-video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.gc-tile-avatar{background:linear-gradient(135deg, var(--navy-700), var(--navy-900));font-family:var(--font-display);color:#fff;justify-content:center;align-items:center;font-size:34px;font-weight:700;display:flex;position:absolute;inset:0}.gc-tile.has-video .gc-tile-avatar{display:none}.gc-tile-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#0000,#0009);padding:6px 10px;font-size:13px;font-weight:600;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.gc-status{color:var(--on-navy-muted);text-align:center;margin:8px 0 0;font-size:12px}.call-float.pip{width:100vw;height:100vh;max-height:none;box-shadow:none;background:var(--navy-900);-webkit-app-region:drag;border:none;border-radius:0;flex-direction:column;align-items:stretch;margin:0;padding:0;animation:none;display:flex;position:fixed;inset:0;overflow:hidden}.call-float.pip button,.call-float.pip select,.call-float.pip input,.call-float.pip video{-webkit-app-region:no-drag}.call-float.pip .call-float-head{flex:none;margin:0;padding:5px 10px}.call-float.pip .call-tag{letter-spacing:.5px;font-size:10px}.call-float.pip .call-cam-notice,.call-float.pip .call-media-warn{display:none}.call-float.pip .call-video-area{aspect-ratio:auto;border-radius:0;flex:auto;min-height:0;margin:0}.call-float.pip .call-local-pip{width:96px;height:54px;bottom:8px;right:8px}.call-float.pip .call-avatar-area{flex-direction:column;flex:auto;gap:8px;padding:0}.call-float.pip .call-avatar-area .call-avatar-xl{border-radius:22px;width:72px;height:72px;font-size:30px}.call-float.pip .call-info-row{margin:0;padding:2px 10px}.call-float.pip .call-name-sm,.call-float.pip .call-timer-sm{font-size:11px}.call-float.group.pip .gc-tiles{flex:auto;align-content:start;gap:4px;min-height:0;margin:0;padding:4px 6px;overflow:auto}.call-float.group.pip .gc-tile{border-radius:8px}.call-float.group.pip .gc-tile-avatar{font-size:20px}.call-float.group.pip .gc-tile-name{padding:2px 5px;font-size:9px}.call-float.group.pip .gc-status{margin:2px 0;font-size:10px}.pip-resize-handle{cursor:nwse-resize;z-index:20;-webkit-app-region:no-drag;touch-action:none;width:30px;height:30px;position:absolute;top:0;left:0}.pip-resize-handle:before{content:"";border-top:2.5px solid #fff9;border-left:2.5px solid #fff9;border-radius:4px 0 0;width:11px;height:11px;position:absolute;top:6px;left:6px}.pip-resize-handle:hover:before{border-color:#fff}.pip-resize-handle:hover{background:linear-gradient(135deg,#ffffff1f,#0000 70%);border-radius:12px 0 0}.call-float.pip .call-controls{background:#00000047;flex-wrap:nowrap;flex:none;justify-content:center;gap:8px;margin:0;padding:7px 8px}.call-float.pip .cc-label{display:none}.call-float.pip .cc-btn{width:38px;height:38px}.call-float.pip .cc-hangup{width:42px;height:42px}.call-mini{z-index:200;background:linear-gradient(135deg, var(--navy-800), var(--navy));border:1px solid var(--navy-divider);box-shadow:var(--shadow-lg);border-radius:16px;align-items:center;gap:10px;padding:8px 10px 8px 12px;animation:.2s floatIn;display:flex;position:fixed;top:52px;right:22px}.call-mini-avatar{background:linear-gradient(135deg, var(--navy-600), var(--navy-700));width:36px;height:36px;font-family:var(--font-display);color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.call-mini-info{flex-direction:column;min-width:96px;display:flex}.call-mini-name{color:var(--on-navy);white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:13px;font-weight:700;overflow:hidden}.call-mini-status{color:var(--green-bright);font-variant-numeric:tabular-nums;font-size:11.5px}.call-mini-btn{cursor:pointer;width:34px;height:34px;color:var(--on-navy);background:#ffffff1a;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s;display:flex}.call-mini-btn:hover{background:#fff3}.call-mini-btn.muted{color:var(--red)}.call-mini-btn.hang{background:var(--red);color:#fff}.call-mini-btn.hang:hover{background:#d33b40}.embed-view{background:#fff;flex:1;height:100%;overflow:hidden}.embed-frame{border:none;width:100%;height:100%;display:block}.meet-view{background:var(--paper);flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.meet-head{border-bottom:1px solid var(--paper-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.meet-tabs{background:var(--paper-soft);border-radius:11px;gap:4px;padding:4px;display:flex}.meet-tab{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:8px 14px;font-size:13.5px;font-weight:600;display:flex}.meet-tab.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #00000014}.meet-new-btn{cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:10px;align-items:center;gap:7px;padding:9px 15px;font-size:13.5px;font-weight:700;display:flex;box-shadow:0 3px 10px #2f8bff59}.meet-new-btn:hover{background:#1d7af0}.meet-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.meet-cal{background:var(--paper);border:1px solid var(--paper-line);border-radius:16px;max-width:460px;padding:14px}.meet-cal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.meet-cal-head button{background:var(--paper-soft);cursor:pointer;width:30px;height:30px;color:var(--ink);border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.meet-cal-head button:hover{background:var(--paper-line)}.meet-cal-month{color:var(--ink);text-transform:capitalize;font-size:14.5px;font-weight:700}.meet-cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.meet-cal-wd{text-align:center;color:var(--ink-muted);padding:4px 0;font-size:11px;font-weight:700}.meet-cal-day{aspect-ratio:1;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:relative}.meet-cal-day:hover{background:var(--paper-soft)}.meet-cal-day.out{color:var(--ink-faint,#b9c2cc)}.meet-cal-day.today{color:var(--accent);font-weight:800}.meet-cal-day.selected{background:var(--accent);color:#fff}.meet-cal-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px}.meet-cal-day.selected .meet-cal-dot{background:#fff}.meet-cal-clear{background:var(--paper-soft);cursor:pointer;width:100%;color:var(--accent);border:none;border-radius:9px;margin-top:10px;padding:8px;font-size:12.5px;font-weight:600}.meet-list{flex:1}.meet-list-title{color:var(--ink-muted);text-transform:capitalize;align-items:center;gap:7px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.meet-empty{color:var(--ink-muted);background:var(--paper-soft);text-align:center;border-radius:12px;padding:16px;font-size:13.5px}.meet-card{background:var(--paper);border:1px solid var(--paper-line);border-radius:13px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.meet-card-icon{background:var(--accent-soft,#2f8bff1f);width:40px;height:40px;color:var(--accent);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.meet-card-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.meet-card-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;overflow:hidden}.meet-card-meta{color:var(--ink-muted);align-items:center;gap:5px;font-size:12px;display:flex}.meet-card-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.meet-join{cursor:pointer;background:var(--green-bright);color:#fff;border:none;border-radius:9px;align-items:center;gap:6px;padding:8px 13px;font-size:13px;font-weight:700;display:flex}.meet-join:hover{background:#1aa84a}.meet-icon-btn{cursor:pointer;background:var(--paper-soft);width:34px;height:34px;color:var(--ink-muted);border:none;border-radius:9px;justify-content:center;align-items:center;display:flex}.meet-icon-btn:hover{background:var(--paper-line);color:var(--ink)}.meet-icon-btn.danger:hover{color:var(--red);background:#e5484d24}.meet-room-wrap{background:#0b1320;flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.meet-room-bar{color:#fff;background:#0b1320;align-items:center;gap:12px;padding:8px 12px;display:flex}.meet-room-back,.meet-room-copy{cursor:pointer;color:#fff;background:#ffffff1f;border:none;border-radius:9px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.meet-room-back:hover,.meet-room-copy:hover{background:#ffffff38}.meet-room-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.jitsi-room{flex:1;min-height:0}.jitsi-room iframe{border:0;display:block;width:100%!important;height:100%!important}.meet-mode{gap:8px;display:flex}.meet-mode button{cursor:pointer;border:1.5px solid var(--paper-line);background:var(--paper);color:var(--ink-muted);border-radius:11px;flex:1;justify-content:center;align-items:center;gap:7px;padding:11px;font-size:13px;font-weight:600;display:flex}.meet-mode button.active{border-color:var(--accent);background:var(--accent-soft,#2f8bff1a);color:var(--accent)}.meet-link-box{gap:8px;margin:6px 0 4px;display:flex}.meet-link-box input{border:1px solid var(--paper-line);background:var(--paper-soft);min-width:0;color:var(--ink);border-radius:10px;flex:1;padding:10px 12px;font-size:13px}.meet-link-box .btn-primary{white-space:nowrap;align-items:center;gap:6px;display:flex}.ticket-view{background:var(--paper-soft);flex-direction:column;height:100%;display:flex;overflow:hidden}.ticket-header{background:var(--navy);flex-direction:column;gap:14px;padding:18px 24px;display:flex}.ticket-header h2{font-family:var(--font-display);color:var(--on-navy);font-size:20px;font-weight:800}.ticket-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-tabs{background:#ffffff0d;border-radius:11px;gap:4px;padding:4px;display:flex}.filter-tab{color:var(--on-navy-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s}.filter-tab:hover{color:var(--on-navy)}.filter-tab.active{background:var(--accent);color:#fff}.tickets-list{flex-direction:column;flex:1;gap:11px;padding:16px 24px;display:flex;overflow-y:auto}.tickets-list::-webkit-scrollbar{width:7px}.tickets-list::-webkit-scrollbar-thumb{background:#c3d3e3;border-radius:4px}.ticket-card{background:var(--paper);border:1px solid var(--paper-line);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:14px;padding:16px 18px;transition:all .15s}.ticket-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ticket-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px;display:flex}.ticket-title{font-family:var(--font-display);color:var(--ink);font-size:15px;font-weight:700}.ticket-badges{flex-shrink:0;gap:6px;display:flex}.badge{border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.ticket-meta{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px;font-size:12px;display:flex}.ticket-meta strong{color:var(--ink-soft);font-weight:600}.ticket-date{margin-left:auto}.ticket-desc{color:var(--ink-soft);margin-bottom:12px;font-size:13px;line-height:1.5}.ticket-actions{flex-wrap:wrap;gap:6px;display:flex}.status-btn{background:var(--paper-soft);border:1px solid var(--paper-line);cursor:pointer;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s}.status-btn:hover{border-color:currentColor}.empty-state{text-align:center;color:var(--ink-muted);padding:50px;font-size:14px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000c1c99;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--paper);width:500px;max-width:95vw;box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;gap:18px;padding:28px;display:flex}.modal h3{font-family:var(--font-display);color:var(--ink);font-size:19px;font-weight:800}.modal form{flex-direction:column;gap:16px;display:flex}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.settings-view{background:var(--paper-soft);flex-direction:column;height:100%;display:flex;overflow:hidden}.settings-header{background:var(--navy);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.settings-header h2{font-family:var(--font-display);color:var(--on-navy);font-size:20px;font-weight:800}.settings-header .btn-secondary{color:var(--on-navy-soft);border-color:var(--navy-divider)}.settings-header .btn-secondary:hover{color:#fff;border-color:#ffffff4d}.settings-body{flex:1;width:100%;max-width:760px;margin:0 auto;padding:24px;overflow:hidden auto}.settings-section{background:var(--paper);border:1px solid var(--paper-line);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:16px;margin-bottom:16px;padding:22px;display:flex}.settings-section h3{font-family:var(--font-display);color:var(--ink);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.settings-hint{color:var(--ink-muted);margin-top:-6px;font-size:12.5px;line-height:1.55}.settings-warn{color:var(--amber);font-size:12.5px;font-weight:600}.avatar-edit{align-items:center;gap:20px;display:flex}.avatar-preview{background:linear-gradient(135deg, var(--navy-600), var(--navy-700));width:84px;height:84px;font-family:var(--font-display);color:#fff;box-shadow:var(--shadow-md);border-radius:24px;flex-shrink:0;justify-content:center;align-items:center;font-size:34px;font-weight:800;display:flex;overflow:hidden}.avatar-preview img{object-fit:cover;width:100%;height:100%}.admin-view{background:var(--paper-soft);flex-direction:column;height:100%;display:flex;overflow:hidden}.admin-header{background:var(--navy);flex-direction:column;gap:14px;padding:18px 24px;display:flex}.admin-title{align-items:center;gap:9px;display:flex}.admin-title h2{font-family:var(--font-display);color:var(--on-navy);font-size:20px;font-weight:800}.admin-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-search{border:1px solid var(--navy-divider);min-width:220px;color:var(--on-navy-muted);background:#ffffff0f;border-radius:10px;flex:1;align-items:center;gap:9px;padding:9px 13px;display:flex}.admin-search input{color:var(--on-navy);background:0 0;border:none;outline:none;flex:1;font-size:13px}.admin-search input::placeholder{color:var(--on-navy-muted)}.admin-header .btn-secondary{color:var(--on-navy-soft);border-color:var(--navy-divider)}.admin-header .btn-secondary:hover{color:#fff;border-color:#ffffff4d}.admin-msg{border-radius:12px;justify-content:space-between;align-items:center;margin:14px 24px 0;padding:12px 18px;font-size:13px;font-weight:500;display:flex}.admin-msg.ok{color:#15803d;background:#dcfce7}.admin-msg.err{color:#b91c1c;background:#fee2e2}.admin-msg button{color:inherit;cursor:pointer;background:0 0;border:none}.admin-table-wrap{flex:1;padding:18px 24px;overflow-y:auto}.admin-table-wrap::-webkit-scrollbar{width:7px}.admin-table-wrap::-webkit-scrollbar-thumb{background:#c3d3e3;border-radius:4px}.admin-table{border-collapse:separate;border-spacing:0;background:var(--paper);width:100%;box-shadow:var(--shadow-sm);border-radius:14px;font-size:13.5px;overflow:hidden}.admin-table th{text-align:left;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.6px;background:var(--paper-soft);border-bottom:1px solid var(--paper-line);padding:13px 16px;font-size:11px;font-weight:700}.admin-table td{border-bottom:1px solid var(--paper-line);vertical-align:middle;color:var(--ink);padding:12px 16px}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:var(--paper-soft)}.inactive-row td{opacity:.5}.user-cell{align-items:center;gap:10px;font-weight:600;display:flex}.role-badge{border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.role-badge.admin{background:var(--accent-soft);color:var(--accent)}.role-badge.user{color:var(--ink-muted);background:#eef2f6}.status-badge{border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.status-badge.active{color:#15803d;background:#dcfce7}.status-badge.inactive{color:#94a3b8;background:#f1f5f9}.action-btns{gap:5px;display:flex}.icon-btn{background:var(--paper);border:1.5px solid var(--paper-line);color:var(--ink-muted);cursor:pointer;border-radius:9px;align-items:center;padding:7px;transition:all .15s;display:flex}.icon-btn:hover{border-color:var(--ink-muted);color:var(--ink)}.icon-btn.danger:hover{border-color:var(--red);color:var(--red);background:#fef2f2}.icon-btn.success:hover{border-color:var(--green);color:var(--green);background:#f0fdf4}.icon-btn:disabled{opacity:.5;cursor:wait}.admin-tabs{background:var(--navy);border-bottom:1px solid var(--navy-divider);gap:0;padding:0 24px;display:flex}.admin-tab{cursor:pointer;color:var(--on-navy-muted);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:13px 20px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s;display:flex;position:relative}.admin-tab:hover{color:var(--on-navy-soft)}.admin-tab.active{color:#fff;border-bottom-color:#2f8bff}.pending-badge{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:18px;padding:1px 6px;font-size:10px;font-weight:800}.pending-avatar{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.pending-empty{color:var(--ink-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 24px;display:flex}.pending-empty p{font-size:14px}.login-divider{background:var(--navy-divider);width:100%;height:1px;margin:10px 0 14px}.login-register-cta{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.login-register-cta span{color:var(--on-navy-muted);font-size:13px}.btn-register-cta{border:1.5px solid var(--navy-divider);color:var(--on-navy-soft);cursor:pointer;background:#ffffff12;border-radius:12px;width:100%;padding:11px 28px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.btn-register-cta:hover{color:#fff;background:#ffffff1f;border-color:#ffffff40}.register-back-link{color:var(--on-navy-muted);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px 0;font-size:13px;transition:color .15s}.register-back-link:hover{color:var(--on-navy-soft)}.register-success-box{text-align:center;align-items:center;gap:6px;padding:40px 36px}.register-success-title{font-family:var(--font-display);color:var(--on-navy);margin-top:8px;font-size:22px;font-weight:800}.register-success-text{color:var(--on-navy-soft);margin-bottom:6px;font-size:13.5px;line-height:1.7}.register-success-text strong{color:#fff}.rec-date{border:1px solid var(--navy-divider);color:var(--on-navy-muted);background:#ffffff0f;border-radius:10px;align-items:center;gap:7px;padding:7px 11px;display:flex}.rec-date input[type=date]{color:var(--on-navy);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;outline:none;font-family:inherit;font-size:12.5px}.rec-date span{color:var(--on-navy-muted);font-size:12px}.rec-stats{background:var(--paper);border-bottom:1px solid var(--paper-line);color:var(--ink-muted);gap:20px;padding:12px 24px;font-size:13px;display:flex}.rec-stats strong{color:var(--ink);font-family:var(--font-display)}.rec-stats span{align-items:center;gap:6px;display:flex}.rec-parts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rec-caller,.rec-callee{color:var(--ink);font-weight:700}.rec-arrow{color:var(--ink-muted);font-size:11px;font-weight:500}.rec-player-row td{background:var(--paper-soft)!important}.rec-player{align-items:center;gap:12px;padding:6px 2px;display:flex}.rec-player audio{height:40px}@media (width<=768px){.titlebar{display:none!important}.sidebar{border-right:none;width:100%}.sidebar-nav{display:none}.sidebar-header{padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top))}.sidebar-logo{height:52px;padding:8px 16px}.main-layout.mobile-detail .sidebar,.main-layout.mobile-list .main-content{display:none}.mobile-bottom-nav{background:var(--navy-900);border-top:1px solid var(--navy-divider);padding:6px 2px calc(6px + env(safe-area-inset-bottom));flex-shrink:0;justify-content:space-around;display:flex}.app-wrapper.chat-open .mobile-bottom-nav{display:none}.mbn-btn{color:var(--on-navy-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:5px 0;font-size:11px;font-weight:600;display:flex;position:relative}.mbn-btn.active{color:var(--accent)}.mbn-badge{color:#fff;background:#e54848;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-2px;left:50%}.chat-back-btn{color:var(--on-navy);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:2px;padding:4px;display:flex}.chat-header{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top))}.chat-header-info{flex:1;min-width:0}.chat-input{padding:10px 10px calc(10px + env(safe-area-inset-bottom));gap:6px}.send-btn{width:40px;height:40px}.chat-input-wrap input{font-size:16px}.msg-actions,.msg-reply-btn{display:none!important}.msg-row{max-width:86%}.msg-row,.msg-content,.bubble{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.bubble-editing,.edit-input,.msg-row input,.msg-row textarea{-webkit-user-select:text;user-select:text}.msg-sheet-overlay{z-index:9000;background:#0006;align-items:flex-end;animation:.12s floatIn;display:flex;position:fixed;inset:0}.msg-sheet{background:var(--paper);width:100%;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;box-shadow:0 -8px 30px #00000040}.msg-sheet-emojis{justify-content:space-around;padding:8px 4px 12px;display:flex}.msg-sheet-emojis button{cursor:pointer;background:0 0;border:none;padding:4px;font-size:28px}.msg-sheet-actions{flex-direction:column;display:flex}.msg-sheet-btn{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;font-size:15px;font-weight:600;display:flex}.msg-sheet-btn:active{background:var(--paper-soft)}.msg-sheet-btn.danger{color:#e54848}.admin-table-wrap{overflow-x:visible}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table tr{background:var(--paper);border:1px solid var(--paper-line);border-radius:12px;margin-bottom:10px;padding:6px 12px}.admin-table td{text-align:right;border:none;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.admin-table td:before{content:attr(data-label);color:var(--ink-muted);text-align:left;flex-shrink:0;font-size:12px;font-weight:700}.admin-table td .user-cell,.admin-table td .action-btns{justify-content:flex-end}.admin-controls{flex-wrap:wrap}.call-overlay-active{align-items:stretch;padding:0}.call-float.staged,.call-float.staged.video-mode,.call-float.staged.sharing{background:var(--navy-900);border:none;border-radius:0;justify-content:center;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;overflow:hidden}.call-float.staged .call-float-head{z-index:6;padding:calc(12px + env(safe-area-inset-top)) 16px 16px;background:linear-gradient(#0000008c,#0000);margin:0;position:absolute;top:0;left:0;right:0}.call-float.staged .call-video-area:not(.collapsed){aspect-ratio:auto;border-radius:0;width:100%;height:100%;max-height:none;margin:0;position:absolute;inset:0}.call-float.staged .call-avatar-area{background:linear-gradient(160deg, var(--navy-700), var(--navy-900));flex-direction:column;gap:16px;padding:0;position:absolute;inset:0}.call-float.staged .call-avatar-area .call-avatar-xl{width:132px;height:132px;font-size:52px}.call-float.staged .call-local-pip{width:104px;height:150px;top:calc(70px + env(safe-area-inset-top));border-radius:14px;bottom:auto;right:12px}.call-float.staged .call-info-row{z-index:6;justify-content:center;gap:10px;margin:0;padding:0;position:absolute;bottom:132px;left:0;right:0}.call-float.staged .call-name-sm,.call-float.staged .call-timer-sm{color:#fff;text-shadow:0 1px 4px #0009;font-size:15px}.call-float.staged .call-controls{z-index:6;padding:16px 10px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#0009);flex-wrap:nowrap;gap:8px;margin:0;position:absolute;bottom:0;left:0;right:0}.call-float.staged .cc-btn{width:46px;height:46px}.call-float.staged .cc-hangup{width:52px;height:52px}.call-float.staged .cc-label{display:none}.call-float.staged .call-name-xl{color:#fff}.call-float.staged .call-status-xl{color:#fffc}.call-float.staged .call-audio-cfg,.call-float.staged .call-invite-panel{z-index:7;width:100%;padding:14px 16px calc(16px + env(safe-area-inset-bottom));background:var(--navy-800);border-radius:18px 18px 0 0;max-height:70vh;margin:0;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.call-float.group,.call-float.group.video-mode,.call-float.group.sharing{background:var(--navy-900);border:none;border-radius:0;max-width:none;max-height:none;padding:0;overflow:hidden;width:100vw!important;height:100dvh!important;position:fixed!important;inset:0!important;transform:none!important}.call-float.group .call-float-head{z-index:6;padding:calc(12px + env(safe-area-inset-top)) 16px 14px;background:linear-gradient(#0000008c,#0000);margin:0;position:absolute;top:0;left:0;right:0}.call-float.group .gc-title{display:none}.call-float.group .gc-tiles{padding:calc(60px + env(safe-area-inset-top)) 8px calc(108px + env(safe-area-inset-bottom));align-content:start;max-height:none;position:absolute;inset:0;overflow-y:auto}.call-float.group .gc-status{z-index:2;position:absolute;top:50%;left:0;right:0}.call-float.group .call-controls{z-index:6;padding:16px 10px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#0009);flex-wrap:nowrap;gap:8px;margin:0;position:absolute;bottom:0;left:0;right:0}.call-float.group .cc-btn{width:46px;height:46px}.call-float.group .cc-hangup{width:52px;height:52px}.call-float.group .cc-label{display:none}.call-float.group .call-audio-cfg,.call-float.group .call-invite-panel{z-index:7;width:100%;padding:14px 16px calc(16px + env(safe-area-inset-bottom));background:var(--navy-800);border-radius:18px 18px 0 0;max-height:70vh;margin:0;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.call-float.staged .call-local-pip{touch-action:none;z-index:5}.call-float.staged .call-remote-mic-badge{bottom:auto;top:calc(70px + env(safe-area-inset-top));left:12px}.meet-head{padding:10px 12px}.meet-tabs{flex:1}.meet-tab{flex:1;justify-content:center;padding:8px 6px;font-size:12.5px}.meet-new-btn{justify-content:center;width:100%}.meet-body{padding:12px}.meet-cal{max-width:none}.meet-card{flex-wrap:wrap}.meet-card-info{flex-basis:calc(100% - 52px)}.meet-card-actions{justify-content:flex-end;width:100%;margin-top:6px}.meet-join{flex:1;justify-content:center}}
