/* assets/css/theme.css
   Dark industrial theme for Driver Manager (festival ops).
*/
:root{
  --bg: #07070a;
  --panel: #11111a;
  --panel2: #161623;
  --text: #ededf3;
  --muted: #a8a8b8;
  --accent: #ff2a1a;
  --accent2: #e10600;
  --border: rgba(255,255,255,.08);
  --shadow: rgba(0,0,0,.65);
}

html, body{
  height: 100%;
  color: var(--text);
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(255,42,26,.18), transparent 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(225,6,0,.12), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.75)),
    linear-gradient(135deg, #0a0a12, #05050a);
  background-attachment: fixed;
}

body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  min-height: 100vh;
  display:flex;
  flex-direction:column;
}

a{ color: var(--accent); }
a:hover{ color: #fff; }

.brand{
  font-family: "Oswald", system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.navbar{
  background: rgba(0,0,0,.58);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(6px);
}

.card, .modal-content{
  background: linear-gradient(180deg, var(--panel), var(--panel2));
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px var(--shadow);
}

.table{ color: var(--text); }
.table thead th{ color: var(--muted); border-color: var(--border); }
.table td, .table th{ border-color: var(--border); }

.form-control, .form-select, .form-control:disabled{
  background: rgba(0,0,0,.35);
  color: var(--text);
  border: 1px solid var(--border);
}
.form-control::placeholder{ color: rgba(255,255,255,.45); }
.form-control:focus, .form-select:focus{
  border-color: rgba(255,42,26,.55);
  box-shadow: 0 0 0 .25rem rgba(255,42,26,.12);
}

.btn-danger{
  background: linear-gradient(180deg, var(--accent), var(--accent2));
  border: 1px solid rgba(255,42,26,.35);
}
.btn-outline-light{ border-color: var(--border); }

.small-muted{ color: var(--muted); font-size: .92rem; }

.pulse-dot{
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 0 rgba(255,42,26,.45);
  animation: pulse 1.6s infinite;
}
@keyframes pulse { 0%{ box-shadow: 0 0 0 0 rgba(255,42,26,.45);} 70%{ box-shadow: 0 0 0 14px rgba(255,42,26,0);} 100%{ box-shadow: 0 0 0 0 rgba(255,42,26,0);} }

.kpi{
  display:flex; gap:12px; flex-wrap:wrap;
}
.kpi .k{
  min-width: 210px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(0,0,0,.22);
}
.kpi .k .v{ font-size: 22px; font-weight: 700; font-family: "Oswald", system-ui, sans-serif; }
.kpi .k .l{ color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }

.site-footer{
  margin-top:auto;
  border-top: 1px solid var(--border);
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
}
