/* FarmaTurnos v2 — compatibilidad real del tema oscuro
   Alcance: superficies y texto; no modifica colores asignados a empleados ni turnos.
   Los colores de estado mantienen el significado en claro y oscuro. */

/* Alias heredados: varios módulos utilizan fallback #f... al faltar estos tokens.
   Solo se definen en oscuro; en claro conservan exactamente su representación. */
:root[data-theme="dark"][data-palette]{
  --surface-2:var(--surface-inset);
  --green-soft:var(--brand-soft);
  --green:var(--brand-strong);
  --warning:var(--amber);
  --text:var(--ink);
  --muted:var(--ink-3);
  --text-muted:var(--ink-3);
  --good:var(--brand-strong);
}

/* Preparación anual, Equipo y matrices por empleado */
:root[data-theme="dark"] #content :is(
  .aw-team-summary,.aw-notice,.aw-bottom,.aw-facts>div,.aw-preview,
  .aw-note,.aw-disclosure,.aw-staff-container,.sy-hours-details,
  .sy-rule-archive,.sy-review,.sy-loading
){
  color:var(--ink);
}
:root[data-theme="dark"] #content :is(
  .sy-matrix tr.is-selected,.sy-matrix tr.is-selected>th,.sy-matrix tr.is-selected>td
){
  background:var(--brand-soft);
  color:var(--ink);
}
:root[data-theme="dark"] #content .sy-report th,
:root[data-theme="dark"] #content .sy-report th:first-child{
  background:var(--surface-inset);
  color:var(--ink-2);
}
:root[data-theme="dark"] #content .sy-hours-details,
:root[data-theme="dark"] #content .sy-rule-archive,
:root[data-theme="dark"] #content .sy-loading,
:root[data-theme="dark"] #content .aw-bottom,
:root[data-theme="dark"] #content .aw-team-summary,
:root[data-theme="dark"] #content .aw-index,
:root[data-theme="dark"] #content .aw-facts>div,
:root[data-theme="dark"] #content .aw-preview,
:root[data-theme="dark"] #content .aw-note,
:root[data-theme="dark"] #content .aw-notice{
  background:var(--surface-inset);
  color:var(--ink);
}
:root[data-theme="dark"] #content .sy-review{background:var(--brand-faint);color:var(--ink)}
:root[data-theme="dark"] #content .sy-report-scroll,
:root[data-theme="dark"] #content .sy-table-scroll{scrollbar-color:var(--ink-4) var(--surface-inset)}
:root[data-theme="dark"] #content :is(.sy-status,.sy-text-button){color:var(--brand-strong)}
:root[data-theme="dark"] #content :is(.sy-status.is-error,.aw-notice.is-error){color:var(--danger)}
:root[data-theme="dark"] #content .sy-deviation{color:var(--amber)}
:root[data-theme="dark"] #content .aw-notice.is-error{background:var(--danger-soft)}
:root[data-theme="dark"] #content .aw-wizard .aw-step.is-active .aw-index{
  background:#117853;border-color:#117853;color:#fff;
}
:root[data-theme="dark"] #content .aw-wizard .aw-step:not(.is-active) .aw-index{
  background:var(--surface-raised);color:var(--ink-2);
}
:root[data-theme="dark"] #content .sy-panel ::selection{background:var(--brand-soft);color:var(--ink)}

/* Configuración de aperturas: barra flotante que forzaba rgba(255,255,255,.94) */
:root[data-theme="dark"] #content .settings-savebar{
  background:var(--surface);
  color:var(--ink);
  border-color:var(--line-strong);
  box-shadow:var(--shadow);
  backdrop-filter:none;
}

