:root { color-scheme: dark; font-family: Inter, system-ui, Arial, sans-serif; }
body { margin:0; background:#0b0f19; color:#e5e7eb; }
a { color:#93c5fd; }
.center { min-height:100vh; display:grid; place-items:center; }
.card { width:min(520px, 92vw); background:#111827; border:1px solid #263244; border-radius:18px; padding:32px; box-shadow:0 20px 60px #0008; }
.btn, button { background:#2563eb; color:white; border:0; border-radius:10px; padding:10px 14px; cursor:pointer; }
.btn:disabled, button:disabled { opacity:.65; cursor:not-allowed; }
.top { height:56px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; background:#111827; border-bottom:1px solid #263244; }
.top nav, .top form { display:inline-flex; gap:12px; align-items:center; }
.chat { height:calc(100vh - 140px); overflow:auto; padding:24px 24px 180px; display:flex; flex-direction:column; gap:14px; }
.msg { max-width:900px; padding:14px 16px; border-radius:16px; white-space:pre-wrap; line-height:1.45; }
.msg.user { align-self:flex-end; background:#1d4ed8; }
.msg.bot { align-self:flex-start; background:#111827; border:1px solid #263244; }
.msg.pending { border-style:dashed; opacity:.9; }
.history-title { align-self:center; font-size:12px; color:#9ca3af; margin:4px 0 2px; }
.composer { position:fixed; bottom:0; left:0; right:0; display:flex; gap:10px; padding:14px; background:#0b0f19; border-top:1px solid #263244; }
textarea { flex:1; resize:none; border-radius:12px; padding:12px; background:#111827; color:#fff; border:1px solid #263244; }
.chat-status { position:fixed; bottom:72px; right:16px; margin:0; font-size:12px; color:#9ca3af; background:#111827; border:1px solid #263244; border-radius:999px; padding:6px 10px; }
.hourglass { display:inline-block; margin-right:8px; animation:hourglass-pulse 1s ease-in-out infinite; }
@keyframes hourglass-pulse {
	0% { transform:rotate(0deg) scale(1); opacity:.7; }
	50% { transform:rotate(180deg) scale(1.1); opacity:1; }
	100% { transform:rotate(360deg) scale(1); opacity:.7; }
}
.admin { padding:20px; overflow:auto; }
table { width:100%; border-collapse:collapse; background:#111827; }
th, td { padding:10px; border-bottom:1px solid #263244; text-align:left; }
input, select { background:#0b0f19; color:#fff; border:1px solid #263244; border-radius:8px; padding:8px; }
.warning { background:#78350f; border:1px solid #f59e0b; padding:16px; margin-bottom:16px; border-radius:12px; }
.admin-actions { display:flex; gap:8px; align-items:center; }
.history-toolbar { display:flex; gap:12px; margin:14px 0; }
.danger { background:#b91c1c; }
