/* =====================================================================
   DC CONTROL 2.3.1 · Stable 4.20.9.24
   CAPA FINAL DE JERARQUÍA VISUAL CANÓNICA
   Alcance: únicamente presentación. No modifica lógica, datos, permisos,
   Supabase, cálculos, Guardian ni flujos operativos.
   ===================================================================== */

:root{
  --dc-app-version:"2.3.1-stable4.20.9.24-jerarquia-visual-canonica";
  --dc-module-business:#0ea85b;
  --dc-module-finance:#16a34a;
  --dc-module-purchases:#dc1f55;
  --dc-module-orders:#1677df;
  --dc-module-repairs:#1677df;
  --dc-module-bone:#1e88e5;
  --dc-module-warranties:#7c3aed;
  --dc-module-credit:#0f9b9d;
  --dc-module-customer-orders:#d946ef;
  --dc-module-cards:#7c3aed;
  --dc-module-debts:#f97316;
  --dc-module-payroll:#d99a00;
  --dc-module-locations:#0ea5a4;
  --dc-module-imei:#e03b4b;
  --dc-module-reports:#355edc;
  --dc-module-settings:#526477;
  --dc-module-abonos:#10a96b;
  --dc-module-inbox:#1687f5;
  --dc-module-chat:#0ca96b;
  --dc-module-reconciliation:#1597b8;
  --dc-module-guardian:#6947b8;
  --dc-module-oracle:#6d28d9;
  --dc-module-routes:#ef3340;
}

/* ---------------------------------------------------------------------
   1. Contrato final de superficies y texto
   --------------------------------------------------------------------- */
html,body,#app,#view,main{
  background:var(--dc-bg)!important;
  color:var(--dc-text)!important;
}

:is(.card,.metric,.sheet,.search-sheet,.account-menu,.config-section-block,.dc-appearance-card){
  border-color:var(--dc-line)!important;
}

html[data-theme="dark"] :is(.card,.metric,.sheet,.search-sheet,.account-menu,.config-section-block,.dc-appearance-card){
  background:var(--dc-surface)!important;
  color:var(--dc-text)!important;
}

html[data-theme="dark"] :is(.card,.metric,.sheet,.search-sheet,.account-menu,.config-section-block,.dc-appearance-card) :is(h1,h2,h3,h4,b,strong,label){
  color:var(--dc-text-strong)!important;
}
html[data-theme="dark"] :is(.card,.metric,.sheet,.search-sheet,.account-menu,.config-section-block,.dc-appearance-card) :is(p,small,.muted,.label){
  color:var(--dc-muted)!important;
}

/* Formularios: ninguna superficie blanca accidental en oscuro. */
html[data-theme="dark"] :is(.sheet,.card,.section,.overlay,.account-menu,.guardian4222-modal,.repairs4209-sheet)
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea){
  background:var(--dc-input)!important;
  color:var(--dc-text)!important;
  border-color:var(--dc-line-strong)!important;
}

/* ---------------------------------------------------------------------
   2. Identidad de módulos: NUNCA depende de la posición.
   Estas reglas van después de los nth-child históricos y por eso son la
   autoridad visual final para módulos conocidos.
   --------------------------------------------------------------------- */
