@font-face { font-family:"Baloo Bhai 2"; src:url("../fonts/baloo-bhai-2.ttf") format("truetype"); font-weight:400 800; font-display:swap; }
:root { --red:#ed1c24; --deep:#9f090d; --ink:#171717; --soft:#f5f3f1; }
* { box-sizing:border-box; }
body { margin:0; background:var(--soft); color:var(--ink); font:16px/1.5 "Baloo Bhai 2",sans-serif; }
.login { min-height:100vh; display:grid; place-items:center; padding:1rem; background:linear-gradient(145deg,var(--deep),var(--red)); }
.login form { width:min(420px,100%); display:grid; gap:1rem; background:#fff; padding:2.4rem; border-radius:2rem; box-shadow:0 24px 60px rgba(0,0,0,.15); }
.logo { display:inline-block; width:max-content; padding:.45rem .75rem; border-radius:.65rem; background:var(--red); color:#fff; font:800 1.8rem/1 "Baloo Bhai 2",sans-serif; }
h1 { font-size:2rem; letter-spacing:-.035em; margin:.2rem 0; }
.login p { color:#666; margin:0 0 .5rem; }
.login label { display:grid; gap:.35rem; font-weight:700; font-size:.9rem; }
.login input { padding:.85rem; border:1px solid #ddd; border-radius:.55rem; font:inherit; }
.login button,.export { border:0; border-radius:999px; background:var(--red); color:#fff; padding:.85rem 1.2rem; font:700 1rem "Baloo Bhai 2",sans-serif; text-decoration:none; cursor:pointer; text-align:center; }
.login>a { text-align:center; color:#555; }
.alert { background:#ffe9e7; color:#9d0e09; padding:.75rem; border-radius:.5rem; }
header { min-height:72px; background:var(--deep); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:.7rem clamp(1rem,4vw,4rem); }
header .logo { background:transparent; padding:0; }
header nav { display:flex; align-items:center; gap:1.2rem; }
header nav a { color:#fff; }
.dashboard { padding:clamp(2rem,5vw,5rem); max-width:1500px; margin:auto; }
.heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.heading span { text-transform:uppercase; color:var(--red); font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.heading h1 { font-size:clamp(2.2rem,4vw,4rem); }
.export-menu { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.55rem; }
.export--soft { background:#fff; color:var(--red); box-shadow:inset 0 0 0 1px rgba(237,28,36,.25); }
.export--dark { background:var(--ink); }
.notice { margin:0 0 1.5rem; padding:1rem 1.2rem; border-radius:.8rem; background:#e9f7ec; color:#21682c; font-weight:700; }
.kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem; }
.kpis article { background:#fff; padding:1.5rem; border-radius:1.2rem; display:grid; }
.kpis strong { font-size:2.7rem; }
.kpis span { color:#666; }
.filters { display:grid; grid-template-columns:minmax(240px,1.5fr) minmax(190px,.7fr) auto auto; gap:.8rem; align-items:end; margin-bottom:1.2rem; padding:1rem; background:#fff; border-radius:1rem; }
.filters label { display:grid; gap:.3rem; }
.filters label span { font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.filters input,.filters select { width:100%; min-height:46px; padding:.7rem .85rem; border:1px solid #ddd; border-radius:.65rem; background:#fff; font:inherit; }
.filters button { min-height:46px; border:0; border-radius:.65rem; padding:.7rem 1.2rem; background:var(--red); color:#fff; font:700 1rem "Baloo Bhai 2",sans-serif; cursor:pointer; }
.filters>a { min-height:46px; display:grid; place-items:center; color:#555; }
.table-wrap { overflow:auto; background:#fff; border-radius:1rem; box-shadow:0 10px 35px rgba(0,0,0,.05); }
table { border-collapse:collapse; width:100%; min-width:1050px; }
th,td { padding:1rem; text-align:left; border-bottom:1px solid #eee; }
th { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; background:#fafafa; }
td { font-size:.9rem; }
td a { color:var(--red); }
.muted-link { color:#555; }
.pill { display:inline-block; padding:.2rem .55rem; border-radius:99px; background:#eee; }
.pill--yes { background:#e5f6e8; color:#1f6d2a; }
.delete-form { margin:0; }
.delete-form button { border:0; padding:.45rem .7rem; border-radius:.5rem; background:#fff0ef; color:#a3140f; font:700 .82rem "Baloo Bhai 2",sans-serif; cursor:pointer; }
.privacy-note { color:#666; font-size:.86rem; }
.empty { text-align:center; color:#777; padding:4rem; }
@media(max-width:1000px) {
  .heading { align-items:start; flex-direction:column; gap:1rem; }
  .export-menu { justify-content:flex-start; }
  .kpis { grid-template-columns:1fr 1fr; }
  .filters { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px) {
  .kpis,.filters { grid-template-columns:1fr; }
  header { padding-inline:1rem; }
  .dashboard { padding:2rem 1rem; }
  .export-menu { display:grid; width:100%; }
  .login form { padding:1.5rem; }
}
