/* Shared club theme. Load after module styles so modules cannot choose a brand
   color of their own. !important is limited to legacy rules that already use it.
   Brand: --primary and derived --club-* tones (applyClubTheme in app.js).
   Status: success / warning / danger, identical in every club. */
:root{
  --club-text:#326da5;
  --club-soft:#f1f6fc;
  --club-subtle:#fafcfe;
  --club-border:#c5d6e6;
  --club-control-border:#5394d4;
  --club-accent-light:#64a0d8;
  --club-soft-end:#f9fbfd;
  --club-selected:#d8e8f7;
  --club-selected-gradient:linear-gradient(120deg,var(--club-selected) 0%,#fff 100%);
  --attendance-selected-gradient:var(--club-selected-gradient);
  --club-soft-gradient:linear-gradient(120deg,var(--club-soft) 0%,#fff 100%);
  --club-subtle-gradient:linear-gradient(110deg,var(--club-subtle),#fff);
  --success:#16734b;
  --warning:#895b09;
  --danger:#b42336;
  --violet:var(--club-text);
  --status-success-bg:#edf8f1;
  --status-success-border:#b8dfc8;
  --status-warning-bg:#fff8e8;
  --status-warning-border:#ead49c;
  --status-danger-bg:#fff1f3;
  --status-danger-border:#efc2ca;
}

/* Shell, headings and navigation: one accent for every module. */
a,.eyebrow,.calendar-agenda-arrow,.staff-stat-arrow{color:var(--club-text)}
.brand-mark{background:#fff;color:var(--club-text);box-shadow:none}
.profile-chip span{background:var(--surface-muted,#f3f4f6);color:var(--muted)}
.staff-welcome-icon,.dashboard-welcome .dash-icon{background:var(--club-subtle-gradient);color:var(--club-text)}
.user-box b{background:var(--surface-muted,#f3f4f6);color:var(--ink)}
.role-picker-menu button:hover,.role-picker-menu button.is-selected{background:var(--club-soft-gradient);color:var(--club-text)}
.test-role-switcher{border-color:var(--club-border);background:var(--club-subtle-gradient);box-shadow:none}
.test-role-switcher strong{color:var(--ink)}
.test-role-switcher small{color:var(--muted)}
#app-screen .page-hero .hero-icon,.dash-icon,.staff-stat-icon{
  background:var(--club-soft-gradient);color:var(--club-text);box-shadow:none;
}
.avatar,.staff-birthday-avatar{background:var(--surface-muted,#f3f4f6);color:var(--muted);box-shadow:none}
.page-hero:after{display:none}
.page-hero,.dashboard-welcome{border-color:var(--line);background:#fff;box-shadow:none}
#desktop-nav .nav-btn[data-nav]:hover,#bottom-nav .nav-btn[data-nav]:hover{background:var(--club-subtle-gradient);color:var(--club-text)}
#desktop-nav .nav-btn[data-nav].active,#bottom-nav .nav-btn[data-nav].active{
  border-color:var(--club-border);background:var(--club-soft-gradient);color:var(--club-text);box-shadow:inset 2px 0 var(--club-control-border);
}
/* A clearer fade identifies the selected desktop destination. */
#desktop-nav .nav-btn[data-nav].active{
  background:linear-gradient(105deg,color-mix(in srgb,var(--club-control-border) 26%,#fff) 0%,var(--club-soft) 46%,#fff 100%);
}
#bottom-nav .nav-btn[data-nav].active{border-top-color:var(--club-control-border);box-shadow:none}
#desktop-nav .nav-btn.active .nav-icon,#bottom-nav .nav-btn.active .nav-icon{color:var(--club-text)}
#desktop-nav .nav-btn .nav-icon svg,#bottom-nav .nav-btn .nav-icon svg,
#desktop-nav .nav-btn.active .nav-icon svg,#bottom-nav .nav-btn.active .nav-icon svg{color:inherit!important;stroke:currentColor!important}
.mobile-header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}

/* Navigation, choices and opening a form use an outline. Solid color is
   reserved for the submit / confirmation action, not every primary-class button. */
.button.primary,.button.primary:hover,.compact-choice-chip.active,.compact-choice-chip[aria-pressed="true"],
.p19-choice.active,.p17-advice-phase.active,.member-choice-chip.is-selected span,.member-choice-chip-button.is-selected span{
  border-color:var(--club-text);background:#fff;color:var(--club-text);box-shadow:none;
}
.filter-chip.active,.filter-chip.active span{
  border-color:var(--club-text)!important;background:#fff!important;color:var(--club-text)!important;box-shadow:none;
}
.settings-tab.active,.p19-settings-nav .settings-tab.active,.detail-tab.active,.p17-advice-category.active,
.settings-preview-item.active,.tournament-editor-category-chip input:checked+span,
.tournament-editor-style-chip input:checked+span,.tournament-editor-person-chip input:checked+span,
.training-choice-grid input:checked+span,.td-mood-fields input:checked+span,.td-moods button.selected{
  border-color:var(--club-text);background:#fff;color:var(--club-text);box-shadow:none;
}
.button.primary[type="submit"],.button.primary[data-ui-confirm],
.button.primary[data-save-attendance],.button.primary[data-save-tournament-draft]{
  border-color:var(--club-control-border);background:var(--primary);color:var(--primary-contrast);box-shadow:none;
}
.button.soft,.badge.blue,.pill.blue,.badge.violet,.pill.violet{
  border-color:var(--club-border)!important;background:var(--club-soft-gradient)!important;color:var(--club-text)!important;box-shadow:none!important;
}
.button.soft{background:#fff!important}
.role-button.role-admin{background:#fff!important;color:var(--club-text)!important}
.role-button.role-super_admin{background:#fff!important;color:var(--ink)!important}
.input:focus,.select:focus,.textarea:focus{border-color:var(--club-text);box-shadow:0 0 0 3px var(--club-soft)}
button:focus-visible,a:focus-visible,.member-choice-chip input:focus-visible+span{
  outline:2px solid var(--club-text);outline-offset:3px;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--primary-dark)}
.member-choice-chip:hover span,.p19-choice:hover,.filter-chip:hover{border-color:var(--club-border);background:var(--club-subtle-gradient);color:var(--club-text)}
.member-choice-chip.is-selected:hover span{background:#fff;color:var(--club-text)}
.data-table thead th{background:var(--club-subtle-gradient);color:var(--muted)}
.data-table tr.row-selected{background:var(--club-soft-gradient)}
.p19-save-bar,.training-config-intro,.training-editor-summary,.staff-detail-response,.nl-next-note{
  border-color:var(--club-border);background:var(--club-subtle-gradient);box-shadow:none;
}
.p19-logo-preview{background:var(--club-subtle-gradient);color:var(--club-text);border-color:var(--club-border)}
.tournament-editor-import,.tournament-document-primary{background:var(--club-subtle-gradient);border-color:var(--club-border)}
.td-member-avatar{background:var(--club-soft-gradient);color:var(--club-text)}
#view-members .member-points{background:var(--club-soft-gradient);color:var(--club-text);border-color:var(--club-border);box-shadow:none}

/* Events and categories are identified by text and icons, not by module or sex. */
#view-tournaments .event-card,.event-card.tournament,.event-card.training,.event-card.action,.event-card.camp,.tournament-card{
  border-top:1px solid var(--line);background:#fff;
}
.event-card.tournament,.event-card.training,.event-card.action,.event-card.camp{border-left-color:var(--club-border)}
.tournament-category-chip,.tournament-category-chip--female,.tournament-category-chip--other,
.tournament-category-code,.tournament-style-chip,.tournament-weight-chip,.tournament-tolerance-chip,.staff-category-list span{
  border-color:var(--club-border);background:var(--club-subtle-gradient);color:var(--club-text);
}
.tournament-category-chip em,.tournament-category-chip--female em,.tournament-category-chip--other em{color:inherit}
.tournament-category-list,.tournament-category-overview{background:#fafbfc;border-color:var(--line)}
.staff-tournament-date{background:var(--club-soft-gradient);color:var(--club-text)}
.staff-event-card{background:#fff}
.staff-stat:hover:not(:disabled){background:var(--club-subtle-gradient);border-color:var(--club-border)}
.member-card:nth-child(n){border-top-color:var(--line)}

/* Calendar: every event type follows the same palette, in agenda and month. */
#view-calendar .calendar-program-item.training,#view-calendar .calendar-program-item.tournament,
#view-calendar .calendar-program-item.action,#view-calendar .calendar-program-item.camp{
  border-left-color:var(--club-control-border);background:#fff;
}
.calendar-event,.calendar-event.tournament,.calendar-event.action,.calendar-event.training,.calendar-event.camp,
.calendar-agenda-icon.training,.calendar-agenda-icon.tournament,.calendar-agenda-icon.action,.calendar-agenda-icon.camp{
  border-color:var(--club-border)!important;background:var(--club-subtle-gradient)!important;color:var(--club-text)!important;
}
#view-calendar .calendar-event{box-shadow:inset 3px 0 var(--club-control-border)}
#view-calendar .calendar-program-day.is-today{border-color:var(--club-border);box-shadow:var(--shadow)}
#view-calendar .calendar-program-day.is-today .calendar-program-day-head{background:var(--club-subtle-gradient)}
.calendar-day.selected-day{border-color:var(--club-text);background:var(--club-soft-gradient);box-shadow:inset 0 0 0 1px var(--club-text)}
.calendar-agenda-item.is-clickable:hover{border-color:var(--club-border);background:var(--club-subtle-gradient);box-shadow:none}
.calendar-program-stats .stat-card small{color:var(--muted)}
#view-calendar .calendar-event.member-calendar-own-event,#view-calendar .calendar-agenda-item.member-calendar-own-event,
#view-calendar .calendar-agenda-item.parent-calendar-own-event,#view-calendar .calendar-agenda-item.parent-calendar-other-event{
  border-color:var(--club-border);background:var(--club-subtle-gradient);color:var(--club-text);
}

/* Training and diary: neutral tables with a single accent, no rainbow rows. */
/* Phase dividers describe structure, so they use the club accent, not warning amber. */
.training-detail-phase{border-left-color:var(--club-control-border)}
.training-structure{border-color:var(--club-border);background:var(--club-subtle-gradient)}
.training-phase{border-color:var(--line);border-left-color:var(--club-border)}
.training-phase>header span,.training-phase header>b{color:var(--club-text)}
.training-phase header>b{background:var(--club-soft-gradient)}
.training-block-elements{border-color:var(--club-border);background:var(--club-subtle-gradient)}
.training-block-elements-head{color:var(--club-text)}
.training-week-day.is-enabled,.training-week-day.is-selected{border-color:var(--club-text);background:var(--club-subtle-gradient);color:var(--club-text);box-shadow:none}
.training-week-day.is-enabled .training-day-status,.training-week-day.is-enabled .training-day-status em{background:var(--club-soft-gradient);color:var(--club-text)}
.training-week-panel .week-day.has-activity,.training-week-panel .week-day.active{
  border-color:var(--club-text)!important;background:var(--club-soft-gradient)!important;
}
.td-day footer b,.td-day footer span{border-color:var(--club-border);background:var(--club-soft-gradient);color:var(--club-text)}
.td-week-summary{background:#fff}
.td-week-summary .table-wrap{border-color:var(--line);box-shadow:none}
.td-week-summary .td-summary-table thead,.td-week-summary .td-summary-table thead th,
.td-week-summary .td-summary-table tbody th{background:#f8fafb;color:var(--muted)}
.td-week-summary .td-summary-table tbody tr:nth-child(n) th::before{background:var(--club-soft-gradient);color:var(--club-text)}
.td-week-summary .td-summary-table tbody tr:nth-child(6) th::before{content:'↺'}
.td-week-summary .td-summary-table tbody tr:nth-child(n) td{color:var(--muted)}
.td-week-summary .td-summary-table tbody tr:nth-child(n) td:last-child{
  background:var(--club-soft-gradient)!important;color:var(--club-text);font-weight:800;
}
.td-week-summary .td-summary-table tbody tr:hover td{background:var(--club-subtle-gradient)!important}
.td-week-summary .td-summary-table thead button:hover{border-color:var(--club-border);color:var(--club-text)}
#view-training_diary .td-question-filters .chip{background:#f8fafb;color:var(--muted);border-color:var(--line)}
#view-training_diary .td-question-filters .chip.selected,#view-training_diary .td-question-filters .chip.active,
#view-training_diary .td-filter-group label:has(input:checked){border-color:var(--club-text);background:var(--club-soft-gradient);color:var(--club-text);box-shadow:none}
#view-training_diary .td-assistant,#view-training_diary .td-smart-plan{border-top-color:var(--club-border);background:#fff}
.p17-advice-card{border-color:var(--line);background:#fff}
.nl-stepbar b{background:var(--club-soft-gradient);color:var(--club-text)}
.nl-status-generated,.nl-status-review{background:var(--club-soft-gradient);color:var(--club-text)}

/* Semantic feedback keeps its meaning regardless of the selected club color.
   Use compact badges/buttons, rather than coloring entire event cards. */
.badge.green,.pill.green,.button.success,#view-tournaments .tournament-card-statuses .badge.green{
  border-color:var(--status-success-border)!important;background:var(--status-success-bg)!important;color:var(--success)!important;box-shadow:none!important;
}
.badge.amber,.pill.amber,#view-tournaments .tournament-card-statuses .badge.amber{
  border-color:var(--status-warning-border)!important;background:var(--status-warning-bg)!important;color:var(--warning)!important;box-shadow:none!important;
}
.badge.red,.pill.red,.button.danger,#view-tournaments .tournament-card-statuses .badge.red{
  border-color:var(--status-danger-border)!important;background:var(--status-danger-bg)!important;color:var(--danger)!important;box-shadow:none!important;
}
.button.success,.button.danger{background:#fff!important}
.notice.warning{border-color:var(--status-warning-border);background:var(--status-warning-bg)}
.notice.danger{border-color:var(--status-danger-border);background:var(--status-danger-bg)}
.notice.success{border-color:var(--status-success-border);background:var(--status-success-bg)}
.staff-response--green,.staff-response--red,.staff-response--blue{background:#fff}
.staff-response--blue{border-color:var(--club-border);color:var(--club-text)}
.staff-response--green.is-selected{background:#16873e;color:#fff;border-color:#16873e}
.staff-response--red.is-selected{background:#c53945;color:#fff;border-color:#c53945}
.staff-response--blue.is-selected{background:#2377bb;color:#fff;border-color:#2377bb}
.staff-response.is-selected{box-shadow:none;font-weight:900}

/* Quieter hierarchy: a single frame per section, compact actions, and tab
   underlines instead of nested colored cards. All data and controls stay visible. */
.view-section{width:100%;max-width:96rem;margin-inline:auto}
.panel,.staff-panel,.stat-card,.member-card,.event-card,.filter-bar{box-shadow:none}
.staff-dashboard{gap:1.1rem}
.staff-dashboard>.role-summary{grid-column:1/-1;width:100%;min-width:0;margin-bottom:0}
.staff-dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem .15rem}
.staff-dashboard-header h2{margin:0;font-size:1.45rem;line-height:1.3;letter-spacing:-.025em}
.staff-dashboard-header p{margin:.3rem 0 0;color:var(--muted);font-size:.85rem}
.staff-dashboard-header time{color:var(--muted);font-size:.85rem;text-align:right}
.staff-dashboard-main,.staff-dashboard-aside{display:grid;gap:1.1rem;min-width:0;align-content:start}
.staff-panel{border-radius:.8rem;padding:1.15rem}
.staff-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.staff-section-heading h3,.staff-panel>h3{margin:0;font-size:1.1rem;line-height:1.4;color:var(--ink)}
.staff-panel-subtitle{font-size:.84rem;line-height:1.5}
.staff-section-heading .staff-panel-subtitle{margin-bottom:0}
.staff-create-training{width:auto;margin:0;flex:none;justify-content:center}
.staff-event-list{gap:0;margin-top:.65rem}
.staff-event-card{border:0;border-radius:0;padding:1.05rem 0;background:transparent;gap:1.15rem}
.staff-event-card:last-child{padding-bottom:.2rem}
.staff-event-card+.staff-event-card{border-top:1px solid var(--line)}
.staff-event-info{gap:.35rem}
.staff-event-info>strong,.staff-tournament-date{font-size:.82rem;color:var(--muted);font-weight:650}
.staff-event-title{font-size:1.1rem;line-height:1.45}
.staff-event-info>small,.staff-event-info .staff-event-note{font-size:.83rem;line-height:1.5}
.staff-tournament-date{padding:0;background:transparent}
.staff-category-list{gap:0 .65rem}
.staff-category-list span{border:0;border-radius:0;padding:.1rem 0;background:none;color:var(--muted);font-size:.78rem}
.staff-response-message{font-size:.76rem}
.staff-stats{gap:0;border:1px solid var(--line);border-radius:.8rem;background:#fff;overflow:hidden}
.staff-stat{border:0;border-radius:0;box-shadow:none;border-inline-end:1px solid var(--line);padding:.85rem;gap:.6rem}
.staff-stat-icon{width:1.7rem;height:1.7rem;background:transparent}
.staff-stat-icon .app-icon{width:1.3rem;height:1.3rem}
.staff-stat:last-child{border-inline-end:0}
.staff-stat-content{gap:.15rem}
.staff-stat-content strong{font-size:.78rem;font-weight:650}
.staff-stat-content b{font-size:1.35rem;letter-spacing:-.025em}
.staff-stat-content small{font-size:.73rem}
.staff-birthday-row{padding:.7rem 0;border:0;border-radius:0}
.staff-birthday-row+.staff-birthday-row{border-top:1px solid var(--line)}
.staff-birthday-row strong{font-size:.85rem}
.staff-birthday-row small{font-size:.78rem;line-height:1.4}
.staff-birthday-countdown{border:0;background:none;padding:0;font-size:.75rem}
.staff-alert{border:0;border-radius:0;padding:.8rem 0;border-left:3px solid var(--line);padding-left:.75rem;flex-wrap:wrap}
.staff-alert strong{font-size:.87rem;line-height:1.4}
.staff-alert small{font-size:.8rem;line-height:1.5}
.staff-alert .button{margin-left:auto;min-height:2.5rem}
.staff-alert--danger{border-left-color:var(--danger)}
.staff-alert--warning{border-left-color:var(--warning)}
.staff-alert--danger .staff-alert-icon{color:var(--danger)}
.staff-alert--warning .staff-alert-icon{color:var(--warning)}
.staff-all-done{margin:.2rem 0;color:var(--muted);font-size:.84rem;line-height:1.5}
.staff-text-link{padding:.4rem 0;border:0;background:none;color:var(--club-text);font-size:.78rem;line-height:1.4;text-align:right;min-height:2.75rem}
.staff-text-link:hover{text-decoration:underline}
.staff-messages-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:3rem;padding:.35rem 0;border:0;background:transparent;color:var(--ink);text-align:left;font-size:1rem;font-weight:800}
.staff-messages-summary .staff-message-count{display:grid;place-items:center;flex:none;min-width:2.75rem;min-height:2.75rem;padding:.3rem .6rem;border-radius:.65rem;background:var(--club-subtle-gradient);color:var(--club-text);font-size:1.4rem;font-weight:900}
.staff-messages-summary:hover span{text-decoration:underline}
/* Priority is independent of message type and club branding. */
#view-communication .communication-priority-card{background:#fff;border-left:3px solid var(--line);box-shadow:none}
#view-communication .communication-priority-card[data-communication-priority="urgentni"]{border-left-color:var(--danger)}
#view-communication .communication-priority-card[data-communication-priority="dulezita"]{border-left-color:var(--warning)}
#view-communication .communication-priority-card .notice-icon{color:var(--muted);background:#f8fafc}
#view-communication .communication-priority-card[data-communication-priority="urgentni"] .notice-icon{color:var(--danger);background:var(--status-danger-bg)}
#view-communication .communication-priority-card[data-communication-priority="dulezita"] .notice-icon{color:var(--warning);background:var(--status-warning-bg)}
.communication-active-priority{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;margin-top:1rem;font-size:.85rem;color:var(--muted)}
.member-editor-tabs{gap:1rem;background:#fff;backdrop-filter:none}
.member-editor-tab,.member-editor-tab:hover{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;padding:.75rem .4rem;color:var(--muted);font-size:.82rem;font-weight:650}
.member-editor-tab.is-active{border-bottom-color:var(--club-text);background:none;color:var(--club-text);box-shadow:none}
.member-editor-panel{background:#fff}
.member-editor-panel .member-form-section{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:#fff}
.member-editor-panel .member-form-section:last-child{border-bottom:0}
.member-editor-panel .member-choice-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.member-editor-panel .member-choice-chip,.member-editor-panel .member-choice-chip-button{width:auto;flex:0 1 auto}
.member-editor-panel .member-choice-chip span,.member-editor-panel .member-choice-chip-button span{width:auto;min-height:2.6rem;border-radius:.5rem;padding:.4rem .7rem;font-size:.82rem}
.member-editor-panel .member-choice-chip.is-selected span,.member-editor-panel .member-choice-chip-button.is-selected span{box-shadow:inset 0 -2px 0 var(--club-text);font-weight:850}
@media(min-width:1200px){
  .staff-dashboard{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}
  .staff-dashboard-header,.staff-stats{grid-column:1/-1}
}
@media(min-width:700px){
  .staff-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:699px){
  .staff-stat:nth-child(even){border-inline-end:0}
  .staff-stat:nth-child(n+3){border-top:1px solid var(--line)}
  .staff-stat-arrow{display:none}
}
@media(max-width:600px){
  .staff-dashboard-header{align-items:flex-start;flex-direction:column;gap:.4rem}
  .staff-dashboard-header h2{font-size:1.3rem}
  .staff-dashboard-header p{display:none}
  .staff-dashboard-header time{font-size:.82rem}
  .staff-panel{padding:1rem}
  .staff-section-heading{align-items:flex-start;gap:.6rem;flex-wrap:wrap}
  .staff-section-heading .staff-create-training{min-height:2.75rem;font-size:.8rem}
  .staff-event-card{grid-template-columns:minmax(0,1fr);gap:.65rem}
  .staff-event-title{font-size:1.075rem}
  .staff-event-info>strong,.staff-tournament-date{font-size:.82rem}
  .staff-event-info>small,.staff-event-info .staff-event-note{font-size:.83rem}
  .staff-response-block{width:14rem;max-width:100%;justify-self:start}
  .staff-response{font-size:.8rem;min-height:44px}
  .staff-stat-content strong{font-size:.75rem}
  .staff-birthday-row small{font-size:.78rem}
  .member-editor-tab{min-height:2.95rem}
  .member-editor-panel .member-choice-chip span,.member-editor-panel .member-choice-chip-button span{min-height:2.95rem}
}

/* Product administration expands inside Nabídka, alongside the buying controls. */
#view-clubwear .product-card>.clubwear-product-management{
  grid-column:1/-1;
  min-width:0;
  width:100%;
  border-top:1px solid var(--line);
  padding:.55rem .9rem .75rem;
  background:#fff;
  container-type:inline-size;
}
.clubwear-product-management>summary,.clubwear-audit>summary{cursor:pointer;color:var(--ink);font-weight:800;font-size:.8rem;min-height:2.75rem;align-content:center}
.clubwear-management-body{display:grid;gap:.8rem;padding-top:.5rem;min-width:0}
.clubwear-managed-variant{display:grid;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;min-width:0}
.clubwear-managed-variant strong,.clubwear-managed-variant small{display:block;overflow-wrap:anywhere}
.clubwear-managed-variant small{margin-top:.3rem;color:var(--muted)}
.clubwear-management-body .toolbar{flex-wrap:wrap;gap:.4rem;min-width:0;margin:0}
.clubwear-management-body .button{min-height:2.5rem;white-space:normal;overflow-wrap:normal}
.clubwear-management-body>.toolbar{padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.clubwear-managed-variants{display:grid;align-content:start;gap:.55rem;min-width:0;max-height:20rem;max-height:min(20rem,55dvh);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;padding:.15rem}
.clubwear-managed-variants:focus-visible{outline:2px solid var(--club-control-border);outline-offset:2px;border-radius:.5rem}
.clubwear-managed-variant strong{font-size:.85rem}
.clubwear-managed-variant small{font-size:.75rem;line-height:1.5}
.clubwear-product-management>summary{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .7rem;list-style:none}
.clubwear-product-management>summary::-webkit-details-marker{display:none}
.clubwear-product-management>summary::before{content:'›';color:var(--club-text);font-size:1.2rem;line-height:1;transition:transform .15s}
.clubwear-product-management[open]>summary::before{transform:rotate(90deg)}
.clubwear-product-management>summary strong{flex:1;font-size:.8rem}
.clubwear-product-management>summary small{padding:.25rem .5rem;border-radius:.5rem;background:var(--club-subtle-gradient);color:var(--muted);font-size:.7rem;font-weight:600}
.clubwear-product-management>summary:focus-visible{outline:2px solid var(--club-control-border);outline-offset:3px;border-radius:.35rem}
#view-clubwear .grid.grid-3:has(>[data-wear-card]){align-items:start}
@container(min-width:480px){.clubwear-managed-variant{grid-template-columns:minmax(0,1fr) auto;align-items:center}.clubwear-managed-variant>.toolbar{justify-content:flex-end}}
@media(max-width:760px){#view-clubwear .product-card>.clubwear-product-management{padding:.5rem .7rem .7rem}.clubwear-management-body .button{min-height:2.75rem}}

/* Attendance cards stay opaque; selection follows the current club palette. */
#view-attendance .attendance-row,
#view-attendance .availability-summary-row,
#view-attendance .attendance-availability-panel{
  border:1px solid var(--line);
  background:#fff;
  opacity:1;
  box-shadow:none;
}
#view-attendance .attendance-row:hover{background:var(--club-subtle-gradient)}
#view-attendance .attendance-row.present,
#view-attendance .availability-summary-row.is-current-user,
#view-attendance .availability-summary-row[data-trainer-status="ano"]{
  border:1px solid var(--line);
  background:linear-gradient(105deg,var(--club-border) 0%,var(--club-soft) 18%,#fff 72%);
}
/* Selected attendance: proposal 1, a single outline and a soft club gradient. */
#view-attendance .attendance-row.present{
  border:1px solid var(--club-control-border);
  background:var(--attendance-selected-gradient);
  box-shadow:none;
}
#view-attendance .availability-summary-row[data-trainer-status="ano"]{
  border-color:var(--club-control-border);
  background:linear-gradient(115deg,var(--club-border),var(--club-soft));
  background:linear-gradient(115deg,color-mix(in srgb,var(--primary) 30%,white),color-mix(in srgb,var(--primary) 14%,white));
  box-shadow:inset 0 0 0 1px var(--club-control-border),0 3px 10px rgb(23 32 51 / 6%);
}
#view-attendance .attendance-row.present::after{
  content:none;
  display:none;
}
#view-attendance .attendance-row strong,
#view-attendance .availability-summary-row .row-main strong{color:var(--ink)}
#view-attendance .attendance-row:focus-visible{
  outline:3px solid var(--club-control-border);
  outline-offset:3px;
}

/* Sidebar labels and icons use neutral ink, including hover and selection. */
#desktop-nav .nav-btn[data-nav],
#desktop-nav .nav-btn[data-nav]:is(.active,:hover){color:var(--ink);font-weight:500}
#desktop-nav .nav-btn[data-nav].active{font-weight:600}
#desktop-nav .nav-btn[data-nav] .nav-icon{color:inherit}

/* Club kit management: compact stock cards and a photo-first editor. */
.clubwear-management-body .wear-stock-card{display:block;padding:.8rem;border-radius:1rem;border:1px solid var(--line);background:#fff;box-shadow:0 2px 5px rgb(23 32 51 / 2%)}
.clubwear-management-body .wear-stock-card.is-low-stock{border-color:var(--status-warning-border)}
.wear-stock-head{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;align-items:center;gap:.7rem}
.wear-stock-photo{display:grid;place-items:center;width:3.4rem;height:3.8rem;border:1px solid #e7edf5;border-radius:.8rem;background:#fafcfe;overflow:hidden;color:var(--club-text)}
.wear-stock-photo img{width:100%;height:100%;object-fit:contain;display:block}
.wear-stock-photo svg{width:1.6rem;height:1.6rem}
.wear-stock-copy{min-width:0}
.wear-stock-copy>strong{margin:.25rem 0;font-size:.87rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.wear-stock-copy>small{font-size:.7rem;line-height:1.45;margin:0;color:var(--muted)}
.wear-stock-badges{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}
.wear-stock-label,.wear-stock-alert{display:inline-flex;padding:.18rem .45rem;border-radius:999px;font-size:.58rem;line-height:1.4;font-weight:750;background:var(--club-subtle-gradient);color:var(--muted)}
.wear-stock-alert{color:var(--warning);background:var(--status-warning-bg)}
.wear-stock-count{text-align:right;min-width:2.5rem;font-variant-numeric:tabular-nums}
.wear-stock-count>span{color:var(--muted);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.wear-stock-count>strong{font-size:1.55rem;line-height:1.2;color:var(--ink)}
.wear-stock-count>small{font-size:.6rem;margin:0;color:var(--muted)}
.is-low-stock .wear-stock-count>strong{color:var(--warning)}
.clubwear-management-body .wear-stock-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.8rem}
.wear-stock-card .wear-stock-actions .button{min-height:2.5rem;padding:.5rem .55rem;border-radius:.6rem;border-color:transparent;font-size:.69rem;font-weight:800;box-shadow:none}
.wear-stock-card .wear-stock-actions .wear-stock-in{background:#ecfbf4;color:#16734b}
.wear-stock-card .wear-stock-actions .wear-stock-out{background:#fff7ed;color:#a34d12}
.wear-stock-card .wear-stock-actions .button.secondary{background:var(--club-subtle-gradient);color:var(--club-text)}
.wear-stock-card .wear-stock-actions .wear-stock-hide{background:#f8fafc;color:var(--muted)}
.wear-stock-actions .button:only-child{grid-column:1/-1;justify-self:end;min-width:6rem}
@container(min-width:480px){.clubwear-management-body .wear-stock-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto}}

.modal:has([data-wear-editor]){width:min(100%,44rem);border-radius:1.4rem}
.modal:has([data-wear-editor]) .modal-head{padding:1.2rem 1.5rem;border-bottom:1px solid var(--line)}
.modal:has([data-wear-editor]) .modal-head h2{font-size:1.1rem;letter-spacing:-.025em}
.modal:has([data-wear-editor]) .modal-body{padding:1.4rem 1.5rem;background:#fff}
[data-wear-editor]{display:grid;gap:1.3rem;min-width:0}
.wear-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .9rem}
.wear-editor-grid>.full{grid-column:1/-1}
[data-wear-editor] .form-field{min-width:0;margin:0}
[data-wear-editor] :is(.form-field>label,.wear-editor-label,.wear-editor-stock>span){display:block;margin-bottom:.4rem;color:var(--muted);font-size:.69rem;line-height:1.4;letter-spacing:.055em;font-weight:750;text-transform:uppercase}
[data-wear-editor] :is(.input,.select){width:100%;min-width:0;min-height:3.2rem;padding:.85rem 1rem;border:1px solid #dce5ef;border-radius:.95rem;background:#f8fafc;color:var(--ink);font-size:.9rem;box-shadow:none}
[data-wear-editor] textarea.input{min-height:6rem;resize:vertical;line-height:1.5}
[data-wear-editor] :is(.input,.select):focus{outline:0;border-color:var(--club-control-border);background:#fff;box-shadow:0 0 0 3px var(--club-soft)}
[data-wear-editor] .input::placeholder{color:#8e9db0;opacity:1}
.wear-photo-row{display:flex;align-items:center;gap:1rem;min-width:0}
.wear-photo-preview{flex:none;display:grid;place-items:center;width:6.2rem;height:6.8rem;border:1px solid var(--line);border-radius:1rem;background:#f8fafc;color:var(--club-text);overflow:hidden}
.wear-photo-preview img{display:block;width:100%;height:100%;object-fit:contain}
.wear-photo-preview svg{width:2rem;height:2rem}
.wear-photo-controls{min-width:0}
.wear-photo-controls .toolbar{flex-wrap:wrap;gap:.4rem;margin:0}
.wear-photo-controls .button{min-height:2.5rem;padding:.55rem .8rem;font-size:.75rem;border-radius:.75rem}
.wear-photo-controls>small{display:block;margin-top:.35rem;font-size:.66rem;color:var(--muted);line-height:1.5}
.wear-photo-remove{display:block;padding:.5rem 0 .25rem;border:0;background:none;color:var(--danger);font-size:.68rem;font-weight:750}
.wear-photo-url{margin-top:.7rem}
.wear-photo-url>summary{cursor:pointer;color:var(--muted);font-size:.72rem;padding:.3rem 0}
.wear-photo-url>label{display:block;color:var(--muted);font-size:.7rem;margin:.5rem 0 .35rem}
.wear-photo-status{display:block;color:var(--club-text);font-size:.72rem;line-height:1.5;margin-top:.5rem}
.wear-photo-status:empty{display:none}
.wear-editor-context{padding:.8rem 1rem;border:1px solid var(--club-border);border-radius:.9rem;background:var(--club-subtle-gradient)}
.wear-editor-context>span{display:block;margin-bottom:.15rem;color:var(--muted);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase}
.wear-editor-context>strong{display:block;font-size:.95rem;color:var(--ink)}
.wear-editor-stock{padding:.8rem 1rem;border:1px solid #e5ebf3;border-radius:.95rem;background:#f8fafc}
.wear-editor-stock>span{margin:0 0 .25rem}
.wear-editor-stock>strong{display:block;font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.wear-editor-stock>strong small{font-size:.8rem}
.wear-editor-stock>small{display:block;font-size:.65rem;color:var(--muted);line-height:1.5;margin-top:.2rem}
.wear-editor-active{display:flex;align-items:flex-start;gap:.7rem;padding:.9rem 1rem;background:#f8fafc;border:1px solid var(--line);border-radius:.95rem;cursor:pointer}
.wear-editor-active input{margin:.15rem 0 0;accent-color:var(--primary);width:1.1rem;height:1.1rem;flex:none}
.wear-editor-active strong{display:block;font-size:.8rem;font-weight:700}
.wear-editor-active small{display:block;color:var(--muted);font-size:.7rem;margin-top:.2rem;line-height:1.5}
[data-wear-editor] .wear-editor-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.6rem;padding:.85rem 0 0;margin:0;background:#fff;box-shadow:0 -10px 15px #ffffffec;border-top:1px solid var(--line)}
.wear-editor-actions .button{min-height:3rem;padding:.8rem 1rem;border-radius:.85rem;font-size:.8rem}
.wear-editor-error{margin:0;padding:.7rem .85rem;border:1px solid var(--status-danger-border);border-radius:.8rem;background:var(--status-danger-bg);color:var(--danger);font-size:.8rem;line-height:1.5}
@media(max-width:760px){.modal:has([data-wear-editor]) .modal-head{padding:1rem}.modal:has([data-wear-editor]) .modal-body{padding:1rem}.wear-editor-grid{gap:.9rem .65rem}.wear-stock-head{grid-template-columns:3rem minmax(0,1fr) auto;gap:.5rem}.wear-stock-photo{width:3rem;height:3.4rem}}
@media(max-width:420px){.wear-editor-grid{grid-template-columns:1fr}.wear-editor-grid>.full{grid-column:auto}.wear-photo-row{gap:.7rem}.wear-photo-preview{width:5rem;height:5.7rem}.wear-photo-controls .button{font-size:.7rem;padding:.5rem .65rem}.wear-photo-controls .toolbar{gap:.3rem}.wear-stock-copy>strong{font-size:.8rem}}

/* Message topics use one club hue; priority is expressed only by the red chip. */
#view-communication .communication-priority-card[data-communication-kind]{
  --message-strength:30%;
  --message-tone:color-mix(in srgb,var(--club-text) var(--message-strength),#fff);
  --message-tint:color-mix(in srgb,var(--club-text) 6%,#fff);
  border-left:3px solid var(--message-tone);
  background:#fff;
}
#view-communication .communication-priority-card[data-communication-kind="camp"]{--message-strength:65%;--message-tint:color-mix(in srgb,var(--club-text) 11%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="tournament"]{--message-strength:50%;--message-tint:color-mix(in srgb,var(--club-text) 8%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="training"]{--message-strength:38%;--message-tint:color-mix(in srgb,var(--club-text) 5%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="clubwear"]{--message-strength:55%;--message-tint:color-mix(in srgb,var(--club-text) 9%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="finance"]{--message-strength:70%;--message-tint:color-mix(in srgb,var(--club-text) 10%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="event"]{--message-strength:35%}
#view-communication .communication-priority-card[data-communication-kind="parent"]{--message-strength:28%;--message-tint:color-mix(in srgb,var(--club-text) 4%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="coach"]{--message-strength:45%;--message-tint:color-mix(in srgb,var(--club-text) 7%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="admin"]{--message-strength:75%;--message-tint:color-mix(in srgb,var(--club-text) 12%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="chair"]{--message-strength:85%;--message-tint:color-mix(in srgb,var(--club-text) 14%,#fff)}
#view-communication .communication-priority-card[data-communication-kind="member"]{--message-strength:25%}
#view-communication .communication-priority-card[data-communication-kind] .notice-icon{
  color:var(--club-text);background:var(--message-tint);border:1px solid var(--message-tone);border-radius:.8rem;
}
#view-communication .communication-priority-card[data-communication-kind] .notice-icon .app-icon{width:1.1rem;height:1.1rem}
.communication-card-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.35rem}
.communication-card-heading>strong{min-width:0;flex:1 1 12rem;font-size:.9rem;line-height:1.5;color:var(--ink);font-weight:750;overflow-wrap:anywhere}
.communication-card-chips{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap;max-width:100%}
.communication-topic-chip,.communication-sender-chip{display:inline-flex;align-items:center;min-height:1.7rem;padding:.25rem .6rem;border:1px solid var(--message-tone);border-radius:999px;background:linear-gradient(135deg,#fff,var(--message-tint));color:var(--club-text);font-size:.66rem;font-weight:700;line-height:1.4}
.communication-sender-chip{border-color:var(--club-border);background:#fff;color:var(--club-text);font-weight:600}
.communication-sender-chip[data-sender-kind="admin"],.communication-sender-chip[data-sender-kind="chair"]{background:var(--club-soft-gradient);border-color:var(--club-text)}
.communication-sender-chip[data-sender-kind="parent"]{border-color:var(--club-border);background:var(--club-subtle-gradient)}
.communication-priority-indicator{display:inline-grid;place-items:center;flex:none;width:1.6rem;height:1.6rem;border:1px solid #b42b39;border-radius:999px;background:#c53945;color:#fff;font-size:.95rem;font-weight:900;line-height:1;box-shadow:0 2px 4px #b4233615}
.communication-priority-indicator.is-urgent{background:#a61e32;border-color:#8d1529}
.communication-card-content>small{display:block;color:var(--muted);font-size:.72rem;line-height:1.5}
.communication-card-text{margin:.65rem 0 .55rem;color:#475569;font-size:.8rem;white-space:pre-line;line-height:1.65;overflow-wrap:anywhere}
@media(max-width:600px){.communication-card-heading>strong{flex-basis:100%}.communication-card-chips{justify-content:flex-start}.communication-card-heading{gap:.45rem}.communication-topic-chip,.communication-sender-chip{font-size:.64rem}.communication-priority-indicator{width:1.5rem;height:1.5rem}}

/* Compact kit catalog: separate size selection and scrollable stock. */
.wear-buy-options{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.5rem}
.wear-buy-options .product-choice{min-width:0}
.wear-manage-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(7rem,.6fr);gap:.5rem}
.wear-manage-summary{color:var(--muted);font-size:.73rem}
.clubwear-management-body .wear-stock-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:start;padding:.55rem .65rem;border-radius:.75rem}
.clubwear-management-body .wear-stock-head{grid-template-columns:2.4rem minmax(0,1fr) auto;gap:.5rem;min-width:0}
.clubwear-management-body .wear-stock-photo{width:2.4rem;height:2.8rem;border-radius:.5rem}
.clubwear-management-body .wear-stock-copy>strong{font-size:.8rem;margin:.1rem 0}
.clubwear-management-body .wear-stock-count>strong{font-size:1.1rem}
.clubwear-management-body .wear-stock-count>small{display:none}
.wear-row-actions{position:relative}
.wear-row-actions>summary{cursor:pointer;list-style:none;padding:.6rem .55rem;border:1px solid var(--line);border-radius:.6rem;color:var(--club-text);font-size:.72rem;font-weight:750}
.wear-row-actions>summary::-webkit-details-marker{display:none}
.wear-row-actions[open]{grid-column:1/-1}
.wear-row-actions[open]>summary{width:max-content;margin-left:auto}
.wear-row-actions .wear-stock-actions{margin-top:.4rem}
.wear-dual-photo{display:flex;width:100%;height:100%;gap:2px;background:#fff;border-radius:inherit;overflow:hidden}
.wear-dual-photo>span{position:relative;display:block;width:50%;height:100%;overflow:hidden}
.product-image .wear-dual-photo img,.wear-stock-photo .wear-dual-photo img{position:absolute;left:0;top:0;width:200%;max-width:none;height:100%;object-fit:contain}
@media(max-width:400px){.wear-buy-options{grid-template-columns:minmax(0,1fr)}.wear-manage-filters{grid-template-columns:minmax(0,1fr)}}

/* Coach responses: quiet row surface; the answer carries the selection. */
#view-attendance .availability-summary-row.is-current-user,
#view-attendance .availability-summary-row[data-trainer-status="ano"]{
  border:1px solid var(--club-border);
  background:linear-gradient(110deg,var(--club-soft),#fff 85%);
  box-shadow:none;
}
#view-attendance .availability-summary-row.is-current-user:not([data-trainer-status="ano"]){
  background:#fff;
  border-color:var(--line);
}

/* Four compact stock rows per page, including on phones. */
.clubwear-management-body .wear-stock-card{padding:.4rem .55rem;gap:.4rem;box-shadow:none}
.clubwear-management-body .wear-stock-head{grid-template-columns:minmax(0,1fr) auto;min-height:2.65rem}
.clubwear-management-body .wear-stock-photo{display:none}
.clubwear-management-body .wear-stock-badges:empty{display:none}
.clubwear-management-body .wear-stock-copy>small{font-size:.68rem;margin-top:.15rem}
.clubwear-management-body .wear-stock-card.is-low-stock{border-color:#f0c5cb;background:#fffafb}
.clubwear-management-body .wear-stock-alert{color:#a82d40;background:#fcebee}
.clubwear-management-body .is-low-stock .wear-stock-count>strong{color:#a82d40}
.wear-quick-count{min-width:3rem;min-height:2.75rem;padding:.35rem .45rem;border:1px solid var(--club-border);border-radius:.55rem;background:var(--club-subtle-gradient);color:var(--club-text);font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums}
.wear-quick-count small{font-size:.65rem;font-weight:600}
.is-low-stock .wear-quick-count{color:#a82d40;background:#fff1f3;border-color:#f0c5cb}
.wear-row-actions>summary{min-height:2.75rem;align-content:center;padding:.45rem .6rem}
.wear-buy-options .product-choice .select{min-width:0}

/* Training links and switches inherit the club palette, including nested text. */
.training-day-switch.is-on{background:var(--club-control-border)}
.training-day-switch:focus-visible{outline-color:var(--club-control-border)}
.training-week-day-main :is(a,.training-day-session,.training-session-link),
.training-week-day .training-day-sessions button{color:var(--club-text)}

/* Pending settings: native dialog keeps the underlying form inert while saving. */
.settings-leave-dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:24px;border:1px solid var(--border,#dce3ed);border-radius:20px;background:var(--surface,#fff);color:var(--text,#172033);box-shadow:0 24px 80px #17203333}
.settings-leave-dialog::backdrop{background:#17203370;backdrop-filter:blur(3px)}
.settings-leave-dialog h2{font-size:1.2rem;margin:0 0 10px}.settings-leave-dialog p{line-height:1.6;margin:0 0 16px}.settings-leave-dialog ul{padding:0;margin:16px 0;list-style:none;display:grid;gap:8px}.settings-leave-dialog li{padding:12px;border-radius:12px;background:var(--club-subtle,#eff5fc)}.settings-leave-dialog li span{display:block;font-size:.85rem;margin-top:4px}.settings-leave-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid var(--border,#dce3ed);padding-top:16px}.settings-leave-actions .button{white-space:normal;min-height:44px}.settings-leave-error{color:#b42336}.settings-leave-error[hidden]{display:none}
@media(max-width:540px){.settings-leave-dialog{padding:18px}.settings-leave-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}.settings-leave-actions .button{width:100%}}
/* Training composer: reuse club palette and keep preview separate from saved content. */
#phase17-training-editor .training-structure{border-color:var(--club-border);background:var(--club-subtle-gradient,linear-gradient(135deg,var(--club-subtle),#fff))}
#phase17-training-editor .training-phase{border-color:var(--line);border-left-color:var(--primary)}
#phase17-training-editor .training-phase>header span{color:var(--club-text)}
#phase17-training-editor .training-phase header>b{background:var(--club-soft);color:var(--club-text)}
.training-plan-assistant{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;margin:16px 0;border:1px solid var(--club-border);border-radius:16px;background:var(--club-subtle-gradient,linear-gradient(135deg,var(--club-soft),#fff))}
.training-plan-assistant>div{min-width:0}.training-plan-assistant strong{display:block;margin-top:4px;font-size:1rem}.training-plan-assistant p{font-size:.8rem;color:var(--muted);line-height:1.6;margin:6px 0 0;max-width:65ch}.training-plan-assistant .button{flex-shrink:0}
.training-suggestion-eyebrow{font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--club-text)}
.training-suggestion{display:grid;gap:18px;min-width:0}.training-suggestion-hero{padding:20px;border:1px solid var(--club-border);border-radius:16px;background:var(--club-selected-gradient,linear-gradient(135deg,var(--club-soft),#fff))}.training-suggestion-hero h3{font-size:1.2rem;margin:6px 0}.training-suggestion-hero p{line-height:1.6;margin:8px 0;font-size:.88rem}.training-suggestion-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.training-suggestion-tags span{border:1px solid var(--club-border);border-radius:9px;padding:6px 10px;font-size:.75rem;background:var(--surface,#fff);color:var(--club-text)}
.training-suggestion-reasons h4{margin:0 0 10px}.training-suggestion-reasons ul{margin:0;padding-left:20px;display:grid;gap:7px;font-size:.8rem;line-height:1.6;color:var(--muted)}
.training-suggestion-phases{display:grid;gap:12px}.training-suggestion-phases>section{border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}.training-suggestion-phases header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--club-subtle);color:var(--club-text)}.training-suggestion-phases header h4{margin:0;font-size:.9rem}.training-suggestion-phases header>strong{font-size:.78rem;white-space:nowrap}.training-suggestion-phases ol{list-style:none;margin:0;padding:0}.training-suggestion-phases li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line)}.training-suggestion-phases li>div{min-width:0}.training-suggestion-phases li strong{font-size:.82rem}.training-suggestion-phases li p{font-size:.75rem;line-height:1.6;color:var(--muted);margin:5px 0 0}.training-suggestion-phases li>span{white-space:nowrap;font-size:.75rem;font-weight:700;color:var(--club-text)}
.training-suggestion-history{padding:14px 16px;border:1px solid var(--line);border-radius:12px}.training-suggestion-history summary{cursor:pointer;font-size:.8rem;font-weight:750;min-height:28px}.training-suggestion-history article{padding-top:12px;font-size:.78rem}.training-suggestion-history p{color:var(--muted);line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.training-suggestion-note{font-size:.75rem;line-height:1.7;color:var(--muted);margin:0}
@media(max-width:600px){.training-plan-assistant{align-items:stretch;flex-direction:column;gap:14px;padding:14px}.training-plan-assistant .button{width:100%}.training-suggestion-hero{padding:16px}.training-suggestion-phases li{padding:12px}.training-suggestion .modal-actions{display:grid;grid-template-columns:minmax(0,1fr)}.training-suggestion .modal-actions .button{width:100%;white-space:normal}}
@media(hover:hover){.training-suggestion-history summary:hover{color:var(--club-text)}}
/* Club settings own the palette; this scope changes only surface hierarchy. */
html[data-club-nav-icons="black"] #view-training .training-week-panel{
  background:linear-gradient(135deg,var(--club-subtle) 0%,var(--club-soft) 62%,#fff 100%)!important;
  border-color:var(--club-border)!important;
}
html[data-club-nav-icons="black"] #view-training .training-week-heading-icon{
  background:var(--club-soft-gradient);
  color:var(--club-text);
  box-shadow:none;
}
html[data-club-nav-icons="black"] #view-training .training-week-day.is-enabled,
html[data-club-nav-icons="black"] #view-training .training-week-day.is-selected{
  border-color:var(--club-border)!important;
  background:var(--club-selected-gradient)!important;
  color:var(--club-text);
}
html[data-club-nav-icons="black"] #view-training .training-today-badge{
  border:1px solid var(--club-border);
  background:#fff!important;
  background-image:none!important;
  color:var(--club-text)!important;
}
html[data-club-nav-icons="black"] #view-training .training-week-day.is-enabled .training-day-status,
html[data-club-nav-icons="black"] #view-training .training-week-day.is-today .training-day-status{
  display:inline-flex!important;
  width:fit-content;
  min-height:0;
  align-items:center;
  gap:.35rem;
  border:1px solid var(--club-border);
  border-radius:999px;
  padding:.28rem .48rem;
  background:#fff!important;
  background-image:none!important;
  color:var(--club-text)!important;
}
html[data-club-nav-icons="black"] #view-training .training-week-day.is-enabled .training-day-status em{
  border:0;
  background:transparent!important;
  color:var(--club-text)!important;
}
html[data-club-nav-icons="black"] #view-training .training-week-unit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  width:100%;
  border:1px solid var(--club-border);
  border-radius:.55rem;
  padding:.4rem .55rem;
  background:#fff;
  color:var(--club-text);
  text-align:left;
  white-space:normal;
}
html[data-club-nav-icons="black"] #view-training .training-week-unit span:first-child{min-width:0;flex:1}
html[data-club-nav-icons="black"] #view-training .training-week-unit span:last-child{flex:none;color:var(--club-text)}
html[data-club-nav-icons="black"] #view-training .training-week-unit small{display:block;margin-top:.16rem;color:var(--muted);font-weight:600}

/* One gradient per surface: colored calendar and active days, flat white units. */
html[data-club-nav-icons="black"] #view-training :is(.phase5-training-filters,.training-today-summary,.phase5-training-results,.phase5-template-panel){background:var(--club-subtle-gradient)!important}
html[data-club-nav-icons="black"] #view-training .training-week-day{border-color:var(--club-border);border-top-color:var(--club-border);box-shadow:none}
html[data-club-nav-icons="black"] #view-training .training-week-day.is-enabled{border-color:var(--club-border)!important}
html[data-club-nav-icons="black"] #view-training .training-week-day.is-selected:not(.is-enabled){background:#fff!important}
html[data-club-nav-icons="black"] #view-training .training-week-day.is-today{border-color:var(--club-control-border)!important;border-top-color:var(--club-control-border)!important;box-shadow:none}
html[data-club-nav-icons="black"] #view-training .training-week-day-main{background:transparent!important;box-shadow:none!important}
html[data-club-nav-icons="black"] #view-training .training-week-day:not(.is-enabled) .training-day-status{display:inline-flex!important;width:auto;border:0;padding:0;background:transparent!important;color:var(--muted)!important}
html[data-club-nav-icons="black"] #view-training .training-week-unit{border-color:var(--club-border)}
html[data-club-nav-icons="black"] #view-training .training-week-unit:hover{background:#fff;border-color:var(--club-control-border)}

html[data-club-nav-icons="black"] #view-training .training-week-day:hover{transform:none;box-shadow:none}