/* Editor de horarios por mes; fichas y encabezados con colores claros fijos */
:root[data-theme="dark"] #content .staff-month-panel :is(
  .section-head p,.staff-month-stats span,.staff-month-person-head small,
  .staff-month-person-values small,.staff-month-actions>span,
  .staff-month-help,.staff-month-preview small,.staff-month-time-pair span
){color:var(--ink-3)}
:root[data-theme="dark"] #content .staff-month-stats strong,
:root[data-theme="dark"] #content .staff-month-person-head b,
:root[data-theme="dark"] #content .staff-month-preview b,
:root[data-theme="dark"] #content .staff-month-day-check span{color:var(--ink)}
:root[data-theme="dark"] #content .staff-month-person-values span{color:var(--brand-strong)}
:root[data-theme="dark"] #content .staff-month-person{
  background:var(--surface-raised);border-color:var(--line);
}
:root[data-theme="dark"] #content .staff-month-week,
:root[data-theme="dark"] #content .staff-month-preview>div{border-color:var(--line)}
:root[data-theme="dark"] #content .staff-month-week h3{
  background:var(--surface-inset);color:var(--ink-2);
}
:root[data-theme="dark"] #content .staff-month-day{border-color:var(--line)}
:root[data-theme="dark"] #content .staff-month-day:nth-of-type(odd){background:var(--surface-raised)}
:root[data-theme="dark"] #content .staff-month-actions,
:root[data-theme="dark"] #content .staff-month-stats{border-color:var(--line)}

/* Modales y edición directa del mes, fuera del tema base */
:root[data-theme="dark"] #content .month-quick-hint{
  background:var(--blue-soft);border-color:var(--line-strong);color:var(--ink);
}
:root[data-theme="dark"] #content .month-quick-hint :is(strong,span){color:var(--ink-2)}
:root[data-theme="dark"] #content .month-quick-bar{
  background:var(--surface-raised);color:var(--ink);border-color:var(--blue);
}
:root[data-theme="dark"] #content .month-quick-bar :is(.month-quick-step,.month-quick-time-editor h3){color:var(--blue)}
:root[data-theme="dark"] #content .month-quick-bar-top small,
:root[data-theme="dark"] #content .month-quick-actions small,
:root[data-theme="dark"] #content .month-quick-transfer :is(small,span){color:var(--ink-3)}
:root[data-theme="dark"] #content .month-quick-bar-fields :is(select,input){
  background:var(--surface);color:var(--ink);border-color:var(--line-strong);
}
:root[data-theme="dark"] #content .month-quick-summary,
:root[data-theme="dark"] #content .month-quick-transfer{
  background:var(--surface-inset);color:var(--ink);
}
:root[data-theme="dark"] #content .month-quick-transfer b,
:root[data-theme="dark"] #content .month-quick-transfer>svg{color:var(--ink-2)}
:root[data-theme="dark"] #content .month-quick-actions>button{
  background:var(--surface);color:var(--ink);
  border-color:var(--line-strong);
}
:root[data-theme="dark"] #content .month-quick-actions>button svg{color:var(--blue)}
:root[data-theme="dark"] #content .month-quick-actions>button:is(:hover,:focus-visible){
  background:var(--blue-soft);border-color:var(--blue);
}
:root[data-theme="dark"] #content .month-quick-shift-pick,
:root[data-theme="dark"] #content .month-quick-shift-pick label,
:root[data-theme="dark"] #content .month-quick-time-editor{border-color:var(--line)}
:root[data-theme="dark"] #content .quick-notices{
  background:var(--blue-soft);color:var(--ink-2);border-color:var(--line);
}
:root[data-theme="dark"] #content .month-quick-source{
  background:var(--amber-soft)!important;
  box-shadow:inset 0 0 0 2px var(--amber);
}
:root[data-theme="dark"] #content :is(.month-quick-selectable:hover,.month-quick-selectable:focus-visible,.month-quick-drop-target){
  background:var(--blue-soft)!important;
  outline-color:var(--blue)!important;
  box-shadow:inset 0 0 0 1px var(--blue);
}

/* Programador avanzado y estados CP-SAT */
:root[data-theme="dark"] #content .nl-validity,
:root[data-theme="dark"] #content :is(.nl-tag-create,.nl-tag-replace),
:root[data-theme="dark"] #content .auto-status-chip.is-ready{
  background:var(--brand-soft);color:var(--brand-strong);
}
:root[data-theme="dark"] #content :is(.nl-validity.is-warning,.auto-status-chip.is-review){
  background:var(--amber-soft);color:var(--amber);
}
:root[data-theme="dark"] #content :is(.nl-tag-delete,.nl-tag-blocked){
  background:var(--danger-soft);color:var(--danger);
}
:root[data-theme="dark"] #content .nl-table th{background:var(--surface-inset);color:var(--ink)}
:root[data-theme="dark"] #content :is(.nl-status.is-error,.auto-status.is-error,.auto-table td.auto-poor){color:var(--danger)}
:root[data-theme="dark"] #content :is(.auto-safe,.auto-new-slot,.auto-preflight-ready){color:var(--brand-strong)}

