:root{font-family:Inter,Segoe UI,sans-serif;color:#0f172a;background:linear-gradient(180deg,#f5f7fb,#e9eef7);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.app-loading,.empty-conversation{min-height:100vh;display:grid;place-items:center;color:#64748b}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-card{width:min(100%,28rem);background:#ffffffeb;border:1px solid rgba(148,163,184,.22);border-radius:2rem;box-shadow:0 28px 80px #0f172a1f;padding:2rem;display:grid;gap:1.25rem}.auth-brand{display:flex;gap:1rem;align-items:center}.brand-badge{width:3rem;height:3rem;display:grid;place-items:center;border-radius:1rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-weight:700}.auth-brand h1,.auth-brand p{margin:0}.auth-brand p{color:#64748b;margin-top:.25rem}.auth-form{display:grid;gap:1rem}.auth-form label,.settings-sheet label{display:grid;gap:.5rem;font-size:.92rem;color:#475569}.auth-form input,.sidebar-search input,.settings-sheet input,.settings-sheet select,.composer-bar textarea{border:1px solid rgba(148,163,184,.35);background:#fff;color:#0f172a;border-radius:1rem;padding:.9rem 1rem;outline:none}.auth-submit{width:100%;justify-content:center}.demo-credentials{display:flex;gap:.75rem;flex-wrap:wrap}.demo-chip{border:0;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:.6rem .9rem}.messenger-shell{min-height:100vh;display:grid;grid-template-columns:22rem 1fr;background:#dbe4f1}.chat-sidebar{background:#fffffff2;border-right:1px solid rgba(148,163,184,.2);display:flex;flex-direction:column;min-height:100vh}.sidebar-header,.conversation-header{padding:max(1rem,env(safe-area-inset-top)) 1rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.sidebar-title{display:grid;gap:.2rem}.sidebar-title span,.conversation-meta p,.thread-preview,.settings-header p{color:#64748b}.profile-trigger,.ghost-button,.composer-icon,.send-button,.primary-button,.danger-button{border:0;border-radius:999px}.profile-trigger,.ghost-button{background:#eff6ff;color:#2563eb;padding:.65rem .95rem}.sidebar-search{padding:0 1rem 1rem}.thread-list-modern{display:flex;flex-direction:column;gap:.15rem;padding:0 .5rem 1rem;overflow:auto}.thread-row{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:.85rem;padding:.75rem;border-radius:1.1rem;text-align:left}.thread-row.active{background:#e0ecff}.thread-avatar,.avatar{width:2.75rem;height:2.75rem;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:700;flex:0 0 auto}.thread-avatar.large{width:3rem;height:3rem}.thread-copy{min-width:0;flex:1;display:grid;gap:.25rem}.thread-topline{display:flex;justify-content:space-between;gap:.75rem}.thread-topline time,.message-bubble time{font-size:.76rem;color:#94a3b8}.thread-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.92rem}.conversation-pane{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh;background:radial-gradient(circle at top right,rgba(59,130,246,.08),transparent 20rem),linear-gradient(180deg,#edf3fb,#e5edf8)}.conversation-meta{display:flex;align-items:center;gap:.9rem}.conversation-meta strong,.settings-header strong{display:block;font-size:1rem}.conversation-meta p,.settings-header p{margin:.2rem 0 0}.message-stream{padding:1rem;overflow:auto;display:flex;flex-direction:column;gap:.5rem}.message-row{display:flex}.message-row.own{justify-content:flex-end}.message-bubble{max-width:min(42rem,78%);background:#fff;padding:.7rem .9rem .55rem;border-radius:1.2rem 1.2rem 1.2rem .35rem;box-shadow:0 10px 25px #0f172a0d}.message-bubble.own{background:#d8fdd2;border-radius:1.2rem 1.2rem .35rem}.message-author{display:block;margin-bottom:.35rem;color:#2563eb;font-size:.86rem}.message-bubble p{margin:0;line-height:1.45;white-space:pre-wrap}.message-bubble time{display:block;text-align:right;margin-top:.4rem}.attachment-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}.queued-files span{text-decoration:none;background:#2563eb14;color:#1d4ed8;padding:.35rem .65rem;border-radius:999px;font-size:.85rem}.attachment-card{border:0;background:#2563eb14;border-radius:1rem;padding:.5rem .7rem;min-width:10rem;text-align:left;color:#1d4ed8}.attachment-card.image{padding:0;overflow:hidden;width:min(18rem,100%);min-width:0;background:transparent}.attachment-card.image img{display:block;width:100%;max-height:15rem;object-fit:cover}.attachment-file-meta{display:grid;gap:.2rem}.attachment-file-meta span{color:#64748b;font-size:.78rem}.composer-bar{padding:.8rem 1rem max(1rem,env(safe-area-inset-bottom));background:#f5f8fde6;border-top:1px solid rgba(148,163,184,.18);display:grid;gap:.75rem}.queued-files,.quick-reply-row{display:flex;gap:.5rem;flex-wrap:wrap}.composer-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:end}.composer-icon{width:2.9rem;height:2.9rem;display:grid;place-items:center;background:#fff;color:#2563eb;font-size:1.2rem}.composer-bar textarea{resize:none;min-height:2.9rem;max-height:10rem}.send-button,.primary-button{background:#2563eb;color:#fff;padding:.8rem 1.1rem}.quick-pill{border:0;border-radius:999px;background:#ffffffe6;color:#334155;padding:.45rem .7rem}.settings-overlay{position:fixed;inset:0;background:#0f172a5c;display:grid;place-items:end;padding:1rem}.settings-sheet{width:min(100%,25rem);background:#fff;border-radius:1.5rem;padding:1.25rem;display:grid;gap:1rem;box-shadow:0 28px 70px #0f172a3d}.viewer-overlay{position:fixed;inset:0;background:#0f172ab8;display:grid;place-items:center;padding:1rem;z-index:20}.viewer-modal{width:min(100%,64rem);max-height:min(90vh,56rem);background:#fff;border-radius:1.5rem;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.viewer-header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(148,163,184,.18)}.viewer-header p{margin:.2rem 0 0;color:#64748b}.viewer-content{min-height:0;overflow:auto;display:grid;place-items:center;padding:1rem;background:#f8fafc}.viewer-image,.viewer-media,.viewer-frame{width:100%;height:min(75vh,48rem);border:0;border-radius:1rem;background:#fff;object-fit:contain}.viewer-audio{width:min(100%,30rem)}.settings-header{display:flex;justify-content:space-between;gap:1rem}.settings-actions{display:flex;flex-wrap:wrap;gap:.75rem}.danger-button{background:#ef4444;color:#fff;padding:.8rem 1.1rem}.error-text{margin:0;color:#dc2626;font-size:.92rem}@media(max-width:980px){.messenger-shell{grid-template-columns:1fr}.chat-sidebar{min-height:auto;border-right:0;border-bottom:1px solid rgba(148,163,184,.2)}.conversation-pane{min-height:65vh}}@media(display-mode:standalone){.messenger-shell,.auth-shell,.app-loading{min-height:100dvh}}
