:root{--violet:#6c3cf0;--violet2:#8f63ff;--cyan:#16b8d4;--pink:#ff4f91;--orange:#ff8a3d;--green:#20b57a;--ink:#20253a;--muted:#7b8194;--surface:#fff;--soft:#f5f3ff;--chat:#f3f4f8;--line:#ececf4;--mine:#dccfff;--danger:#c52a4a}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff}button,input,textarea{font:inherit;-webkit-tap-highlight-color:transparent}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eee9ff,#eafcff 54%,#fff1f7)}.auth-card{position:relative;overflow:hidden;width:min(430px,100%);background:#ffffffee;border:1px solid #fff;border-radius:32px;padding:30px;box-shadow:0 30px 80px #40209c24;text-align:center;backdrop-filter:blur(18px)}.auth-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:#8e5cff33;right:-90px;top:-100px}.brand-logo{width:126px;height:126px;object-fit:contain;position:relative}.auth-card h1{margin:6px 0;font-size:30px}.auth-card p{color:var(--muted)}.auth-card form,.profile-card{display:grid;gap:11px;text-align:left}.auth-card input,.profile-card input{width:100%;padding:14px;border:1px solid #ddddea;border-radius:15px;outline:none;background:#fbfbfe}.auth-card input:focus,.profile-card input:focus{border-color:var(--violet);box-shadow:0 0 0 4px #6c3cf018}.primary{border:0;border-radius:15px;padding:14px 18px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 24px #6c3cf02c}.form-message{min-height:20px;color:var(--danger);margin:0}.app{height:100dvh;width:100%;display:grid;grid-template-columns:390px minmax(0,1fr);overflow:hidden;background:#fff}.sidebar{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);min-width:0;border-right:1px solid var(--line);background:#fff}.topbar{min-height:72px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--violet),#8556fb);color:#fff}.brand,.peer{display:flex;align-items:center;gap:11px;min-width:0}.brand img,.peer img{width:46px;height:46px;border-radius:16px;object-fit:cover;background:#fff;box-shadow:0 4px 14px #0002}.brand div,.peer div{display:grid;min-width:0}.brand strong,.peer b{font-size:16px}.brand strong,.peer b,.brand small,.peer small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand small,.peer small{color:#ede8ff;font-size:12px}.top-actions,.call-actions{display:flex;gap:8px}.round-btn{width:42px;height:42px;border-radius:15px;border:1px solid #ffffff35;background:#ffffff1f;color:#fff;display:grid;place-items:center;cursor:pointer;font-size:19px}.round-btn:active{transform:scale(.96)}.me-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;background:linear-gradient(135deg,#fbfaff,#f2fbff);border-bottom:1px solid var(--line)}.me-card img{width:56px;height:56px;border-radius:18px;object-fit:cover;background:#eee}.me-card div{display:grid;min-width:0}.me-card small,.me-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.me-card button{border:0;background:#ede7ff;color:var(--violet);border-radius:12px;padding:9px 12px;font-weight:800}.quick-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px 4px}.quick-strip button{border:0;background:transparent;display:grid;place-items:center;gap:4px;color:var(--muted);font-size:11px}.quick-strip span{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#fff;font-size:20px;background:linear-gradient(135deg,var(--violet),var(--violet2));box-shadow:0 8px 18px #6c3cf025}.quick-strip button:nth-child(2) span{background:linear-gradient(135deg,var(--pink),#ff7ab0)}.quick-strip button:nth-child(3) span{background:linear-gradient(135deg,var(--cyan),#49d2e7)}.search-panel{padding:12px 14px;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:9px}.section-title label{font-weight:900;font-size:20px}.section-title small{color:var(--muted)}.search-box{display:grid;grid-template-columns:24px minmax(0,1fr) 30px;align-items:center;border:1px solid #e4e2ee;border-radius:16px;padding:0 10px;background:#f7f6fb}.search-box:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px #6c3cf012}.search-box input{border:0;background:transparent;outline:none;padding:13px 5px;min-width:0}.search-box button{border:0;background:transparent;font-size:21px;color:var(--muted)}.user-list{overflow:auto;min-height:0;padding-bottom:12px}.user{margin:7px 10px;padding:12px;border:1px solid #efedf5;border-radius:20px;background:#fff;box-shadow:0 6px 18px #24243b08}.user.active{background:#f3efff;border-color:#cfc1ff}.user-main{display:flex;align-items:center;gap:12px;min-width:0}.user-main img{width:54px;height:54px;border-radius:18px;object-fit:cover;background:#eee}.user-main>div{display:grid;min-width:0;flex:1}.user-main b,.user-main small,.user-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-main small,.user-main span{font-size:12px;color:var(--muted)}.user-actions{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;gap:8px;margin:10px 0 0 66px}.user-actions button{height:40px;border-radius:13px;border:0;background:#f0eef7;font-weight:800;cursor:pointer;color:var(--ink)}.user-actions .message-user{background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff}.user-actions .audio-user{background:#e8fbf5;color:var(--green)}.user-actions .video-user{background:#e8f9fd;color:var(--cyan)}.chat-shell{min-width:0;position:relative;background:var(--chat);overflow:hidden}.empty-state{height:100%;display:grid;place-content:center;text-align:center;padding:28px;background:radial-gradient(circle at 70% 20%,#decfff 0,transparent 30%),radial-gradient(circle at 20% 80%,#cff5fb 0,transparent 30%),#f8f7fc}.empty-orb{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#fff;box-shadow:0 24px 60px #6c3cf01f}.empty-state img{width:145px}.empty-state h2{margin:20px 0 5px}.empty-state p{color:var(--muted);max-width:430px}.chat-panel{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}.chat-topbar{background:linear-gradient(135deg,#3d2f8f,var(--violet))}.back-btn{display:none;border:0;background:transparent;color:#fff;font-size:38px;line-height:1;padding:0 8px 4px 0}.peer{flex:1}.audio-call-btn{background:#20b57a33}.video-call-btn{background:#16b8d433}.messages{min-height:0;overflow:auto;padding:18px 22px;background-color:#f1f1f6;background-image:radial-gradient(#8e8ba318 1px,transparent 1px);background-size:19px 19px}.loading-chat{text-align:center;color:var(--muted);padding:20px}.bubble{max-width:min(72%,680px);margin:7px 0;padding:10px 12px;border-radius:18px 18px 18px 6px;background:#fff;box-shadow:0 2px 8px #2f2f4b10;word-break:break-word}.bubble.mine{margin-left:auto;background:linear-gradient(135deg,#e9e0ff,#d7c8ff);border-radius:18px 18px 6px 18px}.bubble time{display:block;text-align:right;font-size:10px;color:#74758a;margin-top:5px}.bubble img,.bubble video{display:block;max-width:100%;max-height:360px;border-radius:13px}.bubble audio{width:min(100%,360px)}.file-link{display:block;padding:12px;border-radius:12px;background:#f5f4fa;color:#3f4057;text-decoration:none}.file-preview{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff4e8;border-top:1px solid #ffd9b3;color:#4b4c62}.file-preview button{border:0;background:transparent;font-size:22px}.composer{display:grid;grid-template-columns:48px minmax(0,1fr) 52px;gap:8px;align-items:end;padding:10px 11px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.composer textarea{resize:none;min-height:48px;max-height:120px;padding:13px 16px;border:1px solid #e1dfea;border-radius:24px;outline:none;background:#f7f6fa}.composer textarea:focus{border-color:var(--violet)}.attach-btn,.send-btn{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;border:0;background:#f0edff;color:var(--violet);font-size:26px;cursor:pointer}.send-btn{width:52px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;box-shadow:0 8px 18px #6c3cf032}.modal,.sheet{position:fixed;inset:0;z-index:70}.modal{display:grid;place-items:center;padding:18px;background:#1c163d99;backdrop-filter:blur(8px)}.profile-card,.call-card{position:relative;width:min(430px,100%);max-height:90dvh;overflow:auto;background:#fff;border-radius:28px;padding:25px;box-shadow:0 24px 70px #0004}.profile-card>img{width:98px;height:98px;border-radius:28px;object-fit:cover;margin:auto;background:#eee}.profile-card h2,.call-card h2{text-align:center;margin:8px 0 2px}.profile-email{text-align:center;color:var(--muted);margin:0 0 12px}.modal-close{position:absolute;right:14px;top:10px;border:0;background:#f1eff7;width:36px;height:36px;border-radius:12px;font-size:24px}.sheet{display:flex;align-items:flex-end}.sheet-backdrop{position:absolute;inset:0;border:0;background:#1b173a88}.sheet-card{position:relative;width:100%;padding:10px 18px calc(22px + env(safe-area-inset-bottom));background:#fff;border-radius:28px 28px 0 0;box-shadow:0 -20px 60px #0003}.sheet-handle{width:46px;height:5px;background:#dedbe8;border-radius:9px;margin:0 auto 14px}.sheet-card h3{margin:0 0 18px;text-align:center}.attach-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.attach-grid button{border:0;background:transparent;display:grid;gap:7px;place-items:center;color:var(--muted);font-size:12px}.attach-grid span{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:#fff;font-size:23px}.a-camera{background:linear-gradient(135deg,#ff7a39,#ff9e63)}.a-gallery{background:linear-gradient(135deg,#ff4f91,#ff80b0)}.a-video{background:linear-gradient(135deg,#7141ef,#9a73ff)}.a-audio{background:linear-gradient(135deg,#16b8d4,#5bd5e7)}.a-doc{background:linear-gradient(135deg,#20b57a,#5ed8a6)}.call-card{text-align:center}.call-avatar-wrap{position:relative;width:122px;height:122px;margin:10px auto 16px}.call-avatar-wrap img{width:122px;height:122px;border-radius:38px;object-fit:cover}.call-avatar-wrap span{position:absolute;right:-7px;bottom:-7px;width:46px;height:46px;border-radius:16px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 6px 16px #0002}.call-card p{color:var(--muted)}.call-card small{display:block;color:var(--muted);margin-top:12px;line-height:1.4}.modal[hidden],.sheet[hidden],#chatPanel[hidden],#otpBox[hidden],.file-preview[hidden]{display:none!important}
@media(max-width:820px){.app{display:block;position:relative}.sidebar{position:absolute;inset:0;display:grid;z-index:1;border:0}.chat-shell{position:absolute;inset:0;z-index:3;transform:translateX(100%);transition:transform .22s ease}.app.chat-open .chat-shell{transform:translateX(0)}.empty-state{display:none}.back-btn{display:block}.home-topbar,.chat-topbar{padding-top:calc(12px + env(safe-area-inset-top));min-height:calc(72px + env(safe-area-inset-top))}.messages{padding:12px 9px}.bubble{max-width:88%}.sidebar{padding-bottom:env(safe-area-inset-bottom)}.user-actions{margin-left:66px}.attach-grid{grid-template-columns:repeat(5,1fr)}.section-title small{display:none}}
html.native-app .app{display:block;position:relative}html.native-app .sidebar{position:absolute;inset:0;display:grid;z-index:1;border:0}html.native-app .chat-shell{position:absolute;inset:0;z-index:3;transform:translateX(100%);transition:transform .22s ease}html.native-app .app.chat-open .chat-shell{transform:translateX(0)}html.native-app .empty-state{display:none}html.native-app .back-btn{display:block}html.native-app .home-topbar,html.native-app .chat-topbar{padding-top:12px;min-height:72px}html.native-app .messages{padding:12px 9px}html.native-app .bubble{max-width:88%}html.native-app .section-title small{display:none}

.receipt{display:inline-block;margin-left:4px;font-weight:900;letter-spacing:-2px;color:#7b8194}.receipt.delivered{color:#656b7c}.receipt.read{color:#1687ff}.send-btn.sending{opacity:.55;pointer-events:none}.send-btn:disabled{cursor:not-allowed}
html.native-app body{padding:0!important}html.native-app .home-topbar,html.native-app .chat-topbar{padding-top:12px!important;min-height:72px!important}
