/* =====================================================================
   DC CONTROL 2.2.6 · JERARQUÍA VISUAL EMPRESARIAL
   Capa final de presentación. Consolida claro/oscuro sin tocar lógica.
   ===================================================================== */

:root{
  --dc-bg:#f2f5f9;
  --dc-bg-soft:#eaf0f6;
  --dc-surface:#ffffff;
  --dc-surface-2:#f7f9fc;
  --dc-surface-3:#edf2f7;
  --dc-surface-elevated:#ffffff;
  --dc-text:#132338;
  --dc-text-strong:#0b1e35;
  --dc-muted:#63758a;
  --dc-subtle:#8796a8;
  --dc-line:#d9e2ec;
  --dc-line-strong:#c6d2df;
  --dc-input:#ffffff;
  --dc-input-hover:#f8fafc;
  --dc-primary:#1478e8;
  --dc-primary-strong:#0a5fc4;
  --dc-primary-soft:#eaf4ff;
  --dc-navy:#082844;
  --dc-navy-2:#0b3e6d;
  --dc-success:#0c9c64;
  --dc-warning:#d38309;
  --dc-danger:#d83f50;
  --dc-purple:#7544d8;
  --dc-cyan:#0c94ad;
  --dc-shadow-xs:0 1px 3px rgba(15,34,55,.05);
  --dc-shadow-sm:0 6px 18px rgba(15,34,55,.07);
  --dc-shadow:0 14px 34px rgba(15,34,55,.09);
  --dc-shadow-lg:0 28px 70px rgba(3,20,38,.20);
  --dc-radius-sm:12px;
  --dc-radius:16px;
  --dc-radius-lg:20px;
  --dc-radius-xl:26px;
  --dc-control-h:48px;
  --dc-safe-bottom:env(safe-area-inset-bottom,0px);
  --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"]{
  --dc-bg:#08131f;
  --dc-bg-soft:#0c1927;
  --dc-surface:#111f2e;
  --dc-surface-2:#162638;
  --dc-surface-3:#1d3044;
  --dc-surface-elevated:#17293b;
  --dc-text:#edf4fb;
  --dc-text-strong:#ffffff;
  --dc-muted:#a9b8c9;
  --dc-subtle:#8193a7;
  --dc-line:#2a4056;
  --dc-line-strong:#3b536b;
  --dc-input:#0d1a28;
  --dc-input-hover:#132336;
  --dc-primary:#58a9ff;
  --dc-primary-strong:#2d8ef3;
  --dc-primary-soft:#102b46;
  --dc-navy:#061a2d;
  --dc-navy-2:#0a345b;
  --dc-success:#31c98b;
  --dc-warning:#f0ac33;
  --dc-danger:#ff7180;
  --dc-purple:#a47be9;
  --dc-cyan:#4dc2d6;
  --dc-shadow-xs:0 1px 3px rgba(0,0,0,.16);
  --dc-shadow-sm:0 8px 22px rgba(0,0,0,.20);
  --dc-shadow:0 16px 38px rgba(0,0,0,.26);
  --dc-shadow-lg:0 28px 75px rgba(0,0,0,.42);
  --surface:var(--dc-surface);
  --card:var(--dc-surface);
  --text:var(--dc-text);
  --muted:var(--dc-muted);
  --line:var(--dc-line);
}

/* ====== Base empresarial ====== */
html,body{background:var(--dc-bg)!important;color:var(--dc-text)!important}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
main,#view{color:var(--dc-text)!important}
main{max-width:100%}
h1,h2,h3,h4,h5,h6{color:var(--dc-text-strong);letter-spacing:-.02em}
p,.muted,.label,small{color:var(--dc-muted)}
a{color:var(--dc-primary)}

