@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
body{background-color:#09090b;-webkit-tap-highlight-color:transparent;font-family:'Inter',system-ui,-apple-system,sans-serif;color-scheme:dark}
h1,h2,h3,h4{letter-spacing:-.01em}
.sidebar-active{background:#27272a;border-right:3px solid #8b5cf6;color:white}
.bottom-nav-active{color:#8b5cf6}
.tab-content{display:none}
.tab-content.active{display:block}
.cal-scroll::-webkit-scrollbar{height:6px;width:6px}
.cal-scroll::-webkit-scrollbar-thumb{background:#3f3f46;border-radius:10px}
.diagonal-stripes{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(225,29,72,.15) 10px,rgba(225,29,72,.15) 20px)}
.blocked-stripes{background-image:repeating-linear-gradient(45deg,transparent,transparent 6px,rgba(239,68,68,.12) 6px,rgba(239,68,68,.12) 12px)}
.pb-safe{padding-bottom:env(safe-area-inset-bottom,20px)}
[data-tooltip]:hover::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#18181b;border:1px solid #3f3f46;padding:6px 10px;border-radius:6px;color:white;font-size:10px;white-space:nowrap;z-index:50;margin-bottom:4px}
.alert-pulse{animation:pulse-red 2s infinite}
@keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(225,29,72,.4)}70%{box-shadow:0 0 0 10px rgba(225,29,72,0)}100%{box-shadow:0 0 0 0 rgba(225,29,72,0)}}
.modal-tab-btn{transition:all .2s;border-bottom:2px solid transparent}
.modal-tab-btn.active-tab{color:#a78bfa!important;border-bottom-color:#a78bfa!important}
.prof-tab-btn{transition:all .2s;border-bottom:2px solid transparent}
.prof-tab-btn.active-prof-tab{color:#60a5fa!important;border-bottom-color:#60a5fa!important}
@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes toastOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}
.toast-in{animation:toastIn .25s ease forwards}
.toast-out{animation:toastOut .2s ease forwards}
.realtime-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;display:inline-block;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@page{size:A4 portrait;margin:15mm 20mm}
@media print{
  .no-print{display:none!important}
  .print-only{display:block!important}
  body{background:white!important;color:black!important;margin:0;padding:0}
  #facturaContenido{font-family:'Inter',system-ui,sans-serif!important;background:white!important;color:#111827!important;padding:0!important}
  #facturaContenido *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bg-gray-50{background:#f9fafb!important}
  .bg-amber-50{background:#fffbeb!important}
}

/* ── INPUT COMPONENTS ── */
.inp{background-color:#09090b!important;border:1px solid #3f3f46;border-radius:10px;padding:10px 14px;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;outline:none;font-size:12px;transition:border-color .2s;width:100%}
.inp:focus{border-color:#8b5cf6}
.inp:focus-visible{outline:2px solid #8b5cf6;outline-offset:1px}
.inp::placeholder{color:#52525b!important;-webkit-text-fill-color:#52525b!important;opacity:1}
.inp-sm{background-color:#09090b!important;border:1px solid #3f3f46;border-radius:8px;padding:8px 10px;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;outline:none;font-size:11px;transition:border-color .2s;width:100%}
.inp-sm:focus{border-color:#8b5cf6}
.inp-sm:focus-visible{outline:2px solid #8b5cf6;outline-offset:1px}
.inp-sm::placeholder{color:#52525b!important;-webkit-text-fill-color:#52525b!important;opacity:1}

/* ── GLOBAL INPUT RULES (cubre todos los inputs sin excepción) ── */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;background-color:#09090b!important}
input:not([type="checkbox"]):not([type="radio"])::placeholder,textarea::placeholder{color:#52525b!important;-webkit-text-fill-color:#52525b!important;opacity:1}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #09090b inset!important;-webkit-text-fill-color:#ffffff!important;caret-color:#ffffff;transition:background-color 5000s ease-in-out 0s}
select option{background-color:#18181b;color:#ffffff}

html.light .inp{background-color:#ffffff!important;color:#18181b!important;-webkit-text-fill-color:#18181b!important;border-color:#d4d4d8}
html.light .inp:focus{border-color:#8b5cf6}
html.light .inp-sm{background-color:#ffffff!important;color:#18181b!important;-webkit-text-fill-color:#18181b!important;border-color:#d4d4d8}
html.light .inp-sm:focus{border-color:#8b5cf6}
html.light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),html.light select,html.light textarea{color:#18181b!important;-webkit-text-fill-color:#18181b!important;background-color:#ffffff!important}
html.light input:-webkit-autofill,html.light input:-webkit-autofill:hover,html.light input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px #ffffff inset!important;-webkit-text-fill-color:#18181b!important}
html.light select option{background-color:#f4f4f5;color:#18181b}

/* ── MODAL LABELS ── */
.modal-label{color:#a1a1aa;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:6px}

/* ── BADGE SYSTEM ── */
.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid;line-height:1.7;white-space:nowrap;font-family:'Inter',sans-serif}
.badge-green {background:rgba(22,163,74,.15); color:#4ade80;border-color:rgba(34,197,94,.3)}
.badge-blue  {background:rgba(37,99,235,.15);  color:#60a5fa;border-color:rgba(59,130,246,.3)}
.badge-violet{background:rgba(109,40,217,.15); color:#c4b5fd;border-color:rgba(139,92,246,.3)}
.badge-amber {background:rgba(180,83,9,.15);   color:#fbbf24;border-color:rgba(245,158,11,.3)}
.badge-red   {background:rgba(185,28,28,.15);  color:#fca5a5;border-color:rgba(239,68,68,.3)}
.badge-zinc  {background:rgba(82,82,91,.15);   color:#a1a1aa;border-color:rgba(113,113,122,.3)}
.badge-cyan  {background:rgba(8,145,178,.15);  color:#22d3ee;border-color:rgba(6,182,212,.3)}

/* ── KPI CARD (Dashboard) ── */
.kpi-card{background:#18181b;border:1px solid #27272a;border-radius:16px;padding:20px 24px;transition:border-color .2s}
.kpi-card:hover{border-color:#3f3f46}

/* ── THEME TOGGLE BUTTON ── */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:transparent;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s;font-size:13px;line-height:1;padding:0}
.theme-toggle:hover{background:#27272a;border-color:#3f3f46}
html.light .theme-toggle:hover{background:#e4e4e7;border-color:#a1a1aa}

/* ── LIGHT MODE ── */
html.light body{color-scheme:light}html.light{color-scheme:light}
html.light body{background-color:#f4f4f5;color:#18181b}
html.light [class*="bg-zinc-950"]{background-color:#e9e9eb!important}
html.light [class*="bg-zinc-900"]{background-color:#f4f4f5!important}
html.light [class*="bg-zinc-800"]{background-color:#e4e4e7!important}
html.light [class*="bg-zinc-700"]{background-color:#d4d4d8!important}
html.light [class*="border-zinc-800"]{border-color:#d4d4d8!important}
html.light [class*="border-zinc-700"]{border-color:#a1a1aa!important}
html.light [class*="text-white"]{color:#18181b!important}
html.light [class*="text-zinc-300"]{color:#3f3f46!important}
html.light [class*="text-zinc-400"]{color:#52525b!important}
html.light [class*="text-zinc-500"]{color:#71717a!important}
html.light [class*="text-zinc-600"]{color:#52525b!important}
html.light [class*="divide-zinc-800"]>*{border-color:#d4d4d8!important}
html.light .inp:focus,html.light .inp-sm:focus{border-color:#8b5cf6}
html.light .kpi-card{background:#f4f4f5;border-color:#d4d4d8}
html.light .kpi-card:hover{border-color:#a1a1aa}
html.light .sidebar-active{background:#e4e4e7!important;border-right-color:#8b5cf6;color:#18181b!important}
html.light [data-tooltip]:hover::after{background:#ffffff;border-color:#d4d4d8;color:#18181b}
html.light .cal-scroll::-webkit-scrollbar-thumb{background:#d4d4d8}
html.light #pantallaLogin{background-color:#f4f4f5!important}
html.light #pantallaLogin .bg-zinc-900{background-color:#ffffff!important}
html.light .badge-zinc{background:rgba(113,113,122,.08);color:#52525b;border-color:rgba(113,113,122,.2)}

/* ── RENT A CAR MODE ── */
.rc-mode .sidebar-active{border-right-color:#0ea5e9}
html.light .rc-mode .sidebar-active{border-right-color:#0ea5e9;background:#e0f2fe!important}
.rc-mode .bottom-nav-active{color:#0ea5e9}
.badge-sky{background:rgba(14,165,233,.15);color:#38bdf8;border-color:rgba(56,189,248,.3)}

/* ── BOT KILL SWITCH ── */
#botKillSwitch{cursor:pointer;user-select:none}
#botKillSwitch:active{opacity:.85}
#botKillSwitchThumb{pointer-events:none}

/* ── COACH REPORT PROSE ── */
.coach-report{font-size:13px;line-height:1.8;color:#d4d4d8}
.coach-report p{margin-bottom:.75rem}
.coach-report ul{list-style:disc;padding-left:1.25rem;margin:.5rem 0}
.coach-report li{margin:.25rem 0;color:#a1a1aa}
.coach-report strong{color:#fafafa;font-weight:700}
html.light .coach-report{color:#3f3f46}
html.light .coach-report li{color:#52525b}
html.light .coach-report strong{color:#18181b}

/* ── ENTERPRISE BUTTON SYSTEM — Elimina estilo neón ─────────────
   Aplica a todo <button> que tenga bg y text del mismo color.
   Resultado: fondo sólido + texto blanco puro. Alto contraste garantizado.
──────────────────────────────────────────────────────────────── */
button[class*="bg-emerald"][class*="text-emerald"]{background-color:#059669!important;color:#fff!important;border-color:rgba(5,150,105,.35)!important}
button[class*="bg-emerald"][class*="text-emerald"]:hover{background-color:#10b981!important}
button[class*="bg-violet"][class*="text-violet"]{background-color:#7c3aed!important;color:#fff!important;border-color:rgba(124,58,237,.35)!important}
button[class*="bg-violet"][class*="text-violet"]:hover{background-color:#8b5cf6!important}
button[class*="bg-blue"][class*="text-blue"]{background-color:#1d4ed8!important;color:#fff!important;border-color:rgba(29,78,216,.35)!important}
button[class*="bg-blue"][class*="text-blue"]:hover{background-color:#2563eb!important}
button[class*="bg-rose"][class*="text-rose"]{background-color:#be123c!important;color:#fff!important;border-color:rgba(190,18,60,.35)!important}
button[class*="bg-rose"][class*="text-rose"]:hover{background-color:#e11d48!important}
button[class*="bg-amber"][class*="text-amber"]{background-color:#b45309!important;color:#fff!important;border-color:rgba(180,83,9,.35)!important}
button[class*="bg-amber"][class*="text-amber"]:hover{background-color:#d97706!important}
button[class*="bg-sky"][class*="text-sky"]{background-color:#0369a1!important;color:#fff!important;border-color:rgba(3,105,161,.35)!important}
button[class*="bg-sky"][class*="text-sky"]:hover{background-color:#0284c7!important}
button[class*="bg-orange"][class*="text-orange"]{background-color:#c2410c!important;color:#fff!important;border-color:rgba(194,65,12,.35)!important}
button[class*="bg-orange"][class*="text-orange"]:hover{background-color:#ea580c!important}
button[class*="bg-fuchsia"][class*="text-fuchsia"]{background-color:#86198f!important;color:#fff!important;border-color:rgba(134,25,143,.35)!important}
button[class*="bg-fuchsia"][class*="text-fuchsia"]:hover{background-color:#a21caf!important}
/* Links con apariencia de botón neón */
a[class*="bg-violet"][class*="text-violet"]{background-color:#7c3aed!important;color:#fff!important}
a[class*="bg-blue"][class*="text-blue"]{background-color:#1d4ed8!important;color:#fff!important}
a[class*="bg-emerald"][class*="text-emerald"]{background-color:#059669!important;color:#fff!important}

/* ── LIGHT MODE — EXTENDED FIXES ─────────────────────────────── */
/* Zinc-100/200 son casi blancos en oscuro — en claro deben ser oscuros */
html.light [class*="text-zinc-100"]{color:#18181b!important}
html.light [class*="text-zinc-200"]{color:#27272a!important}

/* Modal overlays: bg-[#09090b]/90 es casi negro; en claro, usar negro translúcido suave */
html.light [class*="[#09090b]"]{background-color:rgba(0,0,0,0.42)!important}

/* Sidebar en modo claro: fondo blanco con sombra sutil */
html.light aside{background-color:#ffffff!important;border-right-color:#e4e4e7!important}
html.light #sidebarDesktop{box-shadow:4px 0 20px rgba(0,0,0,0.06)}
html.light #sidebarMobile{background-color:#ffffff!important}

/* Modal label más oscuro para legibilidad sobre fondos blancos */
html.light .modal-label{color:#52525b}

/* Colores de acento: versiones más oscuras para contraste en fondos claros */
html.light [class*="text-violet-400"]{color:#6d28d9!important}
html.light [class*="text-violet-300"]{color:#7c3aed!important}
html.light [class*="text-blue-400"]{color:#1d4ed8!important}
html.light [class*="text-blue-300"]{color:#2563eb!important}
html.light [class*="text-emerald-400"]{color:#059669!important}
html.light [class*="text-emerald-500"]{color:#047857!important}
html.light [class*="text-rose-400"]{color:#be123c!important}
html.light [class*="text-rose-500"]{color:#9f1239!important}
html.light [class*="text-amber-400"]{color:#b45309!important}
html.light [class*="text-sky-400"]{color:#0369a1!important}
html.light [class*="text-cyan-400"]{color:#0e7490!important}
html.light [class*="text-fuchsia-400"]{color:#86198f!important}

/* Fondos semitransparentes de colores: versiones más suaves en claro */
html.light [class*="bg-rose-950"]{background-color:rgba(254,202,202,0.5)!important}
html.light [class*="border-rose-900"]{border-color:rgba(252,165,165,0.5)!important}
html.light [class*="bg-violet-600/20"]{background-color:rgba(124,58,237,0.08)!important}
html.light [class*="bg-blue-700/40"]{background-color:rgba(29,78,216,0.1)!important}
html.light [class*="bg-blue-700/20"]{background-color:rgba(29,78,216,0.07)!important}
html.light [class*="bg-emerald-800/30"]{background-color:rgba(6,95,70,0.08)!important}
html.light [class*="bg-amber-500/10"]{background-color:rgba(245,158,11,0.08)!important}
html.light [class*="border-amber-500"]{border-color:rgba(217,119,6,0.35)!important}
html.light [class*="border-violet-600"]{border-color:rgba(109,40,217,0.4)!important}
html.light [class*="border-violet-700"]{border-color:rgba(109,40,217,0.3)!important}
html.light [class*="border-violet-900"]{border-color:rgba(109,40,217,0.15)!important}

/* Panel de notificaciones en modo claro */
html.light #panelNotificaciones{background-color:#ffffff!important;border-color:#e4e4e7!important}

/* Bottom nav móvil en modo claro */
html.light #bottomNav{background-color:#ffffff!important;border-top-color:#e4e4e7!important}
html.light #bottomNav [class*="text-zinc-600"]{color:#71717a!important}

/* ── TUTORIAL / ONBOARDING ────────────────────────────────────── */
#tutorialSpotlight{
  position:fixed;
  border-radius:16px;
  box-shadow:0 0 0 9999px rgba(9,9,11,0.80);
  transition:left .38s cubic-bezier(.4,0,.2,1),top .38s cubic-bezier(.4,0,.2,1),width .38s cubic-bezier(.4,0,.2,1),height .38s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
  z-index:1;
  outline:2px solid rgba(139,92,246,0.6);
  outline-offset:2px
}
html.light #tutorialSpotlight{box-shadow:0 0 0 9999px rgba(0,0,0,0.52);outline-color:rgba(109,40,217,0.7)}
#tutorialCard{
  position:fixed;
  z-index:2;
  width:340px;
  max-width:calc(100vw - 32px);
  transition:left .38s cubic-bezier(.4,0,.2,1),top .38s cubic-bezier(.4,0,.2,1),right .38s cubic-bezier(.4,0,.2,1),bottom .38s cubic-bezier(.4,0,.2,1)
}
html.light #tutorialCard{background-color:#ffffff!important;border-color:rgba(109,40,217,0.4)!important}
html.light #tutorialCard [class*="text-zinc-400"]{color:#52525b!important}
html.light #tutorialCard [class*="text-zinc-600"]{color:#71717a!important}
html.light #tutorialCard [class*="bg-zinc-800"]{background-color:#f4f4f5!important}
html.light #tutorialCard [class*="hover:bg-zinc-700"]{--tw-bg-opacity:1}
@keyframes tutCardIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.tut-card-in{animation:tutCardIn .28s cubic-bezier(.4,0,.2,1) forwards}
