:root{--bg: #f8fafc;--fg: #111827;--muted: #6b7280;--line: #e5e7eb;--accent: #2563eb;--warn: #fef3c7;--err: #fee2e2}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}main{padding:20px 28px;max-width:1100px}header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}h1{font-size:20px;margin:0}h2{font-size:18px;margin:16px 0 4px}.muted{color:var(--muted)}.note{background:#eef2ff;padding:8px 10px;border-radius:6px}.warn{background:var(--warn);padding:8px 10px;border-radius:6px}.error{background:var(--err);padding:8px 10px;border-radius:6px}button{font:inherit;padding:8px 14px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.secondary{background:#fff;color:var(--accent)}button.link{background:none;border:none;color:var(--accent);padding:0;text-decoration:underline}.askbox{display:grid;gap:8px;margin-bottom:12px}.askbox textarea{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical}.askbox button[type=submit]:not(.secondary){justify-self:start}.clarify .options{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.history{border-right:1px solid var(--line);padding:16px;background:#fff}.history h3{font-size:13px;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}.history ul{list-style:none;padding:0;margin:0}.history li button{width:100%;text-align:left;background:none;border:none;color:var(--fg);padding:6px 8px;border-radius:6px;display:grid}.history li.active button,.history li button:hover{background:#eef2ff}.history .title{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history .meta{font-size:11px;color:var(--muted)}.result{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-top:12px}.kpi-row{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0}.kpi{border:1px solid var(--line);border-radius:10px;padding:12px 18px;min-width:180px}.kpi-label{color:var(--muted);font-size:13px}.kpi-value{font-size:28px;font-weight:600}.chart-wrap svg{width:100%;max-width:760px;height:auto;display:block;margin:8px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;white-space:nowrap}td.num{text-align:right;font-variant-numeric:tabular-nums}.row-meta{color:var(--muted);font-size:12px;margin-top:6px;display:flex;gap:16px;align-items:center}.pager button{padding:2px 8px}details.sql{margin-top:10px}details.sql pre{background:#f3f4f6;padding:10px;border-radius:6px;overflow-x:auto;font-size:12px;white-space:pre-wrap}.messages{list-style:none;padding:0}.messages li{padding:4px 0}.messages li .kind{font-size:11px;color:var(--muted);margin-right:6px}.messages li.user{font-weight:500}.login{max-width:420px;margin:80px auto}.login input{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}.center{display:grid;place-items:center;height:100vh}.feedback{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:14px}.feedback input{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:6px;min-width:240px}