/* ====== Acceso / página inicial ====== */
.auth-shell{
  min-height:100dvh!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(18px,4vw,48px)!important;
  background:
    radial-gradient(circle at 13% 9%,rgba(34,132,237,.22),transparent 30%),
    radial-gradient(circle at 88% 88%,rgba(17,169,132,.11),transparent 31%),
    linear-gradient(145deg,#061522 0%,#082844 52%,#0a355b 100%)!important;
  color:#fff!important;
}
html:not(.dc-dark) .auth-shell,
html[data-theme="light"] .auth-shell{
  background:
    radial-gradient(circle at 13% 9%,rgba(34,132,237,.12),transparent 30%),
    radial-gradient(circle at 88% 88%,rgba(17,169,132,.08),transparent 31%),
    linear-gradient(145deg,#eaf2fa 0%,#f5f8fc 52%,#e8f0f8 100%)!important;
}
.auth-card{
  width:min(100%,520px)!important;
  background:var(--dc-surface-elevated)!important;
  color:var(--dc-text)!important;
  border:1px solid var(--dc-line)!important;
  border-radius:28px!important;
  padding:clamp(22px,4vw,34px)!important;
  box-shadow:var(--dc-shadow-lg)!important;
  position:relative;
  overflow:hidden;
}
.auth-card::before{
  content:"";
  display:block;
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#1478e8 0 46%,#13aa73 46% 70%,#7b49dc 70% 100%);
}
.auth-brand226{text-align:center;margin-bottom:22px}
.auth-brand226 .dc-auth-logo1047{
  width:96px!important;height:96px!important;margin:0 auto 14px!important;
  border:3px solid rgba(255,255,255,.92)!important;
  box-shadow:0 12px 28px rgba(10,70,126,.20)!important;
}
.auth-brand226 .eyebrow{
  color:var(--dc-primary)!important;opacity:1!important;font-size:10px!important;
  letter-spacing:.16em!important;font-weight:900!important;margin-bottom:6px!important;
}
.auth-brand226 h1{font-size:clamp(27px,5vw,34px)!important;margin:0!important;line-height:1.05!important;color:var(--dc-text-strong)!important}
.auth-brand226 .auth-subtitle226{margin:8px 0 0!important;font-size:13px!important;color:var(--dc-muted)!important;font-weight:700!important}
.auth-intro226{
  margin:0 0 19px!important;padding:12px 14px!important;
  border-radius:14px!important;background:var(--dc-surface-2)!important;border:1px solid var(--dc-line)!important;
  color:var(--dc-muted)!important;font-size:12px!important;line-height:1.45!important;
}
.auth-form226{display:grid;gap:12px}
.auth-card label{margin:0!important;color:var(--dc-text)!important;font-weight:800!important;font-size:12px!important}
.auth-card input{
  min-height:51px!important;margin-top:7px!important;padding:12px 14px!important;
  background:var(--dc-input)!important;color:var(--dc-text)!important;
  border:1px solid var(--dc-line-strong)!important;border-radius:13px!important;
  box-shadow:var(--dc-shadow-xs)!important;
}
.auth-card input:focus{border-color:var(--dc-primary)!important;box-shadow:0 0 0 4px rgba(20,120,232,.13)!important}
.auth-card .primary{min-height:52px!important;border-radius:13px!important;font-size:15px!important;margin-top:2px!important}
.auth-card .status{border-radius:14px!important;margin:0 0 14px!important}
.auth-setup{
  margin:20px 0 0!important;padding:0!important;border:1px solid var(--dc-line)!important;
  border-radius:14px!important;background:var(--dc-surface-2)!important;overflow:hidden!important;
}
.auth-setup summary{
  list-style:none;padding:13px 14px!important;color:var(--dc-muted)!important;font-size:11px!important;
  font-weight:850!important;cursor:pointer!important;display:flex!important;align-items:center!important;gap:8px!important;
}
.auth-setup summary::-webkit-details-marker{display:none}
.auth-setup summary::before{content:"⚙";font-size:13px}
.auth-setup[open] summary{border-bottom:1px solid var(--dc-line)!important;color:var(--dc-text)!important}
.auth-setup>p,.auth-setup>label,.auth-setup>button{margin-left:14px!important;margin-right:14px!important}
.auth-setup>p{font-size:11px!important;line-height:1.45!important}
.auth-setup>button{width:calc(100% - 28px)!important;margin-bottom:14px!important}
.auth-card .security{
  margin:13px 0 0!important;padding:10px 12px!important;border-radius:12px!important;
  background:transparent!important;border:0!important;color:var(--dc-subtle)!important;font-size:10.5px!important;line-height:1.4!important;text-align:center!important;
}

/* ====== Encabezado principal ====== */
.topbar{
  background:linear-gradient(135deg,#071d33 0%,#0a3560 58%,#0a4b78 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 10px 28px rgba(5,25,47,.18)!important;
}
.topbar h1,.topbar .eyebrow,.topbar .subtitle{color:#fff!important}
.topbar .eyebrow{opacity:.76!important}.topbar .subtitle{opacity:.82!important}
.search-launch,.topbar .icon-btn,.user-card1048{
  border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.10)!important;color:#fff!important;
}
.search-launch:hover,.topbar .icon-btn:hover,.user-card1048:hover{background:rgba(255,255,255,.16)!important}

/* ====== Jerarquía común de páginas ====== */
.section{background:transparent!important;color:var(--dc-text)!important}
.page-head1046,.exec-head,.route-head,.cards-hero-head,.enterprise-section-head,.config-section-head,
.route-points-head1047,.section-title{
  color:var(--dc-text)!important;
}
.page-head1046,.exec-head,.route-head,.cards-hero-head{
  padding:16px 17px!important;margin:0 0 14px!important;
  background:var(--dc-surface)!important;border:1px solid var(--dc-line)!important;border-radius:var(--dc-radius-lg)!important;
  box-shadow:var(--dc-shadow-sm)!important;
}
.page-head1046 h2,.exec-head h2,.route-head h2,.cards-hero-head h2,.enterprise-section-head h3,.section-title h3{color:var(--dc-text-strong)!important}
.page-head1046 p,.exec-head p,.route-head p,.cards-hero-head p,.enterprise-section-head small,.section-title small{color:var(--dc-muted)!important}

/* ====== Superficies y tarjetas ====== */
.card,.metric,.exec-card,.report-card,.config-section-block,.dc-appearance-card,.map-config-card,
.recon-filter-pro,.recon-main-table,.movement-row,.finance-row,.weekly-card,.schedule-day-row,
.w3-group,.w3-card,.imei-row,.imei-stats>div,.supplier-debt-card,.capture-card,.sicar-card,
.internal-report-card,.dc-close-other,.dc-close-detail,.dc-route-cash-detail{
  background:var(--dc-surface)!important;color:var(--dc-text)!important;
  border-color:var(--dc-line)!important;box-shadow:var(--dc-shadow-sm)!important;
}
.card,.metric,.exec-card,.report-card,.config-section-block,.dc-appearance-card,.map-config-card,
.supplier-debt-card,.capture-card,.sicar-card,.internal-report-card{border-radius:var(--dc-radius-lg)!important}
.card h3,.card h4,.metric strong,.exec-card b,.report-card b{color:var(--dc-text-strong)!important}
.card p,.card small,.metric small,.exec-card small,.report-card small{color:var(--dc-muted)!important}
.row{border-bottom-color:var(--dc-line)!important;color:var(--dc-text)!important}

/* Neutraliza fondos heredados claros dentro de módulos estructurales */
html.dc-dark :is(
  .proposal,.expense-row,.location-stat,.location-person,.route-control-card,.route-card,.route-mode1047,
  .evidence-card1047,.debt-evolution1043,.payroll-cancel-box1044,.kiosk-people1045 button,
  .delivery-fixed1047,.photo-drop,.stop-instructions,.enterprise-table-wrap,.v1049-table-zone,
  .module-103,.module-1046,.module-204,.module-202,.module-203,.module-205
){background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important}
html.dc-dark :is(.route-mode1047:has(input:checked),.photo-drop,.delivery-fixed1047){background:var(--dc-primary-soft)!important;color:var(--dc-primary)!important}

/* ====== Formularios ====== */
label{color:var(--dc-text)!important}
input,select,textarea{
  min-height:var(--dc-control-h)!important;
  background:var(--dc-input)!important;color:var(--dc-text)!important;
  border:1px solid var(--dc-line-strong)!important;border-radius:var(--dc-radius-sm)!important;
  box-shadow:var(--dc-shadow-xs)!important;
}
input::placeholder,textarea::placeholder{color:var(--dc-subtle)!important;opacity:1!important}
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,120,232,.13)!important}
select option{background:var(--dc-surface)!important;color:var(--dc-text)!important}
input[type="checkbox"],input[type="radio"]{accent-color:var(--dc-primary);box-shadow:none!important}

/* ====== Botones ====== */
.primary,.secondary,.mini,.danger,.config-add,.map-open-btn,.map-center-btn,.icon-btn.light{
  min-height:42px!important;border-radius:12px!important;font-weight:850!important;
}
.primary{background:linear-gradient(135deg,var(--dc-primary),var(--dc-primary-strong))!important;color:#fff!important;border:0!important;box-shadow:0 8px 17px rgba(20,120,232,.20)!important}
.secondary,.mini,.icon-btn.light{background:var(--dc-surface-3)!important;color:var(--dc-text)!important;border:1px solid var(--dc-line)!important}
.danger{background:rgba(216,63,80,.10)!important;color:var(--dc-danger)!important;border:1px solid rgba(216,63,80,.25)!important}
button:disabled{opacity:.48!important;filter:saturate(.55)!important}

/* ====== Pestañas y navegación interna ====== */
.module-tabs1046,.config-tabs,.finance-tabs-pro210,.dc-cashhub-tabs,.dc-precut-subtabs,.route-zone-tabs10411,
.tabs104,.dc-theme-switch,.sicar-package-tabs,.internal-report-tabs{gap:8px!important}
.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,.sicar-package-tabs button,.internal-report-tabs button{
  min-height:44px!important;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!important;
}
.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,.sicar-package-tabs button.active,.internal-report-tabs 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,120,232,.18)!important;
}

