/* DC CONTROL 2.3.1 · Stable 4.20.9.59
   Jerarquía visual canónica · claro/oscuro + Hueso
   Regla: los módulos nuevos deben consumir tokens --dc-* y no colores sueltos. */
:root{
  --dc-app-version:"2.3.1-stable4.20.9.64-base-visual-estable";
  --dc-layer-bg:var(--dc-bg,#f2f5f9);
  --dc-layer-panel:var(--dc-surface,#fff);
  --dc-layer-card:var(--dc-surface-elevated,#fff);
  --dc-layer-soft:var(--dc-surface-2,#f7f9fc);
  --dc-layer-hover:var(--dc-surface-3,#edf2f7);
  --dc-layer-line:var(--dc-line,#d9e2ec);
  --dc-layer-text:var(--dc-text,#132338);
  --dc-layer-title:var(--dc-text-strong,#0b1e35);
  --dc-layer-muted:var(--dc-muted,#63758a);
  --dc-layer-input:var(--dc-input,#fff);
  --dc-layer-input-text:var(--dc-text,#132338);
  --dc-state-selected-bg:var(--dc-primary,#1478e8);
  --dc-state-selected-text:#fff;
  --dc-module-bone:#8b5cf6;
  --dc-module-bone-soft:#f5f1ff;
  --dc-module-bone-text:#42208a;
}
html[data-theme="dark"],body[data-theme="dark"]{
  --dc-layer-bg:var(--dc-bg,#08131f);
  --dc-layer-panel:var(--dc-surface,#111f2e);
  --dc-layer-card:var(--dc-surface-elevated,#17293b);
  --dc-layer-soft:var(--dc-surface-2,#162638);
  --dc-layer-hover:var(--dc-surface-3,#1d3044);
  --dc-layer-line:var(--dc-line,#2a4056);
  --dc-layer-text:var(--dc-text,#edf4fb);
  --dc-layer-title:var(--dc-text-strong,#fff);
  --dc-layer-muted:var(--dc-muted,#a9b8c9);
  --dc-layer-input:var(--dc-input,#0d1a28);
  --dc-layer-input-text:var(--dc-text,#edf4fb);
  --dc-module-bone:#b493ff;
  --dc-module-bone-soft:#241a3d;
  --dc-module-bone-text:#eee6ff;
}

/* Capa base estable: no cambia lógica, sólo asegura contraste y capas. */
html[data-theme="dark"] body,body[data-theme="dark"]{background:var(--dc-layer-bg)!important;color:var(--dc-layer-text)!important}
html[data-theme="dark"] :is(.section,.card,.metric,.sheet,.search-sheet,.account-menu,.overlay .sheet,.config-section-block,.enterprise-card,.dc-appearance-card),
body[data-theme="dark"] :is(.section,.card,.metric,.sheet,.search-sheet,.account-menu,.overlay .sheet,.config-section-block,.enterprise-card,.dc-appearance-card){
  background:var(--dc-layer-card)!important;color:var(--dc-layer-text)!important;border-color:var(--dc-layer-line)!important
}
html[data-theme="dark"] :is(.section,.card,.metric,.sheet,.search-sheet,.account-menu,.config-section-block) :is(h1,h2,h3,h4,b,strong,label),
body[data-theme="dark"] :is(.section,.card,.metric,.sheet,.search-sheet,.account-menu,.config-section-block) :is(h1,h2,h3,h4,b,strong,label){color:var(--dc-layer-title)!important}
html[data-theme="dark"] :is(.section,.card,.metric,.sheet,.search-sheet,.account-menu,.config-section-block) :is(p,small,.muted,.label),
body[data-theme="dark"] :is(.section,.card,.metric,.sheet,.search-sheet,.account-menu,.config-section-block) :is(p,small,.muted,.label){color:var(--dc-layer-muted)!important}
html[data-theme="dark"] :is(input,select,textarea),body[data-theme="dark"] :is(input,select,textarea){
  background:var(--dc-layer-input)!important;color:var(--dc-layer-input-text)!important;border-color:var(--dc-layer-line)!important;caret-color:var(--dc-primary,#58a9ff)!important
}
html[data-theme="dark"] :is(input,textarea)::placeholder,body[data-theme="dark"] :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--dc-layer-muted) 82%,transparent)!important}
html[data-theme="dark"] select option,body[data-theme="dark"] select option{background:#101b2a!important;color:#f4f8ff!important}
html[data-theme="dark"] :is(button,.btn,.secondary,.ghost):not(.primary):not(.danger):not(.take):not(.active),
body[data-theme="dark"] :is(button,.btn,.secondary,.ghost):not(.primary):not(.danger):not(.take):not(.active){border-color:var(--dc-layer-line)}
html[data-theme="dark"] :is(.active,[aria-selected="true"],.selected),body[data-theme="dark"] :is(.active,[aria-selected="true"],.selected){text-shadow:none}

/* Regla universal de selección: nunca blanco sobre blanco en oscuro. */
html[data-theme="dark"] :is(.hueso-filters button.active,.hueso-review-row button.active,.account-theme-choice4211.active),
body[data-theme="dark"] :is(.hueso-filters button.active,.hueso-review-row button.active,.account-theme-choice4211.active){
  background:var(--dc-state-selected-bg)!important;color:var(--dc-state-selected-text)!important;border-color:var(--dc-state-selected-bg)!important
}

/* HUESO · jerarquía canónica claro/oscuro */
.more-page1048 .more-grid1048 > button[data-more-page1048="hueso"],
.more-page1048 [data-more-page1048="hueso"],.hueso-more-card{background:linear-gradient(135deg,var(--dc-module-bone),#6d28d9)!important;color:#fff!important;border-color:color-mix(in srgb,var(--dc-module-bone) 65%,#fff)!important}
.hueso-page{color:var(--dc-layer-text)}
.hueso-head h2,.hueso-card-main b,.hueso-sheet h2,.hueso-block-head h3,.hueso-part b{color:var(--dc-layer-title)}
.hueso-head p,.hueso-card-main span,.hueso-card-foot,.hueso-block-head>span,.hueso-part small,.hueso-history small{color:var(--dc-layer-muted)!important}
.hueso-kpis button,.hueso-search,.hueso-filters button,.hueso-card,.hueso-empty,.hueso-sheet,.hueso-part,.hueso-review-row,.hueso-review-help,.hueso-confirm-note,.hueso-part-action.ghost{background:var(--dc-layer-card)!important;color:var(--dc-layer-text)!important;border-color:var(--dc-layer-line)!important}
.hueso-kpis button:hover,.hueso-card:hover,.hueso-filters button:hover,.hueso-part-action:hover,.hueso-review-row button:hover{background:var(--dc-layer-soft)!important;border-color:color-mix(in srgb,var(--dc-primary,#1478e8) 42%,var(--dc-layer-line))!important}
.hueso-phone,.hueso-part-icon,.hueso-detail-facts>span:not(.hueso-state){background:var(--dc-layer-soft)!important;color:var(--dc-layer-title)!important;border-color:var(--dc-layer-line)!important}
.hueso-sheet input,.hueso-sheet select,.hueso-sheet textarea,.hueso-search input{background:var(--dc-layer-input)!important;color:var(--dc-layer-input-text)!important;border-color:var(--dc-layer-line)!important}
.hueso-sheet-actions{background:linear-gradient(180deg,color-mix(in srgb,var(--dc-layer-card) 82%,transparent),var(--dc-layer-card) 26%)!important;border-top:1px solid var(--dc-layer-line)}
.hueso-location-card{background:linear-gradient(180deg,var(--dc-module-bone-soft),color-mix(in srgb,var(--dc-module-bone-soft) 62%,var(--dc-layer-card)))!important;border-color:color-mix(in srgb,var(--dc-module-bone) 40%,var(--dc-layer-line))!important}
.hueso-location-card small{color:var(--dc-layer-muted)!important}.hueso-location-card b{color:var(--dc-module-bone-text)!important}
.hueso-cloud.ok{background:var(--dc-success-bg,#ecf9f2)!important;color:var(--dc-success,#0c9c64)!important;border-color:color-mix(in srgb,var(--dc-success) 35%,var(--dc-layer-line))!important}
.hueso-cloud.warn{background:var(--dc-warn-bg,#fff7e7)!important;color:var(--dc-warning,#d38309)!important;border-color:color-mix(in srgb,var(--dc-warning) 35%,var(--dc-layer-line))!important}
.hueso-state.active{background:var(--dc-success-bg,#ecf9f2)!important;color:var(--dc-success,#0c9c64)!important;border-color:color-mix(in srgb,var(--dc-success) 35%,var(--dc-layer-line))!important}
.hueso-state.opened{background:var(--dc-warn-bg,#fff7e7)!important;color:var(--dc-warning,#d38309)!important;border-color:color-mix(in srgb,var(--dc-warning) 35%,var(--dc-layer-line))!important}
.hueso-state.empty,.hueso-state.low{background:var(--dc-layer-soft)!important;color:var(--dc-layer-muted)!important;border-color:var(--dc-layer-line)!important}
.hueso-part.present .hueso-part-icon{background:var(--dc-success-bg,#ecf9f2)!important;color:var(--dc-success,#0c9c64)!important}
.hueso-part.removed .hueso-part-icon,.hueso-part.missing .hueso-part-icon{background:var(--dc-warn-bg,#fff7e7)!important;color:var(--dc-warning,#d38309)!important}
.hueso-part.damaged .hueso-part-icon{background:var(--dc-danger-bg,#fff0f2)!important;color:var(--dc-danger,#d83f50)!important}
.hueso-part.na .hueso-part-icon{background:var(--dc-layer-soft)!important;color:var(--dc-layer-muted)!important}
.hueso-part-action{background:var(--dc-layer-card)!important;color:var(--dc-layer-text)!important;border-color:var(--dc-layer-line)!important}
.hueso-part-action.take,.hueso-review-row button.active{background:var(--dc-primary,#1478e8)!important;color:#fff!important;border-color:var(--dc-primary,#1478e8)!important}
.hueso-detail-actions .danger{background:var(--dc-danger-bg,#fff0f2)!important;color:var(--dc-danger,#d83f50)!important;border-color:color-mix(in srgb,var(--dc-danger) 35%,var(--dc-layer-line))!important}
html[data-theme="dark"] .hueso-overlay .sheet,body[data-theme="dark"] .hueso-overlay .sheet{box-shadow:0 28px 80px rgba(0,0,0,.44)!important}
html[data-theme="dark"] .hueso-empty,body[data-theme="dark"] .hueso-empty{background:color-mix(in srgb,var(--dc-layer-card) 72%,#000)!important;color:var(--dc-layer-muted)!important}
html[data-theme="dark"] .hueso-review-row button,body[data-theme="dark"] .hueso-review-row button{background:var(--dc-layer-input)!important;color:var(--dc-layer-text)!important;border-color:var(--dc-layer-line)!important}
html[data-theme="dark"] .hueso-review-row button.active,body[data-theme="dark"] .hueso-review-row button.active{background:var(--dc-primary,#58a9ff)!important;color:#06101f!important;border-color:var(--dc-primary,#58a9ff)!important;font-weight:900}

/* Página GPS: respeta el motor estable; sólo jerarquía visual. */
.dc-gps-clean-root,.l2-page{color:var(--dc-layer-text)}
html[data-theme="dark"] :is(.dc-gps-clean-root,.l2-page) :is(.l2-card,.l2-panel,.l2-fleet-row,.l2-metrics>div,.l2-overview>div),
body[data-theme="dark"] :is(.dc-gps-clean-root,.l2-page) :is(.l2-card,.l2-panel,.l2-fleet-row,.l2-metrics>div,.l2-overview>div){background:var(--dc-layer-card)!important;border-color:var(--dc-layer-line)!important;color:var(--dc-layer-text)!important}

@media(max-width:700px){.hueso-sheet-actions{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}
