:root{
  --bg:#080808;
  --panel:#121212;
  --panel-2:#1a1a1a;
  --red:#e10600;
  --red-dark:#8b0000;
  --metal:#2a2a2a;
  --text:#f5f5f5;
  --muted:#9ca3af;
  --border:rgba(225,6,0,.35);
}
*{box-sizing:border-box}
body{background:radial-gradient(circle at top left, rgba(225,6,0,.14), transparent 28%), linear-gradient(135deg,#060606,#111 40%,#050505); color:var(--text); min-height:100vh;}
.app-navbar{background:rgba(8,8,8,.92); border-bottom:1px solid var(--border); backdrop-filter: blur(12px);}
.text-red{color:var(--red)!important}.btn-red{background:linear-gradient(135deg,var(--red),var(--red-dark)); border:0; color:#fff; box-shadow:0 10px 30px rgba(225,6,0,.22); transition:.2s ease}.btn-red:hover{transform:translateY(-1px); filter:brightness(1.1); color:#fff}.page-title{font-weight:800; letter-spacing:.2px; margin:0}.page-title i{color:var(--red); margin-right:.4rem}.page-subtitle{color:var(--muted); margin:.25rem 0 0}.panel-card{background:linear-gradient(180deg,rgba(26,26,26,.96),rgba(12,12,12,.96)); border:1px solid rgba(255,255,255,.07); border-radius:22px; padding:1.25rem; box-shadow:0 20px 50px rgba(0,0,0,.35); transition:.25s ease}.panel-card:hover{border-color:rgba(225,6,0,.45)}.panel-header{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem}.section-title{font-weight:700; margin-bottom:1rem; color:#fff}.kpi-card{position:relative; overflow:hidden; min-height:128px; background:linear-gradient(145deg,#1b1b1b,#0d0d0d); border:1px solid rgba(255,255,255,.08); border-radius:22px; padding:1rem; box-shadow:0 18px 40px rgba(0,0,0,.35); transition:.22s ease}.kpi-card:hover{transform:translateY(-4px); border-color:var(--border)}.kpi-card span{color:var(--muted); display:block; font-size:.9rem}.kpi-card strong{display:block; font-size:1.5rem; margin-top:.45rem}.kpi-card i{position:absolute; right:1rem; bottom:.65rem; font-size:2.6rem; color:rgba(225,6,0,.22)}.form-control,.form-select{background:#0d0d0d!important; border:1px solid rgba(255,255,255,.13)!important; color:#fff!important; border-radius:12px}.form-control:focus,.form-select:focus{border-color:var(--red)!important; box-shadow:0 0 0 .25rem rgba(225,6,0,.15)!important}.form-label{color:#d1d5db;font-weight:600}.table{--bs-table-bg:transparent; --bs-table-border-color:rgba(255,255,255,.08)}.table thead th{color:#fff; background:rgba(225,6,0,.12); border-bottom:1px solid var(--border)}.table tbody td,.table tbody th{color:#e5e7eb}.table-hover tbody tr:hover{background:rgba(225,6,0,.08)!important}.small-link{color:#fff;text-decoration:none}.small-link:hover{color:var(--red)}.status{display:inline-flex; align-items:center; padding:.28rem .55rem; border-radius:999px; font-size:.76rem; font-weight:700; text-decoration:none}.status-borrador{background:#374151;color:#fff}.status-cerrado{background:#7c2d12;color:#fff}.status-aprobado{background:#14532d;color:#fff}.status-observado{background:#7f1d1d;color:#fff}.alert-line{border-left:4px solid var(--red); padding:.8rem 1rem; border-radius:14px; background:#111; margin-bottom:.8rem}.alert-line span{font-size:.76rem; color:var(--muted); text-transform:uppercase; font-weight:700}.alert-line p{margin:0;color:#fff}.alert-warning{border-left-color:#f59e0b}.alert-danger{border-left-color:var(--red)}.empty-mini{color:var(--muted); padding:1rem; text-align:center}.empty-state{max-width:520px; margin:7rem auto; text-align:center; background:#111; border:1px solid var(--border); border-radius:24px; padding:2rem}.empty-state i{font-size:4rem; color:var(--red)}.toast-zone{position:relative; z-index:5}.calc-box{display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px dashed rgba(255,255,255,.12)}.calc-box span{color:var(--muted)}.calc-box strong{font-size:1.05rem}.calc-box.total{border-bottom:0; margin-top:.5rem; padding:1rem; border-radius:16px; background:rgba(225,6,0,.12)}.sticky-card{position:sticky; top:92px}.libreta-table th,.libreta-table td{text-align:center; min-width:140px}.libreta-table th:first-child,.libreta-table td:first-child{text-align:left; min-width:170px}.login-body{display:flex; align-items:center; justify-content:center; min-height:100vh; padding:1rem; background:radial-gradient(circle at 15% 10%,rgba(225,6,0,.28),transparent 24%), radial-gradient(circle at 85% 85%,rgba(225,6,0,.16),transparent 30%), #050505}.login-card{width:min(440px,100%); padding:2rem; background:rgba(18,18,18,.94); border:1px solid var(--border); border-radius:28px; text-align:center; box-shadow:0 30px 90px rgba(0,0,0,.5)}.garage-logo{width:86px;height:86px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--red),var(--red-dark));font-size:2.8rem;box-shadow:0 18px 50px rgba(225,6,0,.32)}.login-card h1{font-weight:900;line-height:1.05;letter-spacing:.5px}.login-card h1 span{color:var(--red)}.demo-users{font-size:.84rem;color:var(--muted)}.fade-in{animation:fadeIn .35s ease both}@keyframes fadeIn{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:translateY(0)}}.dropdown-menu{border:1px solid var(--border); background:#111}.badge{border-radius:999px}.table-danger td{background:rgba(225,6,0,.2)!important}
@media (max-width: 768px){.container-fluid{padding-left:.8rem;padding-right:.8rem}.kpi-card strong{font-size:1.15rem}.panel-card{padding:1rem}.sticky-card{position:static}.page-title{font-size:1.35rem}}
