/* FitPach v4.2.1 — jerarquía de botones; sin cambios de navegación. */
:root{
  --action-bg:color-mix(in srgb,var(--accent) 15%,var(--card));
  --action-ink:color-mix(in srgb,var(--accent) 78%,white);
  --destructive:#ff8585;
  --destructive-fill:#b42332;
  --on-destructive:#ffffff;
  --destructive-bg:color-mix(in srgb,var(--destructive) 15%,var(--card));
}
:root[data-theme="light"]{
  --action-ink:color-mix(in srgb,var(--accent) 65%,#000000);
  --destructive:#a51d2d;
}
/* Mezclas con una superficie opaca: 15% de acento, sin transparencia real. */
.cta-secondary,.history-more-btn,.section-more-btn,.icon-btn,.rest-adjust-btn,
.stats-secondary-nav,.icon-control,.data-action,.import-mini-btn,
.fitpach-tutorial-btn,.fitpach-tutorial-skip,
#btn-rename-split,#btn-delete-split{
  background:var(--action-bg,var(--card));
  border:1px solid var(--accent);
  color:var(--action-ink,var(--accent));
}
.stats-secondary-nav{border-radius:8px;}
.set-complete-toggle:not(.completed){
  background:var(--action-bg,var(--card)); border-color:var(--accent);
}
.cta-primary,.fitpach-tutorial-btn.primary{
  background:var(--accent); color:var(--on-accent); border-color:var(--accent);
}
.cta-danger,.icon-btn.danger,.data-action.danger,.body-custom-delete,
#btn-delete-split{
  background:var(--destructive-bg,var(--card));
  border:1px solid var(--destructive); color:var(--destructive);
}
.app-dialog-confirm.danger{
  background:var(--destructive-fill); color:var(--on-destructive);
  border-color:var(--destructive-fill);
}
.data-action.danger .data-action-desc{color:var(--destructive);}
/* Flechas y filas de navegación/selección permanecen neutras y opacas. */
.body-accordion-head,.import-accordion-head,.import-workout-head,.muscle-volume-head,
.custom-select-option,.custom-select-filter-choice,.stats-ex-option,.accent-option{
  background:var(--card);
}
/* Las cinco celdas son navegación: la superficie pertenece solo a la barra.
   El círculo central y el indicador activo viven en .ic y quedan intactos. */
.tabbar > button.tab,
.tabbar > button.tab:is(.active,:active,:focus,:focus-visible,:hover){
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
  -webkit-tap-highlight-color:transparent;
}
/* Foco de teclado sobre el icono, nunca como caja alrededor de la celda. */
.tabbar > button.tab:focus-visible > .ic{
  outline:2px solid var(--accent); outline-offset:2px;
}
.settings-segment-option{background:var(--bg-elevated);}
.settings-segment-option.selected,.import-mini-btn.selected{
  background:var(--action-bg,var(--card)); color:var(--action-ink,var(--accent));
}
.stats-ex-option.selected,.stats-ex-option:hover,.stats-ex-option:focus{
  background:var(--action-bg,var(--card)); color:var(--action-ink,var(--accent));
}
.session-ex-option:disabled:hover{background:var(--card);}
.body-entry-btn.body-active{
  background:color-mix(in srgb,var(--green) 15%,var(--card));
}
.import-mini-btn.warn.selected{
  background:var(--action-bg,var(--card)); color:var(--action-ink,var(--accent));
  border-color:var(--accent);
}
.help-info-btn,.help-info-btn.compact{
  width:32px; height:32px; border-radius:50%; background:transparent;
}
.help-info-btn::before,.help-info-btn.compact::before{
  width:13px; height:13px; font-size:8.5px; border-width:1.25px;
}
.root-help-hint .mark{font-size:9.5px;}
.exercises-default-hint{margin:-6px 0 14px;}
/* Solo las flechas de regreso; la X conserva su tratamiento. */
.icon-control[id^="btn-back-"]{
  background:transparent; border:0; color:var(--text-dim); box-shadow:none;
}
/* Escarlata: excepción local para secundarios, sin cambiar tokens globales,
   destructivos, primarios ni selecciones activas. */
:root[data-accent="scarlet"] :is(
  .cta-secondary,.history-more-btn,.section-more-btn,.icon-btn,.rest-adjust-btn,
  .stats-secondary-nav,.icon-control,.data-action,.import-mini-btn,
  .fitpach-tutorial-btn,.fitpach-tutorial-skip,#btn-rename-split
):not(.cta-danger):not(.danger):not(.primary):not(.selected):not(.active):not([id^="btn-back-"]){
  background:var(--card); border-color:var(--accent); color:var(--accent);
}
/* Se conserva el tamaño/posición: interacción sin mover controles. */
button{transition:filter .12s ease,opacity .12s ease;}
button:enabled:active,[role="button"]:not([aria-disabled="true"]):active{
  filter:brightness(.90);
}
button:disabled,button[aria-disabled="true"]{
  opacity:.45; filter:saturate(.25); cursor:default;
}
button:focus-visible,[role="button"]:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px;
}
/* Colorea únicamente el lienzo que la PWA puede pintar bajo zonas del sistema.
   Chrome/Android conservan el control de las barras nativas fuera del viewport. */
@media (display-mode:standalone){
  :root{background:#000000;}
  :root[data-theme="light"]{background:#ffffff; color-scheme:only light;}
}
