:root{--bg:#0f1410;--bg-elevated:#171e19;--bg-panel:#1c251f;--bg-hover:#243028;--border:#2e3b32;--text:#e8f0ea;--text-muted:#8fa396;--accent:#25d366;--accent-dim:#1da851;--accent-soft:rgba(37,211,102,0.12);--danger:#e85d5d;--bubble-out:#005c4b;--bubble-in:#1f2c24;--radius:12px;--font:"Segoe UI","Helvetica Neue",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#1a3324 0,transparent 55%),radial-gradient(900px 500px at 100% 0,#14241c 0,transparent 50%),var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}#__next,body>div{height:100%}.app-shell{height:100vh;display:flex;overflow:hidden}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px;background:linear-gradient(180deg,var(--bg-elevated),var(--bg-panel));border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.auth-card h1{margin:0 0 8px;font-size:1.6rem;letter-spacing:-.02em}.auth-card p{margin:0 0 24px;color:var(--text-muted)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.85rem;color:var(--text-muted)}.field input,.field textarea{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:12px 14px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:10px;padding:11px 16px;font-weight:600;transition:background .15s ease,transform .1s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#062012;width:100%}.btn-primary:hover{background:#2be072}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-danger{background:transparent;color:var(--danger);border:1px solid rgba(232,93,93,.35)}.error{background:rgba(232,93,93,.12);color:#ffb4b4;border:1px solid rgba(232,93,93,.3);border-radius:10px;padding:10px 12px;margin-bottom:14px}.error,.muted{font-size:.9rem}.muted{color:var(--text-muted)}.accounts-rail{width:88px;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:12px 8px;gap:10px}.accounts-rail .brand{background:var(--accent);color:#062012;place-items:center;font-weight:800;margin-bottom:8px}.account-avatar,.accounts-rail .brand{width:48px;height:48px;border-radius:14px;display:grid}.account-avatar{border:2px solid transparent;background:var(--bg-panel);color:var(--text);place-items:center;position:relative;font-size:.7rem;font-weight:700;padding:0}.account-avatar.active{border-color:var(--accent);background:var(--accent-soft)}.account-avatar .dot{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg);background:#666}.account-avatar .dot.online{background:var(--accent)}.account-avatar .dot.pending{background:#e6b84d}.add-account{width:48px;height:48px;border-radius:14px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);font-size:1.4rem}.add-account:hover{border-color:var(--accent);color:var(--accent)}.main-columns{flex:1 1;display:grid;grid-template-columns:320px 1fr;min-width:0}.chat-list-panel,.conversation-panel{display:flex;flex-direction:column;min-height:0;background:var(--bg-elevated)}.chat-list-panel{border-right:1px solid var(--border)}.panel-header{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header h2{margin:0;font-size:1.05rem}.search-box{padding:12px 14px;border-bottom:1px solid var(--border)}.search-box input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;outline:none}.scroll-list{flex:1 1;overflow-y:auto}.chat-row{width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid rgba(46,59,50,.6);color:var(--text);padding:14px 16px;display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px}.chat-row.active,.chat-row:hover{background:var(--bg-hover)}.chat-row .name{font-weight:600}.chat-row .name,.chat-row .preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row .preview{grid-column:1/-1;color:var(--text-muted);font-size:.85rem}.chat-row .meta{color:var(--text-muted);font-size:.75rem}.badge{background:var(--accent);color:#062012;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:700}.messages{flex:1 1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(rgba(15,20,16,.55),rgba(15,20,16,.55)),repeating-linear-gradient(-12deg,transparent,transparent 10px,rgba(37,211,102,.015) 0,rgba(37,211,102,.015) 11px)}.bubble{max-width:min(70%,520px);padding:8px 12px;border-radius:10px;line-height:1.4;font-size:.95rem;word-break:break-word;position:relative}.bubble-delete{position:absolute;top:2px;right:4px;width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:rgba(232,240,234,.45);font-size:1rem;line-height:1;padding:0;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.bubble:hover .bubble-delete{opacity:1}.bubble-delete:hover{color:#ffb4b4;background:rgba(0,0,0,.25)}.btn-link-danger{background:none;border:none;color:var(--danger);padding:0;font-size:inherit;text-decoration:underline;cursor:pointer}.btn-link-danger:hover{color:#ff8a8a}.bubble.out{align-self:flex-end;background:var(--bubble-out);border-bottom-right-radius:4px}.bubble.in{align-self:flex-start;background:var(--bubble-in);border-bottom-left-radius:4px}.bubble .time{display:block;text-align:right;font-size:.7rem;color:rgba(232,240,234,.65);margin-top:4px}.bubble img,.bubble video{max-width:100%;border-radius:8px;display:block;margin-bottom:6px}.composer{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--border);background:var(--bg-panel);align-items:flex-end}.composer textarea{flex:1 1;resize:none;min-height:44px;max-height:140px;background:var(--bg);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:12px 14px;outline:none}.composer .btn{width:auto;min-width:44px;height:44px}.empty-state{flex:1 1;display:grid;place-items:center;color:var(--text-muted);padding:32px;text-align:center}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;z-index:50;padding:20px}.modal{width:100%;max-width:520px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:24px}.modal h3{margin:0 0 8px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.link-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:16px}.link-box{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center}.pairing-code{font-size:1.6rem;letter-spacing:.2em;font-weight:700;margin:18px 0;color:var(--accent)}.qr-wrap{display:grid;place-items:center;min-height:180px}.qr-wrap img{width:180px;height:180px;background:white;border-radius:8px;padding:8px}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted)}.status-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:#666}.status-pill.online:before{background:var(--accent)}.status-pill.pending:before{background:#e6b84d}.back-chats{display:none;margin-bottom:8px;width:auto;padding:6px 10px}@media (max-width:900px){.main-columns{grid-template-columns:1fr}.chat-list-panel.hidden-mobile,.conversation-panel.hidden-mobile{display:none}.back-chats{display:inline-flex}.link-grid{grid-template-columns:1fr}}.invite-page{min-height:100vh;max-width:960px;margin:0 auto;padding:32px 20px 48px}.invite-hero{text-align:center;margin-bottom:28px}.invite-brand{display:inline-block;background:var(--accent);color:#062012;font-weight:800;letter-spacing:.04em;padding:8px 14px;border-radius:999px;margin-bottom:16px;font-size:.85rem}.invite-hero h1{margin:0 0 10px;font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.03em}.invite-hero p{margin:0 auto 14px;max-width:520px;color:var(--text-muted);line-height:1.5}.invite-error{max-width:640px;margin:0 auto 20px}.invite-methods{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}.invite-card{background:linear-gradient(180deg,var(--bg-elevated),var(--bg-panel));border:1px solid var(--border);border-radius:16px;padding:22px}.invite-card h2{margin:0 0 12px;font-size:1.15rem}.invite-card h3{margin:0 0 8px;font-size:1rem;color:var(--accent)}.invite-steps{margin:0 0 16px;padding-left:1.2rem;color:var(--text);line-height:1.55}.invite-steps li{margin-bottom:8px}.invite-qr{min-height:200px;background:var(--bg);border-radius:12px;border:1px solid var(--border)}.invite-code{background:var(--bg);border-radius:12px;border:1px dashed var(--accent-dim);padding:20px;margin:8px 0 12px}.tip{margin:12px 0 0;font-size:.85rem}.invite-help{margin-bottom:24px}.help-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:16px}.invite-notes{margin:0;padding-left:1.2rem;color:var(--text-muted);line-height:1.55}.invite-notes li{margin-bottom:8px}.invite-success{text-align:center;background:var(--accent-soft);border:1px solid rgba(37,211,102,.35);border-radius:16px;padding:40px 24px;margin-bottom:24px}.invite-success h2{margin:0 0 8px;color:var(--accent)}.invite-footer{text-align:center;color:var(--text-muted);font-size:.85rem}@media (max-width:800px){.help-grid,.invite-methods{grid-template-columns:1fr}}