/* =====================================================================
   DC CONTROL 2.2.0 · SISTEMA VISUAL UNIFICADO
   Objetivo: una sola jerarquía para claro/oscuro, escritorio/móvil.
   Capa exclusivamente visual: no modifica lógica, datos ni flujos.
   ===================================================================== */

:root{
  color-scheme:light;
  --dc-bg:#f3f6fb;
  --dc-bg-soft:#edf2f8;
  --dc-surface:#ffffff;
  --dc-surface-2:#f8fafc;
  --dc-surface-3:#eef3f8;
  --dc-surface-elevated:#ffffff;
  --dc-text:#10233f;
  --dc-text-strong:#0b1f39;
  --dc-muted:#66778d;
  --dc-subtle:#8998aa;
  --dc-line:#dbe4ee;
  --dc-line-strong:#c9d5e2;
  --dc-input:#ffffff;
  --dc-input-hover:#f9fbfd;
  --dc-primary:#147ff1;
  --dc-primary-strong:#0b63d9;
  --dc-blue:#147ff1;
  --dc-green:#0ca86b;
  --dc-red:#e43d55;
  --dc-orange:#f27b1b;
  --dc-purple:#7b45dc;
  --dc-cyan:#0d9dbb;
  --dc-yellow:#d99a06;
  --dc-navy:#082b50;
  --dc-success-bg:#ecf9f2;
  --dc-warn-bg:#fff7e7;
  --dc-danger-bg:#fff0f2;
  --dc-info-bg:#edf6ff;
  --dc-shadow-sm:0 3px 12px rgba(15,35,60,.06);
  --dc-shadow:0 10px 28px rgba(15,35,60,.08);
  --dc-shadow-lg:0 20px 55px rgba(15,35,60,.14);
  --dc-radius-sm:12px;
  --dc-radius:16px;
  --dc-radius-lg:20px;
  --dc-radius-xl:24px;
  --dc-control-h:48px;
  --dc-safe-bottom:env(safe-area-inset-bottom,0px);

  /* aliases usados por módulos históricos */
  --surface:var(--dc-surface);
  --card:var(--dc-surface);
  --text:var(--dc-text);
  --muted:var(--dc-muted);
  --line:var(--dc-line);
}

html.dc-dark,
html[data-theme="dark"]{
  color-scheme:dark;
  --dc-bg:#09131f;
  --dc-bg-soft:#0d1927;
  --dc-surface:#111f2f;
  --dc-surface-2:#162638;
  --dc-surface-3:#1a2c40;
  --dc-surface-elevated:#182a3d;
  --dc-text:#eef5fc;
  --dc-text-strong:#ffffff;
  --dc-muted:#a9b8c9;
  --dc-subtle:#8395aa;
  --dc-line:#2b4056;
  --dc-line-strong:#3b536b;
  --dc-input:#0d1a28;
  --dc-input-hover:#132235;
  --dc-primary:#58a9ff;
  --dc-primary-strong:#2d8ef3;
  --dc-success-bg:#0f2f28;
  --dc-warn-bg:#342711;
  --dc-danger-bg:#351821;
  --dc-info-bg:#102b46;
  --dc-shadow-sm:0 4px 14px rgba(0,0,0,.18);
  --dc-shadow:0 12px 30px rgba(0,0,0,.24);
  --dc-shadow-lg:0 24px 65px rgba(0,0,0,.38);
  --surface:var(--dc-surface);
  --card:var(--dc-surface);
  --text:var(--dc-text);
  --muted:var(--dc-muted);
  --line:var(--dc-line);
}

/* ---------- Base ---------- */
html,body{background:var(--dc-bg);color:var(--dc-text)}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif}
#view,main{color:var(--dc-text)}
#view{max-width:100%;overflow-x:hidden}
.section{background:transparent!important;color:var(--dc-text)!important}
.section>h2,.section h2,.section-title,.exec-head h2,.page-head1046 h2,.route-head h2,.cards-hero-head h2{color:var(--dc-text-strong)}
.section>p,.section p,.muted,.label,small{color:var(--dc-muted)}
hr{border:0;border-top:1px solid var(--dc-line)}
a{color:var(--dc-primary)}
::selection{background:rgba(20,127,241,.24)}