.more-page1048 .more-grid1048 > button[data-more-page1048="business"]{background:var(--dc-module-business)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="finance"]{background:var(--dc-module-finance)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="purchases"]{background:var(--dc-module-purchases)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="orders"]{background:var(--dc-module-orders)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="repairs"]{background:var(--dc-module-repairs)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="bone"],
.more-page1048 .more-grid1048 > button[data-more-page1048="hueso"]{background:var(--dc-module-bone)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="warranties"]{background:var(--dc-module-warranties)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="creditBalance"]{background:var(--dc-module-credit)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="customerOrders"]{background:var(--dc-module-customer-orders)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="cards"]{background:var(--dc-module-cards)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="debts"]{background:var(--dc-module-debts)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="payroll"]{background:var(--dc-module-payroll)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="locations"]{background:var(--dc-module-locations)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="imei"]{background:var(--dc-module-imei)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="reports"],
.more-page1048 .more-grid1048 > button[data-more-page1048="analytics"]{background:var(--dc-module-reports)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="settings"]{background:var(--dc-module-settings)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="abonosAplicador"]{background:var(--dc-module-abonos)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="inbox"],
.more-page1048 .more-grid1048 > button[data-more-page1048="intake"],
.more-page1048 .more-grid1048 > button[data-more-page1048="capture"]{background:var(--dc-module-inbox)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="chat"]{background:var(--dc-module-chat)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="reconciliation"]{background:var(--dc-module-reconciliation)!important}
.more-page1048 .more-grid1048 > button[data-more-page1048="guardian"]{background:var(--dc-module-guardian)!important}

/* Inicio: el mismo módulo usa el mismo color que en Más. */
.enterprise-action-grid > .enterprise-action[data-home-action="business"]{--action:var(--dc-module-business)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="finance"]{--action:var(--dc-module-finance)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="purchases"]{--action:var(--dc-module-purchases)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="orders"]{--action:var(--dc-module-orders)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="repairs"]{--action:var(--dc-module-repairs)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="warranties"]{--action:var(--dc-module-warranties)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="customerOrders"]{--action:var(--dc-module-customer-orders)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="cards"]{--action:var(--dc-module-cards)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="locations"]{--action:var(--dc-module-locations)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="analytics"],
.enterprise-action-grid > .enterprise-action[data-home-action="reports"]{--action:var(--dc-module-reports)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="capture"],
.enterprise-action-grid > .enterprise-action[data-home-action="inbox"],
.enterprise-action-grid > .enterprise-action[data-home-action="intake"]{--action:var(--dc-module-inbox)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="routes"]{--action:var(--dc-module-routes)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="oracle"]{--action:var(--dc-module-oracle)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="guardian"]{--action:var(--dc-module-guardian)!important}
.enterprise-action-grid > .enterprise-action[data-home-action="team"]{--action:var(--dc-module-settings)!important}

