:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#5b5fef;--primary-dark:#4548c9;--primary-light:#eef0ff;--bg:#f6f7fb;--border:#e6e8f0;--text:#1f2330;--muted:#8a8fa3;--danger:#ef4444;--success:#22c55e;--radius:14px}body{background:var(--bg);color:var(--text);font-family:Segoe UI,-apple-system,Roboto,Arial,sans-serif}.tab-switch{background:#f1f2f6;border-radius:10px;gap:4px;margin-bottom:18px;padding:4px;display:flex}.tab-switch button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px;font-size:12px;font-weight:600}.tab-switch button.active{color:var(--primary-dark);background:#fff;box-shadow:0 1px 4px #0000001a}.token-input{resize:vertical;font-family:monospace;font-size:11px}.hint{color:var(--muted);margin-top:6px;font-size:11.5px;line-height:1.4}.dev-warning{color:#c2410c;background:#fff7ed;border-radius:8px;margin-bottom:14px;padding:8px 10px}.login-screen{background:radial-gradient(circle at 0 0,#6366f1,#4338ca 60%);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{text-align:center;background:#fff;border-radius:20px;width:380px;padding:40px 36px;box-shadow:0 20px 60px #00000040}.login-logo{margin-bottom:8px;font-size:40px}.login-card h1{margin-bottom:6px;font-size:22px}.subtitle{color:var(--muted);margin-bottom:24px;font-size:13px;line-height:1.5}.login-card form{text-align:left}.login-card label,.inline-form label{color:#555;margin:14px 0 6px;font-size:12px;font-weight:600;display:block}.role-picker{gap:8px;display:flex}.role-option{border:1.5px solid var(--border);cursor:pointer;color:var(--muted);background:#fff;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 6px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.role-option.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.role-icon{font-size:18px}.login-card input,.inline-form input,.inline-form select,.inline-form textarea{border:1.5px solid var(--border);border-radius:10px;outline:none;width:100%;padding:11px 12px;font-size:14px;transition:border-color .15s}.login-card input:focus,.inline-form input:focus,.inline-form select:focus{border-color:var(--primary)}.primary-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:22px;padding:13px;font-size:14px;font-weight:700;transition:background .15s}.primary-btn:hover{background:var(--primary-dark)}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.error-msg{color:var(--danger);background:#fef2f2;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:12.5px}.success-msg,.status-msg{color:#15803d;background:#f0fdf4;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:12.5px}.app-layout{flex-direction:column;height:100vh;display:flex}.top-bar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:12px 24px;font-size:13px;display:flex}.brand{color:var(--primary-dark);font-weight:700}.top-bar-right{align-items:center;gap:14px;display:flex}.role-chip{background:var(--primary-light);color:var(--primary-dark);text-transform:capitalize;border-radius:10px;margin-left:4px;padding:2px 8px;font-size:11px}.top-bar button{color:#444;cursor:pointer;background:#f1f2f6;border:none;border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:600}.top-bar button:hover{background:#e5e7eb}.main-body{flex:1;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;width:310px;display:flex}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px;display:flex}.me-avatar,.conv-avatar,.chat-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:700;display:flex}.me-info{flex-direction:column;flex:1;gap:3px;display:flex}.me-info strong{font-size:14px}.role-badge{background:var(--primary-light);color:var(--primary-dark);text-transform:capitalize;border-radius:10px;width:fit-content;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.icon-btn{cursor:pointer;background:#f1f2f6;border:none;border-radius:8px;width:34px;height:34px;font-size:15px}.icon-btn:hover{background:#e5e7eb}.sidebar-actions{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.sidebar-actions button{background:var(--primary-light);color:var(--primary-dark);text-align:left;cursor:pointer;border:none;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:600;transition:background .15s}.sidebar-actions button:hover{background:#e0e3ff}.conversation-list{flex:1;overflow-y:auto}.conversation-item{cursor:pointer;border-bottom:1px solid #f4f5f8;align-items:center;gap:10px;padding:12px 14px;transition:background .1s;display:flex}.conversation-item:hover{background:#fafafd}.conversation-item.active{background:var(--primary-light)}.conv-details{flex:1;min-width:0}.conv-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.conv-type{color:var(--muted);text-transform:capitalize;font-size:11px}.muted{color:var(--muted);text-align:center;padding:16px;font-size:13px}.inline-form{border-bottom:1px solid var(--border);padding:16px}.inline-form h4{margin-bottom:4px;font-size:14px}.form-actions{gap:8px;margin-top:14px;display:flex}.form-actions button{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:8px;flex:1;margin:0;padding:10px;font-weight:600}.form-actions button[type=button]{color:#444;background:#f1f2f6}.chat-window{background:var(--bg);flex-direction:column;flex:1;display:flex}.chat-window.empty-state{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px}.empty-icon{opacity:.5;font-size:40px}.chat-header{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:12px;padding:14px 18px;display:flex}.conv-type-badge{text-transform:capitalize;color:#666;background:#f1f2f6;border-radius:10px;margin-top:2px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-block}.messages-area{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.message-row{align-items:flex-end;gap:4px;max-width:100%;display:flex}.message-row.mine{flex-direction:row-reverse;align-self:flex-end}.message-row.theirs{align-self:flex-start}.message-bubble{border-radius:var(--radius);max-width:400px;padding:10px 14px;font-size:14px;line-height:1.4}.message-row.mine .message-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.message-row.theirs .message-bubble{border:1px solid var(--border);background:#fff;border-bottom-left-radius:4px}.msg-meta{justify-content:flex-end;align-items:center;gap:6px;margin-top:5px;display:flex}.edited-tag{opacity:.7;font-size:10px;font-style:italic}.message-menu-wrap{position:relative}.menu-dots{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:4px;font-size:16px}.message-menu{border:1px solid var(--border);z-index:10;background:#fff;border-radius:8px;min-width:90px;position:absolute;bottom:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}.message-menu button{text-align:left;cursor:pointer;background:#fff;border:none;width:100%;padding:8px 12px;font-size:12.5px;display:block}.message-menu button:hover{background:#f4f5f8}.edit-box input{border:1px solid var(--border);color:#222;border-radius:8px;width:200px;padding:7px 10px;font-size:13px}.edit-actions{gap:6px;margin-top:6px;display:flex}.edit-actions button{cursor:pointer;color:inherit;background:#ffffff40;border:none;border-radius:6px;padding:4px 10px;font-size:11px}.chat-header-info{flex:1}.chat-header-actions{gap:6px;display:flex}.msg-sender{color:var(--primary-dark);text-transform:capitalize;margin-bottom:3px;font-size:10.5px;font-weight:700}.msg-time{opacity:.65;text-align:right;margin-top:5px;font-size:10px}.msg-media-image{border-radius:10px;max-width:240px;display:block}.msg-media-video{border-radius:10px;max-width:260px}.msg-media-audio{max-width:240px}.msg-document{color:inherit;font-size:13px;text-decoration:underline;display:block}.typing-indicator{color:var(--muted);padding:4px 20px;font-size:12px;font-style:italic}.message-input-area{border-top:1px solid var(--border);background:#fff;align-items:center;gap:8px;padding:14px;display:flex}.attach-btn{cursor:pointer;background:#f1f2f6;border:none;border-radius:50%;flex-shrink:0;width:40px;height:40px;font-size:17px}.attach-btn:hover{background:#e5e7eb}.message-input-area input{border:1.5px solid var(--border);border-radius:22px;outline:none;flex:1;padding:11px 16px;font-size:14px}.message-input-area input:focus{border-color:var(--primary)}.send-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:22px;flex-shrink:0;padding:10px 22px;font-size:13.5px;font-weight:700}.send-btn:hover{background:var(--primary-dark)}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;width:420px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-header h3{font-size:16px}.close-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:16px}.modal-section{border-bottom:1px solid var(--border);padding:18px 20px}.modal-section h4{text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin-bottom:12px;font-size:12.5px}.setting-row{justify-content:space-between;align-items:center;padding:6px 0;font-size:13.5px;display:flex}.toggle-pill{cursor:pointer;border:none;border-radius:12px;padding:5px 14px;font-size:11px;font-weight:700}.toggle-pill.on{color:#15803d;background:#dcfce7}.toggle-pill.off{color:#b91c1c;background:#fee2e2}.inline-row{gap:8px;margin-bottom:12px;display:flex}.inline-row select,.inline-row input{border:1.5px solid var(--border);border-radius:8px;padding:9px 10px;font-size:13px}.inline-row select{flex:1}.inline-row input{width:90px}.button-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.button-grid button{background:var(--primary-light);color:var(--primary-dark);cursor:pointer;border:none;border-radius:8px;padding:9px;font-size:12px;font-weight:600}.button-grid button.danger{color:#b91c1c;background:#fee2e2}.button-grid button:hover{opacity:.85}
