/* refresh-components.css — composants back-office du refresh (gated body.ui-refresh).
   Rempli au fil des tâches : KPI, cartes-groupe, datatable, formulaires, paiement, onglets. */

/* ===================== Bandeau de page ===================== */
body.ui-refresh .page-head{ background:transparent; border:0; padding:0 0 18px; margin:0; }
body.ui-refresh .page-head h3{ font-family:"Archivo",sans-serif; font-size:24px; font-weight:700; color:var(--ink); margin:0; }

/* ===================== Panneaux génériques ===================== */
body.ui-refresh .panel{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius-card); box-shadow:var(--shadow-card);
}
body.ui-refresh .panel .panel-heading{
  background:var(--panel-2); border-bottom:1px solid var(--line-soft);
  font-family:"Archivo",sans-serif; font-weight:700; border-radius:var(--radius-card) var(--radius-card) 0 0;
}

/* ===================== Cartes KPI ===================== */
body.ui-refresh .state-overview .panel{
  display:flex; align-items:center; gap:14px; padding:16px 18px; min-height:94px;
  border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow-card);
}
body.ui-refresh .state-overview .panel .symbol{ float:none; margin:0; padding:0; border:0; background:none; }
body.ui-refresh .state-overview .panel .symbol span{
  width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:20px;
}
body.ui-refresh .state-overview .panel .value{ padding:0; overflow:hidden; }
body.ui-refresh .state-overview .panel .value h1{
  font-family:"Archivo",sans-serif; font-size:30px; font-weight:700; line-height:1.05; margin:0; color:var(--ink);
}
body.ui-refresh .state-overview .panel .value p{ color:var(--ink-2); font-size:13px; margin:4px 0 0; }
body.ui-refresh .state-overview .panel .value small{ color:var(--ink-3); }
/* Couleurs d'icônes alignées sur les tokens (les bg-* FlatLab sont gardés mais recalés) */
body.ui-refresh .state-overview .bg-success{ background:var(--green); }
body.ui-refresh .state-overview .bg-warning{ background:var(--yellow); }
body.ui-refresh .state-overview .bg-danger{ background:var(--red); }
body.ui-refresh .state-overview .bg-info{ background:var(--cyan); }
body.ui-refresh .state-overview .bg-purple{ background:var(--violet); }

/* ===================== Cartes article (accueil) ===================== */
body.ui-refresh .article-principal{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-card);
  box-shadow:var(--shadow-card); padding:20px 22px; margin-bottom:22px;
}
body.ui-refresh .article-principal h3{ font-family:"Archivo",sans-serif; font-weight:700; margin-top:0; }
body.ui-refresh .article-principal hr{ display:none; }
body.ui-refresh .article-encart{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-card);
  box-shadow:var(--shadow-card); overflow:hidden; margin-bottom:22px;
}
body.ui-refresh .article-encart .panel-heading{ padding:12px 16px; }
body.ui-refresh .article-encart .panel-body{ padding:16px; }

