:root{--brand:#2563eb;--bg:#f8fafc;--border:#e2e8f0;--text:#0f172a;--muted:#64748b}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button{cursor:pointer;font-family:inherit}a{color:var(--brand)}.layout{height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;width:280px;padding:16px;display:flex;overflow-y:auto}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-scroll{flex:1;padding:24px;overflow-y:auto}.message{white-space:pre-wrap;max-width:720px;margin:0 auto 20px;line-height:1.6}.message.user{font-weight:600}.message .role-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px}.input-bar{border-top:1px solid var(--border);background:#fff;padding:16px}.input-bar form{gap:8px;max-width:720px;margin:0 auto;display:flex}input[type=text],input[type=email],input[type=password],textarea{border:1px solid var(--border);border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.btn{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px}.btn.secondary{color:var(--text);border:1px solid var(--border);background:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.conv-item{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:14px;display:flex}.conv-item:hover{background:var(--bg)}.conv-item.active{background:#dbeafe}.banner{border-bottom:1px solid var(--border);padding:10px 16px;font-size:14px}.banner.guest{background:#fef9c3}.banner.user{background:#dcfce7}.center-form{border:1px solid var(--border);background:#fff;border-radius:12px;max-width:380px;margin:80px auto;padding:24px}.center-form h1{margin-bottom:20px;font-size:20px}.center-form label{margin:12px 0 4px;font-size:13px;display:block}.error-text{color:#dc2626;margin-top:8px;font-size:13px}.feedback-row{gap:8px;margin-top:4px;display:flex}table.admin-table{border-collapse:collapse;width:100%;font-size:13px}table.admin-table th,table.admin-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px}.stat-cards{gap:16px;margin-bottom:24px;display:flex}.stat-card{border:1px solid var(--border);background:#fff;border-radius:10px;flex:1;padding:16px}.stat-card .value{font-size:28px;font-weight:700}
