/* CoachPanel · Sistema global de botones v1
   Regla: el color comunica importancia y nunca sacrifica contraste.
   Solo unifica COLOR/CONTRASTE; conserva medidas y layout de cada pantalla. */
:root{
  --cp-btn-primary-bg:#247A3B;
  --cp-btn-primary-bg-hover:#1E6933;
  --cp-btn-primary-fg:#FFFFFF;
  --cp-btn-primary-border:#1F6C35;

  --cp-btn-secondary-bg:#FFFFFF;
  --cp-btn-secondary-bg-hover:#F3F7F4;
  --cp-btn-secondary-fg:#17271D;
  --cp-btn-secondary-border:#B8C8BD;

  --cp-btn-info-bg:#175CD3;
  --cp-btn-info-bg-hover:#1849A9;
  --cp-btn-info-fg:#FFFFFF;
  --cp-btn-info-border:#1849A9;

  --cp-btn-warning-bg:#B54708;
  --cp-btn-warning-bg-hover:#93370D;
  --cp-btn-warning-fg:#FFFFFF;
  --cp-btn-warning-border:#93370D;

  --cp-btn-danger-bg:#B42318;
  --cp-btn-danger-bg-hover:#912018;
  --cp-btn-danger-fg:#FFFFFF;
  --cp-btn-danger-border:#912018;

  --cp-btn-disabled-bg:#F2F4F7;
  --cp-btn-disabled-fg:#475467;
  --cp-btn-disabled-border:#D0D5DD;
  --cp-btn-focus:0 0 0 3px rgba(23,92,211,.24);
}

/* Clases nuevas recomendadas para cualquier botón nuevo. */
:is(button,a,[role="button"]).cp-btn-primary,
button.primary,
button.save,
button.calendar-primary-button,
button.physical-primary,
button.cp-ej-save,
button.ej-btn-save,
button.cp-classification-save-v194,
button.cp-session-start,
button[data-cp-board-action="save"]{
  background:var(--cp-btn-primary-bg)!important;
  background-image:none!important;
  color:var(--cp-btn-primary-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-primary-fg)!important;
  border-color:var(--cp-btn-primary-border)!important;
  text-shadow:none!important;
}
:is(button,a,[role="button"]).cp-btn-primary:hover,
button.primary:hover,
button.save:hover,
button.calendar-primary-button:hover,
button.physical-primary:hover,
button.cp-ej-save:hover,
button.ej-btn-save:hover,
button.cp-classification-save-v194:hover,
button.cp-session-start:hover,
button[data-cp-board-action="save"]:hover{
  background:var(--cp-btn-primary-bg-hover)!important;
  color:var(--cp-btn-primary-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-primary-fg)!important;
}

:is(button,a,[role="button"]).cp-btn-secondary,
button.secondary,
button.back,
button.training-back,
button.cp-independent-back,
button.calendar-glass-button,
button.ej-btn-cancel,
button.cp-classification-cancel-v194,
button.cp-session-task-open-v30,
button.calendar-detail-close,
button.cp-edit-classification-v194,
button.cp-session-edit-design,
button.cp-session-attendance{
  background:var(--cp-btn-secondary-bg)!important;
  background-image:none!important;
  color:var(--cp-btn-secondary-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-secondary-fg)!important;
  border-color:var(--cp-btn-secondary-border)!important;
  text-shadow:none!important;
}
:is(button,a,[role="button"]).cp-btn-secondary:hover,
button.secondary:hover,
button.back:hover,
button.training-back:hover,
button.cp-independent-back:hover,
button.calendar-glass-button:hover,
button.ej-btn-cancel:hover,
button.cp-classification-cancel-v194:hover,
button.cp-session-task-open-v30:hover,
button.calendar-detail-close:hover,
button.cp-edit-classification-v194:hover,
button.cp-session-edit-design:hover,
button.cp-session-attendance:hover{
  background:var(--cp-btn-secondary-bg-hover)!important;
  color:var(--cp-btn-secondary-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-secondary-fg)!important;
}

:is(button,a,[role="button"]).cp-btn-info,
button.info,
button.print,
button.cp-session-action,
button.session-action-print,
button[data-calendar-action="export"],
button[data-planning-action="print-planning"],
button[data-session-action="print-session"]{
  background:var(--cp-btn-info-bg)!important;
  background-image:none!important;
  color:var(--cp-btn-info-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-info-fg)!important;
  border-color:var(--cp-btn-info-border)!important;
  text-shadow:none!important;
}
:is(button,a,[role="button"]).cp-btn-info:hover,
button.info:hover,
button.print:hover,
button.cp-session-action:hover,
button.session-action-print:hover,
button[data-calendar-action="export"]:hover,
button[data-planning-action="print-planning"]:hover,
button[data-session-action="print-session"]:hover{
  background:var(--cp-btn-info-bg-hover)!important;
  color:var(--cp-btn-info-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-info-fg)!important;
}