/* ====== Detalles / desplegables ====== */
details{border-color:var(--dc-line)!important;color:var(--dc-text)!important}
details>summary{color:var(--dc-text)!important;border-radius:11px!important}
details>summary:hover{background:rgba(20,120,232,.055)!important}
html.dc-dark details>summary:hover{background:rgba(88,169,255,.08)!important}
.embedded-module1046[open]>summary{border-bottom-color:var(--dc-line)!important}

/* ====== Tablas ====== */
.enterprise-table-wrap,.v1049-table-zone,.recon-main-table,.sicar-table-wrap,.internal-report-table-wrap{
  background:var(--dc-surface)!important;border:1px solid var(--dc-line)!important;border-radius:var(--dc-radius)!important;overflow:auto!important;
}
table{color:var(--dc-text)!important;border-color:var(--dc-line)!important}
th{background:var(--dc-surface-3)!important;color:var(--dc-text-strong)!important;border-color:var(--dc-line)!important}
td{color:var(--dc-text)!important;border-color:var(--dc-line)!important}
tbody tr:hover td{background:rgba(20,120,232,.035)!important}
html.dc-dark tbody tr:hover td{background:rgba(88,169,255,.045)!important}

/* ====== Modales / hojas ====== */
.overlay{background:rgba(3,12,23,.66)!important;backdrop-filter:blur(9px)!important}
.sheet,.config-overlay .sheet,.manual-movement-sheet,.route-expense-sheet,.route-expense-list-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{background:linear-gradient(180deg,var(--dc-surface-elevated) 78%,transparent)!important}
.sheet-head h2{color:var(--dc-text-strong)!important}