/* ===================== Variante TEINTÉE ===================== */
/* Cartes KPI : fond + bordure teintés par couleur (clés = classes FlatLab *-border) */
body.ui-refresh .state-overview .panel.g-border{ background:#eafaf4; border:1px solid #cdeee1; }
body.ui-refresh .state-overview .panel.y-border{ background:#fdf6df; border:1px solid #f4e7b0; }
body.ui-refresh .state-overview .panel.r-border{ background:#fdecee; border:1px solid #f6cdd2; }
body.ui-refresh .state-overview .panel.b-border{ background:#e6f7fc; border:1px solid #c2e9f4; }
body.ui-refresh .state-overview .panel.p-border{ background:#f3edfa; border:1px solid #e2d2f1; }
/* Pastille d'icône : 54px + ombre douce */
body.ui-refresh .state-overview .panel .symbol span{ width:54px; height:54px; box-shadow:0 6px 16px -6px rgba(0,0,0,.3); }
body.ui-refresh .state-overview .panel.y-border .symbol span{ color:#5a4800; }

/* Cartes de hauteur égale en BS3 (override du float) */
body.ui-refresh .row.state-overview{ display:flex; flex-wrap:wrap; }
body.ui-refresh .row.state-overview > [class*="col-"]{ display:flex; float:none; }
/* garder masquée la tuile BilletTP (le display:flex ci-dessus annulait son display:none) */
body.ui-refresh .row.state-overview > [class*="col-"].BilletTP{ display:none; }
body.ui-refresh .row.state-overview > [class*="col-"] > a{ display:flex; flex:1; text-decoration:none; }
body.ui-refresh .row.state-overview .panel{ width:100%; margin-bottom:0; }
@media (max-width:1100px){ body.ui-refresh .row.state-overview > [class*="col-"]{ width:50%; } }
@media (max-width:820px){ body.ui-refresh .row.state-overview > [class*="col-"]{ width:100%; } }

/* Section Administration encadrée */
body.ui-refresh .admin-section{
  margin-top:18px; padding:14px 16px 18px; border-radius:18px; border:1px solid #e2d2f1;
  background:linear-gradient(180deg, rgba(128,85,181,.10), rgba(128,85,181,.03));
}
body.ui-refresh .admin-label{ display:flex; align-items:center; gap:10px; margin:2px 4px 14px; flex-wrap:wrap; }
body.ui-refresh .admin-label .dot{ width:9px; height:9px; border-radius:50%; background:#8055b5; box-shadow:0 0 0 4px rgba(128,85,181,.16); }
body.ui-refresh .admin-label .txt{ font-family:"Archivo",sans-serif; font-weight:700; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:#6f44a3; }
body.ui-refresh .admin-label .hint{ font-size:12px; color:#878e99; }
body.ui-refresh .admin-label .lock{ margin-left:auto; display:flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; color:#6f44a3; background:#fff; border:1px solid rgba(128,85,181,.25); padding:4px 10px; border-radius:20px; }
/* Espace + alignement de la grille d'encarts (marche a suivre / annonces) sous la zone admin */
body.ui-refresh .r-accueil-grid{ margin-top:22px; }

/* Habillage colonne de droite + composants de texte (prêts pour le gabarit article) */
body.ui-refresh .aside-head{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:10px; }
/* Eyebrow : pill d'accroche (icone optionnelle a gauche) */
body.ui-refresh .eyebrow{ display:inline-flex; align-items:center; gap:6px; background:#fdecee; border:1px solid #f7d2d6; color:#d8323f; border-radius:30px; padding:5px 14px; font-size:12.5px; font-weight:600; margin-bottom:14px; }
/* Callout : encart d'alerte (rouge). <div class="callout"><i class="fa fa-exclamation-triangle"></i><div>...</div></div> */
body.ui-refresh .callout{ display:flex; gap:10px; background:#fdecee; border:1px solid #f6cdd2; border-radius:12px; padding:12px 14px; margin:14px 0; color:#7a2630; }
body.ui-refresh .callout > .fa{ color:#d8323f; font-size:18px; flex:0 0 auto; margin-top:2px; }
/* Note : encart neutre */
body.ui-refresh .note{ background:#f6f7f9; border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin:14px 0; }
/* Steps : <ol class="steps"> a pastilles numerotees */
body.ui-refresh ol.steps{ list-style:none; counter-reset:step; padding-left:0; margin:14px 0; }
body.ui-refresh ol.steps > li{ position:relative; counter-increment:step; padding-left:44px; margin-bottom:14px; min-height:30px; }
body.ui-refresh ol.steps > li::before{ content:counter(step); position:absolute; left:0; top:-2px; width:30px; height:30px; border-radius:50%; background:#fff; border:1px solid var(--line); color:var(--violet-deep); font-family:"Archivo",sans-serif; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-card); }
/* Variante violette pleine pour les "options" principales */
body.ui-refresh ol.steps.steps-violet > li::before{ background:var(--violet); border-color:var(--violet); color:#fff; box-shadow:none; }

/* Hover uniforme cartes/tuiles */
body.ui-refresh .state-overview .panel, body.ui-refresh .article-principal, body.ui-refresh .article-encart{ transition:transform .15s, box-shadow .15s; }
body.ui-refresh .state-overview .panel:hover, body.ui-refresh .article-encart:hover{ transform:translateY(-2px); box-shadow:var(--shadow-pop); }

/* ===================== DataTables (theme violet) ===================== */
body.ui-refresh .dataTables_wrapper .dataTables_filter input,
body.ui-refresh .dataTables_wrapper .dataTables_length select{ border:1px solid var(--line); border-radius:9px; box-shadow:none; }
body.ui-refresh table.dataTable thead th{ border-bottom:2px solid var(--line); color:var(--ink-2); font-weight:700; }
body.ui-refresh table.dataTable thead th.sorting_asc, body.ui-refresh table.dataTable thead th.sorting_desc{ color:var(--violet-deep); }
body.ui-refresh .pagination > li > a{ color:var(--violet-deep); }
body.ui-refresh .pagination > .active > a,
body.ui-refresh .pagination > .active > a:hover,
body.ui-refresh .pagination > .active > a:focus{ background:var(--violet); border-color:var(--violet); color:#fff; }

/* ===================== Connexion ===================== */
body.login-body.ui-refresh{ background:var(--app-bg); min-height:100vh; margin:0; }
body.login-body.ui-refresh .login-logo{ background:var(--surface); text-align:center; padding:22px; margin:0; }
body.login-body.ui-refresh .login-logo img{ max-width:260px; width:60%; height:auto; }
body.login-body.ui-refresh .form-heading{
  background:var(--side-bg); color:#fff; text-align:center; margin:0; padding:22px 16px;
  font-family:"Archivo",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:22px;
}
body.login-body.ui-refresh .form-heading small{
  display:block; text-transform:none; letter-spacing:0; font-weight:400; font-size:12.5px;
  color:#9aa1ab; margin-top:6px; font-family:"Public Sans",sans-serif;
}
body.login-body.ui-refresh .log-row{ max-width:404px; margin:28px auto; }
body.login-body.ui-refresh .login-field{ position:relative; }
body.login-body.ui-refresh .login-field > i{ position:absolute; left:15px; top:18px; color:var(--ink-3); }
body.login-body.ui-refresh .form-control{
  border:1px solid var(--line); border-radius:11px; padding:14px 14px 14px 44px; margin-bottom:12px;
  box-shadow:none; height:auto;
}
body.login-body.ui-refresh .form-control:focus{ border-color:var(--violet); box-shadow:0 0 0 3px rgba(128,85,181,.14); }
body.login-body.ui-refresh .btn-success.btn-block{
  background:linear-gradient(180deg,#2fc792,#1da877); border:0; border-radius:11px; padding:13px; font-weight:700;
}
body.login-body.ui-refresh .form-signin a.pull-right{ color:var(--ink-2); text-decoration:none; }
body.login-body.ui-refresh .registration .btn-info{
  background:#eaf4fd; border:1px solid #bfdcf6; color:#2c70b0; border-radius:11px; padding:12px; font-weight:600;
}

/* ===================== MODALE coureur (.esc-modal) =====================
   Refonte visuelle des popups d'inscription (handoff design, section MODAL de backoffice.css).
   ACCENT = VERT (le violet reste réservé à la zone Admin). Densité compacte bakée directement
   (écart assumé : pas de bascule dense/ultra par classe, un seul niveau livré). Scopé .esc-modal. */

/* Carte + backdrop : header/onglets/pied fixes, seul le corps défile. */
body.ui-refresh .esc-modal .modal-dialog{ width:840px; max-width:calc(100% - 40px); margin:38px auto; }
body.ui-refresh .esc-modal .modal-content{
  border:0; border-radius:16px; overflow:hidden; background:var(--surface);
  box-shadow:0 30px 80px -24px rgba(10,12,24,.6);
  display:flex; flex-direction:column; max-height:calc(100vh - 76px);
}
body.ui-refresh .esc-modal .modal-content > form{ display:flex; flex-direction:column; min-height:0; flex:1 1 auto; }
body.ui-refresh .modal-backdrop.in{ opacity:.55; }

/* En-tête sobre : pastille verte + titre Archivo + chip vert du groupe + fermer fantôme */
body.ui-refresh .esc-modal .modal-header{
  display:flex; align-items:center; gap:11px; padding:11px 18px; margin:0;
  background:var(--surface); border-bottom:1px solid var(--line); border-radius:16px 16px 0 0;
}
body.ui-refresh .esc-modal .modal-header .close{ display:none; }
body.ui-refresh .esc-modal .m-ico{
  width:34px; height:34px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:16px; background:linear-gradient(160deg,#2fc792,#1da877); box-shadow:0 8px 18px -8px rgba(29,168,119,.55);
}
body.ui-refresh .esc-modal .m-head-txt{ display:flex; flex-direction:column; min-width:0; }
body.ui-refresh .esc-modal .modal-title.m-title{ font-family:"Archivo",sans-serif; font-weight:700; font-size:16px; color:var(--ink); margin:0; line-height:1.2; }
body.ui-refresh .esc-modal .m-chip{
  display:inline-flex; align-items:center; gap:6px; margin-top:3px; align-self:flex-start; max-width:100%;
  font-size:12px; font-weight:600; color:#157a55; background:#eafaf4; border:1px solid #cdeee1; padding:2px 10px; border-radius:20px;
}
body.ui-refresh .esc-modal .m-chip strong{ font-weight:700; }
body.ui-refresh .esc-modal .m-close{
  margin-left:auto; width:34px; height:34px; border:0; background:transparent; border-radius:10px; cursor:pointer;
  color:var(--ink-3); display:flex; align-items:center; justify-content:center; font-size:18px; flex:0 0 auto;
}
body.ui-refresh .esc-modal .m-close:hover{ background:var(--panel-2); color:var(--ink); }

/* Onglets BS3 (nav-tabs nav-justified) restylés en bande à soulignement vert */
body.ui-refresh .esc-modal .isolate-tabs > .nav-tabs{
  display:flex; gap:4px; padding:0 16px; margin:0; border-bottom:1px solid var(--line); background:var(--panel-2);
}
body.ui-refresh .esc-modal .isolate-tabs > .nav-tabs > li{ display:block; float:none; width:auto; margin-bottom:-1px; }
body.ui-refresh .esc-modal .isolate-tabs > .nav-tabs > li > a{
  border:0; border-radius:0; background:transparent; color:var(--ink-3); font-weight:600; font-size:13px;
  padding:9px 14px; margin:0; border-bottom:2.5px solid transparent;
}
body.ui-refresh .esc-modal .isolate-tabs > .nav-tabs > li > a:hover{ background:transparent; color:var(--ink-2); border-bottom-color:transparent; }
body.ui-refresh .esc-modal .isolate-tabs > .nav-tabs > li.active > a,
body.ui-refresh .esc-modal .isolate-tabs > .nav-tabs > li.active > a:hover,
body.ui-refresh .esc-modal .isolate-tabs > .nav-tabs > li.active > a:focus{
  color:#157a55; background:transparent; border:0; border-bottom:2.5px solid var(--green);
}

/* Corps scrollable + neutralisation du panel-body interne */
body.ui-refresh .esc-modal .modal-body{ padding:13px 16px; overflow-y:auto; flex:1 1 auto; min-height:0; }
body.ui-refresh .esc-modal .modal-body .isolate-tabs{ margin:-13px -16px 0; }
body.ui-refresh .esc-modal .modal-body .isolate-tabs > .panel-body{ padding:14px 16px; background:transparent; }

/* Pied : Fermer (ghost) + Enregistrer (rouge) à droite */
body.ui-refresh .esc-modal .modal-footer{
  display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:0;
  padding:11px 18px; border-top:1px solid var(--line); background:var(--surface); border-radius:0 0 16px 16px;
}
body.ui-refresh .esc-modal .modal-footer .btn{ margin:0; }

/* Boutons (base + variantes, transposés du handoff, scopés modale) */
body.ui-refresh .esc-modal .btn{
  display:inline-flex; align-items:center; gap:8px; border:0; border-radius:10px; cursor:pointer;
  font-weight:600; font-size:13px; padding:8px 14px; box-shadow:none; transition:filter .14s, box-shadow .14s;
}
body.ui-refresh .esc-modal .btn-ghost{ background:var(--surface); color:var(--ink-2); border:1px solid var(--line); }
body.ui-refresh .esc-modal .btn-ghost:hover{ background:var(--panel-2); color:var(--ink); }
body.ui-refresh .esc-modal .btn-red{ background:linear-gradient(160deg,#ec5b66,var(--red-deep)); color:#fff; box-shadow:0 8px 20px -8px rgba(216,50,63,.6); }
body.ui-refresh .esc-modal .btn-red:hover{ filter:brightness(1.05); color:#fff; }
body.ui-refresh .esc-modal .btn-green{ background:linear-gradient(160deg,#2fc792,#1da877); color:#fff; box-shadow:0 8px 20px -8px rgba(29,168,119,.5); }
body.ui-refresh .esc-modal .btn-green:hover{ filter:brightness(1.05); color:#fff; }
body.ui-refresh .esc-modal .btn-sm{ padding:6px 11px; font-size:12.5px; border-radius:9px; }

/* --- Composants du corps (prêts pour le lot b : recall, champs, courses, options) --- */
/* Bloc "reprendre une inscription" (vert teinté) */
body.ui-refresh .esc-modal .recall{ background:#eafaf4; border:1px solid #cdeee1; border-radius:10px; padding:11px 13px; margin-bottom:14px; }
body.ui-refresh .esc-modal .recall .rc-head{ display:flex; align-items:center; gap:9px; margin-bottom:6px; }
body.ui-refresh .esc-modal .recall .rc-head .ic{ color:#157a55; }
body.ui-refresh .esc-modal .recall .rc-head .t{ font-weight:700; font-size:13px; color:#157a55; }
body.ui-refresh .esc-modal .recall .rc-text{ font-size:12.5px; color:var(--ink-2); margin:0 0 10px; line-height:1.5; }
body.ui-refresh .esc-modal .recall .rc-row{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
body.ui-refresh .esc-modal .recall .rc-or{ font-size:13px; color:var(--ink-3); font-weight:600; padding:0 2px; }
body.ui-refresh .esc-modal .recall .fc{ min-width:0; }
body.ui-refresh .esc-modal .recall .fc.ds{ max-width:120px; }
body.ui-refresh .esc-modal .recall .fc.nm{ flex:1 1 150px; }

/* Titres de section */
body.ui-refresh .esc-modal .modal-section-h{
  font-family:"Archivo",sans-serif; font-weight:700; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-3); margin:0 0 8px; display:flex; align-items:center; gap:8px;
}
body.ui-refresh .esc-modal .modal-section-h.gap{ margin-top:14px; }
body.ui-refresh .esc-modal .modal-section-h::before{ content:""; width:3px; height:13px; border-radius:3px; background:var(--green); }

/* Grille de champs + champs .fc / .fc-select (focus vert) */
body.ui-refresh .esc-modal .fgrid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px 14px; margin-bottom:8px; }
body.ui-refresh .esc-modal .f{ display:flex; flex-direction:column; gap:3px; min-width:0; }
body.ui-refresh .esc-modal .f.span2{ grid-column:span 2; }
body.ui-refresh .esc-modal .f.span3{ grid-column:1 / -1; }
body.ui-refresh .esc-modal .f > label{ font-size:11.5px; font-weight:600; color:var(--ink-2); }
body.ui-refresh .esc-modal .f .req{ color:var(--red); }
body.ui-refresh .esc-modal .f-duo{ display:grid; grid-template-columns:70px 1fr; gap:7px; }
body.ui-refresh .esc-modal .fc,
body.ui-refresh .esc-modal .fc-select{
  border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink);
  padding:5px 11px; font-size:13px; font-family:inherit; outline:none; width:100%;
  transition:border-color .14s, box-shadow .14s;
}
body.ui-refresh .esc-modal .fc:focus,
body.ui-refresh .esc-modal .fc-select:focus{ border-color:var(--green); box-shadow:0 0 0 3px rgba(34,185,133,.18); }
body.ui-refresh .esc-modal .fc[disabled],
body.ui-refresh .esc-modal .fc-select[disabled]{ background:var(--panel-2); color:var(--ink-3); }

/* Table des courses (pastille n° verte) */
body.ui-refresh .esc-modal .course-table{ margin:13px 0 4px; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
body.ui-refresh .esc-modal .course-table .ct-head,
body.ui-refresh .esc-modal .course-table .ct-row{ display:grid; grid-template-columns:40px 1.4fr 1.4fr .8fr 1.1fr; align-items:center; gap:10px; padding:6px 12px; }
body.ui-refresh .esc-modal .course-table .ct-head{ background:var(--panel-2); border-bottom:1px solid var(--line); font-size:11px; font-weight:700; color:var(--ink-2); text-transform:uppercase; letter-spacing:.03em; }
body.ui-refresh .esc-modal .course-table .ct-row{ border-bottom:1px solid var(--line-soft); }
body.ui-refresh .esc-modal .course-table .ct-row:last-child{ border-bottom:0; }
body.ui-refresh .esc-modal .course-table .ct-n{ width:20px; height:20px; border-radius:6px; background:#eafaf4; color:#157a55; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:10.5px; }
body.ui-refresh .esc-modal .course-table .muted{ color:var(--ink-3); font-size:13px; }

/* Options en lignes + segment Oui/Non (Oui=vert, Non=gris) */
body.ui-refresh .esc-modal .opts-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:13px; }
body.ui-refresh .esc-modal .opt{ border:1px solid var(--line); border-radius:9px; padding:6px 9px; background:var(--surface); display:flex; align-items:center; gap:8px; }
body.ui-refresh .esc-modal .opt .opt-h{ display:flex; align-items:center; gap:6px; font-weight:700; font-size:12px; color:var(--ink); flex:1 1 auto; line-height:1.3; }
body.ui-refresh .esc-modal .info-badge{ width:16px; height:16px; border-radius:5px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:var(--green); color:#fff; font-size:10px; font-weight:800; cursor:help; margin-left:auto; }
body.ui-refresh .esc-modal .seg-yn{ display:inline-flex; border:1px solid var(--line); border-radius:9px; overflow:hidden; flex:0 0 auto; }
body.ui-refresh .esc-modal .seg-yn label{ margin:0; }
body.ui-refresh .esc-modal .seg-yn input{ position:absolute; opacity:0; pointer-events:none; }
body.ui-refresh .esc-modal .seg-yn .opt-btn{ display:block; text-align:center; padding:5px 12px; font-size:12px; font-weight:600; color:var(--ink-2); cursor:pointer; background:var(--surface); border-right:1px solid var(--line); transition:.12s; }
body.ui-refresh .esc-modal .seg-yn label:last-child .opt-btn{ border-right:0; }
body.ui-refresh .esc-modal .seg-yn label:hover .opt-btn{ background:var(--panel-2); }
body.ui-refresh .esc-modal .seg-yn input:checked + .opt-btn{ background:var(--green); color:#fff; }
body.ui-refresh .esc-modal .seg-yn input:checked + .opt-btn[data-v="non"]{ background:#7a828e; color:#fff; }

/* --- Mode édition (lot c) : champs verrouillés + panneau 2e relayeur --- */
body.ui-refresh .esc-modal .lock-note{ display:flex; align-items:flex-start; gap:10px; background:#eef5fb; border:1px solid #d3e4f3; border-left:3px solid #4a8fd6; border-radius:9px; padding:8px 11px; margin-bottom:12px; font-size:12px; color:#3a566f; font-style:italic; }
body.ui-refresh .esc-modal .lock-note .ic{ color:#4a8fd6; flex:0 0 auto; margin-top:1px; }
body.ui-refresh .esc-modal .f.locked > label{ color:var(--ink-3); }
body.ui-refresh .esc-modal .fc.locked,
body.ui-refresh .esc-modal .fc-select.locked{ background:var(--panel-2); color:var(--ink-3); cursor:not-allowed; }
body.ui-refresh .esc-modal .relay-panel{ background:#fdf6df; border:1px solid #f0dca0; border-left:4px solid var(--yellow); padding:9px 12px; }
body.ui-refresh .esc-modal .relay-head{ display:flex; align-items:center; gap:9px; margin-bottom:8px; }
body.ui-refresh .esc-modal .relay-head .ic{ color:#b8920a; flex:0 0 auto; }
body.ui-refresh .esc-modal .relay-head .t{ font-family:"Archivo",sans-serif; font-weight:700; color:#8a6a00; font-size:13px; }
body.ui-refresh .esc-modal .relay-head .ln{ font-size:12px; color:#a8862a; font-weight:600; }
body.ui-refresh .esc-modal .relay-grid{ display:grid; grid-template-columns:1fr 1fr; gap:6px 16px; }
body.ui-refresh .esc-modal .rf{ display:grid; grid-template-columns:84px 1fr; align-items:center; gap:7px; min-width:0; }
body.ui-refresh .esc-modal .rf > label{ font-size:11.5px; font-weight:600; color:#7a5f12; text-align:right; }
body.ui-refresh .esc-modal .rf.team{ grid-column:1 / -1; grid-template-columns:132px minmax(0,260px); justify-content:center; }

/* Responsive modale */
@media (max-width:820px){
  body.ui-refresh .esc-modal .fgrid{ grid-template-columns:1fr 1fr; }
  body.ui-refresh .esc-modal .opts-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  body.ui-refresh .esc-modal .fgrid{ grid-template-columns:1fr; }
  body.ui-refresh .esc-modal .f.span2,
  body.ui-refresh .esc-modal .f.span3{ grid-column:1 / -1; }
  body.ui-refresh .esc-modal .opts-grid{ grid-template-columns:1fr; }
  body.ui-refresh .esc-modal .course-table .ct-head{ display:none; }
  body.ui-refresh .esc-modal .course-table .ct-row{ grid-template-columns:34px 1fr; }
  body.ui-refresh .esc-modal .relay-grid{ grid-template-columns:1fr; }
  body.ui-refresh .esc-modal .rf.team{ grid-template-columns:84px 1fr; justify-content:stretch; }
}

/* Table des courses : gardée en <table> (l'insertion JS de la zone relais exige .closest('tr')
   + display:table-row), donc stylée à part de la grille .course-table. */
body.ui-refresh .esc-modal .esc-course{ width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; margin:13px 0 4px; }
body.ui-refresh .esc-modal .esc-course thead th{ background:var(--panel-2); border-bottom:1px solid var(--line); font-size:11px; font-weight:700; color:var(--ink-2); text-transform:uppercase; letter-spacing:.03em; padding:7px 12px; text-align:left; }
body.ui-refresh .esc-modal .esc-course tbody td{ padding:7px 12px; border-bottom:1px solid var(--line-soft); font-size:13px; color:var(--ink-2); vertical-align:middle; }
body.ui-refresh .esc-modal .esc-course tbody tr:last-child > td{ border-bottom:0; }
body.ui-refresh .esc-modal .esc-course .ct-n{ display:inline-flex; width:20px; height:20px; border-radius:6px; background:#eafaf4; color:#157a55; align-items:center; justify-content:center; font-weight:800; font-size:10.5px; }
body.ui-refresh .esc-modal .esc-course td input[type="text"]{ border:1px solid var(--line); border-radius:7px; padding:4px 8px; font-size:12.5px; font-family:inherit; outline:none; }
body.ui-refresh .esc-modal .esc-course td input[type="text"]:focus{ border-color:var(--green); box-shadow:0 0 0 3px rgba(34,185,133,.18); }
body.ui-refresh .esc-modal .esc-course #zoneInfoRelayeurRow > td{ padding:0; }

/* Pays (select de l'include) + autres selects de la grille : look fc-select */
body.ui-refresh .esc-modal .f select{ border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); padding:5px 11px; font-size:13px; font-family:inherit; outline:none; width:100%; }
body.ui-refresh .esc-modal .f select:focus{ border-color:var(--green); box-shadow:0 0 0 3px rgba(34,185,133,.18); }

/* info-badge porté par un <button> : retirer le style natif du bouton */
body.ui-refresh .esc-modal .info-badge{ border:0; padding:0; }