:is(button,a,[role="button"]).cp-btn-warning,
button.warning{
  background:var(--cp-btn-warning-bg)!important;
  background-image:none!important;
  color:var(--cp-btn-warning-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-warning-fg)!important;
  border-color:var(--cp-btn-warning-border)!important;
  text-shadow:none!important;
}
:is(button,a,[role="button"]).cp-btn-warning:hover,
button.warning:hover{
  background:var(--cp-btn-warning-bg-hover)!important;
  color:var(--cp-btn-warning-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-warning-fg)!important;
}

:is(button,a,[role="button"]).cp-btn-danger,
button.danger,
button.calendar-danger-button,
button.cp-danger-button,
button.cp-session-task-delete-v30,
button.cp-session-delete-inline,
button.cp-session-delete-session,
button.cp-library-delete,
button.manual-period-remove,
button.live-timeline-delete,
button.match-card-delete,
button[data-cp-footer-action="delete"],
button[data-session-action="delete-session"],
button[data-session-action="delete-exercise"],
button[data-physical-action="delete-evaluation"]{
  background:var(--cp-btn-danger-bg)!important;
  background-image:none!important;
  color:var(--cp-btn-danger-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-danger-fg)!important;
  border-color:var(--cp-btn-danger-border)!important;
  text-shadow:none!important;
}

#entrenamientos .cp-session-main-actions button.cp-session-attendance,
#entrenamientos .cp-session-main-actions button.cp-session-start,
#entrenamientos .cp-session-main-actions button.cp-session-edit-design,
#entrenamientos .cp-session-main-actions button.cp-session-action{
  background:var(--cp-btn-primary-bg)!important;
  background-image:none!important;
  color:var(--cp-btn-primary-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-primary-fg)!important;
  border-color:var(--cp-btn-primary-border)!important;
  box-shadow:0 8px 18px rgba(36,122,59,.2)!important;
}
#entrenamientos .cp-session-main-actions button.cp-session-attendance:hover,
#entrenamientos .cp-session-main-actions button.cp-session-start:hover,
#entrenamientos .cp-session-main-actions button.cp-session-edit-design:hover,
#entrenamientos .cp-session-main-actions button.cp-session-action:hover{
  background:var(--cp-btn-primary-bg-hover)!important;
  color:var(--cp-btn-primary-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-primary-fg)!important;
}
:is(button,a,[role="button"]).cp-btn-danger:hover,
button.danger:hover,
button.calendar-danger-button:hover,
button.cp-danger-button:hover,
button.cp-session-task-delete-v30:hover,
button.cp-session-delete-inline:hover,
button.cp-session-delete-session:hover,
button.cp-library-delete:hover,
button.manual-period-remove:hover,
button.live-timeline-delete:hover,
button.match-card-delete:hover,
button[data-cp-footer-action="delete"]:hover,
button[data-session-action="delete-session"]:hover,
button[data-session-action="delete-exercise"]:hover,
button[data-physical-action="delete-evaluation"]:hover{
  background:var(--cp-btn-danger-bg-hover)!important;
  color:var(--cp-btn-danger-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-danger-fg)!important;
}

/* El texto interno SIEMPRE hereda el color del botón. Evita letras invisibles. */
:is(.cp-btn-primary,.cp-btn-secondary,.cp-btn-info,.cp-btn-warning,.cp-btn-danger,
button.primary,button.secondary,button.danger,button.save,button.back,button.print,button.info,
button.calendar-primary-button,button.calendar-danger-button,button.calendar-glass-button,
button.physical-primary,button.cp-ej-save,button.ej-btn-save,button.ej-btn-cancel,
button.cp-classification-save-v194,button.cp-classification-cancel-v194,
button.cp-session-start,button.cp-session-attendance,button.cp-session-action,
button.cp-session-task-open-v30,button.cp-session-task-delete-v30,
button.cp-session-delete-inline,button.cp-session-delete-session,button.cp-library-delete,
button.cp-danger-button,button.cp-edit-classification-v194,button.cp-session-edit-design) :is(span,strong,small,b,em,i){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  text-shadow:none!important;
}

/* Foco de teclado visible y consistente. */
:is(button,a,[role="button"]):is(.cp-btn-primary,.cp-btn-secondary,.cp-btn-info,.cp-btn-warning,.cp-btn-danger,
.primary,.secondary,.danger,.save,.back,.print,.info):focus-visible{
  outline:2px solid #FFFFFF!important;
  outline-offset:2px!important;
  box-shadow:var(--cp-btn-focus)!important;
}

/* Estado deshabilitado: siempre legible. */
button:disabled,
button[aria-disabled="true"],
:is(button,a,[role="button"]).cp-btn-disabled{
  background:var(--cp-btn-disabled-bg)!important;
  background-image:none!important;
  color:var(--cp-btn-disabled-fg)!important;
  -webkit-text-fill-color:var(--cp-btn-disabled-fg)!important;
  border-color:var(--cp-btn-disabled-border)!important;
  opacity:1!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
button:disabled :is(span,strong,small,b,em,i),
button[aria-disabled="true"] :is(span,strong,small,b,em,i){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
