/* =====================================================================
   fusion5 – Polissage de l'interface (CSS uniquement, aucun changement de comportement)
   Police Inter embarquée localement ; champs, listes, cases, libellés, titres, boutons.
   ===================================================================== */
@font-face { font-family: 'InterTMH'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/Inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'InterTMH'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/Inter-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
:root {
  --tmh-font: 'InterTMH', 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --tmh-brand: #4f46e5; --tmh-brand-2: #7c3aed; --tmh-ring: rgba(79, 70, 229, .22);
  --tmh-border: #d6dbe4; --tmh-border-h: #a5b4fc; --tmh-field: #ffffff; --tmh-text: #0f172a; --tmh-muted: #64748b;
  --tmh-radius: .7rem;
}
body, button, input, select, textarea { font-family: var(--tmh-font); font-feature-settings: 'cv11', 'ss01'; }
body { color: var(--tmh-text); -webkit-font-smoothing: antialiased; letter-spacing: -.003em; }

/* ---------- Titres et libellés ---------- */
.section-title { font-weight: 800; letter-spacing: -.02em; }
.card h2, .card h3, .param-accordion-header { letter-spacing: -.01em; }
.label, label.label, .card label:not(.inline-flex):not(.flex) { font-size: .78rem; font-weight: 600; color: #334155; letter-spacing: .01em; margin-bottom: .3rem; display: inline-block; }

/* ---------- Champs ---------- */
.input, input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="time"], input[type="password"], input[type="search"], input[type="url"], select, textarea {
  font-size: .9rem; color: var(--tmh-text);
  border: 1.5px solid var(--tmh-border); border-radius: var(--tmh-radius); background-color: var(--tmh-field);
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.input { padding: .58rem .8rem; min-height: 2.6rem; }
.input:hover, select:hover, textarea:hover { border-color: var(--tmh-border-h); }
.input:focus, input:focus, select:focus, textarea:focus { outline: none; border-color: var(--tmh-brand); box-shadow: 0 0 0 4px var(--tmh-ring); }
.input:focus-visible, select:focus-visible { outline: none; }
.input::placeholder, textarea::placeholder { color: #94a3b8; }
.input:disabled, select:disabled, textarea:disabled { background: #f1f5f9; color: #94a3b8; cursor: not-allowed; }
textarea.input { line-height: 1.45; min-height: 4.5rem; }

/* listes déroulantes : flèche personnalisée, sélecteur natif conservé (accessibilité) */
select, select.input {
  -webkit-appearance: none; appearance: none; cursor: pointer; padding-right: 2.4rem !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .7rem center; background-size: 1.1rem;
}
select[multiple], select[size]:not([size="1"]) { background-image: none; padding-right: .8rem !important; }
select option { font-family: var(--tmh-font); }

/* cases à cocher / boutons radio : couleur de marque, taille confortable au doigt */
input[type="checkbox"], input[type="radio"] { accent-color: var(--tmh-brand); width: 1.05rem; height: 1.05rem; cursor: pointer; vertical-align: -.15em; }
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible { outline: 3px solid var(--tmh-ring); outline-offset: 2px; box-shadow: none; }
input[type="color"] { border-radius: .5rem; border: 1.5px solid var(--tmh-border); padding: 2px; cursor: pointer; }
input[type="file"] { font-size: .85rem; }
input[type="file"]::file-selector-button { font-family: var(--tmh-font); font-weight: 600; border: 0; border-radius: .55rem; padding: .45rem .8rem; margin-right: .6rem; background: #eef2ff; color: #4338ca; cursor: pointer; }

/* ---------- Boutons ---------- */
.btn-primary, .btn-secondary, .btn-danger, .btn-success { font-family: var(--tmh-font); font-weight: 600; letter-spacing: .005em; border-radius: var(--tmh-radius); transition: transform .08s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease; }
.btn-primary { background-image: linear-gradient(135deg, var(--tmh-brand), var(--tmh-brand-2)); box-shadow: 0 6px 16px -8px rgba(79, 70, 229, .7); }
.btn-primary:hover { box-shadow: 0 8px 20px -8px rgba(79, 70, 229, .85); }
.btn-primary:active, .btn-secondary:active { transform: translateY(1px); }
.btn-primary:focus-visible, .btn-secondary:focus-visible, .nav-btn:focus-visible { outline: none; box-shadow: 0 0 0 4px var(--tmh-ring); }
.btn-secondary { border: 1.5px solid var(--tmh-border); background: #fff; }
.btn-secondary:hover { border-color: var(--tmh-border-h); background: #f8faff; }

/* ---------- Sélecteur enrichi (Scanner « Type d'opération ») ---------- */
.uix-select { position: relative; }
.uix-select > select.uix-native { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.uix-btn { width: 100%; display: flex; align-items: center; gap: .7rem; text-align: left; padding: .6rem .8rem; min-height: 3.1rem; border: 1.5px solid var(--tmh-border); border-radius: .85rem; background: #fff; font-weight: 600; font-size: .95rem; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.uix-btn:hover { border-color: var(--tmh-border-h); }
.uix-btn:focus-visible, .uix-btn[aria-expanded="true"] { outline: none; border-color: var(--tmh-brand); box-shadow: 0 0 0 4px var(--tmh-ring); }
.uix-btn .uix-chev { margin-left: auto; color: var(--tmh-brand); transition: transform .15s; }
.uix-btn[aria-expanded="true"] .uix-chev { transform: rotate(180deg); }
.uix-ico { width: 2rem; height: 2rem; flex: 0 0 2rem; border-radius: .6rem; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: .9rem; }
.uix-txt { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.uix-txt small { font-weight: 500; color: var(--tmh-muted); font-size: .72rem; margin-top: .1rem; }
.uix-list { position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + .4rem); background: #fff; border: 1px solid #e2e8f0; border-radius: .9rem; box-shadow: 0 18px 40px -12px rgba(15, 23, 42, .3); padding: .35rem; max-height: min(70vh, 26rem); overflow-y: auto; }
.uix-opt { display: flex; align-items: center; gap: .7rem; padding: .5rem .55rem; border-radius: .65rem; cursor: pointer; font-weight: 600; font-size: .92rem; }
.uix-opt:hover, .uix-opt.uix-active { background: #eef2ff; }
.uix-opt[aria-selected="true"] { background: #e0e7ff; }
.uix-opt[aria-selected="true"]::after { content: '\2713'; margin-left: auto; color: var(--tmh-brand); font-weight: 800; }
.uix-opt[aria-disabled="true"] { opacity: .4; cursor: not-allowed; }
.uix-c-present { background: #0ea5e9; } .uix-c-bib { background: #f59e0b; } .uix-c-start { background: #16a34a; } .uix-c-finish { background: #7c3aed; }
.uix-c-cp { background: #0d9488; } .uix-c-dnf { background: #e11d48; } .uix-c-dns { background: #64748b; } .uix-c-lookup { background: #4f46e5; }

/* ---------- Mobile ---------- */
@media (max-width: 640px) { .input, select, textarea { font-size: 16px; } /* évite le zoom iOS */ .uix-list { max-height: 60vh; } }

/* ---------- Tailles (préférence : moyen, ni trop grand ni trop petit) ---------- */
html { font-size: 15px; }
body { font-size: 15px; line-height: 1.5; }
.input, select.input, input.input { min-height: 42px; padding-top: .5rem; padding-bottom: .5rem; font-size: 15px; }
textarea.input { min-height: 84px; }
.label, label.label { font-size: 13px; }
.btn-primary, .btn-secondary { min-height: 40px; font-size: 14.5px; }
.btn-primary.text-xs, .btn-secondary.text-xs, .btn-secondary.py-1, .btn-secondary.py-1\.5 { min-height: 32px; font-size: 13px; }
.uix-btn { min-height: 48px; font-size: 15px; }
@media (max-width: 640px) {
  .input, select, textarea { font-size: 16px; }   /* 16 px sur mobile : évite le zoom automatique d'iOS */
  .input, select.input { min-height: 44px; }
}

/* =====================================================================
   fusion6 – Écran d'arrivée (Live admin + Scanner / Bénévole) : 3 blocs numérotés
   ===================================================================== */
#scanner-finish-panel .fin-block { padding: 1rem 1.1rem; margin-bottom: 1rem; }
#scanner-finish-panel .fin-step { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; font-size: 1.02rem; font-weight: 700; color: #0f172a; margin: 0 0 .85rem; }
#scanner-finish-panel .fin-step small { flex-basis: 100%; margin-left: 2.35rem; margin-top: -.35rem; font-size: .78rem; font-weight: 500; color: #64748b; }
#scanner-finish-panel .fin-num { width: 1.8rem; height: 1.8rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #4f46e5, #7c3aed); color: #fff; font-size: .85rem; font-weight: 800; flex: 0 0 auto; }
#scanner-finish-panel .fin-ic { width: 1.8rem; text-align: center; color: #d97706; }
#scanner-finish-panel .fin-ic + * { margin-left: 0; }
#scanner-finish-panel .fin-side .fin-step small { margin-left: 2.35rem; }

/* 1) Départs : grille alignée (nom | statut | départ maintenant | heure | corriger) */
.fin-starts-grid { display: grid; grid-template-columns: minmax(10rem, 1.4fr) minmax(9rem, 1fr) 11.5rem 19rem 7.5rem; column-gap: .6rem; }
.fin-starts-grid.fin-starts-ro { grid-template-columns: minmax(10rem, 1fr) auto; }
.fin-starts-grid .fin-start-row { display: contents; }
.fin-starts-grid .fin-start-row > * { display: flex; align-items: center; min-height: 3.1rem; padding: .35rem 0; border-top: 1px solid #eef2f7; min-width: 0; }
.fin-starts-grid .fin-start-row:first-child > * { border-top: 0; }
.fin-starts-grid .fin-start-name b { font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-starts-grid .fin-start-now, .fin-starts-grid .fin-start-fix { width: 100%; justify-content: center; min-height: 40px; margin: .35rem 0; white-space: nowrap; }
.fin-starts-grid .fin-start-time { width: 100%; min-height: 40px; margin: .35rem 0; }
.fin-badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .76rem; font-weight: 700; padding: .25rem .6rem; border-radius: 999px; white-space: nowrap; }
.fin-badge-on { background: #dcfce7; color: #166534; } .fin-badge-off { background: #fef3c7; color: #92400e; }

/* 2) Saisie */
#scanner-finish-panel .fin-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
#scanner-finish-panel .fin-tools { display: grid; grid-template-columns: auto 1fr; gap: .6rem; margin-top: .8rem; align-items: stretch; }
#scanner-finish-panel .fin-cam { display: flex; gap: .5rem; margin: 0; }
#scanner-finish-panel .fin-cam .btn-secondary { min-height: 44px; padding: 0 .9rem; white-space: nowrap; }
#scanner-finish-panel .fin-unknown-btn { margin: 0; min-height: 44px; padding: .45rem .8rem; border-radius: .75rem; }
#scanner-finish-panel .fin-unknown-btn small { font-size: .72rem; }
#scanner-finish-panel .fin-result { margin-top: .9rem; }
#scanner-finish-panel .fin-result.hidden { display: none !important; }

/* 3) Recherche */
.fin-lookup-row { display: flex; gap: .5rem; } .fin-lookup-row .input { flex: 1; min-width: 0; }
#scanner-finish-panel .fin-lookup { border-top: 0; padding-top: 1rem; margin-top: 0; }
.fin-lookup-list { margin-top: .7rem; border: 1px solid #e2e8f0; border-radius: .75rem; overflow: hidden; max-height: 18rem; overflow-y: auto; }
.fin-lookup-head { font-size: .75rem; color: #64748b; padding: .45rem .7rem; background: #f8fafc; }
.fin-lookup-item { display: grid; grid-template-columns: 4rem 1fr auto; gap: .6rem; align-items: center; width: 100%; text-align: left; padding: .5rem .7rem; border-top: 1px solid #f1f5f9; font-size: .9rem; }
.fin-lookup-item:hover, .fin-lookup-item:focus-visible { background: #eef2ff; outline: none; }
.fin-lookup-item b { color: #4f46e5; } .fin-lookup-item small { color: #64748b; font-size: .75rem; }

@media (max-width: 900px) {
  #scanner-finish-panel .fin-grid { grid-template-columns: minmax(0, 1fr); }
  .fin-starts-grid { grid-template-columns: 1fr 1fr; row-gap: 0; }
  .fin-starts-grid .fin-start-row { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) 7.5rem; column-gap: .5rem; padding: .55rem 0; border-top: 1px solid #eef2f7; }
  .fin-starts-grid .fin-start-row:first-child { border-top: 0; }
  .fin-starts-grid .fin-start-row > * { border-top: 0; min-height: 0; padding: .15rem 0; }
  .fin-starts-grid .fin-start-now { grid-column: 1 / -1; }
  .fin-starts-grid .fin-start-time { margin: .2rem 0; } .fin-starts-grid .fin-start-fix { margin: .2rem 0; }
  #scanner-finish-panel .fin-tools { grid-template-columns: 1fr; }
  #scanner-finish-panel .fin-cam .btn-secondary { flex: 1; }
  #scanner-finish-panel .fin-step small { margin-left: 0; }
}
#scanner-finish-panel > .card:not(.fin-block) { padding: 1rem 1.1rem; }

/* fusion6 – en-tête Inscription compact (environ moitié de hauteur), même style ; admin, agent et public */
.insc-hero { border-radius: 1.1rem; margin-bottom: 1rem; }
.insc-hero-inner { gap: 1.1rem; padding: .85rem 1.4rem 1rem; }
.insc-hero-logo { width: 72px; height: 72px; } .insc-hero-logo img { width: 54px; height: 54px; }
.insc-hero-kicker { font-size: .98rem; letter-spacing: .06em; line-height: 1.15; }
.insc-hero-title { font-size: clamp(1.15rem, 1.6vw + .6rem, 1.55rem); line-height: 1.15; margin: .1rem 0 0; }
.insc-hero-mg { font-size: .82rem; }
.insc-hero-ornament { display: none; }
.insc-hero-event { margin-top: .45rem; padding: .28rem .8rem; font-size: .8rem; }
.insc-hero-mountains { height: 40%; opacity: .8; }
@media (max-width: 640px) {
  .insc-hero-inner { flex-direction: row; text-align: left; gap: .8rem; padding: .75rem .9rem .9rem; }
  .insc-hero-logo { width: 58px; height: 58px; } .insc-hero-logo img { width: 44px; height: 44px; }
  .insc-hero-kicker { font-size: .78rem; letter-spacing: .03em; }
  .insc-hero-title { font-size: 1.12rem; }
  .insc-hero-event { font-size: .74rem; padding: .25rem .6rem; }
}

/* fusion7 – menu de l'en-tête (js/app-menu.js) */
.app-menu { width: 290px; max-height: min(78vh, 640px); overflow-y: auto; padding: .35rem 0; font-size: .9rem; }
.app-menu .am-group { padding: .25rem 0; }
.app-menu .am-group + .am-group { border-top: 1px solid #eef2f7; }
.app-menu .am-h { padding: .35rem 1rem .2rem; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #64748b; }
.app-menu .am-item { display: flex; align-items: center; gap: .7rem; width: 100%; min-height: 40px; padding: .45rem 1rem; text-align: left; color: #1e293b; background: none; border: 0; cursor: pointer; text-decoration: none; }
.app-menu .am-item:hover, .app-menu .am-item:focus-visible { background: #f1f5f9; outline: none; }
.app-menu .am-i { width: 1.1rem; text-align: center; color: #4f46e5; flex-shrink: 0; }
.app-menu .am-l { flex: 1; min-width: 0; line-height: 1.2; }
.app-menu .am-l small { display: block; font-size: .72rem; color: #64748b; margin-top: 1px; }
.app-menu .am-ext { font-size: .7rem; color: #94a3b8; }
.app-menu .am-on { color: #16a34a; font-size: .8rem; }
.app-menu .am-active { background: #eef2ff; font-weight: 600; }
.app-menu .am-danger, .app-menu .am-danger .am-i { color: #dc2626; }
body.theme-dark .app-menu, body.theme-dark .app-menu { background: #1e293b !important; border-color: #334155 !important; }
body.theme-dark .app-menu .am-item, body.theme-dark .app-menu .am-item { color: #e2e8f0; }
body.theme-dark .app-menu .am-item:hover, body.theme-dark .app-menu .am-item:hover { background: #334155; }
@media (max-width: 640px) {
  .app-menu { position: fixed !important; left: .5rem !important; right: .5rem !important; top: 3.6rem !important; width: auto; max-height: calc(100vh - 4.5rem); }
  .app-menu .am-item { min-height: 44px; }
}
#tmh-preview-banner { position: fixed; left: 50%; bottom: .9rem; transform: translateX(-50%); z-index: 70; background: #312e81; color: #fff; padding: .5rem .6rem .5rem 1rem; border-radius: 999px; font-size: .85rem; box-shadow: 0 8px 24px rgba(0,0,0,.25); display: flex; gap: .5rem; align-items: center; white-space: nowrap; }
#tmh-preview-banner button { background: #fff; color: #312e81; border: 0; border-radius: 999px; padding: .3rem .8rem; font-weight: 600; cursor: pointer; }

/* fusion7 – Centre Import / Export (js/ioe-menu.js) : panneau centré en cartes par thème */
.ioe-backdrop { position: fixed; inset: 0; background: rgba(15, 23, 42, .45); z-index: 79; }
.ioe-backdrop.hidden { display: none; }
body.ioe-open { overflow: hidden; }
.ioe-menu.ioe-center { position: fixed !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%); width: min(1080px, calc(100vw - 2rem)) !important; max-height: calc(100vh - 2rem) !important; overflow-y: auto; z-index: 80; background: #f8fafc; border-radius: 1rem; box-shadow: 0 24px 60px rgba(15,23,42,.35); padding: 0 !important; border: 0; }
.ioe-center.hidden { display: none !important; }
.ioe-c-head { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1rem 1.25rem .85rem; background: #fff; border-bottom: 1px solid #e2e8f0; }
.ioe-c-head h2 { font-size: 1.15rem; font-weight: 700; color: #0f172a; margin: 0; }
.ioe-c-head h2 i { color: #4f46e5; margin-right: .35rem; }
.ioe-c-head p { font-size: .82rem; color: #64748b; margin: .15rem 0 0; }
.ioe-c-close { width: 38px; height: 38px; border-radius: .6rem; border: 1px solid #e2e8f0; background: #fff; color: #475569; cursor: pointer; flex-shrink: 0; }
.ioe-c-close:hover { background: #f1f5f9; }
.ioe-c-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; padding: 1rem 1.25rem 1.25rem; align-items: start; }
.ioe-center .ioe-card { background: #fff; border: 1px solid #e2e8f0; border-radius: .9rem; padding: .9rem; margin: 0; border-top: 4px solid var(--ioe-c, #6366f1); }
.ioe-c-indigo { --ioe-c: #6366f1; --ioe-bg: #eef2ff; } .ioe-c-amber { --ioe-c: #f59e0b; --ioe-bg: #fffbeb; } .ioe-c-emerald { --ioe-c: #10b981; --ioe-bg: #ecfdf5; }
.ioe-c-rose { --ioe-c: #f43f5e; --ioe-bg: #fff1f2; } .ioe-c-slate { --ioe-c: #64748b; --ioe-bg: #f1f5f9; }
.ioe-center .ioe-group-title { display: flex; gap: .7rem; align-items: center; padding: 0 0 .7rem; margin: 0; text-transform: none; letter-spacing: 0; border: 0; }
.ioe-center .ioe-c-ic { width: 40px; height: 40px; border-radius: .7rem; display: grid; place-items: center; background: var(--ioe-bg); color: var(--ioe-c); font-size: 1.05rem; flex-shrink: 0; }
.ioe-center .ioe-group-title b { display: block; font-size: 1rem; color: #0f172a; }
.ioe-center .ioe-group-title small { display: block; font-size: .78rem; color: #64748b; font-weight: 400; line-height: 1.3; }
.ioe-c-items { display: flex; flex-direction: column; gap: .4rem; }
.ioe-center .ioe-item { display: flex !important; align-items: center; gap: .65rem; width: 100%; min-height: 42px; padding: .5rem .7rem !important; border: 1px solid #e2e8f0 !important; border-radius: .6rem !important; background: #fff !important; color: #1e293b !important; text-align: left; font-size: .88rem !important; font-weight: 500; cursor: pointer; }
.ioe-center .ioe-item:hover, .ioe-center .ioe-item:focus-visible { border-color: var(--ioe-c) !important; background: var(--ioe-bg) !important; outline: none; }
.ioe-center .ioe-item > i { width: 1.1rem; text-align: center; color: var(--ioe-c) !important; }
.ioe-center .ioe-lbl { flex: 1; min-width: 0; line-height: 1.2; }
.ioe-center .ioe-hint { display: block; font-size: .72rem; color: #64748b; font-weight: 400; margin: 1px 0 0; }
.ioe-fmt { font-size: .66rem; font-weight: 700; letter-spacing: .04em; padding: .15rem .45rem; border-radius: 999px; background: var(--ioe-bg, #f1f5f9); color: var(--ioe-c, #475569); white-space: nowrap; border: 1px solid color-mix(in srgb, var(--ioe-c, #64748b) 30%, transparent); }
body.theme-dark .ioe-menu.ioe-center, body.theme-dark .ioe-c-head, body.theme-dark .ioe-center .ioe-card, body.theme-dark .ioe-center .ioe-item { background: #1e293b !important; border-color: #334155 !important; color: #e2e8f0 !important; }
body.theme-dark .ioe-c-head h2, body.theme-dark .ioe-center .ioe-group-title b { color: #f1f5f9; }
@media (max-width: 640px) {
  .ioe-menu.ioe-center { top: 0 !important; left: 0 !important; transform: none; width: 100vw !important; height: 100vh; max-height: 100vh !important; border-radius: 0; }
  .ioe-c-grid { grid-template-columns: 1fr; padding: .75rem; gap: .75rem; }
  .ioe-center .ioe-item { min-height: 44px; }
}
.ioe-center .ioe-group + .ioe-group { border-top: 4px solid var(--ioe-c); margin-top: 0; padding-top: .9rem; }
/* fusion7 – écrans cibles du Centre Import / Export : sous-titres homogènes */
.ioe-sec-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .6rem; font-size: 1rem; font-weight: 700; color: #1e293b; margin: 1.4rem 0 .6rem; padding-bottom: .35rem; border-bottom: 1px solid #e2e8f0; }
.ioe-sec-h i { color: #6366f1; }
.ioe-sec-h small { font-size: .78rem; font-weight: 400; color: #64748b; }
.ioe-anchor .ioe-sec-h { margin-top: 1.4rem; }
#section-listes > .card, #section-listes > div.mt-6 { margin-top: 1.25rem; }
body.theme-dark .ioe-sec-h { color: #e2e8f0; border-color: #334155; }

/* fusion7 – en-tête Inscription encore plus compact (~105 px ordinateur), toutes vues dont le public */
.insc-hero { margin-bottom: .85rem; }
.insc-hero-inner { gap: 1rem; padding: .6rem 1.25rem .7rem; align-items: center; }
.insc-hero-logo { width: 60px; height: 60px; } .insc-hero-logo img { width: 46px; height: 46px; }
.insc-hero-kicker { font-size: .82rem; letter-spacing: .05em; line-height: 1.1; }
.insc-hero-title { font-size: clamp(1.05rem, 1vw + .7rem, 1.3rem); line-height: 1.12; margin: .05rem 0 0; }
.insc-hero-mg { font-size: .74rem; line-height: 1.15; margin: 0; }
.insc-hero-ornament { display: none !important; }
.insc-hero-event { margin-top: .35rem; padding: .18rem .7rem; font-size: .76rem; }
.insc-hero-mountains { height: 34%; }
@media (max-width: 640px) {
  .insc-hero-inner { gap: .7rem; padding: .55rem .8rem .65rem; }
  .insc-hero-logo { width: 50px; height: 50px; } .insc-hero-logo img { width: 38px; height: 38px; }
  .insc-hero-kicker { font-size: .7rem; } .insc-hero-title { font-size: 1.02rem; } .insc-hero-mg { font-size: .7rem; }
  .insc-hero-event { font-size: .7rem; padding: .18rem .55rem; }
}

/* ===== fusion7 – PAGE PUBLIQUE ===== */
/* En-tête public : une seule bande (~68 px) – petit logo, titre sur une ligne */
body.mode-public .insc-hero { border-radius: 1rem; margin-bottom: 1rem; }
body.mode-public .insc-hero-inner { padding: .45rem 1rem; gap: .75rem; align-items: center; }
body.mode-public .insc-hero-logo { width: 46px; height: 46px; border-width: 2px; } body.mode-public .insc-hero-logo img { width: 36px; height: 36px; }
body.mode-public .insc-hero-text { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .55rem; row-gap: .15rem; min-width: 0; text-align: left; }
body.mode-public .insc-hero-title { order: 1; font-size: 1.15rem; white-space: nowrap; margin: 0; line-height: 1.15; }
body.mode-public .insc-hero-mg { order: 2; font-size: .74rem; margin: 0; opacity: .85; }
body.mode-public .insc-hero-text::after { content: ''; order: 3; flex-basis: 100%; height: 0; }
body.mode-public .insc-hero-kicker { order: 4; font-size: .64rem; letter-spacing: .06em; line-height: 1.2; }
body.mode-public .insc-hero-event { order: 5; margin: 0; padding: .08rem .55rem; font-size: .7rem; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-flex; }
body.mode-public .insc-hero-event span { overflow: hidden; text-overflow: ellipsis; }
body.mode-public .insc-hero-mountains { height: 45%; opacity: .6; }
@media (max-width: 640px) {
  body.mode-public .insc-hero-inner { padding: .45rem .7rem; gap: .6rem; }
  body.mode-public .insc-hero-logo { width: 42px; height: 42px; } body.mode-public .insc-hero-logo img { width: 32px; height: 32px; }
  body.mode-public .insc-hero-title { font-size: 1.02rem; }
  body.mode-public .insc-hero-mg { display: none; }
  body.mode-public .insc-hero-kicker { display: none; }
}

/* Page publique accueillante (chaleureuse mais professionnelle) – apparence uniquement */
body.mode-public { background: linear-gradient(180deg, #fff7ed 0%, #fffbf5 260px, #f8fafc 100%); background-repeat: no-repeat; background-color: #f8fafc; }
body.mode-public #section-inscription > .section-title { font-size: 1.3rem; color: #1e293b; display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .5rem; }
body.mode-public #section-inscription > .section-title::before { content: '\f70c'; font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free'; font-weight: 900; color: #f59e0b; margin-right: .2rem; }
body.mode-public #section-inscription > .card { border-radius: 1.25rem; border: 1px solid #fde7c4; box-shadow: 0 10px 30px rgba(180, 83, 9, .08), 0 2px 6px rgba(15, 23, 42, .04); padding: 1.5rem; background: #fff; }
body.mode-public #form-inscription .label { font-size: .88rem; font-weight: 600; color: #334155; margin-bottom: .3rem; }
body.mode-public #form-inscription .label-mg { color: #b45309; font-style: italic; font-weight: 400; font-size: .78rem; }
body.mode-public #form-inscription .input { min-height: 46px; border-radius: .8rem; border: 1.5px solid #e2e8f0; background: #fffdfa; font-size: .95rem; transition: border-color .15s, box-shadow .15s, background .15s; }
body.mode-public #form-inscription .input:hover { border-color: #fcd9a5; }
body.mode-public #form-inscription .input:focus { border-color: #f59e0b; background: #fff; box-shadow: 0 0 0 4px rgba(245, 158, 11, .16); outline: none; }
body.mode-public #form-inscription > div, body.mode-public #form-inscription .grid { row-gap: 1.1rem; }
body.mode-public #form-inscription .summary-box, body.mode-public #form-inscription [class*="bg-teal-50"] { border-radius: 1rem; }
body.mode-public #form-inscription button[type="submit"] { width: 100%; min-height: 54px; border-radius: 999px; font-size: 1.05rem; font-weight: 700; letter-spacing: .01em;
  background: linear-gradient(135deg, #f59e0b, #ea580c); border: 0; color: #fff; box-shadow: 0 10px 24px rgba(234, 88, 12, .28); transition: transform .15s, box-shadow .15s; }
body.mode-public #form-inscription button[type="submit"]:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(234, 88, 12, .34); }
body.mode-public #form-inscription button[type="submit"] .opacity-80 { font-weight: 500; font-style: italic; }
body.mode-public [id^="pub-"][class*="bg-indigo-50"], body.mode-public .pub-intro { border-radius: 1rem; }
body.mode-public input[type="checkbox"] { width: 1.15rem; height: 1.15rem; accent-color: #f59e0b; }
@media (max-width: 640px) { body.mode-public #section-inscription > .card { padding: 1rem; border-radius: 1rem; } }
body.mode-public .pub-intro { background: linear-gradient(135deg, #fff7ed, #fefce8); border: 1px solid #fde4b8; color: #7c2d12; }
body.mode-public .pub-intro .fa-info-circle { color: #ea580c; }
.pub-welcome { display: flex; gap: .65rem; align-items: center; margin-bottom: .55rem; font-size: .98rem; color: #7c2d12; }
.pub-welcome-ic { font-size: 1.5rem; line-height: 1; }
.pub-welcome .mg-below { display: block; font-size: .8rem; font-style: italic; color: #b45309; font-weight: 400; }
body.mode-public .pub-intro .text-indigo-800 { color: #9a3412 !important; }

/* fusion8 – Live : départ date + heure, allure / vitesse */
.fin-start-when { display: flex; gap: .35rem; min-width: 0; }
.fin-start-when .fin-start-date { min-width: 0; flex: 1 1 8.5rem; }
.fin-start-when .fin-start-time { min-width: 0; flex: 1 1 7rem; }
.fin-time .fin-pace { display: block; font-style: normal; font-size: .78rem; font-weight: 600; color: #4f46e5; margin-top: .15rem; }
.fin-top-race li b .fin-pace { display: block; font-size: .7rem; font-weight: 500; color: #64748b; text-align: right; }
.pr-table .pr-pace { color: #4f46e5; white-space: nowrap; }
@media (min-width: 901px) and (max-width: 1100px) { .fin-starts-grid { grid-template-columns: minmax(8rem, 1fr) minmax(8rem, 1fr) 10.5rem 18rem 7rem; } }
.fin-start-when .fin-start-time { flex: 0 0 8.4rem; }
.fin-start-when .fin-start-date { flex: 1 1 8.6rem; }
.fin-pace-sm { display: block; font-size: .7rem; color: #4f46e5; font-family: Inter, sans-serif; }
@media (max-width: 900px) {
  .fin-starts-grid .fin-start-row .fin-start-when { grid-column: 1 / -1; }
  .fin-starts-grid .fin-start-row .fin-start-fix { grid-column: 1 / -1; }
  .fin-start-when .fin-start-time { flex: 0 0 7.6rem; }
}

/* fusion8 – Liste des inscrits : barre de filtres */
.lf-wrap { display: flex; flex-direction: column; gap: .7rem; }
.lf-wrap.hidden { display: none !important; }
.lf-search { position: relative; }
.lf-search > i { position: absolute; left: .95rem; top: 50%; transform: translateY(-50%); color: #94a3b8; pointer-events: none; }
.lf-search .input { width: 100%; max-width: none; min-height: 46px; padding-left: 2.6rem; font-size: .95rem; border-radius: .8rem; }
.lf-main { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: .6rem; align-items: end; }
.lf-more { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; padding: .75rem; border: 1px dashed #cbd5e1; border-radius: .9rem; background: #f8fafc; }
.lf-more.hidden { display: none; }
.lf-field { display: flex; flex-direction: column; gap: .25rem; min-width: 0; margin: 0; }
.lf-label { font-size: .72rem; font-weight: 600; color: #64748b; letter-spacing: .02em; white-space: nowrap; }
.lf-label i { margin-right: .35rem; color: #94a3b8; width: .9rem; text-align: center; }
.lf-field .input { width: 100%; max-width: none; min-width: 0; min-height: 42px; text-overflow: ellipsis; }
.lf-field.lf-active .input { border-color: #6366f1; background: #eef2ff; }
.lf-field.lf-active .lf-label { color: #4338ca; }
.lf-more-btn { display: inline-flex; align-items: center; gap: .45rem; min-height: 42px; padding: 0 .9rem; border-radius: .7rem; border: 1px solid #cbd5e1; background: #fff; color: #334155; font-size: .85rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.lf-more-btn:hover, .lf-more-btn.lf-open { border-color: #6366f1; color: #4338ca; background: #eef2ff; }
.lf-more-btn .lf-chev { font-size: .7rem; transition: transform .15s; } .lf-more-btn.lf-open .lf-chev { transform: rotate(180deg); }
.lf-count { min-width: 1.3rem; height: 1.3rem; padding: 0 .3rem; border-radius: 999px; background: #4f46e5; color: #fff; font-size: .7rem; display: inline-grid; place-items: center; }
.lf-count.hidden { display: none; }
.lf-chips-row { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; min-height: 0; }
.lf-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.lf-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .35rem .25rem .7rem; border-radius: 999px; background: #eef2ff; color: #3730a3; font-size: .78rem; font-weight: 600; border: 1px solid #c7d2fe; }
.lf-chip button { width: 1.3rem; height: 1.3rem; border-radius: 999px; border: 0; background: transparent; color: #4338ca; cursor: pointer; display: grid; place-items: center; }
.lf-chip button:hover { background: #c7d2fe; }
.lf-reset { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border-radius: 999px; border: 0; background: none; color: #dc2626; font-size: .8rem; font-weight: 600; cursor: pointer; }
.lf-reset.hidden { display: none; }
.lf-reset:hover { background: #fef2f2; }
.lf-actions #btn-export-inscrits:not(.hidden) { display: inline-flex; align-items: center; min-height: 36px; }
@media (max-width: 900px) { .lf-main { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lf-more-btn { grid-column: 1 / -1; justify-content: center; } .lf-more { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .lf-main, .lf-more { grid-template-columns: 1fr; } }
body.theme-dark .lf-more { background: #0f172a; border-color: #334155; } body.theme-dark .lf-more-btn { background: #1e293b; color: #e2e8f0; border-color: #334155; }

/* fusion8 – style d'icônes unifié (pastille carrée arrondie colorée, comme le Scanner) */
.tmh-tile { width: 2rem; height: 2rem; flex: 0 0 2rem; border-radius: .6rem; display: inline-flex; align-items: center; justify-content: center; color: #fff !important; font-size: .9rem; box-shadow: 0 2px 6px -2px rgba(15,23,42,.25); }
.tmh-tile i { color: #fff !important; margin: 0 !important; width: auto !important; }
.tmh-tile-sm { width: 1.6rem; height: 1.6rem; flex-basis: 1.6rem; border-radius: .5rem; font-size: .75rem; }
.tmh-hide { display: none !important; }
.tc-indigo, .uix-c-all { background: #4f46e5; } .tc-sky { background: #0ea5e9; } .tc-teal { background: #0d9488; } .tc-green { background: #16a34a; }
.tc-amber { background: #f59e0b; } .tc-rose { background: #e11d48; } .tc-violet { background: #7c3aed; } .tc-slate { background: #64748b; }
.uix-c-all { background: #94a3b8; } .uix-c-h { background: #2563eb; } .uix-c-f { background: #db2777; }
.tmh-head { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.tmh-head .tmh-tile { width: 2.5rem; height: 2.5rem; flex-basis: 2.5rem; border-radius: .75rem; font-size: 1.1rem; }
.tmh-head-txt { display: flex; flex-direction: column; min-width: 0; }
.tmh-head-txt h2 { margin: 0 !important; line-height: 1.2; }
.tmh-head-sub { font-size: .78rem; color: #64748b; font-weight: 500; margin-top: .1rem; }
.param-nav-btn .tmh-tile, .card > h3 .tmh-tile, .live-raceday-head h3 .tmh-tile { margin-right: .45rem; vertical-align: middle; }
.card > h3 { display: flex; align-items: center; flex-wrap: wrap; }
.am-item .tmh-tile, .ioe-item .tmh-tile { margin-right: .15rem; }
/* tuiles du tableau de bord */
.stat-card-ico { position: relative; padding-left: 3.4rem !important; min-height: 4.4rem; }
.stat-card-ico .stat-tile { position: absolute; left: .85rem; top: .9rem; width: 2rem; height: 2rem; border-radius: .6rem; font-size: .9rem; }
/* sélecteurs compacts (filtres de la liste) */
.uix-compact .uix-btn { min-height: 42px; padding: .35rem .6rem; gap: .5rem; border-radius: .7rem; font-size: .88rem; font-weight: 600; }
.uix-compact .uix-btn .uix-ico { width: 1.6rem; height: 1.6rem; flex-basis: 1.6rem; border-radius: .5rem; font-size: .75rem; }
.uix-compact .uix-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.uix-compact .uix-btn .uix-txt small { display: none; }
.uix-compact .uix-list { min-width: 15rem; max-height: 22rem; overflow-y: auto; }
.uix-compact .uix-opt { font-size: .88rem; }
.uix-compact .uix-opt .uix-txt { white-space: normal; display: flex; }
.lf-field.lf-active .uix-btn { border-color: #6366f1; background: #eef2ff; }
.lf-label i { display: none; }
body.mode-public .tmh-head-sub { display: none; } body.mode-public .tmh-head .tmh-tile { width: 2.2rem; height: 2.2rem; flex-basis: 2.2rem; }

/* fusion8 – Listes : vue ciblée depuis un raccourci */
.ioe-focus-hide { display: none !important; }
.ioe-focus-bar { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; margin: 0 0 1rem; padding: .55rem .7rem; border-radius: .9rem; background: #eef2ff; border: 1px solid #c7d2fe; }
.ioe-focus-back { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .8rem; border-radius: .65rem; background: #4f46e5; color: #fff; font-weight: 600; font-size: .85rem; border: 0; cursor: pointer; }
.ioe-focus-title { font-weight: 700; color: #312e81; }
.ioe-focus-all { margin-left: auto; font-size: .8rem; color: #4338ca; background: none; border: 0; text-decoration: underline; cursor: pointer; }

/* fusion8 – Paramètres : cartes Courses */
.rc-list { display: flex; flex-direction: column; gap: .7rem; }
.rc-card { border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; box-shadow: 0 1px 2px rgba(15,23,42,.04); overflow: hidden; }
.rc-card.rc-open { border-color: #c7d2fe; box-shadow: 0 8px 24px -12px rgba(79,70,229,.35); }
.rc-card.rc-is-dirty { border-color: #f59e0b; }
.rc-head { display: flex; align-items: center; gap: .7rem; padding: .75rem .9rem; cursor: pointer; }
.rc-head:hover { background: #f8fafc; }
.rc-dot { width: .55rem; align-self: stretch; border-radius: 999px; flex: 0 0 .55rem; }
.rc-title { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.rc-title b { font-size: .95rem; color: #0f172a; }
.rc-title small { font-size: .75rem; color: #64748b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-badge { font-size: .7rem; font-weight: 700; padding: .2rem .55rem; border-radius: 999px; white-space: nowrap; }
.rc-b-trail { background: #ede9fe; color: #5b21b6; } .rc-b-vtt { background: #dcfce7; color: #166534; } .rc-b-duathlon { background: #fef3c7; color: #92400e; }
.rc-chev { color: #94a3b8; transition: transform .15s; } .rc-open .rc-chev { transform: rotate(180deg); }
.rc-body { padding: .3rem .9rem .9rem; border-top: 1px solid #eef2f7; }
.rc-group { border: 0; margin: .6rem 0 0; padding: 0; }
.rc-group legend { display: flex; align-items: center; gap: .45rem; font-size: .8rem; font-weight: 700; color: #334155; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .45rem; }
.rc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)); gap: .55rem .7rem; }
.rc-field { display: flex; flex-direction: column; gap: .2rem; margin: 0; min-width: 0; }
.rc-field > span { font-size: .72rem; font-weight: 600; color: #64748b; }
.rc-field > span em { font-style: normal; font-weight: 500; color: #94a3b8; }
.rc-field .input { width: 100%; min-height: 40px; }
.rc-field .rc-color { padding: .2rem; height: 40px; }
.rc-ro-v { min-height: 40px; display: flex; align-items: center; padding: 0 .7rem; border-radius: .6rem; background: #f1f5f9; color: #475569; font-size: .82rem; }
.rc-err { margin: .7rem 0 0; padding: .5rem .7rem; border-radius: .6rem; background: #fef2f2; color: #b91c1c; font-size: .82rem; font-weight: 600; }
.rc-err.hidden, .cc-err.hidden { display: none; }
.rc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .9rem; padding-top: .8rem; border-top: 1px dashed #e2e8f0; }
.rc-actions .rc-dirty { margin-left: auto; font-size: .78rem; color: #b45309; font-weight: 600; }
.rc-actions .rc-dirty.hidden + .rc-cancel { margin-left: auto; }
.rc-actions button:disabled { opacity: .45; cursor: not-allowed; }
.rc-add { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .8rem; border: 2px dashed #c7d2fe; border-radius: 1rem; background: #f8faff; color: #4338ca; font-weight: 700; cursor: pointer; }
.rc-add:hover { background: #eef2ff; }
/* Catégories : tableau éditable */
.cc-table { display: flex; flex-direction: column; gap: .4rem; }
.cc-row { display: grid; grid-template-columns: 1.6rem minmax(9rem, 1.6fr) 6rem 7rem 5rem 5rem minmax(10rem, 1.6fr) 8.5rem; gap: .5rem; align-items: center; padding: .45rem .55rem; border: 1px solid #e2e8f0; border-radius: .8rem; background: #fff; }
.cc-row.cc-dirty { border-color: #f59e0b; background: #fffbeb; }
.cc-hdr { background: transparent; border: 0; padding: 0 .55rem; font-size: .7rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .04em; }
.cc-cell { margin: 0; min-width: 0; } .cc-cell .input { width: 100%; min-height: 38px; font-size: .85rem; }
.cc-lbl { display: none; }
.cc-act { display: flex; gap: .3rem; justify-content: flex-end; }
.cc-del { width: 2.1rem; height: 2.1rem; border-radius: .6rem; border: 1px solid #fecaca; background: #fff; color: #dc2626; cursor: pointer; }
.cc-del:hover { background: #fef2f2; }
.cc-save span { display: none; }
.cc-err { grid-column: 1 / -1; margin: 0; padding: .4rem .6rem; border-radius: .5rem; background: #fef2f2; color: #b91c1c; font-size: .8rem; font-weight: 600; }
@media (max-width: 900px) {
  .cc-hdr { display: none; }
  .cc-row { grid-template-columns: 1fr 1fr; padding: .7rem; }
  .cc-row > .tmh-tile { display: none; }
  .cc-lbl { display: block; font-size: .7rem; font-weight: 600; color: #64748b; margin-bottom: .15rem; }
  .cc-cell:first-of-type, .cc-cell:nth-of-type(6) { grid-column: 1 / -1; }
  .cc-act { grid-column: 1 / -1; } .cc-save span { display: inline; }
  .rc-title small { white-space: normal; }
}

/* fusion8 – Dossards : éditeur unique */
.bu-card { border: 2px solid #c4b5fd; border-radius: 1rem; padding: 1rem; margin-bottom: 1rem; background: linear-gradient(135deg, #f5f3ff, #fff); }
.bu-main { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.bu-ico { width: 2.75rem; height: 2.75rem; flex-basis: 2.75rem; font-size: 1.2rem; border-radius: .8rem; }
.bu-txt { flex: 1; min-width: 14rem; } .bu-txt h4 { font-weight: 800; font-size: 1.05rem; color: #3b0764; margin: 0 0 .2rem; } .bu-txt p { font-size: .8rem; color: #475569; margin: 0; }
.bu-btn { font-size: .95rem; padding: .7rem 1.1rem; }
.bu-status { margin: .7rem 0 0; font-size: .8rem; color: #64748b; } .bu-status.bu-ok { color: #047857; font-weight: 600; }
.bu-legacy { border: 1px dashed #cbd5e1; border-radius: .9rem; padding: .6rem .8rem; margin-bottom: 1rem; background: #f8fafc; }
.bu-legacy > summary { cursor: pointer; font-size: .82rem; font-weight: 600; color: #475569; }
.bu-legacy[open] > summary { margin-bottom: .7rem; }
@media (max-width: 640px) { .bu-btn { width: 100%; justify-content: center; } }
@media (max-width: 900px) { .fin-starts-grid .fin-badge { white-space: normal; max-width: 100%; min-width: 0; overflow-wrap: anywhere; } .fin-starts-grid .fin-start-row > * { min-width: 0; } }

/* fusion9.1 : Liste des inscrits → Affiche publique */
.aff-toolbar { gap: .5rem; align-items: center; }
.aff-race { display: inline-flex; align-items: center; gap: .45rem; background: #fff; border: 1px solid #e2e8f0; border-radius: .8rem; padding: .25rem .35rem .25rem .4rem; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.aff-race select { border: 0 !important; box-shadow: none !important; background-color: transparent; min-width: 190px; }
.aff-btn { display: inline-flex; align-items: center; gap: .45rem; background: #fff; border: 1px solid #e2e8f0; border-radius: .8rem; padding: .35rem .6rem .35rem .4rem; font-size: .8rem; font-weight: 600; color: #1e293b; box-shadow: 0 1px 2px rgba(15,23,42,.05); transition: border-color .15s, box-shadow .15s, transform .15s; }
.aff-btn:hover { border-color: #a5b4fc; box-shadow: 0 4px 12px rgba(79,70,229,.12); transform: translateY(-1px); }
.aff-fmt { font-size: .6rem; font-weight: 800; letter-spacing: .04em; padding: .1rem .35rem; border-radius: .35rem; line-height: 1.2; }
.fmt-pdf { background: #ffe4e6; color: #be123c; } .fmt-xls { background: #dcfce7; color: #15803d; } .fmt-img { background: #e0f2fe; color: #0369a1; }
.aff-help { flex-basis: 100%; display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; margin: .1rem 0 0; font-size: .72rem; color: #64748b; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: .6rem; padding: .3rem .6rem; }
.aff-help .fa-info-circle { color: #6366f1; }
.aff-pink-dot { display: inline-block; width: .7rem; height: .7rem; border-radius: .2rem; background: #fce7f3; border: 1px solid #f9a8d4; vertical-align: middle; }
.aff-head { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.25rem; border-bottom: 1px solid #eef2f7; background: linear-gradient(90deg, #f8fafc, #eef2ff); }
.aff-logo { width: 3rem; height: 3rem; object-fit: contain; background: #fff; border-radius: .7rem; padding: .2rem; box-shadow: 0 1px 3px rgba(15,23,42,.1); }
#affiche-count { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .25rem; }
.aff-chip { font-size: .7rem; font-weight: 700; background: #e0e7ff; color: #3730a3; border-radius: 999px; padding: .1rem .5rem; }
.aff-chip-f { background: transparent; color: #db2777; border: 1px solid #f9a8d4; }
.aff-table thead th { position: sticky; top: 0; background: #f1f5f9; color: #475569; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; text-align: left; padding: .55rem .75rem; border-bottom: 1px solid #e2e8f0; z-index: 1; }
.aff-table tbody td { padding: .45rem .75rem; border-bottom: 1px solid #f1f5f9; }
.aff-table tbody tr.row-homme:nth-child(even) { background: #ffffff; }
.aff-table tbody tr.row-femme td { color: #db2777 !important; background: transparent !important; }
.aff-table tbody tr.row-homme td { color: #0f172a; }
.aff-bib { display: inline-block; min-width: 2.6rem; text-align: center; font-family: ui-monospace, monospace; font-weight: 800; color: #4338ca; background: #eef2ff; border-radius: .4rem; padding: .05rem .35rem; }
.aff-cat { font-size: .72rem; font-weight: 700; background: #f1f5f9; color: #334155; border-radius: .35rem; padding: .05rem .4rem; }
.aff-empty { display: flex; flex-direction: column; align-items: center; gap: .35rem; padding: 2.2rem 1rem; color: #475569; text-align: center; }
.aff-empty small { color: #94a3b8; }
@media (max-width: 640px) { .aff-race { width: 100%; } .aff-race select { flex: 1; max-width: none; } .aff-btn { flex: 1 1 auto; justify-content: center; } .aff-head { padding: .8rem; } }
@media print { .aff-head { background: #fff !important; } .aff-bib, .aff-cat { background: none !important; } }

/* fusion9.1 : Navette */
.nv-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-bottom: .9rem; }
.nv-stat { display: flex; align-items: center; gap: .7rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; padding: .8rem .9rem; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.nv-stat small { display: block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #64748b; }
.nv-stat b { display: block; font-size: 1.6rem; line-height: 1.1; color: #0f172a; font-family: ui-monospace, monospace; }
.nv-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .8rem; }
.nv-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.nv-tel { color: #0369a1; display: inline-flex; align-items: center; gap: .3rem; } .nv-tel i { font-size: .7rem; }
@media (max-width: 640px) { .nv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nv-toolbar .aff-race { width: 100%; } .nv-actions { width: 100%; } .nv-actions .aff-btn { flex: 1; justify-content: center; } }
.aff-race .uix-select { min-width: 210px; margin: 0; } .aff-race { padding: 0; border: 0; background: none; box-shadow: none; }

/* fusion9.1 : Paramètres → Événement */
.ev-preview { display: flex; align-items: center; gap: .8rem; background: linear-gradient(90deg, #1e1b4b, #3730a3); color: #fff; border-radius: 1rem; padding: .75rem 1rem; margin-bottom: .9rem; }
.ev-preview img { width: 2.6rem; height: 2.6rem; object-fit: contain; background: #fff; border-radius: .6rem; padding: .15rem; }
.ev-preview small { display: block; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; color: #c7d2fe; font-weight: 700; }
.ev-preview b { display: block; font-size: .95rem; } .ev-preview span { display: block; font-size: .75rem; color: #e0e7ff; }
.ev-group-h { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: #6366f1; margin: .9rem 0 .45rem; padding-bottom: .25rem; border-bottom: 1px solid #eef2f7; }
.ev-field { display: flex; gap: .6rem; align-items: flex-end; } .ev-field .tmh-tile { margin-bottom: .45rem; flex: none; } .ev-field-in { flex: 1; min-width: 0; }
.ev-save-row { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #eef2f7; }
.ev-save-row small { color: #94a3b8; font-size: .72rem; }
.ev-save { display: inline-flex; align-items: center; padding: .55rem 1.2rem; border-radius: .8rem; box-shadow: 0 6px 16px rgba(79,70,229,.25); }

/* fusion9.1 : vagues & équipes */
.wt-sec .wt-help { font-size: .72rem; color: #64748b; margin: -.1rem 0 .5rem; }
.wt-count { margin-left: .4rem; font-size: .65rem; font-weight: 800; background: #eef2ff; color: #4338ca; border-radius: 999px; padding: .05rem .45rem; }
.wt-table th { font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; color: #64748b; text-align: left; padding: .3rem .4rem; }
.wt-table td { padding: .25rem .3rem; vertical-align: middle; }
.wt-del { color: #e11d48; padding: .3rem .45rem; border-radius: .5rem; } .wt-del:hover { background: #ffe4e6; }
.wt-actions { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-top: .5rem; }
.wt-rule-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: .5rem; }
.wt-none { font-size: .78rem; color: #94a3b8; margin: .2rem 0; }
.wt-msg { font-size: .78rem; margin: .3rem 0 0; } .wt-err { color: #be123c; } .wt-warn { color: #b45309; } .wt-ok { color: #047857; }
.wt-live { margin: -.2rem 0 .4rem 1.2rem; border-left: 3px solid #ddd6fe; padding-left: .6rem; }
.wt-live-row { background: #faf5ff; } .wt-live-tag { color: #7c3aed; margin-right: .35rem; } .wt-bibs { display: block; font-size: .68rem; color: #64748b; }
.wt-rank-h, .lv-race-h { display: flex; align-items: center; gap: .5rem; font-weight: 700; font-size: .95rem; margin: 0 0 .6rem; color: #0f172a; }
.wt-rank-h small, .lv-race-h small { font-weight: 600; font-size: .72rem; color: #64748b; margin-left: .3rem; }
.wt-rank { padding: 1rem; }
.lv-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: 1rem; }
.lv-seg { display: inline-flex; flex-wrap: wrap; gap: .25rem; background: #e2e8f0; padding: .25rem; border-radius: 1rem; }
.lv-tab { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem .8rem .4rem .45rem; border-radius: .8rem; font-size: .82rem; font-weight: 700; color: #475569; text-align: left; line-height: 1.1; }
.lv-tab small { display: block; font-size: .64rem; font-weight: 600; color: #94a3b8; }
.lv-tab:hover { background: rgba(255,255,255,.6); } .lv-tab.active { background: #fff; color: #0f172a; box-shadow: 0 2px 8px rgba(15,23,42,.1); }
#section-live.lv-alt > *:not(.tmh-head):not(h2):not(#live-view-bar):not(#wt-live-view):not(#live-clock) { display: none !important; }
.lv-race-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.lv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .75rem; }
.lv-wave { border: 1px solid #e2e8f0; border-radius: .9rem; padding: .8rem; background: #f8fafc; }
.lv-wave.on { background: linear-gradient(180deg, #f5f3ff, #fff); border-color: #c4b5fd; }
.lv-wave-h b { font-size: .95rem; } .lv-wave-h small { display: block; font-size: .68rem; color: #64748b; }
.lv-wave-chrono { margin: .5rem 0; } .lv-wave-chrono small { display: block; font-size: .7rem; color: #64748b; }
.lv-chrono { font-family: ui-monospace, monospace; font-size: 1.6rem; font-weight: 800; color: #4c1d95; } .lv-chrono.off { color: #cbd5e1; }
.lv-starts .lv-chrono { font-size: .9rem; color: #0f766e; }
.lv-wave-stats { display: flex; gap: .4rem; flex-wrap: wrap; font-size: .7rem; color: #475569; } .lv-wave-stats span { background: #fff; border: 1px solid #e2e8f0; border-radius: .5rem; padding: .1rem .4rem; }
.lv-wave-act { margin: .5rem 0; }
.lv-wave-sub { font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #7c3aed; margin: .55rem 0 .2rem; }
.lv-top li, .lv-last li { display: flex; justify-content: space-between; gap: .5rem; font-size: .78rem; padding: .12rem 0; border-bottom: 1px dashed #e9e5f5; }
.lv-none { font-size: .75rem; color: #94a3b8; }
.lv-starts { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: .6rem; }
.lv-start { display: inline-flex; align-items: center; gap: .35rem; font-size: .75rem; background: #f1f5f9; border-radius: .6rem; padding: .25rem .55rem; color: #475569; } .lv-start.on { background: #ccfbf1; color: #115e59; }
.lv-mem { display: inline-block; font-size: .72rem; background: #f1f5f9; border-radius: .5rem; padding: .1rem .4rem; margin: .1rem .2rem .1rem 0; color: #475569; }
.lv-mem.ok { background: #dcfce7; color: #166534; } .lv-mem.ko { background: #ffe4e6; color: #9f1239; }
.lv-rank { display: inline-flex; width: 1.6rem; height: 1.6rem; align-items: center; justify-content: center; border-radius: 999px; font-weight: 800; font-size: .8rem; background: #e2e8f0; }
.lv-rank-1 { background: #fde68a; color: #92400e; } .lv-rank-2 { background: #e5e7eb; } .lv-rank-3 { background: #fed7aa; color: #9a3412; }
.lv-st { font-size: .72rem; color: #64748b; }
.pr-wave { display: inline-block; font-size: .65rem; background: #ede9fe; color: #5b21b6; border-radius: .35rem; padding: 0 .3rem; margin-left: .25rem; }
.pr-team-h { font-weight: 800; margin: 1rem 0 .4rem; font-size: .95rem; } .pr-team-h small { font-weight: 500; color: #64748b; }
@media (max-width: 640px) { .lv-seg { width: 100%; } .lv-tab { flex: 1; justify-content: center; padding: .4rem; } .lv-tab small { display: none; } .lv-race { width: 100%; } .wt-live { margin-left: .3rem; } }
/* fusion9.1 : Live « Tous les chronos » (grand écran) */
.lv-all { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .9rem; }
.lv-tile { background: #fff; border: 1px solid #e2e8f0; border-radius: 1.1rem; padding: .9rem 1rem; box-shadow: 0 2px 6px rgba(15,23,42,.06); display: flex; flex-direction: column; gap: .2rem; }
.lv-tile.lv-run { border-color: #a5b4fc; background: linear-gradient(180deg, #eef2ff, #fff 60%); }
.lv-tile.lv-done { border-color: #86efac; background: linear-gradient(180deg, #f0fdf4, #fff 60%); }
.lv-tile.lv-off { opacity: .8; }
.lv-tile-h { display: flex; align-items: center; gap: .45rem; } .lv-kind { font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: #64748b; flex: 1; }
.lv-badge { font-size: .62rem; font-weight: 800; border-radius: 999px; padding: .12rem .5rem; } .lv-badge-off { background: #f1f5f9; color: #64748b; } .lv-badge-run { background: #e0e7ff; color: #3730a3; } .lv-badge-done { background: #dcfce7; color: #166534; }
.lv-tile-name { font-weight: 800; font-size: 1.02rem; color: #0f172a; margin-top: .3rem; line-height: 1.2; } .lv-tile-sub { font-size: .72rem; color: #64748b; }
.lv-tile-chrono { font-family: ui-monospace, monospace; font-size: 2.2rem; font-weight: 800; color: #1e1b4b; letter-spacing: .02em; margin: .25rem 0; }
.lv-off .lv-tile-chrono { color: #cbd5e1; } .lv-done .lv-tile-chrono { color: #166534; }
.lv-tile-foot { font-size: .74rem; color: #475569; } .lv-tile-foot i { color: #7c3aed; }
@media (min-width: 1600px) { .lv-all { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); } .lv-tile-chrono { font-size: 3rem; } }
.lv-tile-note { font-size: 1rem; color: #b45309; font-family: inherit; }

/* fusion9.2 : formulaire public – titre « Inscription en ligne » centré et aligné sur le bouton « Télécharger le formulaire » */
body.mode-public #section-inscription > .tmh-head { justify-content: center; width: 100%; max-width: 560px; margin: .25rem auto 1.1rem; }
body.mode-public #section-inscription > .tmh-head .tmh-head-txt { align-items: center; text-align: center; }
body.mode-public #section-inscription > .tmh-head .section-title { justify-content: center; align-items: center; text-align: center; flex-direction: column; gap: .1rem; }
body.mode-public #section-inscription > .tmh-head .section-title .label-mg { display: block; font-size: .62em; }
@media (max-width: 480px) { body.mode-public #section-inscription > .tmh-head { gap: .6rem; margin-bottom: .9rem; } body.mode-public #section-inscription > .tmh-head .section-title { font-size: 1.18rem; } }
/* fusion9.2 : bloc « Bienvenue » pleine largeur, texte plus aéré */
body.mode-public .pub-intro.pub-intro-wide { width: 100%; box-sizing: border-box; margin: 0 0 1.1rem; padding: 1.1rem 1.5rem; font-size: .9rem; line-height: 1.5; box-shadow: 0 6px 18px rgba(234,88,12,.08); }
@media (max-width: 480px) { body.mode-public .pub-intro.pub-intro-wide { padding: .9rem 1rem; font-size: .86rem; } }

/* fusion10.1 – fiche « Voir » : ne plus centrer avec margin:auto.
   Sur un écran plus court que la fiche, margin-top:auto poussait le titre,
   le bouton Fermer et le dossard AU-DESSUS de la zone visible. Le haut
   devenait inaccessible : l'admin ne voyait qu'un fond sombre. */
#modal-participant, #modal-edit {
  align-items: flex-start !important;
}
#modal-participant > div, #modal-edit > div {
  margin-top: 0.75rem !important;
  margin-bottom: 1.5rem !important;
}
.fiche-synth { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-bottom: .9rem; padding: .7rem; border-radius: .8rem; background: linear-gradient(135deg, #eef2ff, #f0fdf4); border: 1px solid #c7d2fe; }
.fiche-synth .fs-cell { background: #fff; border-radius: .55rem; padding: .45rem .6rem; box-shadow: 0 1px 2px rgba(15,23,42,.06); }
.fiche-synth .fs-cell span { display: block; font-size: .68rem; color: #64748b; text-transform: uppercase; letter-spacing: .03em; }
.fiche-synth .fs-cell b { font-size: .95rem; }
.fiche-synth .fs-cell small { display: block; font-size: .68rem; color: #94a3b8; }
.fiche-synth .fs-wide { grid-column: 1 / -1; }
.fiche-synth details { background: #fff; border-radius: .55rem; padding: .4rem .6rem; font-size: .78rem; }
.fiche-synth summary { cursor: pointer; font-weight: 600; color: #4338ca; }
.fiche-synth ul { margin: .3rem 0 0; padding: 0; list-style: none; }
.fiche-synth li { padding: .15rem 0; border-top: 1px dashed #e2e8f0; }
.fiche-synth time { color: #64748b; font-variant-numeric: tabular-nums; margin-right: .3rem; }
@media (max-width: 640px) { .fiche-synth { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* fusion10 – permissions par agent (masquage des boutons ; le serveur refuse aussi) */
body.perm-no-edit [onclick="editParticipant()"], body.perm-no-payments [onclick^="validatePayment"], body.perm-no-payments [onclick^="refusePayment"], body.perm-no-payments [onclick^="refundPayment"],
body.perm-no-pickup #btn-bib-collected, body.perm-no-exports #ioe-menu .ioe-item[data-fn^="export"], body.perm-no-register .nav-btn[data-section="inscription"], body.perm-no-emails .nav-btn[data-section="emails"] { display: none !important; }
body.f10-hide-fin-agents .fiche-synth[data-fin] .fs-cell:nth-child(-n+3), body.f10-hide-fin-agents #dash-plus-races { display: none !important; }
body.liste-hide-navette #section-liste table th:nth-child(9), body.liste-hide-navette #participants-body td:nth-child(9),
body.liste-hide-source #section-liste table th:nth-child(11), body.liste-hide-source #participants-body td:nth-child(11),
body.liste-hide-docs #section-liste table th:nth-child(12), body.liste-hide-docs #participants-body td:nth-child(12) { display: none; }
.fiche-synth .fs-actions { background: transparent; box-shadow: none; padding: 0; }
.tarif-auto { color: #047857; }
/* fusion10 – panneaux d'administration (style cartes, icônes colorées, taille moyenne) */
.f10-panel h4 { font-weight: 700; font-size: .95rem; margin: .2rem 0 .6rem; display: flex; align-items: center; gap: .5rem; }
.f10-ico { width: 1.9rem; height: 1.9rem; border-radius: .6rem; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: .85rem; flex-shrink: 0; }
.f10-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .7rem; }
.f10-box { background: #fff; border: 1px solid #e2e8f0; border-radius: .8rem; padding: .8rem; }
.f10-row { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .35rem 0; border-top: 1px dashed #e2e8f0; font-size: .85rem; }
.f10-row:first-of-type { border-top: 0; }
.f10-badge { font-size: .65rem; padding: .1rem .4rem; border-radius: .4rem; font-weight: 700; text-transform: uppercase; }
.f10-ok { background: #dcfce7; color: #166534; } .f10-na { background: #fee2e2; color: #991b1b; } .f10-link { background: #e0e7ff; color: #3730a3; }
.f10-table { width: 100%; font-size: .8rem; border-collapse: collapse; } .f10-table th, .f10-table td { padding: .35rem .4rem; border-bottom: 1px solid #eef2f7; text-align: right; } .f10-table th:first-child, .f10-table td:first-child { text-align: left; }
.f10-table tr.tot td { font-weight: 700; background: #f8fafc; }
.f10-perm td { text-align: center; } .f10-perm td:first-child { text-align: left; font-family: ui-monospace, monospace; font-size: .75rem; }
.f10-ctl-nav { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .7rem; } .f10-ctl-nav button { font-size: .75rem; padding: .3rem .6rem; border-radius: .5rem; background: #f1f5f9; } .f10-ctl-nav button.on { background: #4f46e5; color: #fff; }
.f10-pub-price { margin-top: .4rem; padding: .45rem .7rem; border-radius: .6rem; background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; font-size: .85rem; }
.f10-pub-price small { color: #047857; }

/* ===== Plein écran : largeur totale (admin) ===== */
main.w-full,
main.max-w-none {
  max-width: none !important;
  width: 100% !important;
}
#section-liste .card,
#section-liste .overflow-x-auto {
  max-width: none;
}
#section-liste table {
  width: 100%;
  min-width: 1100px; /* scroll horizontal si besoin, mais utilise toute la largeur dispo */
}
#section-liste thead th {
  white-space: nowrap;
  font-size: 0.7rem;
}
#section-liste tbody td {
  font-size: 0.75rem;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}
/* Formulaire inscription public : garder une largeur confortable centrée */
body.mode-public main {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.aff-table tbody tr, .aff-table tbody td { background: #ffffff !important; }
.aff-table tbody tr.row-femme td { color: #db2777 !important; background: #ffffff !important; }

.aff-bib { color: #0f172a !important; font-weight: 700; }
#affiche-body tr.row-femme .aff-bib { color: #0f172a !important; }
#affiche-body tr.row-femme td:first-child { color: #0f172a !important; }
/* fusion10b : montant à payer / payé automatiques */
.input-amount-due { background:#f1f5f9; font-weight:600; color:#0f172a; cursor:default; }
body.mode-agent .field-amount-auto { display:block !important; }
body.mode-agent.perm-no-payments .field-amount-auto:not(.field-amount-due) { display:none !important; }
body.mode-public .field-amount-auto { display:none !important; }
/* fusion10b : compléments */
.f10b-hidden { display:none !important; }
label.f10b-req::after { content:" *"; color:#dc2626; }
.f10b-cancel { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; border-radius:8px; padding:8px 10px; font-size:13px; margin-bottom:8px; }
.f10b-badge-cancel { font-size:10px; padding:1px 6px; border-radius:4px; background:#fee2e2; color:#b91c1c; font-weight:700; }
tr.f10b-row-cancel td { opacity:.6; text-decoration:line-through; }
body.f10b-hide-cancelled tr.f10b-row-cancel { display:none !important; }
body.mode-agent:not(.perm-no-discount) #insc-mode-bar .insc-mode-btn:not([data-mode="STANDARD"]) { display:inline-flex !important; }
body.mode-agent:not(.perm-no-discount) #insc-mode-options:not(.hidden) { display:block !important; }
body.perm-no-viewList .nav-btn[data-section="liste"], body.perm-no-import .nav-btn[data-section="admin-import"], body.perm-no-shuttle .nav-btn[data-section="navette"],
body.perm-no-print .nav-btn[data-section="listes"], body.perm-no-scanner .nav-btn[data-section="scanner"], body.perm-no-results .nav-btn[data-section="classements"],
body.perm-no-medals .nav-btn[data-section="medailles"], body.perm-no-payments .nav-btn[data-section="paiements"],
body.perm-no-viewList [onclick="showSection('liste')"], body.perm-no-scanner [onclick="showSection('scanner')"], body.perm-no-shuttle [onclick="showSection('navette')"], body.perm-no-import [onclick="showSection('admin-import')"],
body.perm-no-print [onclick="showSection('listes')"], body.perm-no-results [onclick="showSection('classements')"], body.perm-no-medals [onclick="showSection('medailles')"], body.perm-no-payments [onclick="showSection('paiements')"],
body.perm-no-refund [onclick^="refundPayment"], body.perm-no-viewFinance .admin-pay-cell, body.perm-no-viewFinance #fiche-synth[data-fin], body.perm-no-viewFinance .f10-pub-price-agent { display:none !important; }
