/* QELI - cartes : le même style que dans Profil, dans toute l'application et dans la console.
   Fond de page légèrement teinté, cartes blanches avec une ombre douce, jamais de trait gris autour ;
   les listes deviennent une carte par élément. Chargée en dernier. */
:root{--fond-cartes:#F3F5F9;--ombre-carte:0 1px 2px rgba(20,26,38,.05),0 6px 18px -6px rgba(20,26,38,.12);--r-carte-douce:20px}
:root[data-theme="sombre"]{--fond-cartes:var(--fond);--ombre-carte:0 1px 2px rgba(0,0,0,.35),0 8px 20px -8px rgba(0,0,0,.5)}
@media (prefers-color-scheme:dark){:root[data-theme="auto"]{--fond-cartes:var(--fond);--ombre-carte:0 1px 2px rgba(0,0,0,.35),0 8px 20px -8px rgba(0,0,0,.5)}}

body.app .app-zone,body.corps-console .console-zone{background:var(--fond-cartes)}

/* Cartes simples */
:is(body.app,body.corps-console) :is(.carte,.chiffre,.indicateur,.vide,.tuile-app,.semaine,.tableau-cadre,.compteurs a,.support,
  .ligne,.v3-prep-carte,.v3-seances > li,.v3-notifications li,.v3-profil-theme,.stats-jauge,.stats-programmes li,.question-qcm,
  .contenu-seance ul a,.contenu-seance ul li.support-audio,.apparence-mini,details.question,fieldset.carte){
  border:0;border-radius:var(--r-carte-douce);background-color:var(--surface);box-shadow:var(--ombre-carte)}
/* Les fonds teintés (alerte, en ligne, nouvelle notification) restent prioritaires */
:is(body.app,body.corps-console) .compteurs a.alerte{background-color:var(--alerte-fond)}
:is(body.app,body.corps-console) .compteurs a.erreur,:is(body.app,body.corps-console) .carte-salle.alerte{background-color:var(--erreur-fond)}
body.app .v3-notifications li.nouvelle,body.app .v3-seances li.en-ligne{background-color:color-mix(in srgb,var(--v3-jaune,#F5C343) 12%,var(--surface))}
/* Petites cartes à l'intérieur d'une carte : pas d'ombre, pas de trait */
:is(body.app,body.corps-console) .stats-chiffre{border:0;box-shadow:none}

/* Listes : une carte par élément, séparées par un espace (comme dans Profil) */
:is(body.app,body.corps-console) :is(.liste,.a-traiter){display:flex;flex-direction:column;gap:10px;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
:is(body.app,body.corps-console) :is(.liste,.a-traiter) > li{background:var(--surface);border:0;border-radius:var(--r-carte-douce);box-shadow:var(--ombre-carte)}
:is(body.app,body.corps-console) :is(.liste,.a-traiter) > li + li{border-top:0}
body.app .liens-profil{gap:10px}

/* Toucher : la carte s'enfonce légèrement */
:is(body.app,body.corps-console) :is(a.ligne,a.v3-prep-carte,.compteurs a,a.carte,.contenu-seance ul a){transition:transform .15s ease,box-shadow .15s ease}
:is(body.app,body.corps-console) :is(a.ligne,a.v3-prep-carte,.compteurs a,a.carte,.contenu-seance ul a):active{transform:scale(.985)}
:is(body.app,body.corps-console) a.ligne:hover{transform:none}

/* Carte choisie (filtres) : fond teinté plutôt qu'un contour */
:is(body.app,body.corps-console) .chiffres-groupe a.carte.choisi{box-shadow:var(--ombre-carte);background-color:var(--primaire-fond)}
body.app .carte-teinte{border:0;border-radius:var(--r-carte-douce);background-color:var(--surface);box-shadow:var(--ombre-carte)}

/* Tableaux sans cadre et formulaires posés dans une section : eux aussi en carte */
:is(body.app,body.corps-console) .tableau-defile{background:var(--surface);border:0;border-radius:var(--r-carte-douce);box-shadow:var(--ombre-carte);overflow:auto}
:is(body.app,body.corps-console) :is(.section:not(.carte),.app-contenu,main) > form.formulaire:not(.carte){background:var(--surface);border-radius:var(--r-carte-douce);
  box-shadow:var(--ombre-carte);padding:20px}

/* ---------- Boutons : tous jaunes (application, console, pages du compte) ----------
   Exceptions : action dangereuse (rouge), bouton inactif (gris), lien présenté comme un bouton. */
.bouton:not(.lien):not(.destructif):not(.quitter){background:#F5C343;border-color:#F5C343;color:#141A26;box-shadow:none}
.bouton:not(.lien):not(.destructif):not(.quitter) svg{color:#141A26}
.bouton:not(.lien):not(.destructif):not(.quitter):not([disabled]):not([aria-disabled="true"]):hover{background:#E8B32C;border-color:#E8B32C;color:#141A26}
.bouton:not(.lien):not(.destructif):not(.quitter):focus-visible{box-shadow:0 0 0 3px rgba(27,42,74,.35)}
.bouton.bouton[disabled]:not(.lien),.bouton.bouton[aria-disabled="true"]:not(.lien){background:var(--desactive-fond);border-color:var(--desactive-fond);color:var(--desactive-texte)}

/* Mes cours : carte « En attente de paiement » en jaune, bouton « Payer » bleu nuit, pour attirer l'œil */
:is(body.app,body.corps-console) .liste.a-payer{margin-top:14px}
:is(body.app,body.corps-console) .liste.a-payer > li{background:#F5C343;color:#141A26;box-shadow:0 8px 22px -8px rgba(245,195,67,.7)}
:is(body.app,body.corps-console) .liste.a-payer > li .titre,:is(body.app,body.corps-console) .liste.a-payer > li .meta{color:#141A26}
:is(body.app,body.corps-console) .liste.a-payer > li .etat{background:rgba(20,26,38,.12);color:#141A26}
.bouton.bouton-nuit:not(.lien):not(.destructif):not(.quitter){background:#1B2A4A;border-color:#1B2A4A;color:#fff}
.bouton.bouton-nuit:not(.lien):not(.destructif):not(.quitter):not([disabled]):hover{background:#24365E;border-color:#24365E;color:#fff}
.bouton.bouton-nuit svg{color:#fff}
