.app{display:flex;flex-direction:column;min-height:100vh;padding:28px clamp(16px,4vw,56px) 40px;gap:28px;animation:fadeIn .7s ease-out}.app.login{align-items:center}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:16px}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--accent),#f1b356);display:grid;place-items:center;font-weight:700;color:#fff;box-shadow:var(--shadow)}.brand-title{font-size:1.25rem;font-weight:600}.brand-sub{font-size:.9rem;color:var(--muted)}.status{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--card);border-radius:999px;border:1px solid var(--border);box-shadow:var(--shadow);font-size:.9rem}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #3b8ea533}.status-dot.ok{background:var(--teal)}.status-dot.error{background:#d04538;box-shadow:0 0 0 4px #d0453833}.layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:28px}.profile{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--card);border-radius:999px;border:1px solid var(--border);box-shadow:var(--shadow);font-size:.9rem}.profile .ghost.active{border-color:#f26b4f80;background:#fff3ec}.sidebar{background:var(--card);border-radius:24px;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:24px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-header h2{margin:0;font-size:1rem}.group-list{display:grid;gap:12px}.group-form{display:grid;gap:10px}.group{border:1px solid transparent;padding:14px 16px;border-radius:16px;background:#f8f8fb;text-align:left;transition:transform .2s ease,border-color .2s ease;display:grid;gap:8px}.group.active{border-color:#f26b4f66;background:#fff3ec}.group:hover{transform:translateY(-2px);border-color:var(--border)}.group-title{font-weight:600}.group-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.group-meta{font-size:.85rem;color:var(--muted)}.group-id{font-size:.7rem;color:#1e1f2473}.group-admin{display:flex;justify-content:space-between;align-items:center;gap:10px}.group-actions{display:flex;align-items:center;gap:8px}.badge{background:var(--accent);color:#fff;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}button.mini{border-radius:10px;border:1px solid var(--border);background:#fff;width:28px;height:28px;cursor:pointer;font-size:.85rem}button.mini:disabled{opacity:.4;cursor:default}input.color{width:28px;height:28px;border:none;background:transparent;padding:0;cursor:pointer}.sidebar-card{background:linear-gradient(135deg,#fef0e7,#eaf7ff);border-radius:18px;padding:16px;font-size:.9rem;color:var(--muted)}.sidebar-card-title{font-weight:600;color:var(--ink);margin-bottom:6px}.chat{background:var(--card);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:24px}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.chat-header h1{margin:0;font-size:1.5rem}.chat-header p{margin:4px 0 0;color:var(--muted)}.chat-actions{display:flex;gap:12px}.messages{display:grid;gap:16px}.empty{color:var(--muted);font-size:.95rem;padding:12px 0}.message{background:#f9fafc;border-radius:18px;padding:16px;border:1px solid var(--border);animation:slideIn .4s ease both}.message:nth-child(2){animation-delay:.05s}.message:nth-child(3){animation-delay:.1s}.message.status{border-left:4px solid var(--teal)}.message.audio{border-left:4px solid var(--accent)}.message-head{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted)}.message-author{font-weight:600;color:var(--ink)}.message-body{margin-top:8px;font-size:1rem}.composer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border-radius:18px;background:#f8f8fb}.composer-input{flex:1}.composer-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.composer-text{font-size:1rem;color:var(--muted)}.composer-actions{display:flex;gap:12px}button.ghost,button.solid{border-radius:999px;padding:10px 18px;border:1px solid transparent;cursor:pointer;font-weight:600;font-size:.9rem}.input{width:100%;border-radius:12px;border:1px solid var(--border);padding:10px 12px;font-size:.95rem;background:#fff;color:var(--ink)}.users{display:grid;gap:24px}.users-card{background:var(--card);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.users-header h2{margin:0 0 6px}.users-header p{margin:0;color:var(--muted)}.user-form{margin-top:16px;display:grid;gap:12px;max-width:360px}.checkbox{display:inline-flex;gap:8px;align-items:center;font-size:.9rem;color:var(--muted)}.users-list{display:grid;gap:12px}.user-item{display:flex;justify-content:space-between;align-items:center;background:var(--card);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.user-name{font-weight:600}.user-name span{color:var(--muted);font-weight:500}.user-meta{color:var(--muted);font-size:.85rem}.login-card{width:min(420px,100%);background:var(--card);border-radius:24px;padding:28px;box-shadow:var(--shadow);display:grid;gap:14px}.login-card h1{margin:0}.login-card p{margin:0 0 6px;color:var(--muted)}.error{color:#b2251b;font-size:.9rem}button.ghost{background:transparent;border-color:var(--border)}button.solid{background:var(--accent);color:#fff;box-shadow:0 10px 20px #f26b4f40}button.solid:hover{background:var(--accent-strong)}@media (max-width: 900px){.layout{grid-template-columns:1fr}.chat-header,.topbar{flex-direction:column;align-items:flex-start}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root{color-scheme:light;font-family:Space Grotesk,system-ui,sans-serif;line-height:1.5;font-weight:400;--bg: #f6f2ea;--bg-alt: #e7f0ff;--ink: #1e1f24;--muted: #5f6673;--accent: #f26b4f;--accent-strong: #e24a2a;--teal: #3b8ea5;--card: #ffffff;--border: rgba(30, 31, 36, .12);--shadow: 0 20px 40px rgba(28, 30, 38, .08)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 10% 0%,#fff4de 0%,transparent 60%),radial-gradient(900px 500px at 90% 10%,#dfeeff 0%,transparent 65%),var(--bg);color:var(--ink);min-height:100vh}button{font-family:inherit}
