/* Harmonized séance list & detail styling */
/* Custom properties (scoped) reuse theme tokens where present; fallbacks keep current design */
.seances-manager{--sx-gap:.75rem;--s-border:#d0d5da;--s-border-soft:#d3d9dd;--s-border-accent:var(--brand-accent,#ff9800);--s-border-accent-rgb:var(--brand-accent-rgb,255,152,0);--s-accent:var(--brand-accent,#ff9800);--s-accent-hover:#ffac31;--s-accent-active:#e58200;--s-accent-soft:rgba(var(--brand-accent-rgb,255,152,0),.18);--s-accent-soft-border:rgba(var(--brand-accent-rgb,255,152,0),.35);--s-bg-soft:#f8f9fa;--s-bg-soft-alt:#eef1f4;--s-bg-white:#fff;--s-bg-muted:#fcfdfe;--s-grad-header:linear-gradient(90deg,#f8f9fa,#f1f3f5);--s-grad-season:linear-gradient(90deg,#f8f9fa,#eef1f4);--s-grad-season-active:linear-gradient(90deg,rgba(var(--brand-accent-rgb),.22),rgba(var(--brand-accent-rgb),.07));--s-shadow-soft:0 1px 2px rgba(0,0,0,.05);--s-shadow-focus:0 0 0 2px rgba(var(--brand-accent-rgb,255,152,0),.4);--s-radius:var(--ui-radius,.65rem);} /* Accent mapped to global theme */
.seances-manager .card{border-radius:.6rem;}
.seances-manager .card-body{padding:.75rem .85rem;}
/* Filters */
.seances-manager .form-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#495057;margin-bottom:.15rem;}
.seances-manager .fekm-filters.seances-filters{background:var(--s-bg-soft);border:1px solid #e2e6eb;border-radius:var(--s-radius);padding:.55rem .65rem .6rem;display:grid;gap:.55rem .6rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-items:end;}
.seances-manager .fekm-filters.seances-filters .fg{display:flex;flex-direction:column;gap:.25rem;min-width:0;}
.seances-manager .fekm-filters.seances-filters label{font-size:.6rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:#495057;margin:0;}
.seances-manager .fekm-filters.seances-filters select{font-size:.7rem;padding:.25rem .4rem;line-height:1.1;}
.seances-manager .fekm-filters.seances-filters .actions{display:flex;gap:.35rem;align-items:center;}
.seances-manager .fekm-filters.seances-filters .actions button{padding:.3rem .45rem;font-size:.65rem;}
.seances-manager .fekm-filters.seances-filters .status{grid-column:1/-1;font-size:.6rem;margin-top:.1rem;color:#666;display:flex;gap:.75rem;flex-wrap:wrap;}
.seances-manager .fekm-filters.seances-filters input.form-control-sm{font-size:.7rem;padding:.25rem .4rem;}
.seances-manager .seances-list .card{box-shadow:0 1px 2px rgba(0,0,0,.06);} /* subtle */
.seances-manager .seances-list .belt-filters{background:#fdfdfd;border:1px solid #dde1e4;border-radius:.5rem;padding:.45rem .55rem;}
.seances-manager .belt-buttons .btn-belt{--sz:.7rem;font-size:.65rem;line-height:1;border:1px solid #cfd3d7;padding:.3rem .5rem;border-radius:.45rem;background:var(--s-bg-white);display:inline-flex;align-items:center;gap:.35rem;font-weight:500;}
.seances-manager .belt-buttons .btn-belt .dot{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.15);}
.seances-manager .belt-buttons .btn-belt.state-include{background:#0d6efd;color:#fff;border-color:#0d6efd;}
.seances-manager .belt-buttons .btn-belt.state-exclude{background:#ffe2e6;color:#b02a37;border-color:#ffcad1;}
.seances-manager .belt-buttons .btn-belt.state-neutral{opacity:.7;}
.seances-manager .belt-buttons .btn-belt:hover{opacity:1;box-shadow:0 0 0 .15rem rgba(13,110,253,.15);}

/* Toolbar: rely on global .toolbar-group; only layout + scroll + active color variable */
.seances-manager .tech-toolbar{display:flex;flex-wrap:nowrap;gap:.6rem;align-items:center;padding:.35rem 0 .25rem;margin:0;overflow-x:auto;scrollbar-width:thin;}
.seances-manager .tech-toolbar > .toolbar-group{flex:0 0 auto;max-width:100%;}
.seances-manager .tech-toolbar::-webkit-scrollbar{height:6px;}
.seances-manager .tech-toolbar::-webkit-scrollbar-track{background:transparent;}
.seances-manager .tech-toolbar::-webkit-scrollbar-thumb{background:rgba(var(--brand-accent-rgb),.4);border-radius:3px;}
.seances-manager .tech-toolbar .toolbar-group{--toolbar-active-bg:var(--brand-accent);}
/* Density override: make buttons slightly more compact on seances page */
.seances-manager .tech-toolbar .toolbar-group > button{padding:.38rem .55rem;font-size:.6rem;}
.seances-manager .tech-toolbar .toolbar-group.compact > button{padding:.34rem .5rem;font-size:.58rem;}
/* Prevent icon/text wrapping and enforce consistent inline-flex centering */
.seances-manager .tech-toolbar .toolbar-group > button{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;}
/* Uniform icon button width for visual rhythm */
.seances-manager .tech-toolbar .toolbar-group > button i{width:1.15rem;text-align:center;font-size:.95rem;}
/* Slightly larger icons & keep two groups on one line */
.seances-manager .tech-toolbar{white-space:nowrap;}
.seances-manager .tech-toolbar > .toolbar-group{white-space:nowrap;display:inline-flex;}
@media (max-width:600px){
  .seances-manager .tech-toolbar .toolbar-group > button i{font-size:1rem;}
}
/* Pulse hint for Today button when month != current */
.seances-manager .tech-toolbar .toolbar-group > button.pulse-hint{position:relative;}
.seances-manager .tech-toolbar .toolbar-group > button .today-pulse{position:absolute;inset:0;pointer-events:none;border-radius:inherit;}
.seances-manager .tech-toolbar .toolbar-group > button.pulse-hint .today-pulse:before{content:"";position:absolute;top:50%;left:50%;width:70%;height:70%;border:2px solid rgba(var(--brand-accent-rgb),.65);border-radius:50%;transform:translate(-50%,-50%);animation:todayPulse 1.7s ease-out infinite;}
@keyframes todayPulse{0%{transform:translate(-50%,-50%) scale(.55);opacity:.9;}60%{opacity:.2;}100%{transform:translate(-50%,-50%) scale(1.6);opacity:0;}}
@media (prefers-reduced-motion:reduce){ .seances-manager .tech-toolbar .toolbar-group > button.pulse-hint .today-pulse:before{animation:none;display:none;} }
/* If an icon (.bi, i) precedes text ensure it does not stretch oddly */
.seances-manager .tech-toolbar .toolbar-group > button i,
.seances-manager .tech-toolbar .toolbar-group > button .bi{line-height:1;display:inline-block;}
/* (Removed local accent button utilities; global .btn-primary/.btn-outline-primary already themed) */
/* Compact buttons group for season expand/collapse */
.seances-manager .tech-toolbar .toolbar-group.compact > button{padding:.4rem .55rem;font-size:.62rem;}
/* Floating count badges inside toolbar buttons */
.seances-manager .tech-toolbar .toolbar-group > button .badge-count-float{top:2px;right:3px;}
/* (Removed .btn-today-inline custom styling) */

/* Season accordion */
.seances-manager .season-accordion-header{display:flex;align-items:center;width:100%;text-align:left;background:var(--s-grad-season);border:0;padding:.5rem .7rem;font-size:.72rem;font-weight:600;letter-spacing:.045em;color:#2a333d;line-height:1;}
.seances-manager .season-accordion-header i{margin-right:.25rem;}
.seances-manager .season-block{border:1px solid var(--s-border-soft);border-radius:var(--s-radius);background:var(--s-bg-white);box-shadow:var(--s-shadow-soft);}
.seances-manager .season-block + .season-block{margin-top:.6rem;}
.seances-manager .season-block table{margin:0;}
.seances-manager .season-block.active-filtered{box-shadow:0 0 0 2px rgba(var(--s-border-accent-rgb),.35),0 2px 4px -2px rgba(var(--s-border-accent-rgb),.25);border-color:var(--s-border-accent);}
.seances-manager .season-block.active-filtered .season-accordion-header{background:var(--s-grad-season-active);}

/* Dark mode toolbar / accordion */
@media (prefers-color-scheme:dark){
  .seances-manager .season-block{background:#1f2428;border-color:#30363d;box-shadow:0 1px 2px rgba(0,0,0,.4);}
  .seances-manager .season-accordion-header{background:linear-gradient(90deg,#242a30,#22282d);color:#d4dbe0;}
  .seances-manager .season-block.active-filtered{border-color:var(--s-accent-active);box-shadow:0 0 0 2px rgba(var(--s-border-accent-rgb),.5),0 0 8px -1px rgba(var(--s-border-accent-rgb),.5);}
  .seances-manager .season-block.active-filtered .season-accordion-header{background:linear-gradient(90deg,#3a2a21,#2f2219);}
  .seances-manager .btn-accent{background:var(--s-accent-active);border-color:var(--s-accent-active);}
  .seances-manager .btn-accent:hover{background:var(--s-accent);border-color:var(--s-accent);}
  .seances-manager .btn-outline-accent{background:#3a2a21;border-color:#5b3a26;color:#ffb178;}
  .seances-manager .btn-outline-accent:hover{background:#4a3528;color:#ffc694;border-color:#ff9f45;}
}
body.dark .seances-manager .season-block{background:#1f2428;border-color:#30363d;box-shadow:0 1px 2px rgba(0,0,0,.4);}
body.dark .seances-manager .season-accordion-header{background:linear-gradient(90deg,#242a30,#22282d);color:#d4dbe0;}

/* Table */
.seances-manager table.table-sm th, .seances-manager table.table-sm td{vertical-align:middle;}
.seances-manager table tbody tr{cursor:pointer;}
.seances-manager table tbody tr.table-active{--bs-table-accent-bg:#e8f2ff;}

/* Parts */
.seances-manager .parts-wrapper .part{border:1px solid #e3e6e9;border-radius:.75rem;}
.seances-manager .parts-wrapper .part-header{background:var(--s-grad-header);border-bottom:1px solid #e3e6e9;padding:.6rem .85rem;}
.seances-manager .parts-wrapper h6{font-size:.8rem;font-weight:600;letter-spacing:.5px;margin:0;color:#2f3842;text-transform:uppercase;}
.seances-manager .parts-wrapper .badge{font-weight:500;}
.seances-manager .parts-wrapper .table{margin-bottom:.25rem;}
.seances-manager .parts-wrapper .wod-box,.seances-manager .parts-wrapper .drill-box{background:var(--s-bg-muted);border:1px solid #e7eaed;border-radius:.55rem;padding:.55rem .6rem;}
.seances-manager .parts-wrapper .wod-box .fw-semibold,.seances-manager .parts-wrapper .drill-box .fw-semibold{font-size:.75rem;}

/* Recap badge */
aé
/* Calendar heatmap */
.seances-manager .calendar-grid td.cal-low{background:linear-gradient(180deg,rgba(var(--brand-accent-rgb),.08),rgba(var(--brand-accent-rgb),.13));}
.seances-manager .calendar-grid td.cal-mid{background:linear-gradient(180deg,rgba(var(--brand-accent-rgb),.18),rgba(var(--brand-accent-rgb),.26));}
.seances-manager .calendar-grid td.cal-high{background:linear-gradient(180deg,rgba(var(--brand-accent-rgb),.32),rgba(var(--brand-accent-rgb),.44));}
.seances-manager .calendar-grid td.cal-max{background:linear-gradient(180deg,rgba(var(--brand-accent-rgb),.55),rgba(var(--brand-accent-rgb),.70));color:#111;}
.seances-manager .calendar-grid td.cal-low.table-primary,
.seances-manager .calendar-grid td.cal-mid.table-primary,
.seances-manager .calendar-grid td.cal-high.table-primary,
.seances-manager .calendar-grid td.cal-max.table-primary{background:var(--brand-accent);color:#111;}
.seances-manager .calendar-grid td{transition:background-color .25s ease, color .25s ease;}
.seances-manager .calendar-grid td:hover{outline:2px solid rgba(var(--brand-accent-rgb),.45);outline-offset:-2px;}
@media (prefers-color-scheme:dark){
  .seances-manager .calendar-grid td.cal-low{background:linear-gradient(180deg,rgba(var(--brand-accent-rgb),.12),rgba(var(--brand-accent-rgb),.18));}
  .seances-manager .calendar-grid td.cal-mid{background:linear-gradient(180deg,rgba(var(--brand-accent-rgb),.24),rgba(var(--brand-accent-rgb),.32));}
  .seances-manager .calendar-grid td.cal-high{background:linear-gradient(180deg,rgba(var(--brand-accent-rgb),.38),rgba(var(--brand-accent-rgb),.50));}
  .seances-manager .calendar-grid td.cal-max{background:linear-gradient(180deg,rgba(var(--brand-accent-rgb),.58),rgba(var(--brand-accent-rgb),.78));color:#111;}
}

/* (Removed unused .section-anim-* classes after audit) */

/* Separator */
/* === Global gradient when a session is open === */
.seances-manager.seance-open-bg{
  --seance-bg-angle:90deg;
  --seance-bg-start:#f5f7fa;
  --seance-bg-end:#000000;
  /* Subtle integrated halos (.06 / .08) directly in layered background */
  background:
    radial-gradient(circle at 18% 20%, rgba(var(--brand-accent-rgb,255,152,0),.04), transparent 98%),
    radial-gradient(circle at 82% 78%, rgba(13,110,253,.06), transparent 58%),
    linear-gradient(var(--seance-bg-angle), var(--seance-bg-start), var(--seance-bg-end));
  background-attachment:fixed;
  position:relative;
  min-height:100%;
  transition:background .4s ease;
}
@media (prefers-color-scheme:dark){
  .seances-manager.seance-open-bg{
    --seance-bg-start:#0f1419;--seance-bg-end:#1c252d;
    background:
      radial-gradient(circle at 20% 24%, rgba(var(--brand-accent-rgb,255,152,0),.04), transparent 100%),
      radial-gradient(circle at 78% 76%, rgba(56,132,255,.06), transparent 0%),
      linear-gradient(var(--seance-bg-angle), var(--seance-bg-start), var(--seance-bg-end));
  }
}
.seance-actions-toolbar.sticky-seance-actions{backdrop-filter:blur(4px);}
/* Increased vertical rhythm between parts */
.seance-accordion{margin-bottom:1.1rem !important;position:relative;}
.seance-accordion:last-child{margin-bottom:0.9rem !important;}
/* Subtle separator between parts (not before first) */
.seance-accordion + .seance-accordion:before{
  content:"";position:absolute;top:-0.6rem;left:8px;right:8px;height:2px;pointer-events:none;opacity:.55;
  background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.05) 15%,rgba(0,0,0,.05) 85%,rgba(0,0,0,.12));
  border-radius:2px;
}
@media (prefers-color-scheme:dark){
  .seance-accordion + .seance-accordion:before{background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.08) 15%,rgba(255,255,255,.08) 85%,rgba(255,255,255,.22));opacity:.32;}
}
.seances-separator{height:1px;width:100%;background:linear-gradient(90deg,transparent,var(--s-border-soft,#d9dee2),transparent);position:relative;}
.seances-separator:after{content:"";position:absolute;left:50%;top:0;width:120px;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--s-border-accent,#0d6efd),transparent);opacity:.35;}
@media (prefers-color-scheme:dark){
  .seances-separator{background:linear-gradient(90deg,transparent,#2c3237,transparent);}
  .seances-separator:after{background:linear-gradient(90deg,transparent,#4594ff,transparent);opacity:.5;}
}
body.dark .seances-separator{background:linear-gradient(90deg,transparent,#2c3237,transparent);}
body.dark .seances-separator:after{background:linear-gradient(90deg,transparent,#4594ff,transparent);opacity:.5;}

/* Detail zone (new design) */
.seances-manager .detail-zone h5{font-size:1rem;font-weight:600;}
.seances-manager .detail-zone .card{box-shadow:0 1px 2px rgba(0,0,0,.06);}
.seances-manager .detail-zone .seance-accordion h6{font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;}

/* Instructors subrow in list view (Résumé column) */
.seances-manager .instructors-subrow{display:flex;flex-wrap:wrap;gap:.25rem;line-height:1;}
.seances-manager .instructors-subrow .coach-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;background:linear-gradient(135deg,#e6eaed,#f8fafb);border:1px solid #d5dade;font-size:.55rem;font-weight:600;color:#495057;overflow:hidden;box-shadow:0 1px 1px rgba(0,0,0,.06);}
.seances-manager .instructors-subrow .coach-chip .coach-avatar{width:100%;height:100%;object-fit:cover;display:block;}
.seances-manager img.coach-avatar, .seances-manager img.coach-avatar-xs{max-width:100%;max-height:100%;object-fit:cover;aspect-ratio:1/1;image-rendering:auto;}
.seances-manager .coach-avatar-xs{flex:0 0 auto;}
/* Seance delete icon in ID column */
.seances-manager .seance-id-cell{white-space:nowrap;}
.seances-manager .seance-id-cell .id-actions{display:flex;justify-content:center;}
.seances-manager .seance-id-cell .seance-del-btn{font-size:.75rem;opacity:.75;}
.seances-manager .seance-id-cell .seance-del-btn:hover{opacity:1;}
.seances-manager .seance-id-cell .seance-del-btn i{pointer-events:none;}
.seances-manager .instructors-subrow .coach-chip .coach-initials{display:inline-block;}
/* Inline instructors in detail toolbar */
.seances-manager .instructor-badge{position:relative;padding:.25rem .4rem .25rem .35rem;}
.seances-manager .coach-avatar-xs{width:18px;height:18px;border-radius:50%;object-fit:cover;display:inline-block;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 0 0 2px rgba(0,0,0,.15);}
.seances-manager .coach-initials-xs{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#e6eaed,#f8fafb);display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;color:#495057;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 0 0 2px rgba(0,0,0,.12);}
@media (prefers-color-scheme:dark){
  .seances-manager .coach-initials-xs{background:linear-gradient(135deg,#2b3136,#23282c);color:#d4dbe0;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 0 0 2px rgba(255,255,255,.05);}
  .seances-manager .coach-avatar-xs{box-shadow:0 0 0 1px rgba(0,0,0,.7),0 0 0 2px rgba(255,255,255,.15);}
}
.seances-manager select.instructor-select option[data-avatar]{background-repeat:no-repeat;background-position:4px center;padding-left:26px;}
@media (prefers-color-scheme:dark){
  .seances-manager .instructors-subrow .coach-chip{background:linear-gradient(135deg,#2b3136,#23282c);border-color:#374048;color:#d4dbe0;box-shadow:0 1px 1px rgba(0,0,0,.5);}
}
.seances-manager .detail-zone .accordion-body{background:var(--s-bg-white);}
.seances-manager .detail-zone .wod-box,.seances-manager .detail-zone .drill-box{background:var(--s-bg-muted);border:1px solid #e7eaed;border-radius:.55rem;}
/* New section heading style (capitalize, softer badges) */
.seances-manager .detail-zone .section-heading{font-size:.72rem;font-weight:600;letter-spacing:.25px;margin:0;line-height:1.1;text-transform:none;display:flex;align-items:center;gap:.35rem;color:#2f3842;}
@media (prefers-color-scheme:dark){
  .seances-manager .detail-zone .section-heading{color:#d4dbe0;}
}
/* Part header emphasis */
.seances-manager .detail-zone .part-header{position:relative;font-size:.9rem;font-weight:600;letter-spacing:.4px;padding:.48rem .68rem .42rem;border-left:4px solid var(--s-accent,#0d6efd);background:linear-gradient(90deg,var(--s-bg-soft,#f5f7f9),#fff);border-radius:.5rem;line-height:1.12;margin-bottom:.35rem;}
/* Spacing between successive parts: add 50px only when a .seance-accordion follows another */
.seances-manager .detail-zone .seance-accordion + .seance-accordion .part-header{margin-top:50px;position:relative;}
/* Mid-gap separator: a subtle line centered in the 50px spacing above subsequent part headers */
.seances-manager .detail-zone .seance-accordion + .seance-accordion .part-header::before{
  content:"";
  position:absolute;
  top:-25px; /* middle of the 50px gap */
  left:50%;
  transform:translateX(-50%);
  width:45%;
  max-width:260px;
  min-width:140px;
  height:0;
  border-top:1px solid rgba(0,0,0,.18); /* a bit clearer */
  background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.25),rgba(0,0,0,0));
  mask:linear-gradient(90deg,transparent 0 8%,#000 25% 75%,transparent 92% 100%); /* taper ends softly */
  -webkit-mask:linear-gradient(90deg,transparent 0 8%,#000 25% 75%,transparent 92% 100%);
  pointer-events:none;
}
@media (prefers-color-scheme:dark){
  .seances-manager .detail-zone .seance-accordion + .seance-accordion .part-header::before{
    border-top-color:rgba(255,255,255,.35);
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));
  }
}
.seances-manager .detail-zone .part-header .part-title{font-size:.9rem;text-transform:uppercase;}
.seances-manager .detail-zone .part-header .part-stats{font-size:.62rem;font-weight:500;}
@media (prefers-color-scheme:dark){
  .seances-manager .detail-zone .part-header{background:linear-gradient(90deg,#242a30,#1f2428);border-left-color:var(--s-accent,#0d6efd);}
}
/* Stat chips (click to toggle sections) - refined */
.seances-manager .detail-zone .stat-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.55rem;padding:.20rem .42rem;border:1px solid #d5d9dd;background:#f1f3f5;border-radius:1rem;font-weight:500;cursor:pointer;line-height:1.05;user-select:none;transition:background .18s,color .18s,border-color .18s,transform .18s;position:relative;}
.seances-manager .detail-zone .stat-chip i{font-size:.65rem;line-height:1;}
.seances-manager .detail-zone .stat-chip:hover{background:#e7ebef;}
.seances-manager .detail-zone .stat-chip[aria-pressed="true"]{background:var(--s-accent,#0d6efd);color:#fff;border-color:var(--s-accent,#0d6efd);box-shadow:0 0 0 .15rem rgba(13,110,253,.25);}
.seances-manager .detail-zone .stat-chip[aria-pressed="true"]:hover{filter:brightness(1.05);}
/* Type variants (soft when inactive, vivid when active) */
.seances-manager .detail-zone .stat-chip-tech{background:#e3f2fd;border-color:#d0e7fa;color:#0d47a1;}
.seances-manager .detail-zone .stat-chip-tech:hover{background:#d4ecfb;}
.seances-manager .detail-zone .stat-chip-tech[aria-pressed="true"]{background:#0d6efd;color:#fff;border-color:#0d6efd;}

.seances-manager .detail-zone .stat-chip-wod{background:#e6f7ed;border-color:#d3eddd;color:#1b5e20;}
.seances-manager .detail-zone .stat-chip-wod:hover{background:#d9f1e3;}
.seances-manager .detail-zone .stat-chip-wod[aria-pressed="true"]{background:#198754;color:#fff;border-color:#198754;}

/* Technique subrow badges */
.seances-manager .tech-subrow{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:140px;}
.seances-manager .tech-subrow .badge{font-size:.48rem;font-weight:500;line-height:1;padding:.18rem .35rem;border:1px solid rgba(0,0,0,.05);background:rgba(0,0,0,.035);color:#444;border-radius:.35rem;letter-spacing:.3px;}
.seances-manager .tech-subrow .badge.bg-secondary{background:rgba(108,117,125,.15);color:#495057;border-color:rgba(108,117,125,.25);}
@media (max-width:600px){
  .seances-manager .tech-subrow{max-width:120px;}
}
@media (prefers-color-scheme:dark){
  .seances-manager .tech-subrow .badge{background:rgba(255,255,255,.06);color:#d0d7dd;border-color:rgba(255,255,255,.12);}
  .seances-manager .tech-subrow .badge.bg-secondary{background:rgba(108,117,125,.25);color:#e0e5e9;border-color:rgba(108,117,125,.4);}
}

.seances-manager .detail-zone .stat-chip-ce{background:#fce7e9;border-color:#f7d3d7;color:#7f1d1d;}
.seances-manager .detail-zone .stat-chip-ce:hover{background:#f9d9dc;}
.seances-manager .detail-zone .stat-chip-ce[aria-pressed="true"]{background:#dc3545;color:#fff;border-color:#dc3545;}

.seances-manager .detail-zone .stat-chip-cd{background:#fff4e0;border-color:#ffe4b8;color:#7a4d00;}
.seances-manager .detail-zone .stat-chip-cd:hover{background:#ffe9c2;}
.seances-manager .detail-zone .stat-chip-cd[aria-pressed="true"]{background:#f0ad0f;color:#212529;border-color:#f0ad0f;}
@media (prefers-color-scheme:dark){
  .seances-manager .detail-zone .stat-chip{background:#2a3137;border-color:#3a4249;color:#d4dbe0;}
  .seances-manager .detail-zone .stat-chip:hover{background:#323a41;}
  .seances-manager .detail-zone .stat-chip[aria-pressed="true"]{background:var(--s-accent-active,#0d6efd);border-color:var(--s-accent-active,#0d6efd);color:#fff;}
  .seances-manager .detail-zone .stat-chip-tech{background:#1e3850;border-color:#27455f;color:#8ec5ff;}
  .seances-manager .detail-zone .stat-chip-tech[aria-pressed="true"]{background:#0d6efd;border-color:#0d6efd;color:#fff;}
  .seances-manager .detail-zone .stat-chip-wod{background:#1b3c2a;border-color:#215235;color:#8fdcb3;}
  .seances-manager .detail-zone .stat-chip-wod[aria-pressed="true"]{background:#198754;border-color:#198754;color:#fff;}
  .seances-manager .detail-zone .stat-chip-ce{background:#522b30;border-color:#643339;color:#ff99a4;}
  .seances-manager .detail-zone .stat-chip-ce[aria-pressed="true"]{background:#dc3545;border-color:#dc3545;color:#fff;}
  .seances-manager .detail-zone .stat-chip-cd{background:#563f11;border-color:#70511a;color:#f3cf83;}
  .seances-manager .detail-zone .stat-chip-cd[aria-pressed="true"]{background:#f0ad0f;border-color:#f0ad0f;color:#212529;}
}
/* Toggle-all button styling */
.seances-manager .detail-zone .part-header .btn-toggle-all{padding:.2rem .45rem;font-size:.55rem;line-height:1;border-radius:.55rem;display:inline-flex;align-items:center;gap:.25rem;border:1px solid #d5d9dd;background:#f8fafb;color:#4b555d;transition:background .18s,border-color .18s,color .18s;}
.seances-manager .detail-zone .part-header .btn-toggle-all:hover{background:#eef2f4;color:#1f272d;}
.seances-manager .detail-zone .part-header .btn-toggle-all:focus{outline:2px solid var(--s-accent,#0d6efd);outline-offset:2px;}
@media (prefers-color-scheme:dark){
  .seances-manager .detail-zone .part-header .btn-toggle-all{background:#2a3137;border-color:#3a4249;color:#c9d0d5;}
  .seances-manager .detail-zone .part-header .btn-toggle-all:hover{background:#323a41;color:#fff;}
}
/* Collapse utility container (paired with Alpine x-show) */
.seances-manager .detail-zone .section-collapse{overflow:hidden;}
/* Soft badges */
.badge-soft-primary{background:rgba(13,110,253,.12);color:#0d5ed9;}
.badge-soft-success{background:rgba(25,135,84,.12);color:#1d7a52;}
.badge-soft-danger{background:rgba(220,53,69,.12);color:#b5303d;}
.badge-soft-warning{background:rgba(255,193,7,.18);color:#b28200;}
.badge-soft-neutral{background:rgba(108,117,125,.15);color:#495057;}
.badge-soft-primary,.badge-soft-success,.badge-soft-danger,.badge-soft-warning,.badge-soft-neutral{font-weight:500;border:1px solid rgba(0,0,0,.05);}
@media (prefers-color-scheme:dark){
  .badge-soft-primary{background:rgba(56,122,255,.18);color:#8ab8ff;border-color:rgba(56,122,255,.35);}
  .badge-soft-success{background:rgba(25,135,84,.22);color:#62d09f;border-color:rgba(25,135,84,.35);}
  .badge-soft-danger{background:rgba(220,53,69,.22);color:#ff99a4;border-color:rgba(220,53,69,.35);}
  .badge-soft-warning{background:rgba(255,193,7,.28);color:#e9c15a;border-color:rgba(255,193,7,.4);}
  .badge-soft-neutral{background:rgba(108,117,125,.25);color:#c2c8cc;border-color:rgba(108,117,125,.35);}
}
@media (prefers-color-scheme:dark){
  .seances-manager .detail-zone .accordion-body{background:#1f2428;}
  .seances-manager .detail-zone .wod-box,.seances-manager .detail-zone .drill-box{background:#22282d;border-color:#333b42;}
}
body.dark .seances-manager .detail-zone .accordion-body{background:#1f2428;}
body.dark .seances-manager .detail-zone .wod-box,body.dark .seances-manager .detail-zone .drill-box{background:#22282d;border-color:#333b42;}

/* Legacy note: .parts-wrapper styles retained temporarily until fully removed after verification */

/* Dark mode (auto) */
@media (prefers-color-scheme: dark){
  .seances-manager .card{background:#1f2428;color:#e1e5e8;border-color:#30363d;}
  .seances-manager .card-body{background:#1f2428;}
  .seances-manager .form-label{color:#b9c2c9;}
  .seances-manager .seances-list .belt-filters{background:#262c31;border-color:#343b42;}
  .seances-manager .belt-buttons .btn-belt{background:#2b3238;border-color:#3a4249;color:#dde3e7;}
  .seances-manager .belt-buttons .btn-belt.state-include{background:#0d6efd;border-color:#0d6efd;color:#fff;}
  .seances-manager .belt-buttons .btn-belt.state-exclude{background:#492a2f;color:#ffb3bd;border-color:#5a3237;}
  .seances-manager table tbody tr.table-active{--bs-table-accent-bg:#243449;}
  .seances-manager .parts-wrapper .part{background:#1f2428;border-color:#30363d;}
  .seances-manager .parts-wrapper .part-header{background:linear-gradient(90deg,#242a30,#22282d);border-color:#30363d;}
  .seances-manager .parts-wrapper .wod-box,.seances-manager .parts-wrapper .drill-box{background:#22282d;border-color:#333b42;}
}

/* Dark mode (forced via body.dark) */
body.dark .seances-manager .card{background:#1f2428;color:#e1e5e8;border-color:#30363d;}
body.dark .seances-manager .card-body{background:#1f2428;}
body.dark .seances-manager .form-label{color:#b9c2c9;}
body.dark .seances-manager .seances-list .belt-filters{background:#262c31;border-color:#343b42;}
body.dark .seances-manager .belt-buttons .btn-belt{background:#2b3238;border-color:#3a4249;color:#dde3e7;}
body.dark .seances-manager .belt-buttons .btn-belt.state-include{background:#0d6efd;border-color:#0d6efd;color:#fff;}
body.dark .seances-manager .belt-buttons .btn-belt.state-exclude{background:#492a2f;color:#ffb3bd;border-color:#5a3237;}
body.dark .seances-manager table tbody tr.table-active{--bs-table-accent-bg:#243449;}
body.dark .seances-manager .parts-wrapper .part{background:#1f2428;border-color:#30363d;}
body.dark .seances-manager .parts-wrapper .part-header{background:linear-gradient(90deg,#242a30,#22282d);border-color:#30363d;}
body.dark .seances-manager .parts-wrapper .wod-box,body.dark .seances-manager .parts-wrapper .drill-box{background:#22282d;border-color:#333b42;}

/* Utility */
.seances-manager .spin{animation:spin .9s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}
/* Consignes modal sections */
#exoBaseModal .consignes-wrapper{background:var(--s-bg-white,#fff);}
#exoBaseModal .consigne-section + .consigne-section{border-top:1px solid #e5e8eb;}
@media (prefers-color-scheme:dark){
  #exoBaseModal .consignes-wrapper{background:#1f2428;}
  #exoBaseModal .consigne-section + .consigne-section{border-color:#30363d;}
}

/* WOD subrow styling (badges + consignes icon) */
.wod-table .wod-subrow .badge{font-weight:400;line-height:1;}
.wod-table .wod-subrow .bi-card-text{font-size:1.05rem;vertical-align:-1px;}
/* Combat exercise (exercice combat & drills internes) subrow badges */
.combatexo-subrow .badge{font-weight:400;line-height:1;padding:.25em .45em;font-size:.65rem;letter-spacing:.2px;}
.combatexo-subrow{gap:.35rem;}
/* Neutral combat badge styling */
.badge-neutral{background:#eef0f2;color:#444;border:1px solid #d3d7db;font-weight:500;border-radius:.4rem;}
.badge-neutral i{font-size:.7rem;line-height:1;color:#666;}
.badge-neutral.badge-theme i{color:#666;}
.badge-neutral.badge-domain i{color:#666;}
@media (prefers-color-scheme:dark){
  .badge-neutral{background:#2b3238;color:#d5dadd;border-color:#3a434a;}
  .badge-neutral i{color:#9aa3ab;}
}
/* UV-Puce badge under belt column */
.tech-uv-puce-subrow .badge-uv{background:#eef0f2;color:#333;border:1px solid #d3d7db;font-size:.55rem;padding:.3em .45em;font-weight:600;letter-spacing:.25px;}
.tech-uv-puce-subrow .badge-uv i{font-size:.65rem;line-height:1;color:#666;}
@media (prefers-color-scheme:dark){
  .tech-uv-puce-subrow .badge-uv{background:#2d343a;color:#e2e6e9;border-color:#3a434a;}
  .tech-uv-puce-subrow .badge-uv i{color:#9aa3ab;}
}
/* Belt cell centering */
.belt-cell{vertical-align:top;}
.belt-cell .belt-dot, .belt-cell span[class*='belt']{margin-left:auto;margin-right:auto;}
/* Neutral technique meta badges */
.badge-tech-meta{background:#2f353a;color:#d8dde1;font-weight:500;border:1px solid #3b444b;font-size:.6rem;letter-spacing:.3px;}
/* Icon + text styling inside technique meta badges */
.badge-tech-meta{display:inline-flex;align-items:center;gap:.35rem;padding:.28em .5em .28em .45em;line-height:1;}
.badge-tech-meta i{font-size:.7rem;line-height:1;color:#b8c0c5;}
@media (prefers-color-scheme:dark){
  .badge-tech-meta i{color:#c3ccd1;}
}
/* WOD exercise meta badges (category / type) */
.badge-wod-meta{background:#eef0f2;color:#333;border:1px solid #d3d7db;font-weight:500;font-size:.55rem;letter-spacing:.25px;display:inline-flex;align-items:center;gap:.3rem;padding:.26em .48em .26em .42em;border-radius:.35rem;line-height:1;}
.badge-wod-meta i{font-size:.7rem;line-height:1;color:#666;}
@media (prefers-color-scheme:dark){
  .badge-wod-meta{background:#2b3238;color:#d5dade;border-color:#3a434a;}
  .badge-wod-meta i{color:#9aa3ab;}
}
@media (prefers-color-scheme:dark){
  .badge-tech-meta{background:#353c42;color:#e2e7ea;border-color:#434c54;}
}
/* Alignment tweaks for technique subrow badges */
.tech-subrow{justify-content:flex-start !important; width:100%; flex-direction:column; align-items:flex-start; gap:.25rem !important;}
.tech-subrow .badge-tech-meta{margin:0 !important; display:inline-block;}
.belt-cell .tech-uv-puce-subrow{justify-content:center;}
/* Emphasis for exercise / technique names */
.exo-name{font-size:.92rem;font-weight:600;letter-spacing:.25px;color:#232a31;}
@media (max-width:576px){ .exo-name{font-size:.9rem;} }
@media (prefers-color-scheme:dark){ .exo-name{color:#f2f4f6;} }
body.dark .exo-name{color:#f2f4f6;}
@media (prefers-color-scheme:dark){ .exo-name{text-shadow:0 0 1px rgba(255,255,255,.35);} }
body.dark .exo-name{text-shadow:0 0 1px rgba(255,255,255,.35);}
/* Drill title hierarchy */
.drill-box .exo-name{font-size:1rem;}
@media (max-width:576px){ .drill-box .exo-name{font-size:.95rem;} }
@media (max-width:576px){
  .wod-table .wod-subrow{font-size:.72rem;}
}

/* Compact séance toolbar (icon line) */
.seance-toolbar{background:var(--s-bg-soft,#f8f9fa);border:1px solid #e2e6eb;border-radius:.6rem;padding:.35rem .55rem;box-shadow:0 1px 2px rgba(0,0,0,.05);}
.seance-toolbar h6{font-weight:600;letter-spacing:.3px;}
.seance-toolbar .toolbar-header{margin-bottom:.1rem;}
.seance-toolbar .toolbar-actions-row{border-top:1px solid rgba(0,0,0,.06);padding-top:.35rem;margin-top:.4rem;}
@media (prefers-color-scheme:dark){
  .seance-toolbar .toolbar-actions-row{border-top-color:#30363d;}
}
/* Emphasis styling for séance title */
.seance-toolbar .seance-title-emphasis{position:relative;padding-left:.9rem;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.35rem;line-height:1.25;}
.seance-toolbar .seance-title-emphasis:before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:4px;border-radius:2px;background:linear-gradient(180deg,#0d6efd,#6ea8fe);} /* gradient accent */
.seance-toolbar .seance-title-emphasis .title-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border-radius:.45rem;background:rgba(13,110,253,.08);color:#0d6efd;}
.seance-toolbar .seance-title-emphasis .title-icon-wrap i{font-size:1rem;line-height:1;}
.seance-toolbar .seance-title-emphasis .title-main{letter-spacing:.4px;}
.seance-toolbar .seance-title-emphasis .title-date{font-weight:500;color:#6c757d;margin-left:.25rem;}
.seance-toolbar .seance-title-emphasis .title-id{font-size:.75rem;font-weight:500;color:#8a9299;margin-left:.4rem;}
@media (max-width:640px){
  .seance-toolbar .seance-title-emphasis{font-size:.95rem;}
  .seance-toolbar .seance-title-emphasis .title-icon-wrap{width:1.3rem;height:1.3rem;border-radius:.35rem;}
}
@media (prefers-color-scheme:dark){
  .seance-toolbar .seance-title-emphasis:before{background:linear-gradient(180deg,#3d8bfd,#6ea8fe);}
  .seance-toolbar .seance-title-emphasis .title-icon-wrap{background:rgba(99,155,255,.12);color:#6ea8fe;}
  .seance-toolbar .seance-title-emphasis .title-date{color:#9aa3ab;}
  .seance-toolbar .seance-title-emphasis .title-id{color:#7d8790;}
}

/* Detached actions toolbar */
.seance-actions-toolbar{background:transparent;border:1px solid transparent;border-radius:.6rem;padding:.45rem .65rem;box-shadow:none;}
.seance-actions-toolbar .actions-line .btn{padding:.38rem .6rem;font-size:.78rem;line-height:1;}
.seance-actions-toolbar .actions-line .btn i{font-size:1rem;}
.seance-actions-toolbar .instructors-inline select{min-width:150px;}
.seance-actions-toolbar .instructors-inline .badge{font-weight:500;}
.seance-actions-toolbar .instructors-inline{background:rgba(0,0,0,.02);border:1px dashed #d5dade;padding:.4rem .55rem;border-radius:.6rem;}
@media (prefers-color-scheme:dark){
  .seance-actions-toolbar{background:transparent;border-color:transparent;}
  .seance-actions-toolbar .instructors-inline{background:rgba(255,255,255,.04);border-color:#3a444b;}
}
/* Sticky behavior for actions toolbar */
.sticky-seance-actions{position:sticky; top:var(--seance-actions-top, 3.25rem); z-index:120; }
body.dark .sticky-seance-actions, .sticky-seance-actions{background:transparent;backdrop-filter:none;}
.sticky-seance-actions + .seance-accordion:first-of-type{margin-top:.5rem;}
/* If parts are wrapped in another container adjust spacing */
.sticky-seance-actions + .seance-accordion, .sticky-seance-actions + .parts-wrapper .seance-accordion:first-child{margin-top:.5rem;}
@media (max-width:680px){
  .sticky-seance-actions{top:var(--seance-actions-top-mobile, 3rem);}
}

/* Action buttons style (inspired by FEKM toolbar) */
.seance-actions-toolbar .actions-line{gap:.55rem;}
.seance-actions-toolbar .action-btn{--sa-btn-bg:rgba(255,255,255,.06);--sa-btn-bd:rgba(0,0,0,.15);--sa-btn-color:#39434a;--sa-btn-radius:.55rem;--sa-active-bg:var(--brand-accent,#ff9800);--sa-active-color:#fff;--sa-hover-bg:rgba(255,255,255,.12);--sa-hover-bd:rgba(0,0,0,.28);background:var(--sa-btn-bg);border:1px solid var(--sa-btn-bd);border-radius:var(--sa-btn-radius);color:var(--sa-btn-color);padding:.48rem .75rem;font-size:.7rem;line-height:1;display:inline-flex;align-items:center;gap:.45rem;font-weight:500;cursor:pointer;transition:.18s background,.18s border-color,.18s color,.18s transform,box-shadow .18s;backdrop-filter:saturate(140%) blur(2px);}
.seance-actions-toolbar .action-btn i{font-size:.95rem;line-height:1;opacity:.92;}
.seance-actions-toolbar .action-btn:hover:not(:disabled){background:var(--sa-hover-bg);border-color:var(--sa-hover-bd);text-decoration:none;}
.seance-actions-toolbar .action-btn:focus-visible{outline:2px solid var(--brand-accent,#ff9800);outline-offset:2px;}
.seance-actions-toolbar .action-btn:disabled{opacity:.55;cursor:not-allowed;}
.seance-actions-toolbar .action-btn.active{background:var(--sa-active-bg);border-color:var(--sa-active-bg);color:var(--sa-active-color);box-shadow:0 2px 6px -1px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.15) inset;}
.seance-actions-toolbar .action-btn.active:hover{filter:brightness(1.08);}
.seance-actions-toolbar .action-btn:active:not(:disabled){transform:translateY(1px);}
@media (prefers-color-scheme:dark){
  .seance-actions-toolbar .action-btn{--sa-btn-bg:rgba(255,255,255,.07);--sa-btn-bd:rgba(255,255,255,.15);--sa-btn-color:#d4dbe0;--sa-hover-bg:rgba(255,255,255,.18);--sa-hover-bd:rgba(255,255,255,.38);}
  .seance-actions-toolbar .action-btn i{opacity:.88;}
  .seance-actions-toolbar .action-btn.active{box-shadow:0 2px 7px -1px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.4) inset;}
  .seance-actions-toolbar .action-btn:focus-visible{outline:2px solid var(--brand-accent,#ff9800);outline-offset:2px;}
}
@media (max-width:600px){
  .seance-actions-toolbar .action-btn{padding:.42rem .55rem;font-size:.62rem;}
  .seance-actions-toolbar .action-btn .label{display:none !important;}
}
@media (max-width:600px){
  .seance-actions-toolbar .actions-line{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;}
  .seance-actions-toolbar .actions-line::-webkit-scrollbar{height:6px;}
  .seance-actions-toolbar .actions-line::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:3px;}
  @media (prefers-color-scheme:dark){
    .seance-actions-toolbar .actions-line::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);}
  }
}
.seance-toolbar .toolbar-actions{gap:.4rem;margin-left:.35rem;}
.seance-toolbar .toolbar-btn{padding:.35rem .55rem;font-size:.8rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.seance-toolbar .toolbar-btn i{font-size:1rem;line-height:1;}
.seance-toolbar .toolbar-btn.btn-expand-collapse i{color:#e9ecef;} /* off-white arrows */
.seance-toolbar .toolbar-btn.btn-expand-collapse:hover i{color:#dee2e6;}
.seance-toolbar .instructors-inline{flex-basis:100%;}
@media (min-width:640px){
  .seance-toolbar .instructors-inline{flex-basis:auto;}
}
@media (max-width:480px){
  .seance-toolbar{overflow-x:auto;scrollbar-width:thin;}
  .seance-toolbar .toolbar-actions{flex-wrap:nowrap;}
  .seance-toolbar .instructors-inline{order:10;width:100%;}
}
@media (prefers-color-scheme:dark){
  .seance-toolbar{background:#242a30;border-color:#30363d;}
  .seance-toolbar .toolbar-btn.btn-expand-collapse i{color:#cbd3da;}
  .seance-toolbar .toolbar-btn.btn-expand-collapse:hover i{color:#dde3e8;}
}

/* Responsive tweaks */
@media (max-width: 992px){
  .seances-manager .card-body{padding:.65rem .65rem;}
  .seances-manager .parts-wrapper h6{font-size:.75rem;}
  .seances-manager .belt-buttons .btn-belt{font-size:.6rem;padding:.25rem .4rem;}
}
/* Override per request: center toolbar groups on their own line container */
.seances-manager .tech-toolbar{display:block;text-align:center;}
/* Very small screens: compress toolbar horizontally and keep single line scroll */
@media (max-width: 600px){
  .seances-manager .tech-toolbar{gap:.4rem;padding:.25rem 0 .2rem;}
  .seances-manager .tech-toolbar .toolbar-group > button{padding:.34rem .48rem;font-size:.55rem;}
  .seances-manager .tech-toolbar .toolbar-group.compact > button{padding:.3rem .44rem;font-size:.52rem;}
  .seances-manager .tech-toolbar .toolbar-group > button span.d-none.d-md-inline{display:none !important;} /* hide labels earlier on narrow screens */
}
@media (max-width: 420px){
  .seances-manager .tech-toolbar{gap:.35rem;}
  .seances-manager .tech-toolbar .toolbar-group > button{padding:.3rem .42rem;font-size:.5rem;}
}

/* === Final enforcement: technique category/type subrow stacking ===
   Neutralise classes ajoutées dans le markup (d-flex flex-wrap gap-1 align-items-center)
   pour garantir un empilement vertical aligné à gauche. */
.seances-manager td .tech-subrow,
.seances-manager .tech-subrow{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:2px !important;
  width:100% !important; /* occupe largeur cellule pour éviter centrages résiduels */
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.seances-manager .tech-subrow .badge-tech-meta{display:inline-block !important; width:fit-content; margin:0 !important;}
/* Option: si wrapping horizontal souhaité plus tard, supprimer flex-wrap:nowrap */
