
/* section: legacy-1 */
*{box-sizing:border-box}
:root{--bg:#070809;--card:#0e1113;--card2:#14181b;--text:#f2f3f3;--muted:#91979a;--red:#c61b22;--ice:#b8c2c6;--border:#292f32}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;min-height:100%}
body{background:radial-gradient(circle at 85% -10%,rgba(184,194,198,.08),transparent 30%),var(--bg)}
button,input,textarea{font:inherit}
button,input,textarea{border-radius:6px}
.wrap{max-width:1100px;margin:auto;padding:24px 16px 60px}
.top{padding:24px 4px 22px;display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--red)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif}
h1{font-size:clamp(34px,8vw,58px);line-height:.95;margin:9px 0 10px;letter-spacing:-.03em}
.top p{margin:0;color:var(--muted);font-size:15px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.counter{border:1px solid var(--border);background:#101416;color:var(--ice);padding:10px 12px;border-radius:6px;font-size:13px;font-weight:800}
.primary,.danger,.ghost,.smallbtn{border:0;cursor:pointer;font-weight:850;padding:11px 14px}
.primary{background:linear-gradient(180deg,#d4242b,#a81116);color:#fff}
.primary:disabled{opacity:.45;cursor:not-allowed}
.ghost,.smallbtn{background:#171b1e;color:#edf0f1;border:1px solid #363c3f}
.smallbtn{padding:8px 10px;font-size:12px}
.danger{background:#241113;color:#ffb8bb;border:1px solid #6f252a}
.status{min-height:18px;color:var(--muted);font-size:12px;margin:4px 4px 14px}
.menu{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.session-btn{appearance:none;border:1px solid var(--border);background:#0e1113;color:#fff;text-align:left;border-radius:8px;padding:22px;min-height:135px;position:relative;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.session-btn:hover{border-color:#485154}
.session-btn span{display:block;font-size:23px;font-weight:850;letter-spacing:-.02em}
.session-btn small{display:block;color:var(--muted);margin-top:6px;font-size:14px;padding-right:35px}
.session-btn b{position:absolute;right:18px;bottom:17px;font-size:24px}
.empty{border:1px dashed #3a4245;background:#0d1113;border-radius:8px;padding:28px;text-align:center;color:var(--muted);grid-column:1/-1}
.empty strong{display:block;color:var(--text);font-size:17px;margin-bottom:6px}
.creator,.exercise-adder{display:none;border:1px solid var(--border);background:#0e1113;border-radius:8px;padding:18px;margin:0 0 14px}
.creator.active,.exercise-adder.active{display:block}
.creator h3,.exercise-adder h3{margin:0 0 14px;font-size:22px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field{display:grid;gap:6px}
.field.wide{grid-column:1/-1}
.field label{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.08em}
input,textarea{width:100%;background:#11171a;border:1px solid #30383b;color:#fff;padding:11px 12px}
textarea{resize:vertical;min-height:82px}
.formactions{display:flex;gap:8px;margin-top:12px}
.session{display:none}
.session.active{display:block}
.back{border:0;background:transparent;color:#b7bec8;padding:12px 0 20px;font-size:15px;cursor:pointer}
.session-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;border-bottom:1px solid #272c33;padding-bottom:20px;margin-bottom:14px}
.session-title span,.warmup span{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--red)}
h2{font-size:38px;letter-spacing:-.02em;margin:3px 0}
.session-title p{margin:0;color:var(--muted)}
.session-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.share-panel{display:none;margin:12px 0 4px;padding:14px;border:1px solid #31393d;background:#0d1215;border-radius:8px}
.share-panel.active{display:block}
.share-line{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.share-line input{min-width:0;background:#080c0e;border:1px solid #2c3438;color:#dce2e5;padding:10px 11px}
.share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.share-help{margin-top:8px;color:#7f898e;font-size:11px;line-height:1.45}
.readonly-banner{display:none;margin:4px 0 16px;border:1px solid #4b2e31;background:#190e10;color:#f2c7ca;border-radius:8px;padding:13px 15px;font-size:13px;font-weight:800}
.readonly-banner.active{display:block}

.count{font-size:35px;font-weight:850;text-align:center}
.count small{display:block;font-size:9px;color:#777f89;letter-spacing:.12em}
.warmup{background:#d9d4c5;color:#11151a;border-radius:8px;padding:18px;margin:18px 0}
.warmup span{display:block;margin-bottom:7px}
.warmup strong{display:block;font-size:16px;line-height:1.35}
.warmup small{display:block;color:#626a73;margin-top:7px}
.exercise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.exercise{border:1px solid var(--border);background:#0e1113;border-radius:8px;padding:17px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.ex-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
h3{margin:0;font-size:18px;line-height:1.15}
.rpe{white-space:nowrap;background:#242a31;padding:6px 8px;border-radius:6px;font-size:11px;font-weight:800}
.main-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0 14px}
.main-stats div{background:#0b0e11;border-radius:6px;padding:11px 8px;text-align:center}
.main-stats strong{display:block;font-size:20px}
.main-stats span{font-size:9px;color:#7f8790;letter-spacing:.1em;font-weight:800}
.details{display:flex;flex-direction:column;gap:6px;color:#aab1ba;font-size:13px}
.details b{color:#e9edf1;margin-right:5px}
.media-row{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.edit-panel{display:none;margin-top:14px;padding-top:14px;border-top:1px solid #252b2e}
.edit-panel.active{display:block}
.edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.edit-field{display:grid;gap:5px}
.edit-field.wide{grid-column:1/-1}
.edit-field label{font-size:10px;letter-spacing:.1em;font-weight:800;color:#7f8890}
.edit-field input,.edit-field textarea{background:#0a0e10;border:1px solid #30383b;color:#fff;padding:10px}
.edit-field textarea{min-height:76px;resize:vertical}
.edit-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.save-state{font-size:11px;color:#8f989d;align-self:center}

.exercise-adder{margin-top:12px}
.searchrow{display:grid;grid-template-columns:1fr auto;gap:8px}
.api-results{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.api-card{border:1px solid #2b3235;background:#111518;border-radius:8px;padding:13px}
.api-card h4{margin:0 0 7px;font-size:15px}
.api-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.api-actions{display:flex;gap:7px;margin-top:10px}
.source-note{font-size:11px;color:#697175;margin-top:10px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:18px;z-index:50}
.modal.active{display:flex}
.modal-card{width:min(680px,100%);max-height:90vh;overflow:auto;background:#0e1113;border:1px solid #343c40;border-radius:10px;padding:18px}
.modal-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.modal-top h3{font-size:24px}
.demo-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.demo-wrap{display:grid;gap:6px}.demo-wrap span{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.08em}.demo{display:block;width:100%;border-radius:8px;background:#050607;border:1px solid #2c3337}
.instructions{margin:14px 0 0;padding-left:20px;color:#d4d8da}
.instructions li{margin:8px 0;line-height:1.45}
.footer{text-align:center;color:#5f6872;font-size:11px;margin-top:30px}

@media(min-width:900px){.menu{grid-template-columns:repeat(4,1fr)}.session-btn{min-height:165px}}

/* section: berserkr-mobile-scale-v1822 */


/* section: berserkr-mobile-type-v1826 */



/* section: berserkr-training-mobile-v1827 */
/* Séances : sur téléphone on privilégie UNE seule colonne et la lisibilité. */


/* Même sur les grands téléphones / petits tablets : toujours une seule colonne. */




/* section: berserkr-training-mobile-hard-v1829 */
/* Hard mobile mode: the phone gets ONE exercise per row, full width. */
































































/* section: berserkr-training-desktop-24-v1834 */
@media(min-width:1200px){
  html,body{font-size:18px!important}
  .wrap{
    width:min(94vw,1500px)!important;
    max-width:1500px!important;
    padding:34px 28px 72px!important;
  }

  .top{
    padding:32px 4px 28px!important;
  }
  h1{
    font-size:64px!important;
  }
  .top p{
    font-size:18px!important;
  }
  .counter{
    padding:13px 16px!important;
    font-size:15px!important;
  }

  .menu{
    gap:16px!important;
  }
  .session-btn{
    min-height:190px!important;
    padding:24px!important;
  }

  .session-title h2{
    font-size:54px!important;
  }
  .session-title p{
    font-size:18px!important;
  }
  .session-actions button{
    min-height:48px!important;
    font-size:15px!important;
  }

  .warmup{
    padding:22px!important;
  }
  .warmup strong{
    font-size:19px!important;
  }
  .warmup small{
    font-size:14px!important;
  }

  .exercise-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .exercise{
    padding:22px!important;
  }
  .ex-head h3{
    font-size:24px!important;
  }
  .rpe{
    font-size:13px!important;
  }
  .main-stats{
    margin:20px 0 16px!important;
    gap:8px!important;
  }
  .main-stats div{
    padding:14px 10px!important;
  }
  .main-stats strong{
    font-size:25px!important;
  }
  .main-stats span{
    font-size:11px!important;
  }
  .details{
    font-size:15px!important;
    gap:7px!important;
  }
  .smallbtn,.media-row button{
    min-height:44px!important;
    padding:10px 13px!important;
    font-size:14px!important;
  }

  .creator,.exercise-adder{
    font-size:16px!important;
  }
  .formgrid input,.formgrid textarea,
  .searchrow input,.searchrow button,
  .edit-field input,.edit-field textarea{
    min-height:48px!important;
    font-size:16px!important;
  }

  .api-card{
    padding:18px!important;
  }
  .api-card h4{
    font-size:20px!important;
  }
}

/* section: berserkr-training-mobile-v1843 */

/* ====================== RESPONSIVE SÉANCES ====================== */
@media (max-width:900px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    font-size:18px!important;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  .wrap{
    width:100%!important;
    max-width:760px!important;
    margin:0 auto!important;
    padding:22px 12px 64px!important;
  }

  .top{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:24px 4px 20px!important;
  }
  .top h1{font-size:56px!important}
  .top p{
    font-size:19px!important;
    line-height:1.5!important;
  }
  .toolbar{
    width:100%!important;
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    gap:10px!important;
  }
  .counter{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:54px!important;
    padding:12px 14px!important;
    font-size:17px!important;
  }
  .toolbar .primary{
    width:100%!important;
    min-height:54px!important;
    font-size:17px!important;
  }

  .creator{padding:18px!important}
  .formgrid,
  .edit-grid{
    grid-template-columns:1fr!important;
  }
  .field.wide,
  .edit-field.wide{grid-column:auto!important}

  .menu{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .session-btn{
    width:100%!important;
    min-height:130px!important;
    padding:20px!important;
  }

  .session{
    width:100%!important;
    max-width:100%!important;
  }
  .session-title{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:16px!important;
    margin-bottom:18px!important;
  }
  .session-title h2{
    font-size:50px!important;
    line-height:1!important;
  }
  .session-title p{
    font-size:20px!important;
    line-height:1.45!important;
  }

  .session-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    align-items:stretch!important;
  }
  .session-actions .count{
    grid-column:1/-1!important;
    min-height:64px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
  }
  .session-actions .count span{font-size:26px!important}
  .session-actions .count small{font-size:12px!important}
  .session-actions button{
    width:100%!important;
    min-height:50px!important;
    font-size:17px!important;
  }

  .share-line,
  .searchrow{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .share-line button,
  .searchrow button{width:100%!important}

  .warmup{
    padding:18px!important;
    margin-bottom:18px!important;
    border-radius:10px!important;
  }
  .warmup strong{
    display:block!important;
    margin-top:6px!important;
    font-size:21px!important;
    line-height:1.45!important;
  }
  .warmup small{
    display:block!important;
    margin-top:6px!important;
    font-size:16px!important;
  }

  .exercise-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:100%!important;
  }
  .exercise{
    width:100%!important;
    min-width:0!important;
    padding:22px 18px!important;
    border-radius:12px!important;
  }
  .ex-head{
    gap:12px!important;
    align-items:center!important;
  }
  .ex-head h3{
    font-size:32px!important;
    line-height:1.15!important;
  }
  .rpe{
    padding:8px 10px!important;
    font-size:15px!important;
  }

  .main-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin:20px 0 17px!important;
  }
  .main-stats div{
    min-width:0!important;
    padding:15px 8px!important;
  }
  .main-stats strong{
    font-size:30px!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important;
  }
  .main-stats span{font-size:12px!important}

  .details,
  .details b{
    font-size:18px!important;
    line-height:1.5!important;
  }

  .smallbtn,
  .media-row button{
    min-height:50px!important;
    font-size:17px!important;
  }

  .edit-field label{font-size:14px!important}
  .edit-field input,
  .edit-field textarea,
  .searchrow input,
  .searchrow button{
    min-height:54px!important;
    font-size:18px!important;
  }

  .api-results{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .modal{padding:12px!important}
  .modal-card{
    width:100%!important;
    max-width:760px!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:auto!important;
  }
  .demo-pair{grid-template-columns:1fr!important}
}

@media (max-width:430px){
  html,body{font-size:17px!important}
  .top h1{font-size:48px!important}
  .top p{font-size:17px!important}

  .toolbar{grid-template-columns:1fr!important}
  .session-title h2{font-size:44px!important}
  .session-title p{font-size:18px!important}

  .session-actions{grid-template-columns:1fr!important}
  .session-actions .count{grid-column:auto!important}

  .ex-head h3{font-size:27px!important}
  .rpe{font-size:13px!important}
  .main-stats strong{font-size:25px!important}
  .details,
  .details b{font-size:16px!important}
}

/* Grand écran : deux exercices par ligne. */
@media (min-width:1200px){
  .exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ==========================================================
   BERSERKR V18.65 — SÉANCES MOBILE PLUS COMPACTES
   On garde 1 exercice par ligne, mais avec un zoom visuel réduit.
   ========================================================== */
@media (max-width:900px){
  html,body{
    font-size:16px!important;
  }

  .wrap{
    max-width:720px!important;
    padding:16px 10px 48px!important;
  }

  .top{
    gap:12px!important;
    padding:18px 2px 16px!important;
  }
  .top h1{
    font-size:44px!important;
  }
  .top p{
    font-size:16px!important;
    line-height:1.45!important;
  }

  .counter{
    min-height:46px!important;
    padding:10px 12px!important;
    font-size:14px!important;
  }
  .toolbar .primary{
    min-height:46px!important;
    font-size:15px!important;
  }

  .session-title{
    gap:12px!important;
    margin-bottom:14px!important;
  }
  .session-title h2{
    font-size:38px!important;
    line-height:1!important;
  }
  .session-title p{
    font-size:16px!important;
    line-height:1.4!important;
  }

  .session-actions{
    gap:7px!important;
  }
  .session-actions .count{
    min-height:54px!important;
  }
  .session-actions .count span{
    font-size:22px!important;
  }
  .session-actions .count small{
    font-size:10px!important;
  }
  .session-actions button{
    min-height:44px!important;
    padding:10px!important;
    font-size:14px!important;
  }

  .warmup{
    padding:15px!important;
    margin-bottom:14px!important;
  }
  .warmup span{
    font-size:10px!important;
  }
  .warmup strong{
    margin-top:4px!important;
    font-size:17px!important;
    line-height:1.4!important;
  }
  .warmup small{
    margin-top:4px!important;
    font-size:13px!important;
  }

  .exercise-grid{
    gap:12px!important;
  }

  .exercise{
    padding:16px!important;
    border-radius:10px!important;
  }

  .ex-head{
    gap:8px!important;
  }
  .ex-head h3{
    font-size:23px!important;
    line-height:1.15!important;
  }
  .rpe{
    padding:6px 8px!important;
    font-size:12px!important;
  }

  .main-stats{
    gap:6px!important;
    margin:14px 0 12px!important;
  }
  .main-stats div{
    padding:11px 6px!important;
  }
  .main-stats strong{
    font-size:22px!important;
    line-height:1.1!important;
  }
  .main-stats span{
    font-size:9px!important;
  }

  .details,
  .details b{
    font-size:14px!important;
    line-height:1.45!important;
  }
  .details{
    gap:6px!important;
  }

  .media-row{
    margin-top:12px!important;
    gap:7px!important;
  }
  .smallbtn,
  .media-row button{
    min-height:40px!important;
    padding:8px 11px!important;
    font-size:13px!important;
  }

  .edit-field label{
    font-size:11px!important;
  }
  .edit-field input,
  .edit-field textarea,
  .searchrow input,
  .searchrow button{
    min-height:46px!important;
    font-size:16px!important;
  }

  .api-card{
    padding:12px!important;
  }
}

@media (max-width:430px){
  html,body{
    font-size:15.5px!important;
  }

  .wrap{
    padding-left:9px!important;
    padding-right:9px!important;
  }

  .top h1{
    font-size:40px!important;
  }
  .top p{
    font-size:15px!important;
  }

  .session-title h2{
    font-size:36px!important;
  }
  .session-title p{
    font-size:15px!important;
  }

  .exercise{
    padding:14px!important;
  }
  .ex-head h3{
    font-size:22px!important;
  }
  .rpe{
    font-size:11px!important;
  }

  .main-stats strong{
    font-size:21px!important;
  }

  .details,
  .details b{
    font-size:14px!important;
  }
}

/* V18.65 — métadonnées RepDB lisibles en français */
.api-meta{
  display:grid!important;
  gap:4px!important;
}
.api-meta span{
  display:block!important;
}
.api-meta b{
  color:#e9edf1!important;
  font-weight:800!important;
  margin-right:4px!important;
}

/* V18.65 — recherche d'exercices refermable */
.exercise-adder-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.exercise-adder-head h3{
  margin:0;
}
@media(max-width:430px){
  .exercise-adder-head{
    align-items:center;
  }
  .exercise-adder-head .smallbtn{
    min-height:40px!important;
    font-size:13px!important;
  }
}

/* V18.65 — import intégré directement dans Mes séances */
.program-importer{
  display:none;
  border:1px solid var(--border);
  background:#0e1113;
  border-radius:10px;
  padding:18px;
  margin:0 0 16px;
}
.program-importer.active{display:block}
.program-importer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.program-importer-head h3{
  margin:4px 0 0;
  font-size:24px;
}
.program-importer-intro{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.55;
}
.program-importer-file{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
#programFile{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.import-file-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 14px;
  border-radius:6px;
  cursor:pointer;
  font-weight:850;
}
.import-format{
  margin-top:10px;
  color:#727b80;
  font-size:11px;
  line-height:1.5;
}
.import-preview{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.import-session{
  border:1px solid #2b3134;
  border-radius:9px;
  background:#090c0e;
  overflow:hidden;
}
.import-session-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 15px;
  border-bottom:1px solid #242a2d;
}
.import-session-head h4{
  margin:0;
  font:700 18px Georgia,'Times New Roman',serif;
}
.import-session-head small{
  display:block;
  margin-top:4px;
  color:#7f888d;
  line-height:1.4;
}
.import-session-count{
  color:#aeb5b8;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.import-exercises{display:grid}
.import-exercise{
  display:grid;
  grid-template-columns:minmax(180px,1.05fr) minmax(220px,1fr);
  gap:14px;
  padding:13px 15px;
  border-bottom:1px solid #1e2427;
}
.import-exercise:last-child{border-bottom:0}
.import-original strong{
  display:block;
  font-size:14px;
}
.import-original small{
  display:block;
  margin-top:5px;
  color:#7f888d;
  line-height:1.4;
  font-size:11px;
}
.import-badge{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
}
.import-badge.ok{
  background:rgba(48,145,88,.15);
  border:1px solid rgba(75,184,112,.35);
  color:#93d4a9;
}
.import-badge.warn{
  background:rgba(216,155,61,.12);
  border:1px solid rgba(216,155,61,.35);
  color:#dfbb77;
}
.import-badge.missing{
  background:rgba(198,27,34,.13);
  border:1px solid rgba(198,27,34,.4);
  color:#efa0a4;
}
.import-badge.ignored{
  background:#171c1f;
  border:1px solid #333a3e;
  color:#939ca1;
}
.import-match-name{
  display:block;
  margin-top:7px;
  color:#dfe3e5;
  font-weight:800;
  font-size:13px;
}
.import-resolver{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  margin-top:8px;
}
.import-resolver input,
.import-resolver select,
.import-choice{
  width:100%;
  min-width:0;
  background:#080b0c;
  color:#eef0f1;
  border:1px solid #30373a;
  border-radius:6px;
  padding:9px 10px;
}
.import-mini-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:8px;
}
.import-mini{
  border:1px solid #353d41;
  border-radius:6px;
  background:#151a1d;
  color:#e7e9ea;
  padding:8px 10px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.import-mini.primary{
  background:#b9131b;
  border-color:#d52a32;
  color:#fff;
}
.import-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.import-actions[hidden]{display:none!important}
.import-summary{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:2px;
}
.import-summary span{
  border:1px solid #2c3336;
  border-radius:999px;
  padding:6px 8px;
  color:#9ba3a6;
  font-size:10px;
  font-weight:800;
}
.import-limit-warning{
  padding:10px 12px;
  border:1px solid rgba(198,27,34,.45);
  border-radius:7px;
  background:rgba(198,27,34,.08);
  color:#e0a0a3;
  font-size:12px;
  line-height:1.45;
}
@media(max-width:900px){
  .program-importer{padding:15px}
  .import-exercise{grid-template-columns:1fr}
}
@media(max-width:430px){
  .program-importer-head,
  .import-session-head{flex-direction:column}
  .import-resolver{grid-template-columns:1fr}
  .import-resolver button{width:100%}
}

/* V18.65 — validation d'une séance réalisée */
.session-complete-btn{
  border:1px solid #486a53;
  background:#142018;
  color:#bce4c7;
  cursor:pointer;
  font-weight:850;
  padding:11px 14px;
}
.session-complete-btn:hover{
  border-color:#60906f;
  background:#19271e;
}
.session-complete-btn.completed,
.session-complete-btn:disabled{
  border-color:#365541;
  background:#101a14;
  color:#8fc49d;
  opacity:1;
  cursor:default;
}
.session-complete-status{
  min-height:18px;
  margin:0 0 10px;
  color:#8fc49d;
  font-size:12px;
  font-weight:700;
}
@media(max-width:900px){
  .session-complete-btn{
    width:100%!important;
    min-height:44px!important;
    padding:10px!important;
    font-size:14px!important;
  }
}

/* CSP style hardening utilities */
[hidden]{display:none!important}
.u-mt10{margin-top:10px}
.u-mt11{margin-top:11px}
.u-mt14{margin-top:14px}
.u-mt18{margin-top:18px}
.u-flex1{flex:1}
.status-error{color:#d98686!important}

.status-muted{color:#91979a!important}
.repdb-link{color:#8d969a}
.clipboard-proxy{position:fixed;opacity:0;pointer-events:none;left:-9999px;top:0}