/* teclado / accesibilidad */
button,input,select,textarea,summary{font:inherit}
button,input,select,textarea{outline:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(20,127,241,.24)!important;
  outline-offset:2px;
}
button{touch-action:manipulation}

/* ---------- Barra superior ---------- */
.topbar{
  background:linear-gradient(135deg,#082440 0%,#0b3563 58%,#0c4876 100%)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 8px 28px rgba(5,24,47,.18)!important;
}
.topbar h1,.topbar .eyebrow,.topbar .subtitle{color:#fff!important}
.topbar .eyebrow{opacity:.72}.topbar .subtitle{opacity:.78}
.search-launch,.topbar .icon-btn{
  border:1px solid rgba(255,255,255,.17)!important;
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.search-launch:hover,.topbar .icon-btn:hover{background:rgba(255,255,255,.17)!important}

/* ---------- Jerarquía de superficies ---------- */
.card,.metric,.exec-card,.report-card,.config-section-block,.more-group1046,.w3-group,
.schedule-day-row,.weekly-card,.kiosk-employee-card:not([class*="tone-"]),
.dc-appearance-card,.map-config-card,.recon-filter-pro,.recon-main-table,
.dc-close-priority article,.dc-close-other,.dc-close-detail,.dc-route-cash-detail{
  border-color:var(--dc-line);
}
.card,.metric,.exec-card,.report-card,.dc-appearance-card,.config-section-block,.more-group1046{
  border-radius:var(--dc-radius-lg);
  box-shadow:var(--dc-shadow-sm);
}
.metric,.exec-card,.report-card{background:var(--dc-surface);color:var(--dc-text)}
.card{background:var(--dc-surface);color:var(--dc-text)}
.card>.row:first-child{padding-top:0}
.card>.row:last-child{padding-bottom:0}
.row{border-bottom-color:var(--dc-line);color:var(--dc-text)}

html.dc-dark .card,
html.dc-dark .dc-appearance-card,
html.dc-dark .config-section-block,
html.dc-dark .more-group1046{
  background:var(--dc-surface)!important;
  color:var(--dc-text)!important;
  border-color:var(--dc-line)!important;
  box-shadow:var(--dc-shadow-sm)!important;
}

/* Encabezados de página: un mismo ritmo */
.page-head1046,.exec-head,.route-head,.cards-hero-head,.enterprise-section-head,
.config-section-head,.route-points-head1047,.kiosk-title-row{
  gap:12px;
}
.page-head1046,.exec-head,.route-head,.cards-hero-head{
  padding:15px 16px;
  border:1px solid var(--dc-line);
  border-radius:var(--dc-radius-lg);
  background:var(--dc-surface);
  box-shadow:var(--dc-shadow-sm);
  margin-bottom:14px;
}
html.dc-dark :is(.page-head1046,.exec-head,.route-head,.cards-hero-head){
  background:var(--dc-surface)!important;border-color:var(--dc-line)!important;color:var(--dc-text)!important;
}
.page-head1046 h2,.exec-head h2,.route-head h2,.cards-hero-head h2{margin:2px 0!important;letter-spacing:-.025em}

/* ---------- Hero / portada ---------- */
.hero{
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,#08243f,#0c3a68 60%,#0a5776)!important;
  box-shadow:0 16px 40px rgba(7,31,58,.18)!important;
}
.hero h2,.hero .eyebrow,.hero p,.hero .score,.hero .score small{color:#fff!important}
.hero p{opacity:.78}
.hero .score{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.17)}
.enterprise-actions{border-color:var(--dc-line)!important}
.enterprise-action{
  background:var(--action,var(--dc-primary))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 8px 18px rgba(15,35,60,.15)!important;
}
.enterprise-action-copy b,.enterprise-action-copy small,.enterprise-action em,.enterprise-action>strong{color:#fff!important;opacity:1!important}
.enterprise-action .enterprise-action-icon{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important}
html.dc-dark .enterprise-action{background:var(--action,var(--dc-primary))!important}

/* ---------- Botones ---------- */
.primary,.secondary,.mini,.danger,.icon-btn.light,.config-add,.map-open-btn,.map-center-btn{
  min-height:42px;
  border-radius:var(--dc-radius-sm);
  font-weight:850;
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,background .14s ease;
}
.primary{background:linear-gradient(135deg,var(--dc-primary),var(--dc-primary-strong))!important;color:#fff!important;box-shadow:0 7px 16px rgba(20,127,241,.20)}
.primary:hover{filter:brightness(1.04)}
.secondary,.mini,.icon-btn.light{
  background:var(--dc-surface-3)!important;
  color:var(--dc-text)!important;
  border:1px solid var(--dc-line)!important;
}
.secondary:hover,.mini:hover,.icon-btn.light:hover{background:var(--dc-input-hover)!important;border-color:var(--dc-line-strong)!important}
.danger{background:var(--dc-danger-bg)!important;color:#d93850!important;border:1px solid rgba(228,61,85,.28)!important}
button:active{transform:scale(.985)}
button:disabled{filter:saturate(.6);opacity:.55}

/* ---------- Formularios ---------- */
label{color:var(--dc-text);font-weight:800}
input,select,textarea{
  width:100%;
  min-height:var(--dc-control-h);
  color:var(--dc-text)!important;
  background:var(--dc-input)!important;
  border:1px solid var(--dc-line-strong)!important;
  border-radius:var(--dc-radius-sm)!important;
  box-shadow:0 1px 0 rgba(15,35,60,.02);
}
textarea{min-height:96px;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--dc-subtle)!important;opacity:1}
input:hover,select:hover,textarea:hover{background:var(--dc-input-hover)!important}
input:focus,select:focus,textarea:focus{
  border-color:var(--dc-primary)!important;
  box-shadow:0 0 0 3px rgba(20,127,241,.12)!important;
}
input[type="checkbox"],input[type="radio"]{width:auto!important;min-height:0!important;accent-color:var(--dc-primary);box-shadow:none!important}

/* ---------- Pills / estados ---------- */
.pill,.greenpill,.warnpill,.mutedpill,.status,.alert,.security,.match{
  border-radius:999px;
}
.pill{background:var(--dc-info-bg);color:var(--dc-primary);border:1px solid rgba(20,127,241,.16)}
.greenpill,.status.ok,.status.green{background:var(--dc-success-bg)!important;color:#0c8d5a!important;border-color:rgba(12,168,107,.25)!important}
.warnpill,.status.warn,.status.yellow,.alert{background:var(--dc-warn-bg)!important;color:#9b6800!important;border-color:rgba(217,154,6,.30)!important}
.status.bad,.status.red,.alert.red{background:var(--dc-danger-bg)!important;color:#c62f47!important;border-color:rgba(228,61,85,.28)!important}
.mutedpill,.status.neutral{background:var(--dc-surface-3)!important;color:var(--dc-muted)!important;border-color:var(--dc-line)!important}
.match{background:var(--dc-info-bg)!important;color:var(--dc-primary)!important;border-color:rgba(20,127,241,.20)!important}

/* ---------- Pestañas / opciones desplegables ---------- */
.module-tabs1046,.config-tabs,.finance-tabs-pro210,.dc-cashhub-tabs,.dc-precut-subtabs,
.route-zone-tabs10411,.tabs104,.dc-theme-switch{
  gap:8px;
}
.module-tabs1046 button,.config-tabs button,.finance-tabs-pro210 button,.dc-cashhub-tabs button,
.dc-precut-subtabs button,.route-zone-tabs10411 button,.dc-theme-switch button{
  min-height:44px;
  border-radius:13px!important;
  background:var(--dc-surface-2)!important;
  color:var(--dc-text)!important;
  border:1px solid var(--dc-line)!important;
  font-weight:850;
}
.module-tabs1046 button.active,.config-tabs button.active,.finance-tabs-pro210 button.active,
.dc-cashhub-tabs button.active,.dc-precut-subtabs button.active,.route-zone-tabs10411 button.active,
.dc-theme-switch button.active{
  background:linear-gradient(135deg,var(--dc-primary),var(--dc-primary-strong))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 7px 16px rgba(20,127,241,.18)!important;
}

details{
  border-color:var(--dc-line);
  color:var(--dc-text);
}
details>summary{color:var(--dc-text);border-radius:12px}
details>summary:hover{background:rgba(20,127,241,.055)}
html.dc-dark details>summary:hover{background:rgba(88,169,255,.08)}
.embedded-module1046[open]>summary{border-bottom-color:var(--dc-line)}

/* ---------- Tablas ---------- */
.enterprise-table-wrap,.v1049-table-zone,.recon-main-table{border-radius:var(--dc-radius)!important;overflow:auto;background:var(--dc-surface)}
table{width:100%;border-collapse:separate;border-spacing:0;color:var(--dc-text)}
th{
  background:var(--dc-surface-3)!important;
  color:var(--dc-text-strong)!important;
  border-color:var(--dc-line)!important;
  font-size:.74rem;
  letter-spacing:.025em;
}
td{border-color:var(--dc-line)!important;color:var(--dc-text)}
tbody tr:hover td{background:rgba(20,127,241,.035)}
html.dc-dark tbody tr:hover td{background:rgba(88,169,255,.045)}

/* ---------- Overlays / modales ---------- */
.overlay{background:rgba(3,12,23,.62)!important;backdrop-filter:blur(8px)}
.sheet{
  background:var(--dc-surface-elevated)!important;
  color:var(--dc-text)!important;
  border:1px solid var(--dc-line)!important;
  box-shadow:var(--dc-shadow-lg)!important;
}
.sheet-head{
  position:sticky;top:-18px;z-index:8;
  background:linear-gradient(180deg,var(--dc-surface-elevated) 80%,transparent);
  padding:18px 0 10px;margin-top:-18px;
}
.sheet-head h2{color:var(--dc-text-strong)!important}

/* ---------- Menú Más ---------- */
.more-group1046 h3{color:var(--dc-muted)!important;letter-spacing:.04em;text-transform:uppercase}
.more-grid1046 button:not(.more-card1048){
  background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;box-shadow:var(--dc-shadow-sm)
}
.more-grid1046 button:not(.more-card1048) b{color:var(--dc-text-strong)}
.more-grid1046 button:not(.more-card1048) small{color:var(--dc-muted)}
.more-card1048{border-radius:18px!important;box-shadow:0 9px 22px rgba(15,35,60,.13)!important}

/* ---------- Finanzas / conciliación ---------- */
.finance-filter,.recon-filter-pro{background:var(--dc-surface);color:var(--dc-text);border-color:var(--dc-line)}
.movement-row,.finance-row{background:var(--dc-surface);border-color:var(--dc-line)}
.payment-amount{color:var(--dc-text)!important}
.recon-priority-banner{
  background:linear-gradient(135deg,var(--dc-info-bg),var(--dc-success-bg))!important;
  border-color:var(--dc-line)!important;
}
.recon-priority-banner h2{color:var(--dc-text-strong)!important}.recon-priority-banner p{color:var(--dc-muted)!important}
.recon-groups-empty,.recon-group-card,.recon-bank-open-list>div{color:var(--dc-text)}
html.dc-dark .recon-focus-filter{background:rgba(17,31,47,.95)!important}

/* ---------- Configuración ---------- */
[data-dc-page="settings"] .config-section-block,
[data-dc-page="settings"] .config-user-card,
[data-dc-page="settings"] .config-role-card,
[data-dc-page="settings"] .config-supplier-card,
[data-dc-page="settings"] .config-info-grid>div{
  border-color:var(--dc-line)!important;
  box-shadow:var(--dc-shadow-sm)!important;
}
html.dc-dark [data-dc-page="settings"] :is(.config-user-card,.config-role-card,.config-supplier-card,.config-info-grid>div) small{color:#cfdae7!important}

/* ---------- Kiosco administrativo ---------- */
.kiosk-employee-card{border-radius:20px!important}
.kiosk-card-actions .mini{min-height:44px!important}
.weekly-card{
  color:var(--dc-text)!important;
  border-color:var(--dc-line)!important;
  background:linear-gradient(180deg,var(--dc-surface),var(--dc-surface-2))!important;
}
.weekly-metrics span{background:var(--dc-info-bg)!important;color:var(--dc-text)!important}
html.dc-dark .weekly-card{background:linear-gradient(180deg,#142436,#101e2d)!important}
.schedule-day-row,.switch-row1046,.switch-row{background:var(--dc-surface-2);border-color:var(--dc-line)!important}

/* Kiosco empleado: conserva identidad pero mejora consistencia */
.kiosk-fullscreen-1059{
  background:radial-gradient(circle at 8% 0%,#164a80 0,#08233d 40%,#061523 100%)!important;
}
.kiosk-top{border-bottom-color:rgba(255,255,255,.15)}
.kiosk-top button,.kiosk-back{min-height:46px;border:1px solid rgba(255,255,255,.14);border-radius:14px}
.kiosk-person{border-radius:26px!important;box-shadow:0 16px 40px rgba(0,0,0,.22)!important}
.kiosk-punch-panel{border-radius:26px;border-color:rgba(255,255,255,.15);backdrop-filter:blur(12px)}

/* ---------- Pre-corte / Corte ---------- */
.dc-cashhub-sheet{background:var(--dc-surface-elevated)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important}
.dc-cashhub-head{
  background:var(--dc-surface-elevated)!important;
  color:var(--dc-text)!important;
  border-bottom:1px solid var(--dc-line);
  padding-top:4px;
}
.dc-cashhub-head h2,.dc-cashhub-head b,.dc-cashhub-head .eyebrow{color:var(--dc-text-strong)!important;opacity:1!important}
.dc-cashhub-head p,.dc-cashhub-head small{color:var(--dc-muted)!important;opacity:1!important}
.dc-cashhub-tabs{background:var(--dc-surface-elevated)!important}
.dc-precut-card,.dc-precut-totalbox>div,.dc-precut-summary-grid>div,.dc-close-source>div,
.dc-precut-abonos-title,.dc-precut-abonos-auto,.dc-precut-abonos-bank,.dc-abonos-two section,
.dc-collections-grid>span,.dc-transfer-grid>span,.dc-close-detail-grid>div{
  border-color:var(--dc-line)!important;
}
.dc-precut-abonos-control,.dc-precut-collections-control{
  background:var(--dc-info-bg)!important;border-color:rgba(20,127,241,.20)!important;color:var(--dc-text)!important;
}
.dc-precut-abonos-title,.dc-precut-abonos-auto,.dc-precut-abonos-bank,
.dc-abonos-two section,.dc-collections-grid>span,.dc-transfer-grid>span,
.dc-close-detail-grid>div,.dc-close-source>div{
  background:var(--dc-surface-2)!important;color:var(--dc-text)!important;
}
.dc-close-priority article{
  background:var(--dc-surface-2)!important;color:var(--dc-text)!important;box-shadow:none
}
.dc-close-priority article.ok{background:var(--dc-success-bg)!important;border-color:rgba(12,168,107,.30)!important}
.dc-close-priority article.warn{background:var(--dc-warn-bg)!important;border-color:rgba(217,154,6,.30)!important}
.dc-close-priority article.pending{background:var(--dc-surface-3)!important;border-color:var(--dc-line)!important}
.dc-close-other,.dc-close-detail,.dc-route-cash-detail{background:var(--dc-surface-2)!important;border-color:var(--dc-line)!important}
.dc-precut-actions{background:linear-gradient(180deg,transparent 0,var(--dc-surface-elevated) 24%)!important}
.dc-cashhub-loading{color:var(--dc-muted)}

/* ---------- Chat ---------- */
.dc-chat-shell{border-color:var(--dc-line)!important;box-shadow:var(--dc-shadow)!important}
.dc-chat-sidebar,.dc-chat-main,.dc-chat-head,.dc-chat-composer{border-color:var(--dc-line)!important}
html.dc-dark .dc-chat-shell,html.dc-dark .dc-chat-sidebar,html.dc-dark .dc-chat-main,
html.dc-dark .dc-chat-head,html.dc-dark .dc-chat-composer{background:var(--dc-surface)!important}

/* ---------- IMEI / garantías / agrupadores ---------- */
.imei-stats>div,.imei-row,.w3-group,.w3-card{
  background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;
}
html.dc-dark .imei-stats>div,html.dc-dark .imei-row,html.dc-dark .w3-group,html.dc-dark .w3-card{
  background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;
}

/* ---------- Navegación inferior multicolor, misma geometría ---------- */
.bottom-nav,.bottom-nav.v1049-nav-centered{
  background:color-mix(in srgb,var(--dc-surface) 94%,transparent)!important;
  border:1px solid var(--dc-line)!important;
  box-shadow:0 -8px 28px rgba(15,35,60,.12)!important;
  backdrop-filter:blur(18px)!important;
}
.bottom-nav button.nav1048,.bottom-nav button.nav1048.active{
  border-radius:15px!important;
  box-shadow:0 4px 11px rgba(15,35,60,.15)!important;
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease!important;
}
.bottom-nav button.nav1048.active{
  outline:2px solid var(--dc-surface)!important;
  box-shadow:0 0 0 4px rgba(20,127,241,.14),0 5px 14px rgba(15,35,60,.20)!important;
}
.bottom-nav button.nav1048:active{transform:scale(.97)!important}
.bottom-nav button.nav-home1048,.bottom-nav button.nav-home1048.active{background:linear-gradient(145deg,#ff8c25,#f36d0b)!important}
.bottom-nav button.nav-search1048,.bottom-nav button.nav-search1048.active{background:linear-gradient(145deg,#2496f7,#0b6ede)!important}
.bottom-nav button.nav-chat1048,.bottom-nav button.nav-chat1048.active,
.bottom-nav button.nav-capture1048,.bottom-nav button.nav-capture1048.active{background:linear-gradient(145deg,#18bd70,#079557)!important}
.bottom-nav button.nav-routes1048,.bottom-nav button.nav-routes1048.active{background:linear-gradient(145deg,#f25058,#dc2636)!important}
.bottom-nav button.nav-more1048,.bottom-nav button.nav-more1048.active{background:linear-gradient(145deg,#9859ea,#7733d1)!important}
.bottom-nav button.nav-warranties1048,.bottom-nav button.nav-warranties1048.active{background:linear-gradient(145deg,#8865e6,#673ec5)!important}

/* ---------- Oscuro: correcciones de contraste ---------- */
html.dc-dark body,html.dc-dark #view,html.dc-dark main{background:var(--dc-bg)!important;color:var(--dc-text)!important}
html.dc-dark .topbar{background:linear-gradient(135deg,#061829,#092b4d 58%,#0a3a60)!important}
html.dc-dark :is(h1,h2,h3,h4,b,strong){color:var(--dc-text-strong)}
html.dc-dark :is(p,small,.muted,.label){color:var(--dc-muted)}
html.dc-dark input,html.dc-dark select,html.dc-dark textarea{background:var(--dc-input)!important;color:var(--dc-text)!important;border-color:var(--dc-line-strong)!important}
html.dc-dark .secondary,html.dc-dark .mini,html.dc-dark .icon-btn.light{background:var(--dc-surface-3)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important}
html.dc-dark table,html.dc-dark th,html.dc-dark td{border-color:var(--dc-line)!important;color:var(--dc-text)!important}
html.dc-dark th{background:var(--dc-surface-3)!important}
html.dc-dark .overlay{background:rgba(1,7,14,.76)!important}
html.dc-dark .bottom-nav,html.dc-dark .bottom-nav.v1049-nav-centered{background:rgba(15,29,44,.95)!important;border-color:var(--dc-line)!important}

/* Evita que el modo oscuro apague tarjetas intencionalmente multicolor */
html.dc-dark :is(
  .enterprise-action-icon,.more-card1048,.kiosk-action-card,.kiosk-employee-card,
  .schedule-profile-card,.kiosk-person,.rk,.focus-kpi,.recon-action-card,.pro-kpi,
  .manual-type,.v10494-solid-kpi,.v10494-command,.v10498-payroll-card
) :is(b,strong){color:inherit}

/* ---------- Móvil ---------- */
@media(max-width:760px){
  main,#view{padding-left:10px!important;padding-right:10px!important}
  .page-head1046,.exec-head,.route-head,.cards-hero-head{padding:13px;border-radius:17px}
  .card,.metric,.exec-card,.report-card{border-radius:16px}
  .sheet{border-radius:22px 22px 0 0!important;padding:14px!important}
  .sheet-head{top:-14px;padding-top:14px;margin-top:-14px}
  .topbar{box-shadow:0 7px 22px rgba(5,24,47,.18)!important}
  .bottom-nav,.bottom-nav.v1049-nav-centered{
    left:max(5px,env(safe-area-inset-left))!important;
    right:max(5px,env(safe-area-inset-right))!important;
    width:auto!important;
    border-radius:19px!important;
    padding:5px 5px calc(5px + var(--dc-safe-bottom))!important;
    gap:4px!important;
  }
  .bottom-nav button.nav1048,.bottom-nav button.nav1048.active{height:57px!important;min-height:57px!important}
  .dc-cashhub-sheet{border-radius:22px 22px 0 0!important}
  .dc-cashhub-head{padding-left:2px;padding-right:2px}
}

@media(max-width:430px){
  .hero{padding:16px!important;border-radius:19px!important}
  .hero h2{font-size:21px!important}
  .grid2,.exec-grid,.report-cards{gap:7px!important}
  .metric,.exec-card,.report-card{padding:11px!important}
  .primary,.secondary,.mini{min-height:44px}
  .dc-precut-abonos-control{padding:12px!important;border-radius:16px!important}
}

/* Reduce animación si el usuario lo pide */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ---------- Oscuro: identidad cromática de KPIs y tarjetas ---------- */
html.dc-dark .metric.v1049-tone-1{background:linear-gradient(135deg,#124f88,#102c49)!important;border-color:#2b78b6!important;color:#fff!important}
html.dc-dark .metric.v1049-tone-2{background:linear-gradient(135deg,#14573b,#112f25)!important;border-color:#2b9d69!important;color:#fff!important}
html.dc-dark .metric.v1049-tone-3{background:linear-gradient(135deg,#493379,#271e43)!important;border-color:#8161ca!important;color:#fff!important}
html.dc-dark .metric.v1049-tone-4{background:linear-gradient(135deg,#6b2b3a,#381c27)!important;border-color:#c84b63!important;color:#fff!important}
html.dc-dark .metric.v1049-tone-5{background:linear-gradient(135deg,#6b431d,#352719)!important;border-color:#d98936!important;color:#fff!important}
html.dc-dark .metric.v1049-tone-6{background:linear-gradient(135deg,#662b40,#351c29)!important;border-color:#c94f70!important;color:#fff!important}
html.dc-dark .metric.v1049-tone-7{background:linear-gradient(135deg,#31457d,#1e2948)!important;border-color:#5f79ce!important;color:#fff!important}
html.dc-dark .metric.v1049-tone-8{background:linear-gradient(135deg,#15505a,#123037)!important;border-color:#37a5ae!important;color:#fff!important}
html.dc-dark .metric[class*="v1049-tone-"] :is(span,b,strong,small){color:#fff!important}

html.dc-dark [data-dc-page="cards"] .v10494-solid-kpi{color:#fff!important}
html.dc-dark [data-dc-page="cards"] .v10494-card-tone-1{background:linear-gradient(135deg,#185a9b,#12385f)!important}
html.dc-dark [data-dc-page="cards"] .v10494-card-tone-2{background:linear-gradient(135deg,#166142,#103726)!important}
html.dc-dark [data-dc-page="cards"] .v10494-card-tone-3{background:linear-gradient(135deg,#7b451a,#3f2a16)!important}
html.dc-dark [data-dc-page="cards"] .v10494-card-tone-4{background:linear-gradient(135deg,#513681,#2d2247)!important}
html.dc-dark [data-dc-page="cards"] .v10494-credit-tone-1{background:linear-gradient(180deg,#132b47,#111f2f)!important}
html.dc-dark [data-dc-page="cards"] .v10494-credit-tone-2{background:linear-gradient(180deg,#2b2144,#111f2f)!important}
html.dc-dark [data-dc-page="cards"] .v10494-credit-tone-3{background:linear-gradient(180deg,#17392e,#111f2f)!important}
html.dc-dark [data-dc-page="cards"] .v10494-credit-tone-4{background:linear-gradient(180deg,#3a2a18,#111f2f)!important}
html.dc-dark [data-dc-page="cards"] .v10494-credit-tone-5{background:linear-gradient(180deg,#3b1e28,#111f2f)!important}
html.dc-dark [data-dc-page="cards"] .v10494-credit-tone-6{background:linear-gradient(180deg,#14343d,#111f2f)!important}
html.dc-dark [data-dc-page="cards"] .v10494-card-movement{background:var(--dc-surface-2)!important;color:var(--dc-text)!important}

html.dc-dark [data-dc-page="payroll"] .v10498-pay-tone-1{background:linear-gradient(135deg,#173554,#14283b)!important}
html.dc-dark [data-dc-page="payroll"] .v10498-pay-tone-2{background:linear-gradient(135deg,#173c2d,#142d25)!important}
html.dc-dark [data-dc-page="payroll"] .v10498-pay-tone-3{background:linear-gradient(135deg,#32264a,#272038)!important}
html.dc-dark [data-dc-page="payroll"] .v10498-pay-tone-4{background:linear-gradient(135deg,#49301d,#332519)!important}
html.dc-dark [data-dc-page="payroll"] .v10498-pay-tone-5{background:linear-gradient(135deg,#173a43,#142d33)!important}
html.dc-dark [data-dc-page="payroll"] .v10498-pay-tone-6{background:linear-gradient(135deg,#43232d,#321c24)!important}
html.dc-dark [data-dc-page="payroll"] .v10498-pay-tone-7{background:linear-gradient(135deg,#263444,#1b2837)!important}
html.dc-dark [data-dc-page="payroll"] .v10498-pay-tone-8{background:linear-gradient(135deg,#2d2948,#232039)!important}
html.dc-dark [data-dc-page="payroll"] .v10498-payroll-card td,
html.dc-dark [data-dc-page="payroll"] .v10498-payroll-card td[data-label="Total"],
html.dc-dark [data-dc-page="payroll"] .v10498-payroll-card td:before{color:#eef5fc!important}
html.dc-dark [data-dc-page="payroll"] .v10498-payroll-card td:before{opacity:.72}

html.dc-dark :is(.v10496-user-tone-1,.v10496-role-tone-1){background:linear-gradient(135deg,#173d6b,#162639)!important}
html.dc-dark :is(.v10496-user-tone-2,.v10496-role-tone-2){background:linear-gradient(135deg,#17452f,#162b25)!important}
html.dc-dark :is(.v10496-user-tone-3,.v10496-role-tone-3){background:linear-gradient(135deg,#553116,#302319)!important}
html.dc-dark :is(.v10496-user-tone-4,.v10496-role-tone-4){background:linear-gradient(135deg,#43286c,#2a203e)!important}
html.dc-dark :is(.v10496-user-tone-5,.v10496-role-tone-5){background:linear-gradient(135deg,#164654,#172c34)!important}