.enterprise-action-grid > .enterprise-action[data-home-action]{
  background:var(--action)!important;
  color:#fff!important;
}
.enterprise-action-grid > .enterprise-action[data-home-action] :is(b,small,em,strong){color:#fff!important}

/* La barra inferior conserva su jerarquía fija de cinco posiciones. */
.bottom-nav > button:nth-child(1){background:#f97316!important}
.bottom-nav > button:nth-child(2){background:#16a34a!important}
.bottom-nav > button:nth-child(3){background:#1687f5!important}
.bottom-nav > button:nth-child(4){background:#ef3340!important}
.bottom-nav > button:nth-child(5){background:#8b3de0!important}

/* ---------------------------------------------------------------------
   3. GUARDIAN: mismo sistema visual que DC Control
   --------------------------------------------------------------------- */
.guardian4222-page{color:var(--dc-text)}
.guardian4222-head{
  background:linear-gradient(135deg,#102c4d,#173a63 58%,var(--dc-module-guardian))!important;
  border:1px solid color-mix(in srgb,var(--dc-module-guardian) 38%,#173a63)!important;
}
.guardian4222-safe{
  border-color:color-mix(in srgb,var(--dc-primary) 32%,var(--dc-line))!important;
  background:var(--dc-info-bg)!important;
  color:var(--dc-text)!important;
}
.guardian4222-tabs{
  background:var(--dc-surface-2)!important;
  border:1px solid var(--dc-line)!important;
  top:calc(72px + var(--dc-safe-top,0px))!important;
  box-shadow:var(--dc-shadow-sm)!important;
}
.guardian4222-tabs button{color:var(--dc-muted)!important}
.guardian4222-tabs button.active{
  background:var(--dc-surface-elevated)!important;
  color:var(--dc-text-strong)!important;
  box-shadow:var(--dc-shadow-xs)!important;
}
.guardian4222-summary{
  border-color:var(--dc-line)!important;
  background:var(--dc-surface)!important;
  color:var(--dc-text)!important;
}
.guardian4222-summary.critical{border-color:color-mix(in srgb,var(--dc-danger) 48%,var(--dc-line))!important;background:var(--dc-danger-bg)!important}
.guardian4222-summary.action{border-color:color-mix(in srgb,var(--dc-orange) 45%,var(--dc-line))!important;background:color-mix(in srgb,var(--dc-orange) 10%,var(--dc-surface))!important}
.guardian4222-summary.review{border-color:color-mix(in srgb,var(--dc-warning) 45%,var(--dc-line))!important;background:var(--dc-warn-bg)!important}
.guardian4222-summary.ok{border-color:color-mix(in srgb,var(--dc-success) 45%,var(--dc-line))!important;background:var(--dc-success-bg)!important}
.guardian4222-summary p,.guardian4222-rowhead p,.guardian4222-rowhead small{color:var(--dc-muted)!important}
.guardian4222-summary-badges span{
  background:var(--dc-surface-elevated)!important;
  color:var(--dc-text)!important;
  border-color:var(--dc-line)!important;
}
.guardian4222-alert,
.guardian4222-rule,
.guardian4222-source,
.guardian4222-modal{
  background:var(--dc-surface)!important;
  color:var(--dc-text)!important;
  border-color:var(--dc-line)!important;
  box-shadow:var(--dc-shadow-sm)!important;
}
.guardian4222-alert>p,.guardian4222-rule-main small,.guardian4222-source small,.guardian4222-source p,.guardian4222-empty p,.guardian4222-loading{color:var(--dc-muted)!important}
.guardian4222-priority,.guardian4222-meta span,.guardian4222-home-metrics span{
  background:var(--dc-surface-2)!important;
  color:var(--dc-muted)!important;
  border:1px solid var(--dc-line)!important;
}
.guardian4222-reco{
  background:var(--dc-info-bg)!important;
  color:var(--dc-text)!important;
  border:1px solid color-mix(in srgb,var(--dc-primary) 24%,var(--dc-line))!important;
}
.guardian4222-reco span{color:var(--dc-muted)!important}
.guardian4222-rule-note{
  background:color-mix(in srgb,var(--dc-purple) 12%,var(--dc-surface))!important;
  border-color:color-mix(in srgb,var(--dc-purple) 35%,var(--dc-line))!important;
  color:var(--dc-text)!important;
}
.guardian4222-rule.off{background:var(--dc-surface-2)!important;opacity:.72}
.guardian4222-rule-tools label{color:var(--dc-muted)!important}
.guardian4222-rule-tools label small{color:var(--dc-subtle)!important}
.guardian4222-rule-static{background:var(--dc-surface-2)!important;color:var(--dc-muted)!important;border:1px solid var(--dc-line)!important}
.guardian4222-source{position:relative}
.guardian4222-health{background:var(--dc-surface-3)!important;color:var(--dc-text)!important}
.guardian4222-health.healthy{background:var(--dc-success-bg)!important;color:var(--dc-success)!important}
.guardian4222-health.warning{background:var(--dc-warn-bg)!important;color:var(--dc-warning)!important}
.guardian4222-health.critical{background:var(--dc-danger-bg)!important;color:var(--dc-danger)!important}
.guardian4222-architecture small{color:var(--dc-muted)!important}
.guardian4222-home-card{border-left-color:var(--dc-module-guardian)!important}
.guardian4222-home-badge{background:var(--dc-success-bg)!important;color:var(--dc-success)!important}
.guardian4222-home-badge.hot{background:var(--dc-danger-bg)!important;color:var(--dc-danger)!important}
.guardian4222-more{background:var(--dc-module-guardian)!important}
.guardian4222-modal label{color:var(--dc-muted)!important}

html[data-theme="dark"] .guardian4222-head{box-shadow:0 14px 36px rgba(0,0,0,.34)!important}
html[data-theme="dark"] .guardian4222-alert,
html[data-theme="dark"] .guardian4222-rule,
html[data-theme="dark"] .guardian4222-source,
html[data-theme="dark"] .guardian4222-modal{
  background:var(--dc-surface)!important;
  color:var(--dc-text)!important;
}
html[data-theme="dark"] .guardian4222-switch i{background:#fff!important}

/* ---------------------------------------------------------------------
   4. REPARACIONES: presupuestos y autorización respetan el tema
   --------------------------------------------------------------------- */
.repairs4209-sheet{
  background:var(--dc-surface-elevated)!important;
  color:var(--dc-text)!important;
  border:1px solid var(--dc-line)!important;
}
.repairs4209-head h2{color:var(--dc-text-strong)!important}
.repairs4209-head p,.repairs4209-field label{color:var(--dc-muted)!important}
.repairs4209-close{background:var(--dc-surface-3)!important;color:var(--dc-text)!important}
.repairs4209-field input,.repairs4209-field textarea{
  background:var(--dc-input)!important;color:var(--dc-text)!important;border-color:var(--dc-line-strong)!important;
}
.repairs4209-preview{
  background:var(--dc-warn-bg)!important;
  border-color:color-mix(in srgb,var(--dc-warning) 35%,var(--dc-line))!important;
}
.repairs4209-preview small{color:var(--dc-muted)!important}
.repairs4209-preview strong{color:var(--dc-warning)!important}
.repairs4209-help{
  background:var(--dc-info-bg)!important;border-color:color-mix(in srgb,var(--dc-primary) 25%,var(--dc-line))!important;color:var(--dc-muted)!important;
}
.repairs4209-alert{background:var(--dc-surface)!important;border-color:var(--dc-line)!important;color:var(--dc-text)!important}
.repairs4209-alert.declined{background:var(--dc-danger-bg)!important}
.repairs4209-alert p{color:var(--dc-muted)!important}
.repairs4209-alert-actions .dismiss{background:var(--dc-surface-3)!important;color:var(--dc-text)!important}
.repairs4209-inline .budget-state{background:var(--dc-surface-2)!important;border-color:var(--dc-line)!important;color:var(--dc-muted)!important}
.repairs4209-inline .budget-state.authorized,.repairs4209-inline .ok{background:var(--dc-success-bg)!important;color:var(--dc-success)!important;border-color:color-mix(in srgb,var(--dc-success) 38%,var(--dc-line))!important}
.repairs4209-inline .budget-state.declined,.repairs4209-inline .cancel{background:var(--dc-danger-bg)!important;color:var(--dc-danger)!important;border-color:color-mix(in srgb,var(--dc-danger) 38%,var(--dc-line))!important}

/* Autorización conserva amarillo como semántica, pero los controles internos
   ya no se quedan blancos en modo oscuro. */
body[data-dc-page="repairs"] .repairs-ux16-auth{background:#F6C344!important;color:#3A2B00!important}
body[data-dc-page="repairs"] .repairs-ux16-auth :is(b,strong,small,span,p,label){color:#3A2B00!important}
html[data-theme="dark"] body[data-dc-page="repairs"] .repairs-ux16-auth{background:#EAB82E!important;color:#251B00!important}
html[data-theme="dark"] body[data-dc-page="repairs"] .repairs-ux16-auth :is(b,strong,small,span,p,label){color:#251B00!important}
html[data-theme="dark"] body[data-dc-page="repairs"] .repairs-ux16-auth .repairs-ux16-manual :is(input,select,textarea){
  background:var(--dc-input)!important;color:var(--dc-text)!important;border-color:var(--dc-line-strong)!important;
}

/* Tarjetas recientes de llamada/patrón: capa de seguridad visual. */
html[data-theme="dark"] :is(.ux19-call-card,.repairs-ux19-card,.repairs-ux19-sheet){
  background:var(--dc-surface-elevated)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;
}

/* ---------------------------------------------------------------------
   5. ENCARGOS: estados semánticos legibles en ambos temas
   --------------------------------------------------------------------- */
.orders4216-hero,.order4216-card,.orders4216-tabs button,.orders4216-client-results button{
  background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;
}
.orders4216-note{background:var(--dc-info-bg)!important;border-color:color-mix(in srgb,var(--dc-primary) 28%,var(--dc-line))!important;color:var(--dc-muted)!important}
.orders4216-public-box,.orders4216-wholesale-box,.orders4216-advance-box,.order4216-notes,.orders4216-type button{background:var(--dc-surface-2)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important}
.order4216-kind.public,.order4216-status.blue{background:var(--dc-info-bg)!important;color:var(--dc-primary)!important}
.order4216-kind.wholesale,.order4216-status.purple{background:color-mix(in srgb,var(--dc-purple) 15%,var(--dc-surface))!important;color:var(--dc-purple)!important}
.order4216-status.yellow,.order4216-notify{background:var(--dc-warn-bg)!important;color:var(--dc-warning)!important}
.order4216-status.green,.order4216-advance,.orders4216-client-picked{background:var(--dc-success-bg)!important;color:var(--dc-success)!important}
.order4216-status.cyan{background:color-mix(in srgb,var(--dc-cyan) 15%,var(--dc-surface))!important;color:var(--dc-cyan)!important}
.order4216-status.gray,.order4216-noadvance{background:var(--dc-surface-3)!important;color:var(--dc-muted)!important}
.order4216-status.red,.order4216-cancel-reason,.order4216-action.cancel{background:var(--dc-danger-bg)!important;color:var(--dc-danger)!important;border-color:color-mix(in srgb,var(--dc-danger) 35%,var(--dc-line))!important}

/* ---------------------------------------------------------------------
   6. NOTIFICACIONES / ATENCIÓN: eliminar blancos residuales en oscuro
   --------------------------------------------------------------------- */
.dc-notification-hero,.dc-notification-kpis>div,.dc-notification-tabs button,.dc-notification-card{
  background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;
}
.dc-notification-hero p,.dc-notification-card p,.dc-notification-card>small,.dc-notification-state{color:var(--dc-muted)!important}
.dc-notification-policy{background:var(--dc-warn-bg)!important;border-color:color-mix(in srgb,var(--dc-warning) 30%,var(--dc-line))!important;color:var(--dc-text)!important}
.dc-notification-policy small{color:var(--dc-muted)!important}
.dc-notification-tabs button.active{background:var(--dc-primary)!important;color:#fff!important;border-color:var(--dc-primary)!important}

/* ---------------------------------------------------------------------
   7. KIOSCO / PERSONAL: contraste amarillo correcto
   --------------------------------------------------------------------- */
.kiosk-admin41763 .kiosk-admin-actions .action-pin .kiosk-action-label{color:#3A2B00!important}
.kiosk-admin41763 .kiosk-admin-actions .action-pin .kiosk-action-icon{background:rgba(58,43,0,.12)!important;color:#3A2B00!important;box-shadow:inset 0 0 0 1px rgba(58,43,0,.12)!important}

/* ---------------------------------------------------------------------
   8. Oscuro: última garantía contra fondos blancos residuales recientes
   --------------------------------------------------------------------- */
html[data-theme="dark"] :is(
  .guardian4222-summary-badges span,
  .guardian4222-priority,
  .guardian4222-meta span,
  .guardian4222-home-metrics span,
  .repairs4209-inline .budget-state,
  .dc-notification-hero,
  .dc-notification-kpis>div,
  .dc-notification-tabs button,
  .dc-notification-card,
  .orders4216-hero,
  .order4216-card,
  .orders4216-tabs button,
  .orders4216-client-results button
){
  border-color:var(--dc-line)!important;
}

@media(max-width:760px){
  .guardian4222-tabs{top:calc(68px + var(--dc-safe-top,0px))!important}
}

@media(max-width:430px){
  .guardian4222-tabs{top:calc(66px + var(--dc-safe-top,0px))!important}
}
