:root{ --bg:#0f172a; --card:#111827; --fg:#e5e7eb; --muted:#9ca3af; --accent:#38bdf8; }
*{ box-sizing:border-box; }
body{ margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial; background:var(--bg); color:var(--fg); }
.container{ width:min(1100px, 92%); margin:auto; }
.small{ font-size:.9rem; color:var(--muted); }
a{ color:var(--fg); text-decoration:none; }
a.button, button, input[type=submit]{ background:var(--accent); color:#002b3b; border:none; padding:.6rem 1rem; border-radius:.7rem; font-weight:600; cursor:pointer; }
a.button:hover, button:hover, input[type=submit]:hover{ opacity:.9; }
input, select, textarea{ width:100%; background:#0b1220; border:1px solid #1f2937; color:var(--fg); padding:.6rem .75rem; border-radius:.5rem; }
label{ display:block; margin:.75rem 0 .25rem; color:var(--muted); }
.card{ background:var(--card); border:1px solid #1f2937; border-radius:1rem; padding:1rem; margin:1rem 0; box-shadow:0 10px 24px rgba(0,0,0,.25); }
.grid{ display:grid; gap:1rem; }
.grid-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.site-header{ position:sticky; top:0; backdrop-filter: blur(8px); background:rgba(15,23,42,.75); border-bottom:1px solid #1f2937; }
.site-header .container{ display:flex; align-items:center; justify-content:space-between; padding: .8rem 0; }
.brand{ font-weight:800; letter-spacing:.2px; }
nav a{ margin-left:1rem; }
nav a.logout{ color:#fca5a5; }
h1,h2,h3{ margin:.2rem 0 .6rem; }
.hero{ text-align:center; padding:3rem 0; }
.badge{ display:inline-block; padding:.2rem .6rem; background:#0b1220; border:1px solid #1f2937; border-radius:.5rem; color:var(--muted); font-size:.85rem; margin-right:.4rem;}
.table{ width:100%; border-collapse:collapse; }
.table th, .table td{ text-align:left; border-bottom:1px solid #1f2937; padding:.6rem .4rem; }
.tag{ display:inline-block; background:#0b1220; border:1px solid #1f2937; padding:.2rem .5rem; border-radius:.5rem; margin-right:.3rem; font-size:.85rem; color:var(--muted); }
.chat{ max-height:360px; overflow:auto; background:#0b1220; padding:1rem; border-radius:.75rem; }
.msg{ margin:.4rem 0; }
.msg .who{ font-size:.8rem; color:var(--muted); }
.kpi{ font-size:1.4rem; font-weight:800; }
