/* =====================================================================
   True Moves - Admin dashboard styles
   ===================================================================== */
:root{
  --navy-950:#081726; --navy-900:#0b2240; --navy-850:#0d2748; --navy-800:#12305a;
  --gold:#e7b53c; --gold-bright:#f8cf66; --cream:#f6f1e6; --cream-dim:#aeb9c6;
  --line:rgba(255,255,255,.10);
  --ok:#34c77b; --warn:#f5a623; --bad:#ef5a5a; --r:16px;
  --shadow:0 18px 40px -20px rgba(0,0,0,.6);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Inter",system-ui,sans-serif;color:var(--cream);
  background:radial-gradient(1200px 700px at 80% -10%,rgba(231,181,60,.08),transparent 60%),
             linear-gradient(180deg,var(--navy-900),var(--navy-950));
  min-height:100vh;line-height:1.5}
h1,h3{font-weight:400}
canvas{max-width:100%}
[hidden]{display:none!important}

/* ---------- Login ---------- */
.login{min-height:100vh;display:grid;place-items:center;padding:24px}
.login__card{width:100%;max-width:400px;background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:22px;padding:40px 34px;box-shadow:var(--shadow);text-align:center;backdrop-filter:blur(8px)}
.login__logo{width:150px;margin:0 auto 22px;display:block;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}
.login__card h1{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:1.7rem;letter-spacing:.5px}
.login__sub{color:var(--cream-dim);font-size:.92rem;margin:8px 0 26px}
.login__field{position:relative;margin-bottom:16px;text-align:left}
.login__field input{width:100%;font:inherit;color:#fff;background:rgba(255,255,255,.05);
  border:1.5px solid var(--line);border-radius:12px;padding:18px 14px 8px;outline:none;transition:border-color .2s,box-shadow .2s}
.login__field input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(231,181,60,.16)}
.login__field label{position:absolute;left:14px;top:15px;color:#8da0b6;pointer-events:none;transition:.18s}
.login__field input:focus+label,.login__field input:not(:placeholder-shown)+label{
  top:7px;font-size:.7rem;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;font-family:"Oswald",sans-serif}
.btn-gold{width:100%;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--navy-950);
  border:0;border-radius:999px;padding:15px;cursor:pointer;transition:transform .25s,box-shadow .25s;font-size:.95rem}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(231,181,60,.6)}
.btn-gold:disabled{opacity:.6;cursor:default;transform:none}
.login__error{color:#ffb4b4;background:rgba(239,90,90,.12);border:1px solid rgba(239,90,90,.4);
  border-radius:10px;padding:10px;margin-top:16px;font-size:.88rem}
.login__note{color:var(--cream-dim);font-size:.78rem;margin-top:18px;line-height:1.5}

/* ---------- Dashboard shell ---------- */
.dash{max-width:1280px;margin:0 auto;padding:20px clamp(16px,3vw,32px) 60px}
.dash__top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px 0 18px;border-bottom:1px solid var(--line)}
.dash__brand{display:flex;align-items:center;gap:12px}
.dash__logo{height:42px;width:auto;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}
.dash__tag{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.2em;
  font-size:.75rem;color:var(--gold);border:1px solid rgba(231,181,60,.4);padding:3px 10px;border-radius:999px}
.dash__controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.seg{display:inline-flex;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:999px;padding:3px}
.seg button{font:inherit;font-size:.85rem;color:var(--cream-dim);background:none;border:0;cursor:pointer;
  padding:6px 14px;border-radius:999px;transition:.2s;font-family:"Oswald",sans-serif}
.seg button.active{background:var(--gold);color:var(--navy-950);font-weight:600}
.dash__link{color:var(--cream-dim);font-size:.85rem;text-decoration:none}
.dash__link:hover{color:var(--gold)}
.dash__signout{font:inherit;font-size:.85rem;color:var(--cream);background:rgba(255,255,255,.06);
  border:1px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer;transition:.2s}
