/* OBX V1.10.2 — identidad negro/blanco/azul, modo claro/oscuro. Sin dependencias externas. */
:root{--obx-navy:#071321;--obx-blue:#146cf4;--obx-teal:#15b88b;--obx-canvas:#f4f7fb;--obx-surface:#fff;--obx-ink:#111827;--obx-muted:#66758a;--obx-line:#e3eaf3;--obx-shadow:0 12px 28px rgba(10,30,65,.055);--obx-focus:0 0 0 3px rgba(29,112,255,.22);color-scheme:light}
html[data-obx-theme="dark"]{--obx-navy:#050b13;--obx-blue:#368dff;--obx-teal:#30cda5;--obx-canvas:#0b111b;--obx-surface:#151e2b;--obx-ink:#f3f7fc;--obx-muted:#a3b1c2;--obx-line:#29384a;--obx-shadow:0 13px 34px rgba(0,0,0,.25);color-scheme:dark}
body,.app{background:var(--obx-canvas)!important;color:var(--obx-ink)}
.sidebar{background:linear-gradient(175deg,#071321,#0b1b2e)!important;border-color:#1a2a40!important}
.sidebar .side-label{color:#7e99bc!important}.eyebrow{color:#287bdf!important}
.nav-item.selected{background:linear-gradient(100deg,#09316d,#10489c)!important;color:#fff!important;border-color:#307fff!important;box-shadow:inset 3px 0 0 #69acff!important}
.nav-item:hover{background:#132943!important}
.topbar,.panel,.stat,.weekly-ranking,.obx-weekly-insight,.obx-cal-kpi,.obx-calendar-detail,.modal-card{background:var(--obx-surface)!important;color:var(--obx-ink)!important;border-color:var(--obx-line)!important}
.panel,.stat,.weekly-ranking,.obx-calendar-detail{box-shadow:var(--obx-shadow)!important;border-radius:16px!important}
button.primary,.primary,button[type=submit].primary{background:linear-gradient(110deg,#116ddd,#2255ec)!important;border-color:#1766eb!important;color:white!important;box-shadow:none!important}
button.primary:hover,.primary:hover{background:#337ffa!important;filter:none}
.nav-item:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #328bff!important;outline-offset:2px!important;box-shadow:var(--obx-focus)!important}
.stat:nth-child(1){border-top:3px solid #2486f8!important}.stat:nth-child(2){border-top:3px solid #24bb86!important}.stat:nth-child(3){border-top:3px solid #737cf0!important}.stat:nth-child(4){border-top:3px solid #f39b34!important}
.obx-icon-circle,.kp-title-icon{background:rgba(45,125,255,.1)!important;color:#2782ff!important}
html[data-obx-theme="dark"] .topbar,html[data-obx-theme="dark"] .panel,html[data-obx-theme="dark"] .stat,html[data-obx-theme="dark"] .weekly-ranking,html[data-obx-theme="dark"] .weekly-metric,html[data-obx-theme="dark"] .obx-weekly-insight,html[data-obx-theme="dark"] .obx-cal-kpi,html[data-obx-theme="dark"] .obx-calendar-detail,html[data-obx-theme="dark"] .modal-card{background:#151e2b!important;border-color:#29384a!important;color:#f3f7fc!important}
html[data-obx-theme="dark"] input,html[data-obx-theme="dark"] select,html[data-obx-theme="dark"] textarea,html[data-obx-theme="dark"] .outline,html[data-obx-theme="dark"] .weekly-filters,html[data-obx-theme="dark"] .hint{background:#202b3b!important;border-color:#3d5065!important;color:#f3f7fc!important}
html[data-obx-theme="dark"] th{background:#203044!important;color:#dce9fb!important}html[data-obx-theme="dark"] td{background:transparent;color:#e6eef9}
html[data-obx-theme="dark"] .login-card,html[data-obx-theme="dark"] .obx192-dialog-card{background:#142033!important;border-color:#314760!important;color:#f7faff!important}
html[data-obx-theme="dark"] .login-card input,html[data-obx-theme="dark"] .obx192-dialog-card input{background:#202e40!important;border-color:#426182!important;color:#fff!important}
html[data-obx-theme="dark"] .obx192-dialog-card h1,html[data-obx-theme="dark"] .obx192-dialog-card h2{color:#fff!important}
html:not([data-obx-theme="dark"]) .topbar,html:not([data-obx-theme="dark"]) .stat{background:#fff!important}
html:not([data-obx-theme="dark"]) .weekly-filters{background:#f7faff!important}
/* Login: negro profundo y brillos azules discretos; se mantienen acciones y modal existentes. */
.obx-login-v191.obx192-layout.login-page{background:#020710!important}
.obx192-layout .obx-login-hero{background:radial-gradient(ellipse at 75% 55%,rgba(10,95,190,.30),transparent 57%),linear-gradient(135deg,#02050a 8%,#081729 78%,#02060f)!important}
.obx192-layout .obx-login-hero .obx-network-art{opacity:.60;filter:hue-rotate(166deg) saturate(1.3)}
.obx192-layout .obx-login-hero .obx-hero-brand-mark,.obx192-layout .obx-hero-copy h1{color:#fff!important}
.obx192-layout .obx-hero-chip{background:rgba(5,18,34,.91)!important;border-color:#254b72!important}
.obx192-layout .obx192-welcome-panel,.obx192-layout .obx192-welcome{background:#fff!important;color:#102033!important}
.obx192-layout .obx192-welcome .primary,.obx192-layout .obx192-cta,.obx192-layout .obx192-start{background:linear-gradient(100deg,#176ee6,#2456f0)!important;color:white!important;border-color:#176ee6!important}
.obx192-layout .obx192-welcome .obx192-label{color:#1269da!important}
.obx192-layout .obx192-welcome-description{color:#61728a!important}
.obx192-layout .obx192-feature-heading,.obx192-layout .obx-feature-heading{color:#657892!important}
.obx192-layout .obx-hero-kicker{color:#8fd7ff!important}
.obx192-layout .obx-hero-copy h2 em,.obx192-layout .obx-hero-copy h2 span{color:#40b5ff}
/* Los estados mantienen semántica: éxito verde, alerta ámbar, error rojo. */
.status.success,.badge.success{color:#0b9d6b}.hr-day.state-asistencia{border-color:#64ca9a!important}.hr-day.state-sin_registro_por_revisar{border-color:#f4a444!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
