:root{color-scheme:light;font-family:Inter,system-ui,sans-serif;background-color:#f8f9fb;color:#111827}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.header{justify-content:space-between;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid #e5e7eb;gap:2rem;flex-wrap:wrap}.header,.nav{display:flex;align-items:center}.nav{gap:1.5rem}.logo{font-weight:700;font-size:1.2rem}.navLinks{list-style:none;display:flex;gap:1rem;padding:0;margin:0}.navLinks a{padding:.4rem .75rem;border-radius:999px;background:#f3f4f6}.userMenu{display:flex;align-items:center;gap:1.5rem;background:#f9fafb;padding:.75rem 1rem;border-radius:1rem;border:1px solid #e5e7eb}.userName{font-weight:600;margin:0}.userMeta{margin:0;font-size:.85rem;color:#6b7280}.menuActions{display:flex;gap:.5rem}.menuActions button{border:none;background:#111827;color:#fff;padding:.35rem .75rem;border-radius:999px;cursor:pointer;font-size:.85rem}.authActions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.authActions button{border:none;background:#4f46e5;color:#fff;padding:.5rem 1rem;border-radius:999px;cursor:pointer;font-size:.9rem}.main{padding:2rem}.page{display:flex;flex-direction:column;gap:1.5rem;max-width:960px}.card{background:#fff;padding:1.5rem;border-radius:1rem;border:1px solid #e5e7eb;box-shadow:0 10px 30px rgba(15,23,42,.05)}.primary{display:inline-flex;margin-top:.5rem;padding:.6rem 1rem;border-radius:999px;background:#4f46e5;color:#fff;font-weight:600}.grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.breadcrumb{color:#4f46e5;font-weight:600}.conversationList{display:flex;flex-direction:column;gap:1rem}.conversationListItem{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1.25rem 1.5rem;border-radius:1rem;border:1px solid #e5e7eb;box-shadow:0 10px 30px rgba(15,23,42,.05);gap:1rem}.conversationListItem h3{margin:0 0 .25rem}.conversationListItem p{margin:0;color:#6b7280;font-size:.9rem}.conversationMeta{display:flex;align-items:center;gap:.75rem;color:#6b7280;font-size:.85rem}.unreadBadge{background:#4f46e5;color:#fff;font-weight:600;min-width:2rem;text-align:center;padding:.2rem .6rem;border-radius:999px}.chatPage{gap:1rem}.chatHeader{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.subtle{color:#6b7280;margin:.25rem 0 0}.connectionStatus{padding:.4rem .8rem;border-radius:999px;background:#f3f4f6;font-size:.85rem;color:#374151}.messageThread{flex-direction:column;padding:1.5rem;border-radius:1.25rem;border:1px solid #e5e7eb;min-height:320px}.messageControls,.messageThread{display:flex;gap:1rem;background:#fff}.messageControls{flex-wrap:wrap;align-items:center;padding:1rem;border-radius:1rem;border:1px solid #e5e7eb}.messageSearch{display:flex;align-items:center;gap:.5rem;flex:1 1 240px}.messageSearch input[type=search]{width:min(100%,320px);border:1px solid #e5e7eb;border-radius:999px;padding:.5rem 1rem;font-size:.9rem}.messageActions{display:flex;gap:.5rem;flex-wrap:wrap}.messageMeta{margin-left:auto;font-size:.85rem;color:#6b7280}.secondary{border:1px solid #e5e7eb;background:#f8fafc;color:#111827;padding:.4rem .85rem;border-radius:999px;font-weight:600;cursor:pointer}.secondary:disabled{cursor:not-allowed;opacity:.6}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.messageThread.empty{color:#6b7280;font-style:italic;align-items:center;justify-content:center}.messageRow{display:flex}.messageRow.outgoing{justify-content:flex-end}.messageBubble{max-width:75%;background:#f3f4f6;padding:.75rem 1rem;border-radius:1rem;border:1px solid #e5e7eb;box-shadow:0 8px 20px rgba(15,23,42,.08)}.messageRow.outgoing .messageBubble{background:#4f46e5;color:#fff;border-color:transparent}.messageHeader{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;margin-bottom:.5rem;color:inherit;opacity:.8}.messageBubble p{margin:0 0 .5rem;white-space:pre-wrap}.messageAttachments{display:grid;grid-gap:.5rem;gap:.5rem;margin-bottom:.5rem}.messageAttachment{display:flex;align-items:center;gap:.75rem}.messageAttachment img,.messageAttachment video{max-width:240px;max-height:180px;border-radius:.75rem;border:1px solid rgba(148,163,184,.5)}.messageAttachment a{color:inherit;text-decoration:underline}.messageStatus{display:inline-flex;font-size:.75rem;padding:.2rem .5rem;border-radius:999px;background:hsla(0,0%,100%,.15)}.messageStatus.failed{background:#fee2e2;color:#991b1b}.messageRow.incoming .messageStatus{background:#e0e7ff;color:#312e81}.messageComposer{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:1rem;border:1px solid #e5e7eb;background:#fff;align-items:stretch}.messageComposerBody{display:flex;gap:.75rem;align-items:center}.messageComposer input[type=text]{flex:1 1;border:1px solid #e5e7eb;border-radius:999px;padding:.6rem 1rem;font-size:.95rem}.messageComposer input[type=file]{display:none}.fileUploadButton{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border-radius:999px;border:1px solid #e5e7eb;background:#f8fafc;color:#1f2937;font-weight:600;cursor:pointer;white-space:nowrap}.composerAttachments{display:grid;grid-gap:.75rem;gap:.75rem}.composerAttachment{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:.75rem;background:#f8fafc;border:1px solid #e5e7eb}.composerAttachment img{object-fit:cover}.attachmentIcon,.composerAttachment img{width:56px;height:56px;border-radius:.6rem;border:1px solid rgba(148,163,184,.5)}.attachmentIcon{display:flex;align-items:center;justify-content:center;font-size:1.5rem}.attachmentMeta{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.attachmentMeta button{align-self:flex-start;border:none;background:none;color:#4f46e5;cursor:pointer;padding:0}.uploadError{margin:0;color:#991b1b;font-size:.85rem}.messageComposer button{border:none;border-radius:999px;padding:.6rem 1.25rem;background:#4f46e5;color:#fff;font-weight:600;cursor:pointer}.messageComposer button:disabled{background:#a5b4fc;cursor:not-allowed}.typingIndicator{display:flex;align-items:center;gap:.75rem;color:#6b7280;font-size:.9rem}.typingDots{display:inline-flex;gap:.3rem}.typingDots span{width:6px;height:6px;border-radius:999px;background:#9ca3af;animation:typingPulse 1s ease-in-out infinite}.typingDots span:nth-child(2){animation-delay:.2s}.typingDots span:nth-child(3){animation-delay:.4s}.error{color:#991b1b;border-color:#fecaca;background:#fef2f2}@keyframes typingPulse{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-4px);opacity:1}}@media (max-width:720px){.header{align-items:flex-start}.userMenu{width:100%;justify-content:space-between}}