.dash__signout:hover{border-color:var(--gold);color:var(--gold)}

.dash__tabs{display:flex;gap:8px;margin:20px 0 24px}
.dash__tabs button{font-family:"Oswald",sans-serif;font-size:.95rem;letter-spacing:.04em;color:var(--cream-dim);
  background:none;border:0;border-bottom:2px solid transparent;padding:8px 4px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:8px}
.dash__tabs button.active{color:#fff;border-color:var(--gold)}
.badge{background:var(--gold);color:var(--navy-950);font-size:.72rem;font-weight:700;border-radius:999px;padding:1px 8px;font-family:"Inter"}

/* ---------- KPIs ---------- */
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:22px}
.kpi{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 16px}
.kpi__label{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:var(--cream-dim)}
.kpi__val{font-family:"Anton",sans-serif;font-size:2rem;line-height:1.1;margin-top:6px}
.kpi__val .u{font-size:1rem;color:var(--cream-dim)}
.kpi--accent .kpi__val{color:var(--gold)}

/* ---------- Cards / charts ---------- */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.card--wide{grid-column:1 / -1}
.card h3{font-family:"Oswald",sans-serif;font-weight:600;font-size:1rem;letter-spacing:.03em;margin-bottom:16px;color:#fff}
/* Fixed-height chart containers prevent Chart.js (maintainAspectRatio:false)
   from growing the canvas/page infinitely. */
.chartbox{position:relative;height:260px;width:100%}
.card--wide .chartbox{height:300px}
.chartbox canvas{position:absolute;inset:0;width:100%!important;height:100%!important}

/* funnel */
.funnel{display:flex;flex-direction:column;gap:10px}
.funnel__row{display:flex;flex-direction:column;gap:5px}
.funnel__top{display:flex;justify-content:space-between;font-size:.85rem;color:var(--cream-dim)}
.funnel__top b{color:#fff;font-weight:600}
.funnel__bar{height:12px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden}
.funnel__fill{height:100%;background:linear-gradient(90deg,var(--gold-bright),var(--gold));border-radius:999px;transition:width .8s ease}

/* ---------- Submissions table ---------- */
.table-wrap{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--r);overflow:auto}
.subs{width:100%;border-collapse:collapse;min-width:760px}
.subs th{text-align:left;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
  font-size:.74rem;color:var(--cream-dim);padding:14px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--navy-850)}
.subs td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top}
.subs tr:hover td{background:rgba(255,255,255,.03)}
.subs a{color:var(--gold);text-decoration:none}
.subs a:hover{text-decoration:underline}
.subs .muted{color:var(--cream-dim);font-size:.82rem}
.statussel{font:inherit;font-size:.82rem;color:#fff;background:var(--navy-800);border:1px solid var(--line);
  border-radius:8px;padding:6px 8px;cursor:pointer}
.subs td.actions{text-align:right;white-space:nowrap}
.del-btn{width:30px;height:30px;line-height:1;font-size:1.1rem;border-radius:8px;cursor:pointer;
  background:rgba(239,90,90,.10);color:#ef8a8a;border:1px solid rgba(239,90,90,.35);
  transition:background .2s,color .2s,transform .2s}
.del-btn:hover{background:var(--bad);color:#fff;transform:scale(1.08)}
.del-btn:disabled{opacity:.5;cursor:default;transform:none}
.empty{padding:30px;text-align:center;color:var(--cream-dim)}

.config-warn{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);max-width:560px;
  background:rgba(245,166,35,.14);border:1px solid rgba(245,166,35,.5);color:#ffe7bd;
  padding:12px 18px;border-radius:12px;font-size:.85rem;text-align:center;z-index:50}
.config-warn code{background:rgba(0,0,0,.3);padding:1px 6px;border-radius:5px;color:#fff}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .kpis{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:700px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:1fr}
}
