:root{--gris-0:#ffffff;--gris-50:#f7f8fa;--gris-100:#eceef2;--gris-200:#d6dae2;--gris-300:#b5bcc9;--gris-400:#8e97a8;--gris-500:#636d7e;--gris-600:#454d5c;--gris-700:#2d333f;--gris-800:#1a1e26;--gris-900:#0d0f14;--couleur-sport:#f4610e;--couleur-sport-clair:#fee9da;--couleur-sport-fonce:#c44c09;--couleur-admin:#1b3a6b;--couleur-admin-clair:#e6ebf4;--couleur-admin-fonce:#0f2347;--couleur-succes:#1d7d4a;--couleur-succes-fond:#e6f4ed;--couleur-attention:#8a5d00;--couleur-attention-fond:#fff3cc;--couleur-erreur:#c0281a;--couleur-erreur-fond:#fdecea;--couleur-fond:var(--gris-50);--couleur-carte:var(--gris-0);--couleur-bordure:var(--gris-200);--couleur-texte:var(--gris-800);--couleur-texte-secondaire:var(--gris-500);--couleur-primaire:var(--couleur-sport);--couleur-primaire-fonce:var(--couleur-sport-fonce);--couleur-danger:var(--couleur-erreur);--couleur-seance:#2b7fd9;--couleur-match:var(--couleur-sport);--couleur-evenement:var(--couleur-succes);--rayon:8px;--rayon-plat:4px;--rayon-controle:6px;--rayon-modale:12px;--ombre-carte:0 1px 4px rgba(0,0,0,0.07);--ombre-modale:0 4px 20px rgba(0,0,0,0.14)}*{box-sizing:border-box}body{margin:0;font-family:var(--police-texte);background:var(--couleur-fond);color:var(--couleur-texte)}a{color:var(--couleur-primaire)}h1,h2,h3{margin:0 0 .5rem;font-family:var(--police-titre);font-weight:700;text-transform:uppercase;letter-spacing:.01em}.page-connexion{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.carte-connexion{background:var(--couleur-carte);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);padding:2rem;max-width:420px;width:100%}.app-coach{min-height:100vh}.entete-coach{display:flex;align-items:center;gap:1.5rem;padding:.9rem 1.5rem;background:var(--couleur-carte);border-bottom:1px solid var(--couleur-bordure);box-shadow:var(--ombre-carte)}.marque{font-family:var(--police-titre);font-weight:800;font-size:2rem;line-height:1;text-transform:uppercase;letter-spacing:.03em;color:var(--couleur-primaire-fonce)}.nav-coach{display:flex;align-items:center;gap:1rem;flex:1 1}.nav-coach .form-deconnexion{margin-left:auto;display:flex;align-items:center}.nav-coach a[aria-current=page]{color:var(--couleur-primaire);font-weight:600}.bouton-menu{display:none;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;padding:0;border:1px solid var(--couleur-bordure);border-radius:var(--rayon-plat);background:none;cursor:pointer}.barres-menu,.barres-menu:after,.barres-menu:before{display:block;width:1.1rem;height:2px;border-radius:2px;background:var(--couleur-texte)}.barres-menu{position:relative}.barres-menu:after,.barres-menu:before{content:"";position:absolute;left:0}.barres-menu:before{top:-6px}.barres-menu:after{top:6px}@media (max-width:48rem){.entete-coach{flex-wrap:wrap;gap:.5rem .75rem;padding:.6rem .9rem}.marque{font-size:1.5rem;flex:1 1}.bouton-menu{display:inline-flex;order:2}.nav-coach{order:4;display:none;flex:1 0 100%;flex-direction:column;gap:0;padding-top:.5rem;border-top:1px solid var(--couleur-bordure)}.nav-coach.nav-ouverte{display:flex}.nav-coach a{padding:.6rem .25rem;border-radius:var(--rayon-plat)}.nav-coach a[aria-current=page]{background:var(--couleur-sport-clair)}.nav-coach .form-deconnexion{margin-left:0;margin-top:.4rem;padding-top:.5rem;border-top:1px solid var(--couleur-bordure)}.nav-coach .form-deconnexion button{padding:.4rem .25rem}}.nav-coach a{text-decoration:none;color:var(--couleur-texte);font-weight:500}.nav-coach a:hover{color:var(--couleur-primaire)}.contenu-coach{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;max-width:1100px;margin:0 auto}.contenu-coach:has(.page-calendrier){max-width:none}.contenu-coach:has(.page-schema-tactique){max-width:none}.contenu-coach:has(.page-pleine-largeur){max-width:none}.bloc{background:var(--couleur-carte);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);padding:1.25rem;box-shadow:var(--ombre-carte)}.texte-secondaire{color:var(--couleur-texte-secondaire);font-size:.9rem}.texte-succes{color:var(--couleur-succes);font-size:.85rem;font-weight:600}.message-erreur{color:var(--couleur-erreur);background:var(--couleur-erreur-fond);border-left:3px solid var(--couleur-erreur)}.message-erreur,.message-info{border-radius:var(--rayon-plat);padding:.4rem .6rem;font-size:.85rem;margin:.25rem 0}.message-info{color:var(--couleur-primaire);background:var(--couleur-sport-clair);border-left:3px solid var(--couleur-primaire)}.texte-aide{font-size:.78rem;margin:.15rem 0 0}.fil-ariane{font-size:.85rem;color:var(--couleur-texte-secondaire,inherit);margin:0 0 .75rem}.formulaire{display:flex;flex-direction:column;gap:.75rem;max-width:420px}.formulaire-inline{max-width:none}.champ{display:flex;flex-direction:column;gap:.25rem}.champ label{font-size:.85rem;font-weight:600;color:var(--couleur-texte-secondaire)}button,input,select,textarea{font:inherit}input,select,textarea{padding:.5rem .6rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon-controle);background:white;color:var(--couleur-texte)}.cases-equipes{display:flex;flex-direction:column;gap:.35rem}.case-equipe{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:400}.btn-primary,:where(button[type=submit]){align-self:flex-start;height:40px;padding:0 1rem;background:var(--couleur-primaire);color:white;border:none;border-radius:var(--rayon-controle);font-family:var(--police-texte);font-weight:600;font-size:.875rem;cursor:pointer}.btn-primary:hover,:where(button[type=submit]):hover{background:var(--couleur-primaire-fonce)}.btn-primary:disabled,:where(button[type=submit]):disabled{opacity:.45;cursor:default}.btn-secondary{background:var(--couleur-sport-clair);color:var(--couleur-sport-fonce);border:1px solid color-mix(in srgb,var(--couleur-primaire) 27%,transparent);border-radius:var(--rayon-controle)}.btn-ghost,.btn-secondary{height:40px;padding:0 1rem;font-family:var(--police-texte);font-weight:600;font-size:.875rem;cursor:pointer}.btn-ghost{background:transparent;color:var(--couleur-primaire);border:1px solid color-mix(in srgb,var(--couleur-primaire) 20%,transparent);border-radius:var(--rayon-controle)}.btn-destructive{height:40px;padding:0 1rem;background:var(--couleur-erreur-fond);color:var(--couleur-erreur);border:1px solid color-mix(in srgb,var(--couleur-erreur) 20%,transparent);border-radius:var(--rayon-controle);font-family:var(--police-texte);font-weight:600;font-size:.875rem;cursor:pointer}.btn-destructive:disabled,.btn-ghost:disabled,.btn-primary:disabled,.btn-secondary:disabled{opacity:.45;cursor:default}.bouton-lien{background:none;border:none;color:var(--couleur-primaire);cursor:pointer;padding:0;text-decoration:none;font-size:.9rem}.bouton-lien:hover{text-decoration:underline}.bouton-danger{color:var(--couleur-danger)}.page-equipes{gap:1.5rem}.liste-equipes,.page-equipes{display:flex;flex-direction:column}.liste-equipes{list-style:none;margin:0;padding:0;gap:.5rem}.selecteur-equipe{display:flex;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.15rem}.selecteur-equipe::-webkit-scrollbar{display:none}.onglet-equipe{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;flex:0 0 auto;padding:.5rem .8rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte);color:inherit;text-decoration:none;cursor:pointer}.onglet-equipe.actif,.onglet-equipe:hover{border-color:var(--couleur-primaire)}.onglet-equipe.actif{background:var(--couleur-sport-clair)}.nom-onglet-equipe{font-weight:600}.puce-club{font-family:var(--police-mono);font-size:.65rem;letter-spacing:.04em;color:var(--couleur-sport-fonce);background:var(--couleur-sport-clair);border-radius:var(--rayon-plat);padding:0 .35rem}.gestion-equipe{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.panneau-gestion-equipe{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem .9rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-fond)}.liste-joueurs{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.carte-joueur{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.5rem .8rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon)}.numero-joueur{flex:0 0 2ch;font-family:var(--police-mono);font-weight:600;color:var(--couleur-texte-secondaire);text-align:right}.formulaire-joueur{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.6rem}.formulaire-joueur .champ{flex:1 1 8rem}.formulaire-joueur .champ-numero{flex:0 0 4.5rem}.formulaire-joueur .champ-initiale{flex:0 0 5rem}.formulaire-joueur .message-erreur{flex:1 1 100%;margin:0}.carte-equipe{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon)}.nom-equipe{font-weight:600;flex:1 1}.badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--couleur-sport-clair);color:var(--couleur-sport-fonce);border:1px solid color-mix(in srgb,var(--couleur-primaire) 20%,transparent);border-radius:var(--rayon-plat);padding:.1rem .5rem;font-family:var(--police-mono);font-size:.7rem;font-weight:500;letter-spacing:.02em}.actions-ligne{display:flex;gap:.75rem}.badge-club{background:color-mix(in srgb,var(--couleur-primaire) 15%,transparent);color:var(--couleur-primaire);border-color:color-mix(in srgb,var(--couleur-primaire) 35%,transparent)}.carte-situation{display:flex;flex-direction:column;gap:.35rem;padding:.6rem .8rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte)}.carte-glissable{-webkit-touch-callout:none}.entete-situation{display:flex;align-items:center;gap:.75rem}.rappel-rgpd{font-size:.75rem;color:var(--couleur-texte-secondaire);font-style:italic;margin:0}.page-calendrier{display:flex;flex-direction:column;gap:1.5rem}.barre-navigation-calendrier{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.groupe-nav{display:flex;gap:.75rem;align-items:center}.titre-periode{flex:1 1;text-align:center;min-width:180px}.onglet-vue{padding:.3rem .75rem;border-radius:999px;text-decoration:none;color:var(--couleur-texte-secondaire);font-size:.9rem;border:1px solid var(--couleur-bordure)}.onglet-actif{background:var(--couleur-primaire);color:white;border-color:var(--couleur-primaire)}.grille-mois{display:flex;flex-direction:column;gap:2px;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);overflow:hidden}.ligne-entetes-jours,.ligne-semaine{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.entete-jour{text-align:center;font-size:.75rem;font-weight:600;color:var(--couleur-texte-secondaire);padding:.35rem;background:var(--couleur-fond)}.cellule-jour{min-width:0;min-height:90px;padding:.35rem;background:var(--couleur-carte);color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:.25rem;border:1px solid transparent}.cellule-jour:hover{border-color:var(--couleur-primaire)}.cellule-jour.hors-mois{background:var(--couleur-fond);color:var(--couleur-texte-secondaire)}.cellule-jour.aujourdhui .numero-jour{background:var(--couleur-primaire);color:white;border-radius:999px;padding:0 .4rem}.numero-jour{font-size:.8rem;font-weight:600;align-self:flex-start}.chips-jour{display:flex;flex-direction:column;gap:2px;min-width:0}.chips-jour>*{min-width:0;max-width:100%}.chip{font-size:.7rem;padding:1px 4px;border-radius:4px;color:white;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-seance{background:var(--couleur-seance)}.chip-entrainement{background:var(--gris-100);color:var(--couleur-texte);border-left:3px solid var(--gris-300)}.chip-match{background:var(--couleur-match)}.chip-evenement{background:var(--couleur-evenement)}.chip-libre{background:transparent;color:var(--couleur-texte-secondaire);border:1px dashed var(--couleur-bordure)}.chip-tag{background:color-mix(in srgb,var(--couleur-categorie) 22%,white);color:var(--couleur-texte);border-left:3px solid var(--couleur-categorie)}.chip-domicile{background:var(--couleur-match);color:white}.chip-exterieur{background:transparent;color:var(--couleur-match);border:1px solid var(--couleur-match)}.grille-annee{display:flex;flex-direction:column;gap:2px;overflow-x:auto}.ligne-annee{display:grid;grid-template-columns:4rem repeat(6,minmax(0,1fr));grid-gap:2px;gap:2px;align-items:stretch}.ligne-entetes-annee{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--couleur-fond)}.entete-semaine-annee{font-size:.7rem;font-weight:600;color:var(--couleur-texte-secondaire);text-align:center;padding:.15rem 0}.entete-mois-annee{display:flex;align-items:center;font-weight:600;font-size:.8rem;text-decoration:none;padding:.35rem}.cellule-semaine{min-width:0;display:flex;flex-direction:column;gap:2px;min-height:3.2rem;padding:.2rem;background:var(--couleur-carte);border:1px solid var(--couleur-bordure);border-radius:var(--rayon-plat);color:inherit;text-decoration:none}.cellule-semaine.aujourdhui,.cellule-semaine:hover{border-color:var(--couleur-primaire)}.cellule-semaine.aujourdhui{background:var(--couleur-sport-clair)}.cellule-semaine-vide{background:transparent;border:1px solid transparent}.jours-semaine-annee{display:block;font-size:.65rem;color:var(--couleur-texte-secondaire);text-decoration:none}.jours-semaine-annee:hover{color:var(--couleur-primaire)}.entrees-semaine{display:flex;flex-direction:column;gap:1px;min-width:0}.entrees-semaine>*{min-width:0;max-width:100%}.chip-semaine-annee{font-size:.62rem;line-height:1.25}.page-bibliotheque{display:flex;flex-direction:column;gap:1.5rem}.filtres-bibliotheque{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.filtres-bibliotheque input[type=search]{flex:1 1;min-width:14rem;max-width:22rem}.grille-bibliotheque{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr));grid-gap:.75rem;gap:.75rem}.carte-bibliotheque{display:flex;flex-direction:column;min-width:0;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte);overflow:hidden}.lien-visuel-carte{display:block}.visuel-carte{display:block;width:100%;aspect-ratio:620/500;object-fit:cover;background:var(--gris-50);border-bottom:1px solid var(--couleur-bordure)}.visuel-carte.vide{display:flex;align-items:center;justify-content:center;padding:.5rem;color:var(--couleur-texte-secondaire);font-size:.75rem;text-align:center}.corps-carte{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .7rem;min-width:0;flex:1 1}.haut-carte{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.titre-carte{font-family:var(--police-titre);font-weight:700;font-size:.95rem;color:var(--couleur-texte);text-decoration:none;min-width:0;overflow-wrap:anywhere}a.titre-carte:hover{color:var(--couleur-primaire)}.objectif-carte{margin:0;font-size:.8rem;color:var(--couleur-texte-secondaire);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pied-carte{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.2rem;font-size:.8rem}@media (max-width:48rem){.grille-bibliotheque{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.haut-carte{flex-wrap:wrap;gap:.25rem}.corps-carte{gap:.3rem;padding:.45rem .5rem}.titre-carte{font-size:.85rem}.objectif-carte{-webkit-line-clamp:2}.objectif-carte,.pied-carte{font-size:.75rem}}.badge-publiee{background:var(--couleur-succes-fond);color:var(--couleur-succes);border-color:color-mix(in srgb,var(--couleur-succes) 35%,transparent)}.entete-fiche-situation{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;margin-bottom:.9rem}.ligne-titre-situation{display:flex;align-items:center;flex-wrap:nowrap;gap:.75rem}.titre-situation{margin:0;flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.bouton-titre-situation{max-width:100%;padding:.1rem .3rem;margin-left:-.3rem;border:1px solid transparent;border-radius:var(--rayon-controle);background:none;color:inherit;font:inherit;text-align:left;cursor:text}.bouton-titre-situation:focus-visible,.bouton-titre-situation:hover{border-color:var(--couleur-bordure);background:var(--couleur-fond)}.champ-titre-situation{width:100%;padding:.1rem .3rem;margin-left:-.3rem;font:inherit;color:inherit}.champs-situation{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));grid-gap:.6rem;gap:.6rem}.champ-situation{display:flex;flex-direction:column;gap:.2rem;min-width:0}.champ-situation textarea{width:100%;resize:vertical;font-family:inherit;font-size:.875rem}.champ-situation>.champ-editable,.description-etape>.champ-editable{margin-left:0;margin-right:0}.champ-situation>.champ-editable.vide,.description-etape>.champ-editable.vide{border-style:dashed;border-color:var(--couleur-bordure)}.statut-situation{min-height:1.1rem;margin:0;font-size:.8rem}.pied-situation{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 2rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--couleur-bordure)}.zone-partage-communaute{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;max-width:32rem}.zone-partage-communaute p{margin:0}.zone-suppression-situation{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.zone-suppression-situation.armee{align-self:flex-start;padding:.75rem .9rem;border:1px solid color-mix(in srgb,var(--couleur-erreur) 30%,transparent);border-radius:var(--rayon);background:var(--couleur-erreur-fond)}.zone-suppression-situation p{margin:0;font-size:.875rem}.bascule-type-situation{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;margin-left:auto}.interrupteur-type{display:inline-flex;padding:2px;border:1px solid var(--couleur-bordure);border-radius:999px;background:var(--couleur-fond)}.position-type{display:inline-flex;align-items:center;height:30px;padding:0 .75rem;border:0;border-radius:999px;background:transparent;color:var(--couleur-texte-secondaire);font-family:var(--police-texte);font-size:.8rem;font-weight:600;cursor:pointer}.position-type:hover:not(:disabled):not(.retenue){color:var(--couleur-texte)}.position-type.retenue{background:var(--couleur-primaire);color:white}.position-type:disabled{cursor:default}.message-succes{color:var(--couleur-succes);font-size:.85rem}.formulaire-pseudo{display:flex;flex-direction:column;gap:.6rem;max-width:24rem}.voile-popup{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgb(0 0 0/35%)}.popup-evenement{width:min(34rem,100%);max-height:85vh;overflow-y:auto;padding:1.25rem;border-radius:var(--rayon);background:var(--couleur-carte);box-shadow:0 12px 40px rgb(0 0 0/25%)}@media (max-width:64rem){.ligne-annee{grid-template-columns:3rem repeat(6,minmax(0,1fr))}.entete-mois-annee{font-size:.7rem;padding:.25rem}.chip-semaine-annee{font-size:.55rem}.cellule-jour{min-height:5.5rem;padding:.25rem}.chips-jour .chip{font-size:.62rem}.colonne-jour{flex-direction:column;align-items:stretch;gap:.35rem}.entete-colonne-jour{flex:none}}@media (max-width:48rem){.cellule-jour{min-height:4.2rem;padding:.15rem;gap:1px}.numero-jour{font-size:.7rem}.chips-jour .chip{font-size:.55rem;padding:0 2px;border-left-width:2px}.entete-jour{font-size:.65rem;padding:.2rem 0}.barre-navigation-calendrier{justify-content:flex-start}.titre-periode{width:100%;order:-1}.ligne-annee{grid-template-columns:2.4rem repeat(6,minmax(0,1fr))}.entete-mois-annee{font-size:.62rem;padding:.2rem .1rem}.chip-semaine-annee{font-size:0;min-height:5px;padding:0}.jours-semaine-annee{font-size:.55rem}.cellule-semaine{min-height:2.6rem}}.navigation-periode{display:inline-flex;gap:0}.bouton-periode{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;min-height:2.2rem;padding:.3rem .85rem;border:1px solid var(--couleur-bordure);background:var(--couleur-carte);color:var(--couleur-texte);font-size:.85rem;font-weight:600;text-decoration:none;margin-left:-1px}.bouton-periode:first-child{margin-left:0;border-radius:999px 0 0 999px}.bouton-periode:last-child{border-radius:0 999px 999px 0}.bouton-periode:hover{background:var(--couleur-sport-clair);color:var(--couleur-primaire);border-color:var(--couleur-primaire);position:relative;z-index:1}.bouton-periode:first-child,.bouton-periode:last-child{font-size:1.15rem;line-height:1;padding:.3rem .6rem}@media (min-width:64.0625rem){.app-coach:has(.page-calendrier){display:flex;flex-direction:column;height:100dvh}.app-coach:has(.page-calendrier) .contenu-coach{flex:1 1;min-height:0;margin:0;width:100%}.page-calendrier{flex:1 1;min-height:0}.page-calendrier>.bloc:first-child{flex:1 1;min-height:0;display:flex;flex-direction:column}.grille-annee,.grille-mois,.grille-semaine,.ligne-semaine,.vue-jour{flex:1 1;min-height:0}.cellule-jour{overflow:hidden}.colonne-jour,.ligne-annee{flex:1 1;min-height:0}.vue-jour{overflow-y:auto}}.menu-creation{position:fixed;z-index:50;min-width:10rem;padding:.3rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte);box-shadow:0 8px 24px rgb(0 0 0/18%);display:flex;flex-direction:column;gap:1px}.entete-menu-creation{padding:.2rem .5rem;font-size:.7rem;font-weight:600;color:var(--couleur-texte-secondaire);text-transform:uppercase;letter-spacing:.03em}.element-menu-creation{padding:.4rem .5rem;border:none;border-radius:var(--rayon-plat);background:none;color:inherit;font-size:.85rem;text-align:left;cursor:pointer}.element-menu-creation:hover{background:var(--couleur-sport-clair);color:var(--couleur-primaire)}.formulaire-creation{display:flex;flex-direction:column;gap:.75rem}.page-calendrier,.zone-creation{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.page-calendrier .popup-evenement,.page-calendrier input,.page-calendrier textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.page-entrainement{display:flex;flex-direction:column;gap:1.5rem}.onglets-entrainement{margin-bottom:1rem}.bandeau-annule{margin:.75rem 0;padding:.6rem .8rem;border:1px solid color-mix(in srgb,var(--couleur-erreur) 35%,transparent);border-radius:var(--rayon);background:var(--couleur-erreur-fond);color:var(--couleur-erreur);font-size:.85rem}.bouton-etat-presence{padding:.15rem .6rem;border:1px solid var(--couleur-bordure);border-radius:999px;background:none;color:var(--couleur-texte-secondaire);font-size:.75rem;cursor:pointer}.bouton-etat-presence:hover{border-color:var(--couleur-primaire)}.bouton-etat-presence.etat-actif{color:white;border-color:transparent;font-weight:600}.bouton-etat-presence.etat-actif.etat-present{background:var(--couleur-succes)}.bouton-etat-presence.etat-actif.etat-absent{background:var(--couleur-erreur)}.bouton-etat-presence.etat-actif.etat-excuse{background:var(--gris-700)}.bouton-etat-presence.etat-actif.etat-blesse{background:var(--couleur-sport)}.entrainement-libre .carte-equipe,.onglet-presence .carte-equipe{justify-content:space-between}.champ-observations-generales{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;font-weight:600}.champ-observations-generales textarea{font-weight:400}.entrainement-libre{display:flex;flex-direction:column;gap:.75rem}.recherche-seance-a-affecter{display:flex;flex-direction:column;gap:.5rem;max-width:34rem}.filtre-equipe-calendrier{align-items:center;gap:.4rem}.filtre-equipe-calendrier,.legende-calendrier{display:flex;flex-wrap:wrap;margin-bottom:.75rem}.legende-calendrier{gap:1rem;font-size:.75rem;color:var(--couleur-texte-secondaire)}.element-legende{display:inline-flex;align-items:center;gap:.35rem}.element-legende .chip{width:1.5rem;height:.85rem}.chip-plus{font-size:.7rem;color:var(--couleur-texte-secondaire)}.grille-semaine{display:flex;flex-direction:column;gap:.5rem}.colonne-jour{min-width:0;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);padding:.6rem .8rem;display:flex;flex-direction:row;align-items:baseline;gap:1rem}.colonne-jour.aujourdhui{border-color:var(--couleur-primaire);background:var(--couleur-sport-clair)}.entete-colonne-jour{flex:0 0 7rem;font-size:.85rem;font-weight:600;text-decoration:none;color:var(--couleur-texte)}.chips-jour-vertical{flex:1 1;min-width:0;gap:.3rem}.chips-jour-vertical>*{align-self:flex-start;max-width:100%}.liste-evenements-jour{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.carte-evenement-jour{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-radius:var(--rayon-controle);color:white;text-decoration:none;flex-wrap:wrap}.heure-evenement{font-weight:700}.type-evenement{font-size:.75rem;opacity:.85}.equipes-evenement{font-size:.8rem;opacity:.9}.entete-panneau{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.editeur-schema{display:flex;flex-direction:column;gap:.75rem;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.editeur-schema input,.editeur-schema textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.barre-outils-schema{display:flex;flex-wrap:nowrap;gap:.75rem;align-items:center;padding:.35rem 0;overflow-x:auto;scrollbar-width:none}.barre-outils-schema::-webkit-scrollbar{display:none}.barre-outils-schema .groupe-outils{flex:0 0 auto}.bouton-outil{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;min-height:2.4rem;padding:.2rem;border:1px solid transparent;border-radius:var(--rayon-controle);background:transparent;color:var(--couleur-texte);font-size:1rem;line-height:1;cursor:pointer}.bouton-outil:hover:not(:disabled){border-color:var(--couleur-bordure);background:var(--couleur-fond)}.bouton-outil.actif{border-color:var(--couleur-primaire);background:var(--couleur-sport-clair)}.statut-schema{display:inline-flex;align-items:center;min-width:11rem;font-size:.8rem}.bouton-outil:disabled{opacity:.4;cursor:default}.groupe-outils{display:flex;gap:.35rem;align-items:center;padding:.35rem .5rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte)}.etiquette-outils{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--couleur-texte-secondaire)}.barre-outils-schema button{height:32px;padding:0 .7rem;font-size:.8rem}.atelier-schema{display:flex;gap:.75rem;align-items:flex-start;flex-wrap:nowrap}@media (max-width:64rem){.atelier-schema{flex-wrap:wrap}.liste-etapes-schema{flex:1 1 100%;padding:0;border:0;background:none}}@media (max-width:48rem){.colonne-terrain{max-width:100%;overflow-x:visible}.editeur-schema{max-width:100%}.barre-outils-schema{gap:.4rem}.lignes-etapes{grid-template-columns:1fr}.contenu-coach:has(.page-schema-tactique){padding:.5rem}.page-schema-tactique{padding:.5rem}.titre-situation{font-size:1.1rem}.position-type{height:26px;padding:0 .5rem;font-size:.75rem}}.palette-schema{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.75rem;padding:.5rem .6rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte);overflow-x:auto;scrollbar-width:none}.palette-schema::-webkit-scrollbar{display:none}.groupe-palette{display:flex;flex-direction:row;align-items:center;gap:.25rem;padding-right:.75rem;border-right:1px solid var(--couleur-bordure);flex:0 0 auto;flex-wrap:nowrap}.groupe-palette:last-of-type{border-right:0;padding-right:0}.libelle-palette,.palette-schema .aide-palette,.palette-schema .etiquette-outils{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.groupe-palette h4{margin:0 0 .2rem}.item-palette{display:flex;align-items:center;justify-content:center;gap:.5rem;width:auto;flex:0 0 auto;min-width:2.4rem;min-height:2.4rem;padding:.2rem .4rem;border:1px solid transparent;border-radius:var(--rayon-controle);background:transparent;color:var(--couleur-texte);font-family:inherit;font-size:.82rem;text-align:left;cursor:pointer}.item-palette.actif,.item-palette:hover{background:var(--couleur-sport-clair)}.item-palette.actif{border-color:var(--couleur-sport);color:var(--couleur-sport-fonce);font-weight:600}.icone-palette{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;font-size:.95rem;line-height:1}.aide-palette{margin:.35rem 0 0;color:var(--couleur-texte-secondaire);font-size:.72rem;line-height:1.35}.aide-palette kbd{padding:0 .25rem;border:1px solid var(--couleur-bordure);border-radius:3px;font-family:inherit;font-size:.7rem}.icone-menu{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px}.icone-menu svg,.icone-palette svg{display:block}.zone-terrain{position:relative;flex:0 0 auto}.cadre-terrain{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre-carte);flex:0 0 auto}.colonne-terrain{display:flex;flex-direction:column;gap:.6rem;flex:0 1 620px;min-width:0;max-width:100%}.panneau-actions{padding:.75rem .9rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte)}.panneau-actions h4{margin:0 0 .35rem;font-family:var(--police-titre);font-size:.9rem;text-transform:uppercase;letter-spacing:.02em}.panneau-actions p{margin:.25rem 0 0;font-size:.875rem}.menu-contextuel{position:absolute;z-index:20;display:flex;flex-direction:column;padding:.3rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte);box-shadow:var(--ombre-carte)}.menu-contextuel-titre{margin:.1rem .4rem .3rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--couleur-texte-secondaire)}.menu-contextuel-item{display:flex;align-items:center;gap:.5rem;width:100%;height:30px;padding:0 .5rem;border:0;border-radius:var(--rayon-controle);background:transparent;color:var(--couleur-texte);font-size:.85rem;text-align:left;cursor:pointer}.menu-contextuel-item:hover{background:var(--couleur-sport-clair)}.menu-contextuel-item.destructive{margin-top:.2rem;border-top:1px solid var(--couleur-bordure);color:var(--couleur-danger)}.barre-selection{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.4rem .6rem;border:1px solid var(--couleur-bordure);border-left:3px solid #22d3ee;border-radius:var(--rayon);background:var(--couleur-carte)}.barre-selection button{display:inline-flex;align-items:center;gap:.3rem;height:30px;padding:0 .6rem;font-size:.8rem}.barre-selection button svg{display:block;flex:0 0 auto}.champ-numero{display:flex;align-items:center;gap:.3rem;font-size:.8rem}.champ-numero input[type=number]{width:4rem;height:30px;padding:0 .35rem;font-size:.8rem}.bandeau-action-armee{margin:0;padding:.5rem .75rem;border:1px solid var(--couleur-sport);border-radius:var(--rayon);background:var(--couleur-sport-clair);color:var(--couleur-sport-fonce);font-size:.875rem}.liste-etapes-schema{flex:1 1;min-width:14rem;align-self:stretch;display:flex;flex-direction:column;gap:.6rem;padding:.9rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte)}.liste-etapes-schema h3{margin:0;font-size:1rem}.lignes-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(11rem,100%),1fr));grid-gap:.5rem;gap:.5rem}.ligne-etape{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:.5rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon)}.ligne-etape.active{border-color:var(--couleur-sport);background:var(--couleur-sport-clair)}.ligne-etape.en-lecture{border-color:var(--couleur-sport-fonce);box-shadow:0 0 0 2px var(--couleur-sport)}.vignette-etape{width:100%;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:0;border:0;background:transparent;cursor:pointer}.cadre-miniature{width:100%;display:flex;justify-content:center}.cadre-miniature canvas,.image-etape{border-radius:var(--rayon-controle)}.image-etape{display:block;width:100%;max-width:420px;height:auto;aspect-ratio:620/500}.image-en-attente{border:1px dashed var(--couleur-bordure)}.vignette-etape:disabled{opacity:.6;cursor:default}.numero-etape{font-size:.8rem;font-weight:600}.description-etape{flex:1 1;display:flex;flex-direction:column;gap:.3rem;min-width:0}.description-etape textarea{width:100%;resize:vertical;font-family:inherit;font-size:.875rem}.rattrapage-suppression{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .6rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon-controle);background:var(--couleur-fond);font-size:.85rem}.rattrapage-suppression button{height:32px;padding:0 .7rem;font-size:.8rem}.btn-supprimer-etape{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;border:1px solid transparent;border-radius:var(--rayon-controle);background:transparent;color:var(--couleur-texte-secondaire);line-height:1;cursor:pointer}.btn-supprimer-etape svg{display:block}.btn-supprimer-etape:hover:not(:disabled){border-color:color-mix(in srgb,var(--couleur-erreur) 20%,transparent);background:var(--couleur-erreur-fond);color:var(--couleur-erreur)}.btn-supprimer-etape:disabled{opacity:.35;cursor:default}.panneau-evenement form+form{margin-top:.75rem}.panneau-partage{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start;margin-top:1.25rem;padding:.9rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte);max-width:640px}.panneau-partage h3{margin:0;font-size:1rem}.panneau-partage p{margin:0;font-size:.875rem}.panneau-partage input[type=text]{width:100%;font-family:var(--police-mono);font-size:.8rem}.case-partage{display:flex;align-items:center;gap:.4rem;font-size:.875rem}.liste-partages{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.6rem}.liste-partages li{display:flex;flex-direction:column;gap:.4rem;padding:.6rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon-controle)}.partage-inactif{opacity:.6}.entete-partage{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.badge-actif{background:var(--couleur-succes-fond);color:var(--couleur-succes)}.badge-expire,.badge-revoque{background:var(--gris-100);color:var(--couleur-texte-secondaire)}.page-partage{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem}.carte-partage{background:var(--couleur-carte);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);box-shadow:var(--ombre-carte);padding:1.5rem;max-width:640px;width:100%}.carte-partage h1{margin:0 0 .25rem;font-size:1.5rem}.carte-partage h1,.marque-partage{font-family:var(--police-titre);text-transform:uppercase}.marque-partage{font-weight:700;letter-spacing:.06em;color:var(--couleur-primaire);margin:0 0 .5rem}.visionneuse{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0;max-width:100%;overflow-x:auto}.barre-visionneuse{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mentions-partage{margin:0;font-size:.8rem}.choix-apparence{display:flex;align-items:center;gap:.35rem}.choix-apparence select{height:32px;padding:0 .4rem;font-size:.8rem}.choix-apparence input[type=checkbox]{width:15px;height:15px;margin:0}.entete-bloc{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.entete-bloc h2{margin:0}.page-equipes>.actions-ligne{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.actions-ligne .message-erreur,.entete-situation .message-erreur{margin:0;font-size:.8rem}.entete-seance{display:flex;flex-direction:column;gap:.25rem}.entete-seance .titre-seance{margin:0}.entete-seance .creneau-seance{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin:0;color:var(--couleur-texte-secondaire)}.champ-large{flex:1 1;min-width:16rem}.deroule-seance{display:flex;flex-direction:column;gap:.75rem}.cadre-tableau{overflow-x:auto;border:1px solid var(--couleur-bordure);border-radius:var(--rayon)}.tableau-seance{border-collapse:collapse;width:100%;min-width:62rem}.tableau-seance th{text-align:left;font-family:var(--police-titre);text-transform:uppercase;font-size:.75rem;letter-spacing:.03em;color:var(--couleur-texte-secondaire);padding:.5rem .6rem;background:var(--gris-50)}.tableau-seance td,.tableau-seance th{border-bottom:1px solid var(--couleur-bordure)}.tableau-seance td{vertical-align:top;padding:.4rem .6rem}.tableau-seance tr:last-child td{border-bottom:none}.tableau-seance input,.tableau-seance textarea{width:100%;font-size:.85rem}.tableau-seance textarea{resize:vertical}.colonne-duree{width:6rem}.tableau-roster{border-collapse:collapse;width:100%}.tableau-roster th{text-align:left;font-family:var(--police-titre);text-transform:uppercase;font-size:.75rem;letter-spacing:.03em;color:var(--couleur-texte-secondaire);padding:.5rem .6rem;background:var(--gris-50)}.tableau-roster td,.tableau-roster th{border-bottom:1px solid var(--couleur-bordure)}.tableau-roster td{padding:.35rem .6rem}.tableau-roster tr:last-child td{border-bottom:none}.tableau-roster input{width:100%;font-size:.85rem}.colonne-numero{width:4.5rem}.colonne-licence{width:8rem}.colonne-genre{width:5rem}.cellule-lecture{display:block;min-height:1.9rem;padding:.25rem 0;font-size:.85rem;color:var(--couleur-texte-secondaire)}.choix-genre{width:100%;min-height:1.9rem;padding:.2rem .3rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon-plat);background:var(--couleur-carte);font:inherit;font-size:.85rem;color:inherit}.tableau-roster-club{min-width:70rem}.colonne-naissance{width:8rem}.colonne-telephone{width:9rem}.colonne-statut{width:7rem}.colonne-retrait{width:2.5rem;text-align:right}.ligne-ajout-joueur td{background:var(--gris-50)}.bouton-retrait-ligne{border:none;background:none;color:var(--couleur-texte-secondaire);font-size:1.1rem;line-height:1;padding:.15rem .35rem;border-radius:var(--rayon-plat);cursor:pointer}.bouton-retrait-ligne:hover:not(:disabled){color:var(--couleur-erreur);background:var(--couleur-erreur-fond)}.bouton-retrait-ligne:disabled{opacity:.4;cursor:default}.colonne-schema{width:15rem}.champ-editable{display:block;width:100%;min-height:1.9rem;padding:.25rem .35rem;margin:-.25rem -.35rem;border:1px solid transparent;border-radius:var(--rayon-plat);background:none;font:inherit;font-size:.85rem;color:inherit;text-align:left;white-space:pre-wrap;cursor:text}.champ-editable:hover{border-color:var(--couleur-bordure);background:var(--gris-50)}.champ-editable:focus-visible{outline:2px solid var(--couleur-primaire);outline-offset:1px}.champ-editable.vide{color:var(--gris-400);font-style:italic}.champ-editable.manquant,.choix-genre.manquant{border-color:var(--couleur-erreur);border-style:solid;color:var(--couleur-erreur)}.champ-editable.manquant:hover{border-color:var(--couleur-erreur);background:var(--couleur-erreur-fond)}.titre-seance .champ-editable{font-family:var(--police-titre);font-size:inherit}.suggestions-situation{position:fixed;z-index:60;list-style:none;margin:0;padding:.25rem;max-height:17rem;overflow-y:auto;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);background:var(--couleur-carte);box-shadow:var(--ombre-carte)}.suggestion{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.35rem .5rem;border:0;border-radius:var(--rayon-plat);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.suggestion.active,.suggestion:hover{background:var(--gris-50)}.titre-suggestion{font-weight:600;font-size:.875rem}.details-suggestion{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.chips-categories-tableau{margin-top:.3rem}.tableau-seance tr.ligne-situation{cursor:-webkit-grab;cursor:grab}.tableau-seance tr.ligne-situation:active{cursor:-webkit-grabbing;cursor:grabbing}.tableau-seance tr.ligne-glissee td{opacity:.35;background:var(--gris-50)}.tableau-seance tr.cible-avant td{box-shadow:inset 0 3px 0 var(--couleur-primaire)}.tableau-seance tr.cible-apres td{box-shadow:inset 0 -3px 0 var(--couleur-primaire)}.ligne-ajout td{padding:0}.bouton-ajout-ligne{width:100%;padding:.4rem 0;border:none;border-top:1px dashed var(--couleur-bordure);background:none;color:var(--couleur-texte-secondaire);font-size:1.1rem;line-height:1.2;text-align:left;cursor:pointer}.glyphe-ajout{position:-webkit-sticky;position:sticky;left:0;display:inline-block;padding:0 .7rem}.bouton-ajout-ligne:hover:not(:disabled){background:var(--gris-50);color:var(--couleur-primaire)}.bouton-ajout-ligne:disabled{cursor:progress;opacity:.5}.zone-suppression{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:20;padding:.75rem 1.5rem;background:var(--couleur-erreur-fond);color:var(--couleur-erreur);border:2px dashed var(--couleur-erreur);border-radius:var(--rayon);font-weight:600;font-size:.85rem;pointer-events:auto}.grille-schemas{display:grid;grid-template-columns:repeat(var(--colonnes,1),minmax(0,1fr));grid-gap:.25rem;gap:.25rem;width:100%}.grille-schemas[data-colonnes="2"]{--colonnes:2}.grille-schemas .schema-en-attente,.grille-schemas img{display:block;width:100%;aspect-ratio:620/500;border:1px solid var(--couleur-bordure);border-radius:var(--rayon-plat)}.grille-schemas .schema-en-attente{background:var(--gris-50)}.grille-schemas .schema-reste{grid-column:1/-1;font-size:.7rem;color:var(--couleur-texte-secondaire);font-style:italic}.bouton-icone{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--couleur-bordure);border-radius:var(--rayon-plat);background:none;color:var(--couleur-texte-secondaire)}.bouton-icone:hover{border-color:var(--couleur-primaire);color:var(--couleur-primaire)}.bouton-icone-danger:hover{border-color:var(--couleur-danger);color:var(--couleur-danger)}.filtres-seances{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.filtres-seances input[type=search]{max-width:20rem;flex:1 1;min-width:12rem}.chips-categories{display:flex;flex-wrap:wrap;gap:.4rem}.chip-categorie{display:inline-flex;align-items:center;padding:.15rem .65rem;border-radius:999px;border:1px solid var(--couleur-categorie,var(--couleur-bordure));background:color-mix(in srgb,var(--couleur-categorie,var(--gris-300)) 14%,white);color:var(--couleur-categorie,var(--couleur-texte-secondaire));font-size:.75rem;font-weight:600;line-height:1.4;cursor:pointer}.chip-categorie.selectionnee{background:var(--couleur-categorie,var(--couleur-primaire));color:white;border-color:transparent}.chip-categorie.lecture-seule{cursor:default}.chip-categorie[data-groupe=general]{border-color:var(--gris-300);color:var(--couleur-texte-secondaire)}.chip-categorie[data-groupe=general].selectionnee{background:var(--gris-700);border-color:transparent;color:white}.bouton-ajout-tag{padding:.15rem .65rem;border-radius:999px;border:1px dashed var(--couleur-bordure);background:none;color:var(--couleur-texte-secondaire);font-size:.75rem;font-weight:600;line-height:1.4;cursor:pointer}.bouton-ajout-tag:hover{border-color:var(--couleur-primaire);color:var(--couleur-primaire)}.popup-tags{z-index:30;width:22rem;max-width:min(22rem,90vw);max-height:24rem;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding:.75rem;background:var(--couleur-carte);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);box-shadow:var(--ombre-carte)}.popup-tags-recherche{position:-webkit-sticky;position:sticky;top:-.75rem;z-index:1;margin:-.75rem -.75rem 0;padding:.5rem .75rem;border:none;border-bottom:1px solid var(--couleur-bordure);background:var(--couleur-carte);font-size:.85rem}.popup-tags-groupe h4{margin:0 0 .3rem;font-family:var(--police-titre);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--couleur-categorie,var(--couleur-texte-secondaire))}.popup-tags-groupe[data-groupe=general] h4{color:var(--couleur-texte-secondaire)}.champ-ajout-tag{width:8rem;padding:.15rem .65rem;border-radius:999px;border:1px dashed var(--couleur-primaire);background:none;font-size:.75rem;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.carrousel-entrainements h2{margin-bottom:.75rem}.lignes-carrousel{display:flex;flex-direction:column;gap:1rem}.ligne-carrousel{display:flex;flex-direction:column;gap:.4rem}.entete-ligne-carrousel{font-weight:600;font-size:.9rem}.piste-carrousel{display:flex;align-items:stretch;gap:.4rem;min-width:0}.bouton-defilement{flex:0 0 auto;width:1.75rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon-plat);background:var(--couleur-carte);color:var(--couleur-texte-secondaire);font-size:1.1rem;line-height:1;cursor:pointer}.bouton-defilement:hover:not(:disabled){border-color:var(--couleur-primaire);color:var(--couleur-primaire)}.bouton-defilement:disabled{opacity:.3;cursor:default}.cartes-ligne-carrousel{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;min-width:0}.cartes-ligne-carrousel::-webkit-scrollbar{display:none}.cartes-ligne-carrousel>*{flex:0 0 11rem;scroll-snap-align:start}.carte-occurrence{display:flex;flex-direction:column;gap:.3rem;padding:.6rem .7rem;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);min-height:6rem;text-decoration:none;color:inherit;background:var(--couleur-carte)}.carte-occurrence.carte-occurrence-passee{opacity:.55}.carte-occurrence-remplie:hover{border-color:var(--couleur-primaire)}.carte-occurrence-remplie .titre-occurrence{font-weight:600}.chips-occurrence{margin-top:auto;gap:.25rem}.chips-occurrence .chip-categorie{max-width:100%;padding:.05rem .45rem;font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.carte-occurrence-vide{border-style:dashed;align-items:flex-start}.carte-occurrence-vide.survolee{border-color:var(--couleur-primaire);border-style:solid;background:var(--couleur-sport-clair)}.date-occurrence{font-size:.75rem;font-weight:600;color:var(--couleur-texte-secondaire)}.aide-carte-occurrence{font-size:.7rem;margin:0}.carte-glissable{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.carte-glissable:active{cursor:-webkit-grabbing;cursor:grabbing}.carte-glissable.en-glissement{opacity:.7}.carte-situation.carte-glissable .nom-equipe{color:var(--couleur-primaire)}.carrousel-entrainements{position:relative;padding-bottom:3.5rem}.zone-retrait{position:absolute;left:1rem;right:1rem;bottom:.5rem;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:.4rem .8rem;border:2px dashed color-mix(in srgb,var(--couleur-erreur) 45%,transparent);border-radius:var(--rayon);background:var(--couleur-erreur-fond);text-align:center}.zone-retrait.survolee{border-style:solid;border-color:var(--couleur-erreur)}.titre-zone-retrait{font-weight:600;font-size:.85rem;line-height:1.3;color:var(--couleur-erreur)}.zone-retrait .texte-secondaire{font-size:.7rem;line-height:1.3}.filtre-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ancre-filtre-tags{position:relative}.declencheur-filtre-tags{display:inline-flex;align-items:center;gap:.4rem}.panneau-filtre-tags{position:absolute;top:calc(100% + .35rem);left:0;z-index:30;width:22rem;max-width:min(22rem,90vw);max-height:24rem;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;padding:.75rem;background:var(--couleur-carte);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);box-shadow:var(--ombre-carte)}.entete-groupe-filtre{display:flex;align-items:center;gap:.4rem;width:100%;padding:.25rem 0;border:none;background:none;cursor:pointer;font-family:var(--police-titre);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--couleur-texte-secondaire)}.nom-groupe-filtre{flex:1 1;text-align:left;color:var(--couleur-categorie,var(--couleur-texte-secondaire))}.groupe-filtre-tags[data-groupe=general] .nom-groupe-filtre{color:var(--couleur-texte-secondaire)}.compte-groupe-filtre{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tags-groupe-filtre{padding:.1rem 0 .4rem 1.1rem}.fond-modale{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(13,15,20,.45)}.modale{display:flex;flex-direction:column;gap:.9rem;width:min(32rem,100%);max-height:90vh;overflow-y:auto;padding:1.25rem;background:var(--couleur-carte);border-radius:var(--rayon-modale);box-shadow:var(--ombre-modale)}.entete-modale{display:flex;align-items:center;justify-content:space-between;gap:1rem}.entete-modale h2{margin:0;font-size:1.1rem}.modale .cellule-jour,.modale .colonne-jour{font-family:inherit;text-align:left;cursor:pointer}.cellule-jour.occurrence-vide,.colonne-jour.occurrence-vide{border-color:var(--couleur-primaire);background:var(--couleur-sport-clair)}.cellule-jour.selectionnee,.colonne-jour.selectionnee{border-width:2px;border-color:var(--couleur-primaire-fonce)}.vue-jour button.cellule-jour{width:100%;padding:.75rem;min-height:0}