/* Dedicated scope: no shell, other exercise or stimulus animation rules */
.additional-training-dialog {
  box-sizing: border-box; width: min(820px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px); overflow: auto; margin: auto;
  padding: clamp(16px, 3vw, 28px); border: 1px solid var(--line, #68727c);
  border-radius: 12px; background: var(--surface, #fff); color: var(--ink, #18232c);
  font: inherit; line-height: 1.5;
}
.additional-training-dialog::backdrop { background: #0009; }
.additional-training-dialog * { box-sizing: border-box; animation: none !important; transition: none !important; }
.additional-training-dialog [hidden] { display: none !important; }
.additional-training-dialog h2 { margin: 0; font-size: 1.35rem; }
.additional-training-dialog h3 { margin: 16px 0 8px; font-size: 1.05rem; }
.additional-training-dialog p { white-space: pre-line; margin: 12px 0; overflow-wrap: anywhere; }
.additional-training-dialog .day-plan-top,
.additional-training-dialog .day-plan-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.additional-training-dialog .day-plan-top { justify-content: space-between; }
.additional-training-dialog progress { display: block; width: 100%; margin: 10px 0; }
.additional-training-dialog button {
  min-height: 44px; padding: 8px 12px; border: 1px solid var(--line, #68727c);
  border-radius: 7px; font: inherit; background: var(--surface, #fff); color: inherit; cursor: pointer;
}
.additional-training-dialog button:disabled { opacity: .5; cursor: default; }
.additional-training-dialog button[aria-pressed="true"] { border-width: 2px; font-weight: 650; }
.additional-training-dialog :focus-visible { outline: 3px solid var(--accent, #22649d); outline-offset: 2px; }
.additional-training-dialog .day-plan-clues { padding-left: 24px; }
.additional-training-dialog .day-plan-clues li { padding: 3px 0; overflow-wrap: anywhere; }
.additional-training-dialog .day-plan-order { list-style: none; padding: 0; margin: 12px 0; }
.additional-training-dialog .day-plan-order li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; padding: 5px 0; }
.additional-training-dialog .day-plan-order button[data-action="select"] { text-align: left; overflow-wrap: anywhere; }
.additional-training-dialog label { display: flex; align-items: center; gap: 8px; margin: 14px 0; }
.additional-training-dialog input[type="checkbox"] { width: 20px; height: 20px; flex-shrink: 0; }
.additional-training-dialog .day-plan-note { font-size: .92rem; }
@media (max-width: 480px) {
  .additional-training-dialog .day-plan-order li { grid-template-columns: 1fr 1fr; }
  .additional-training-dialog .day-plan-order button[data-action="select"] { grid-column: 1 / -1; }
}