/* ====== Estados ====== */
.status,.alert,.security,.match,.pill,.greenpill,.warnpill,.mutedpill{border-radius:12px!important}
.status.green,.status.ok,.greenpill{background:rgba(12,156,100,.10)!important;color:var(--dc-success)!important;border-color:rgba(12,156,100,.25)!important}
.status.yellow,.status.warn,.warnpill,.alert{background:rgba(211,131,9,.11)!important;color:var(--dc-warning)!important;border-color:rgba(211,131,9,.27)!important}
.status.red,.status.bad,.alert.red{background:rgba(216,63,80,.10)!important;color:var(--dc-danger)!important;border-color:rgba(216,63,80,.25)!important}
.pill,.match{background:var(--dc-primary-soft)!important;color:var(--dc-primary)!important;border-color:rgba(20,120,232,.20)!important}
.mutedpill{background:var(--dc-surface-3)!important;color:var(--dc-muted)!important;border-color:var(--dc-line)!important}

/* ====== Inicio / tablero ====== */
.hero{
  background:linear-gradient(135deg,#062744 0%,#0a4f86 66%,#0d6a72 100%)!important;
  border:1px solid rgba(255,255,255,.12)!important;border-radius:24px!important;
  box-shadow:0 16px 40px rgba(7,31,58,.18)!important;color:#fff!important;
}
.hero :is(h2,h3,b,strong,.eyebrow,.score,.score small,p){color:#fff!important}
.hero p{opacity:.83!important}
.metric{border-left-width:4px!important}

/* ====== Finanzas / conciliación ====== */
.finance-filter,.recon-filter-pro,.recon-focus-filter{background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important}
.recon-priority-banner{background:linear-gradient(135deg,var(--dc-primary-soft),rgba(12,156,100,.08))!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-group-card,.recon-bank-open-list>div,.recon-groups-empty{color:var(--dc-text)!important;border-color:var(--dc-line)!important}

/* ====== SICAR / Reporte interno / Captura / Proveedores ====== */
[class*="sicar-"] :is(h2,h3,h4,b,strong),[class*="internal-report"] :is(h2,h3,h4,b,strong){color:var(--dc-text-strong)}
[class*="sicar-"] :is(p,small,.muted),[class*="internal-report"] :is(p,small,.muted){color:var(--dc-muted)}
.sicar-package-shell,.capture-enterprise,.supplier-debt-shell,.internal-report-shell{color:var(--dc-text)!important}
html.dc-dark :is(.sicar-package-shell,.capture-enterprise,.supplier-debt-shell,.internal-report-shell) :is(.card,.metric,.panel,.box,section){border-color:var(--dc-line)!important}

/* ====== Configuración / empleados / nómina ====== */
[data-dc-page="settings"] :is(.config-user-card,.config-role-card,.config-supplier-card,.config-info-grid>div),
[data-dc-page="payroll"] :is(.v10498-payroll-card,.weekly-card),
[data-dc-page="team"] :is(.card,.employee-directory1045 .row){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){background:var(--dc-surface)!important;color:var(--dc-text)!important}

/* ====== Kiosco: respeta 2.2.4 y evita contaminación ====== */
.kiosk-fullscreen-1059{isolation:isolate}
html:not(.dc-dark) .kiosk-fullscreen-1059{color:#10243b}
html.dc-dark .kiosk-fullscreen-1059{color:#f2f7fd}
.kiosk-fullscreen-1059 :is(input,button,select){font-family:inherit}

/* ====== Barra inferior ====== */
.bottom-nav,.bottom-nav.v1049-nav-centered{
  background:rgba(255,255,255,.95)!important;border:1px solid var(--dc-line)!important;
  box-shadow:0 -8px 30px rgba(15,35,60,.12)!important;backdrop-filter:blur(18px)!important;
}
html.dc-dark .bottom-nav,html.dc-dark .bottom-nav.v1049-nav-centered{background:rgba(15,29,44,.96)!important}
.bottom-nav button.nav1048{border-radius:15px!important}
.bottom-nav button.nav1048.active{outline:2px solid var(--dc-surface)!important;box-shadow:0 0 0 4px rgba(20,120,232,.13),0 5px 14px rgba(15,35,60,.20)!important}

/* ====== Responsive empresarial ====== */
@media(max-width:760px){
  main,#view{padding-left:10px!important;padding-right:10px!important}
  .auth-shell{padding:16px!important;place-items:center!important}
  .auth-card{padding:22px 18px!important;border-radius:22px!important}
  .auth-brand226 .dc-auth-logo1047{width:82px!important;height:82px!important}
  .page-head1046,.exec-head,.route-head,.cards-hero-head{padding:13px!important;border-radius:17px!important}
  .card,.metric,.exec-card,.report-card{border-radius:16px!important}
  .sheet{border-radius:22px 22px 0 0!important;padding:14px!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;
  }
}

@media(max-width:430px){
  .auth-card{padding:20px 16px!important}
  .auth-intro226{padding:10px 11px!important}
  .hero{padding:16px!important;border-radius:19px!important}
  .primary,.secondary,.mini{min-height:44px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* DC CONTROL 2.2.11 · Integridad de interacción */
.sheet-head :is([data-x],[data-cashhub-x],[data-kiosk-close],.icon-btn.light),
.overlay :is([data-x],[data-close],[data-close-task],[data-close-ai],[data-kiosk-close],[data-cashhub-x]),
.dc-task-editor [data-close-task]{
  position:relative!important;
  z-index:120!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
#alertBtn{pointer-events:auto!important;touch-action:manipulation!important;position:relative!important;z-index:3!important}
.dc-alerts-page229 .dc-personal-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:12px!important}
.dc-alerts-page229 .dc-personal-tabs button{min-height:44px!important;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!important}
.dc-alerts-page229 .dc-personal-tabs button.active{background:linear-gradient(135deg,var(--dc-primary),var(--dc-primary-strong))!important;color:#fff!important;border-color:transparent!important}
