:root { --ink:#1b1f24; --muted:#6b7280; --line:#e5e7eb; --bg:#f7f7f8; --card:#fff; --accent:#0f766e; --err:#b91c1c; --ok:#15803d; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); }
header.top { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; background:var(--card); border-bottom:1px solid var(--line); flex-wrap:wrap; }
.brand { font-weight:700; text-decoration:none; color:var(--accent); font-size:1.15rem; }
nav { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
nav a { color:var(--ink); text-decoration:none; }
nav a:hover { text-decoration:underline; }
.langs a { color:var(--muted); margin-left:.4rem; text-transform:uppercase; font-size:.8rem; }
.langs a.on { color:var(--ink); font-weight:600; }
main { max-width:960px; margin:0 auto; padding:1.25rem 1rem 3rem; }
h1 { font-size:1.5rem; margin:.25rem 0 1rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1.25rem; margin-bottom:1.25rem; }
.narrow { max-width:460px; }
label { display:block; margin-bottom:.9rem; font-size:.9rem; color:var(--muted); }
input, select { display:block; width:100%; margin-top:.25rem; padding:.55rem .65rem; font:inherit; color:var(--ink); border:1px solid var(--line); border-radius:8px; background:#fff; }
button { font:inherit; padding:.55rem 1rem; border:0; border-radius:8px; background:var(--accent); color:#fff; cursor:pointer; }
button.link { background:none; color:var(--accent); padding:0; text-decoration:underline; }
form.inline { display:inline; }
form.row { display:flex; gap:.75rem; align-items:flex-end; flex-wrap:wrap; }
form.row label { flex:1 1 200px; margin:0; }
form.row input { margin:0; margin-top:.25rem; }
.muted { color:var(--muted); }
.error { color:var(--err); }
.ok { color:var(--ok); }
table { width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
th, td { text-align:left; padding:.65rem .8rem; border-bottom:1px solid var(--line); vertical-align:top; }
th { font-size:.8rem; text-transform:uppercase; color:var(--muted); }
tr.dim td { color:var(--muted); }
td.actions { white-space:nowrap; }
td.actions details { display:inline-block; margin-right:.75rem; }
td.actions summary { cursor:pointer; color:var(--accent); }
td.actions details form.row { margin-top:.5rem; }
td.actions details input { width:auto; }
.tiles { display:flex; gap:1rem; flex-wrap:wrap; }
.tile { display:flex; flex-direction:column; min-width:160px; padding:1rem 1.25rem; background:var(--card); border:1px solid var(--line); border-radius:10px; text-decoration:none; color:var(--ink); }
.tile b { font-size:2rem; line-height:1; color:var(--accent); }
.tile span { color:var(--muted); font-size:.9rem; margin-top:.35rem; }
@media (max-width:600px) { td.actions { white-space:normal; } }
a.btn { display:inline-block; padding:.55rem 1rem; border-radius:8px; background:var(--accent); color:#fff; text-decoration:none; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.95em; letter-spacing:.05em; }
h2 { font-size:1.1rem; margin:0 0 .75rem; }
form.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:.75rem 1rem; align-items:end; }
form.grid label { margin:0; }
form.grid textarea { display:block; width:100%; margin-top:.25rem; padding:.55rem .65rem; font:inherit; border:1px solid var(--line); border-radius:8px; }
.filters a { margin-right:1rem; color:var(--muted); text-decoration:none; }
.filters a.on { color:var(--ink); font-weight:600; border-bottom:2px solid var(--accent); }
.dot { display:inline-block; width:.6rem; height:.6rem; border-radius:50%; background:var(--accent); }
.warn { color:#b45309; }
.chat { display:flex; flex-direction:column; gap:.5rem; margin-bottom:1rem; }
.msg { max-width:75%; padding:.5rem .75rem; border-radius:12px; background:#fff; border:1px solid var(--line); }
.msg.in { align-self:flex-start; }
.msg.out { align-self:flex-end; background:#e6f4f1; }
.msg.bot { opacity:.8; }
.msg .body { white-space:pre-wrap; }
.msg .meta { font-size:.75rem; color:var(--muted); margin-top:.2rem; }
textarea { display:block; width:100%; margin-top:.25rem; padding:.55rem .65rem; font:inherit; border:1px solid var(--line); border-radius:8px; }
tr.pending td { background:#fff8e6; }
nav a.admin { color:#b45309; font-weight:600; }