/* Patrón antiguo y anotaciones: usar la paleta en lugar de azules pálidos */
:root[data-theme="dark"] #content .planner-scroll{background:var(--surface)}
:root[data-theme="dark"] #content .day-head{
  background:var(--surface-inset);color:var(--ink-2);
}
:root[data-theme="dark"] #content .day-head.today{background:var(--brand-soft)}
:root[data-theme="dark"] #content .day-head.closed{background:var(--surface-inset)}
:root[data-theme="dark"] #content :is(.month-substatus,.month-guide>button){
  background:var(--surface-raised);color:var(--ink-2);border-color:var(--line);
}
:root[data-theme="dark"] #content .month-note-list button:hover{background:var(--brand-faint)}
:root[data-theme="dark"] #content .year-code.split{background:var(--amber-soft);color:var(--amber)}
:root[data-theme="dark"] #content :is(.year-code.vacation,.year-code.sick){background:var(--danger-soft);color:var(--danger)}
:root[data-theme="dark"] #content .week-note p{color:var(--amber)}
:root[data-theme="dark"] #content .week-change.note .change-mark{
  background:var(--blue-soft);color:var(--blue);
}

/* Mi espacio: contraste del botón claro contra el héroe verde. */
:root[data-theme="dark"] #content .portal-hero .clock-actions .button:first-child{
  color:#07543d;
  background:#fff;
  border-color:#fff;
}

/* Todas las vistas: foco y controles, sin alterar el esquema de turnos */
:root[data-theme="dark"] #content :is(
  .sy-report th,.month-quick-bar,.staff-month-panel,.settings-savebar
){border-color:var(--line)}
:root[data-theme="dark"] #content :is(input,select,textarea)::placeholder{
  color:var(--ink-4);
}

/* Contraste AA en estados que heredaban verde oscuro sobre fondo oscuro. */
:root[data-theme="dark"] #content .ft-working-time.is-live,
:root[data-theme="dark"] #content .ft-punch-hours .ft-punch-running,
:root[data-theme="dark"] #content .ft-cap-delta.is-close,
:root[data-theme="dark"] #content .team-tag.good,
:root[data-theme="dark"] #content .annual-summary .good strong{
  color:var(--brand-strong);
}
:root[data-theme="dark"] #content :is(.annual-registry-table td>small,.table-sub){
  color:var(--ink-3);
}
:root[data-theme="dark"] #content .quality-negative{
  color:var(--danger)!important;
}

/* Los botones seleccionados usan verde de acción, no el verde claro de texto. */
:root[data-theme="dark"] #content .week-pill.active{
  background:#117853;
  border-color:#117853;
  color:#fff;
}
:root[data-theme="dark"] #content .week-pill.active b,
:root[data-theme="dark"] #content .week-pill.active small{color:#fff}
:root[data-theme="dark"] #content .vg-day.own{
  background:#117853;
  color:#fff;
}

/* Ratios mensuales de Farmatic y etiquetas con azul de tema claro. */
:root[data-theme="dark"] #content .month-productivity :is(
  summary,.month-productivity-result b,.month-analysis>div b
){color:var(--ink)}
:root[data-theme="dark"] #content .month-analysis>div b{color:var(--brand-strong)}
:root[data-theme="dark"] #content .month-productivity :is(
  summary small,.month-productivity-form label,.month-productivity-result,
  .month-productivity>p,.month-guide>p
){color:var(--ink-3)}
:root[data-theme="dark"] #content .month-guide>button:hover{
  background:var(--brand-faint);
}
:root[data-theme="dark"] #content .portal-hero .eyebrow{color:#d0f8e7}
:root[data-theme="dark"] #content .wbar-daytabs button.is-active{
  background:#117853;border-color:#117853;color:#fff;
}
:root[data-theme="dark"] #content .wbar-daytabs button.is-active :is(span,b,small){
  color:#fff;
}

