/* Trame RDV : préparer et conduire un rendez-vous commercial. Mêmes variables et composants que le reste de Paolia ; pensé pour une tablette posée sur la table du prospect. */

/* Liste */
.tr-filtres { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: .8rem; align-items: end; margin-bottom: .9rem }
.tr-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .8rem }
.tr-carte { display: grid; gap: .45rem; text-decoration: none; color: inherit; transition: box-shadow .15s, border-color .15s }
.tr-carte:hover, .tr-carte:focus-visible { border-color: var(--accent, #30496F); box-shadow: var(--ombre-2, 0 6px 18px rgba(48, 73, 111, .12)) }
.tr-barre, .tr-pct { height: 6px; border-radius: 99px; background: var(--grey-soft, #F2E1C8); overflow: hidden }
.tr-barre i, .tr-pct i { display: block; height: 100%; background: var(--green, #0B805A); border-radius: 99px }
.tr-dec.go { background: var(--green-soft, #DDF6EE); color: var(--green, #0B805A) } .tr-dec.conditionnel { background: #FFEED6; color: #7A4B00 }
.tr-dec.refus { background: #FDE5E2; color: #8F2118 } .tr-dec.report { background: var(--grey-soft, #F2E1C8); color: var(--slate, #55627C) }
.tr-choix { max-height: 40vh; overflow: auto; margin: .5rem 0 }
.tr-libre { margin-top: .8rem } .tr-libre summary { cursor: pointer; min-height: 44px; display: flex; align-items: center }

/* Cadre de l'édition : étapes à gauche, formulaire au centre, résumé à droite */
.tr-cadre { display: grid; grid-template-columns: 230px minmax(0, 1fr) 270px; gap: 1rem; align-items: start }
.tr-lat { position: sticky; top: 1rem }
.tr-etapes { list-style: none; margin: 0 0 .6rem; padding: 0; display: grid; gap: .3rem }
.tr-etape { display: grid; grid-template-columns: 30px 1fr; gap: .55rem; align-items: center; width: 100%; min-height: 48px; padding: .4rem .55rem; text-align: left; background: var(--panel, #fff);
  border: 1px solid var(--line, #E8D7BD); border-radius: 12px; cursor: pointer; color: inherit; font: inherit }
.tr-etape i { font-style: normal; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 750; font-size: .8rem; background: var(--grey-soft, #F2E1C8); color: var(--slate, #55627C) }
.tr-etape span { display: grid; min-width: 0 } .tr-etape small { color: var(--slate, #55627C); font-size: .7rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.tr-etape.en_cours i { background: #FFEED6; color: #7A4B00 } .tr-etape.complete i { background: var(--green, #0B805A); color: #fff }
.tr-etape.courante { border-color: var(--accent, #30496F); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent, #30496F) 25%, transparent) }
.tr-corps { min-width: 0 } .tr-etape-corps { padding: 1.1rem 1.2rem }
.tr-etape-corps h2 { margin-top: 0 } .tr-duree { font: 500 .78rem var(--sans, system-ui); color: var(--slate, #55627C); margin-left: .4rem }
.tr-pied { display: flex; gap: .6rem; justify-content: space-between; margin-top: .8rem; position: sticky; bottom: 0; background: var(--bg, #FFEED6); padding: .5rem 0 }
.tr-pied .btn { min-height: 46px; min-width: 120px }
.tr-resume-t { cursor: pointer; font-weight: 700; min-height: 40px; display: flex; align-items: center }

/* Formulaires */
.tr-groupe { border: 1px solid var(--line, #E8D7BD); border-radius: 14px; padding: .8rem 1rem 1rem; margin: 0 0 .9rem; display: grid; gap: .6rem; min-width: 0 }
.tr-groupe legend { font-weight: 700; padding: 0 .4rem }
.tr-groupe .f { display: grid; gap: .25rem } .tr-groupe .f span { font-size: .82rem; font-weight: 650 }
.tr-groupe input, .tr-groupe select, .tr-groupe textarea, .tr-corps input[type="search"] { min-height: 44px; font-size: 1rem; width: 100%; box-sizing: border-box }
.tr-groupe textarea { resize: vertical; line-height: 1.4 }
.tr-groupe .check, .tr-valider { min-height: 44px; display: flex; align-items: center; gap: .6rem; cursor: pointer } .tr-groupe .check input, .tr-valider input { width: 22px; height: 22px; min-height: 0 }
.tr-bant { border-top: 1px solid var(--line-2, #EBEEF5); padding-top: .7rem; display: grid; gap: .4rem } .tr-bant:first-of-type { border-top: 0; padding-top: 0 }
.tr-critere { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; align-items: center; padding: .35rem 0; border-top: 1px solid var(--line-2, #EBEEF5) }
.tr-critere:first-of-type { border-top: 0 }
.tr-seg, .tr-statut { display: inline-flex; border: 1px solid var(--line, #E8D7BD); border-radius: 10px; overflow: hidden; background: var(--panel, #fff) }
.tr-seg button, .tr-statut button { min-height: 44px; padding: 0 .85rem; background: transparent; border: 0; border-right: 1px solid var(--line, #E8D7BD); font: inherit; font-size: .88rem; cursor: pointer; color: inherit }
.tr-seg button:last-child, .tr-statut button:last-child { border-right: 0 }
.tr-seg button[aria-checked="true"], .tr-statut button[aria-pressed="true"] { background: var(--accent, #30496F); color: #fff; font-weight: 700 }
.tr-statut button { min-height: 36px; padding: 0 .6rem; font-size: .78rem }
.tr-liste-champs { display: grid; gap: .6rem } .tr-ligne { border: 1px dashed var(--line, #E8D7BD); border-radius: 12px; padding: .7rem; display: grid; gap: .5rem }
.tr-ligne .btn { justify-self: end }
.tr-cases { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 0 .8rem } .tr-cases b { grid-column: 1 / -1 }
.tr-roi { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) }

/* Lectures calculées par le serveur */
.tr-res { background: var(--panel-2, #F7F8FC); border: 1px solid var(--line, #E8D7BD); border-radius: 12px; padding: .7rem .9rem; margin-top: .6rem }
.tr-etats { display: flex; flex-wrap: wrap; gap: .4rem }
.tr-etat { padding: .25rem .65rem; border-radius: 99px; font-size: .8rem; font-weight: 650; background: var(--grey-soft, #F2E1C8); color: var(--slate, #55627C) }
.tr-etat.confirme { background: var(--green-soft, #DDF6EE); color: var(--green, #0B805A) } .tr-etat.a_clarifier { background: #FFEED6; color: #7A4B00 } .tr-etat.absent { background: #FDE5E2; color: #8F2118 }
.tr-porte.visite_prete { border-color: var(--green, #0B805A); background: var(--green-soft, #DDF6EE) } .tr-porte.visite_limitee, .tr-porte.completer { border-color: #E0A100; background: #FDF7EF }
.tr-porte.requalifier { border-color: #C6372C; background: #FDF0EE }
.tr-alerte { color: #7A4B00; background: #FDF7EF; border-radius: 8px; padding: .4rem .6rem }
.tr-info { background: var(--blue-soft, #E7EDFC); border-radius: 12px; padding: .6rem .9rem; margin: .5rem 0 }
.tr-conf { margin-left: .5rem } .tr-conf.faible { background: #FDE5E2; color: #8F2118 } .tr-conf.moyenne { background: #FFEED6; color: #7A4B00 } .tr-conf.élevée { background: var(--green-soft, #DDF6EE); color: var(--green, #0B805A) }
.tr-table { width: 100%; border-collapse: collapse; font-size: .86rem } .tr-table th, .tr-table td { text-align: left; padding: .4rem .5rem; border-bottom: 1px solid var(--line-2, #EBEEF5); vertical-align: top }
.tr-parcours.ok { color: var(--green, #0B805A) } .tr-parcours.ko { color: #7A4B00 }
.tr-sous { display: flex; gap: .4rem; flex-wrap: wrap; margin: .6rem 0 }
.tr-sous button { min-height: 44px; padding: .3rem .75rem; border: 1px solid var(--line, #E8D7BD); border-radius: 12px; background: var(--panel, #fff); font: inherit; font-size: .85rem; cursor: pointer; color: inherit; text-align: left }
.tr-sous button small { display: block; color: var(--slate, #55627C); font-size: .7rem } .tr-sous .courante { border-color: var(--accent, #30496F); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent, #30496F) 25%, transparent) }
.tr-sous .complete { background: var(--green-soft, #DDF6EE) } .tr-chrono { display: flex; gap: .7rem; align-items: center; flex-wrap: wrap; margin: .3rem 0 .6rem }
.tr-temps { font: 700 1.3rem var(--sans, system-ui); font-variant-numeric: tabular-nums }
.tr-relance { margin: .3rem 0 .8rem }

/* Enregistrement et alertes */
.tr-sauve { font-size: .8rem; padding: .3rem .7rem; border-radius: 99px; background: var(--grey-soft, #F2E1C8); color: var(--slate, #55627C) }
.tr-sauve.ok { background: var(--green-soft, #DDF6EE); color: var(--green, #0B805A) } .tr-sauve.attente, .tr-sauve.envoi { background: #FFEED6; color: #7A4B00 } .tr-sauve.echec { background: #FDE5E2; color: #8F2118; font-weight: 700 }
.tr-banniere { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; padding: .7rem 1rem; border-radius: 12px; margin-bottom: .8rem }
.tr-banniere.erreur { background: #FDE5E2; color: #8F2118; border: 1px solid #E8A39B }

/* Tablette et petit écran : une colonne, étapes en bandeau défilant, résumé replié sous le formulaire */
@media (max-width: 1100px) {
  .tr-cadre { grid-template-columns: minmax(0, 1fr) } .tr-lat { position: static }
  .tr-etapes { grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr); overflow-x: auto; padding-bottom: .3rem; scroll-snap-type: x proximity } .tr-etape { scroll-snap-align: start }
  .tr-resume { order: 3 }
}
@media (max-width: 700px) { .tr-filtres { grid-template-columns: 1fr } .tr-liste { grid-template-columns: 1fr } .tr-critere { grid-template-columns: 1fr } .tr-seg button { padding: 0 .6rem } .tr-pied .btn { min-width: 0; flex: 1 } }
.tr-etape:focus-visible, .tr-seg button:focus-visible, .tr-statut button:focus-visible, .tr-sous button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent, #30496F) 55%, #fff); outline-offset: 2px }
@media (prefers-reduced-motion: reduce) { .tr-carte { transition: none } }

/* Espace de l'éditeur : accueil à deux choix et page « Gestion / Administration » */
.gs-choix { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1rem; margin-top: 1rem; }
.gs-carte { display: flex; flex-direction: column; gap: .5rem; padding: 1.4rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 12px; background: var(--fond-carte, #fff); color: inherit; text-decoration: none; }
.gs-carte:hover, .gs-carte:focus-visible { border-color: var(--accent, #0E7C86); box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.gs-carte h2 { margin: 0; font-size: 1.25rem; }
.gs-carte p { margin: 0; color: var(--texte-2, #5b6770); }
.gs-carte ul { margin: .2rem 0 0; padding-left: 1.1rem; font-size: .9rem; }
.gs-ico { color: var(--accent, #0E7C86); }
.gs-aller { margin-top: auto; font-weight: 600; color: var(--accent, #0E7C86); }
.gs-cadre { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.gs-nav { position: sticky; top: 1rem; display: flex; flex-direction: column; gap: .15rem; }
.gs-groupe { margin: .8rem 0 .2rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--texte-2, #5b6770); }
.gs-groupe:first-child { margin-top: 0; }
.gs-nav a { padding: .45rem .7rem; border-radius: 8px; color: inherit; text-decoration: none; font-size: .92rem; }
.gs-nav a:hover { background: var(--fond-survol, rgba(14, 124, 134, .08)); }
.gs-nav a.courante { background: var(--accent, #0E7C86); color: #fff; font-weight: 600; }
.gs-zone { min-width: 0; }
@media (max-width: 800px) { .gs-cadre { grid-template-columns: minmax(0, 1fr); } .gs-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: .3rem; } .gs-groupe { width: 100%; } }

.ed-onglets { display: flex; gap: .4rem; padding: .5rem 1rem 0; border-bottom: 1px solid var(--bordure, #E8D7BD); }
.ed-onglets a { padding: .5rem .9rem; border-radius: 8px 8px 0 0; color: inherit; text-decoration: none; font-weight: 600; font-size: .92rem; }
.ed-onglets a:hover { background: var(--fond-survol, rgba(14, 124, 134, .08)); }
.ed-onglets a[aria-current="page"] { background: var(--accent, #0E7C86); color: #fff; }

/* Fiche récap */
.tr-recap-apercu { max-height: 46vh; overflow: auto; border: 1px solid var(--bordure, #E8D7BD); border-radius: 8px; padding: .4rem 1rem; margin-top: .6rem; }
.tr-recap-apercu h3 { margin: .8rem 0 .3rem; font-size: 1rem; }

/* Méthode d'entretien : thèmes explorés et conseils */
.tr-themes { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: .4rem .9rem; margin: .4rem 0; }
.tr-theme { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .3rem .5rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 8px; font-size: .88rem; }
.tr-theme select { max-width: 11rem; }
.tr-conseils { list-style: none; padding: 0; margin: .3rem 0 .8rem; display: grid; gap: .4rem; }
.tr-conseils li { padding: .4rem .6rem; border-left: 4px solid #8a949c; background: rgba(138, 148, 156, .08); border-radius: 0 6px 6px 0; }
.tr-conseils li.important { border-left-color: #c98a00; background: rgba(201, 138, 0, .1); }

/* Conducteur d'entretien : plein écran, sobre, une ligne directrice à gauche, ce que dit l'interlocuteur à droite */
body.plein-trame .shell { grid-template-columns: 1fr }
body.plein-trame .side, body.plein-trame .top, body.plein-trame .bandeau-demo, body.plein-trame .ed-onglets { display: none }
body.plein-trame .page { max-width: none; padding: 0 }
.te { min-height: 100vh; display: flex; flex-direction: column; background: var(--fond, #FDF7EF); }
.te-haut { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding: .6rem 1.4rem; background: var(--fond-carte, #fff); border-bottom: 1px solid var(--bordure, #E8D7BD); }
.te-sortir { font-weight: 600; text-decoration: none; color: inherit; padding: .3rem .6rem; border-radius: 8px; }
.te-sortir:hover { background: rgba(14, 124, 134, .09); }
.te-titre { display: flex; align-items: center; gap: .6rem; flex: 1 1 14rem; min-width: 0; font-size: 1.05rem; }
.te-outils { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.te-liste-cadre { padding: .6rem 1.2rem 0; }
.te-fil { list-style: none; display: flex; gap: .3rem; margin: 0; padding: .7rem 1.4rem; overflow-x: auto; background: var(--fond-carte, #fff); border-bottom: 1px solid var(--bordure, #E8D7BD); }
.te-fil li { flex: 1 0 auto; }
.te-fil button { display: flex; align-items: center; gap: .45rem; width: 100%; padding: .35rem .7rem; border: 1px solid transparent; border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: .9rem; cursor: pointer; white-space: nowrap; }
.te-fil button:hover { background: rgba(14, 124, 134, .08); }
.te-fil button:focus-visible { outline: 3px solid var(--accent, #0E7C86); outline-offset: 2px; }
.te-pastille { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; border: 2px solid #9aa5ad; font-size: .78rem; font-weight: 700; flex: none; }
.te-fil .en_cours .te-pastille { border-color: #c98a00; color: #7a5200; }
.te-fil .complete .te-pastille { border-color: #2e7d4f; background: #2e7d4f; color: #fff; }
.te-fil .courant { background: var(--accent, #0E7C86); color: #fff; font-weight: 600; }
.te-fil .courant .te-pastille { border-color: #fff; color: #fff; background: transparent; }
.te-moment { flex: 1; display: grid; grid-template-columns: minmax(18rem, 5fr) minmax(0, 7fr); gap: 1.6rem; padding: 1.4rem 1.4rem 2rem; max-width: 1500px; width: 100%; margin: 0 auto; align-items: start; }
.te-guide { position: sticky; top: 7.4rem; padding: 1.2rem 1.3rem; border-radius: 14px; background: var(--fond-carte, #fff); border: 1px solid var(--bordure, #E8D7BD); max-height: calc(100vh - 12rem); overflow: auto; }
.te-guide h2 { margin: .1rem 0 .4rem; font-size: 1.5rem; line-height: 1.2; }
.te-num { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--texte-2, #5b6770); }
.te-objectif { margin: 0 0 1rem; color: var(--texte-2, #44525c); }
.te-etiquette { display: block; margin-bottom: .3rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--accent, #0E7C86); }
.te-dire { margin-bottom: 1rem; }
.te-dire.arret .te-etiquette { color: #b3261e; }
.te-dire blockquote { margin: 0 0 .5rem; padding: .3rem 0 .3rem 1rem; border-left: 4px solid var(--accent, #0E7C86); font-size: 1.2rem; line-height: 1.45; font-weight: 500; }
.te-dire.arret blockquote { border-left-color: #b3261e; }
.te-relances { margin: 0 0 1rem; }
.te-relances summary { cursor: pointer; font-weight: 600; margin-bottom: .3rem; }
.te-relances ul, .te-ecouter ul, .te-eviter ul { margin: .2rem 0 0; padding-left: 1.1rem; }
.te-relances li { margin: .3rem 0; }
.te-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; font-size: .9rem; }
.te-eviter .te-etiquette { color: #8f1d17; }
.te-saisie { background: var(--fond-carte, #fff); border: 1px solid var(--bordure, #E8D7BD); border-radius: 14px; padding: 1.2rem 1.4rem 1.6rem; }
.te-saisie-titre { margin: 0 0 .8rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--texte-2, #5b6770); }
.te-saisie textarea { min-height: 3.2rem; }
.te-plus { margin: 1rem 0; border-top: 1px solid var(--bordure, #e3e7ea); padding-top: .6rem; }
.te-plus summary { cursor: pointer; font-weight: 600; padding: .2rem 0; }
.te-plus-corps { padding-top: .6rem; }
.te-cadre { border: 1px solid var(--bordure, #E8D7BD); border-radius: 10px; margin: .8rem 0; }
.te-bant { border: 1px solid var(--bordure, #e3e7ea); border-radius: 10px; margin: .5rem 0; }
.te-pied { position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; padding: .7rem 1.4rem; background: var(--fond-carte, #fff); border-top: 1px solid var(--bordure, #E8D7BD); box-shadow: 0 -4px 14px rgba(0, 0, 0, .06); }
.te-apercu { flex: 1 1 18rem; margin: 0; font-size: .85rem; color: var(--texte-2, #5b6770); min-width: 0; }
.te-pied .btn { min-height: 44px; }
@media (max-width: 1000px) { .te-moment { grid-template-columns: minmax(0, 1fr); } .te-guide { position: static; max-height: none; } .te-duo { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .te * { transition: none !important; scroll-behavior: auto !important; } }

.te-dire.longue blockquote { font-size: 1rem; font-weight: 400; line-height: 1.55; }
.te-dire .te-consigne { margin: .2rem 0 .6rem; font-size: .85rem; color: var(--texte-2, #5b6770); }
.te-fil button.courant, .te-fil button.courant:hover { background: var(--accent, #0E7C86); color: #fff; }

/* Audit phase 2 : bascule de phase, ordre de prix, versions du devis */
.te-phases { display: inline-flex; border: 1px solid var(--bordure, #E8D7BD); border-radius: 999px; overflow: hidden; flex: none; }
.te-phases button { padding: .35rem .9rem; border: 0; background: transparent; color: inherit; font: inherit; font-size: .88rem; cursor: pointer; }
.te-phases button[aria-pressed="true"] { background: var(--accent, #0E7C86); color: #fff; font-weight: 600; }
.te-phases button:focus-visible { outline: 3px solid var(--accent, #0E7C86); outline-offset: -3px; }
.te-prix { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .8rem; margin: 1rem 0 .4rem; }
.te-prix > div { padding: .8rem 1rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 12px; background: rgba(14, 124, 134, .06); }
.te-prix b { display: block; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.te-exemples { display: flex; flex-wrap: wrap; gap: .4rem; }
.te-versions { list-style: none; padding: 0; display: grid; gap: .4rem; }
.te-versions li { padding: .5rem .7rem; border: 1px solid var(--bordure, #e3e7ea); border-radius: 8px; font-size: .9rem; }
.te-grille { padding: .6rem .8rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 10px; margin-bottom: .8rem; }

/* Gestion / Administration : tableau de bord simplifié, grille tarifaire, création rapide */
.ga { display: grid; gap: 1.1rem; max-width: 1100px; }
.ga-entete { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.ga-entete h1 { margin: 0; }
.ga-aide { margin: .2rem 0 0; color: var(--texte-2, #5b6770); font-size: .92rem; }
.ga-alerte { margin: 0; padding: .6rem .9rem; border-radius: 10px; background: rgba(214, 150, 20, .12); border: 1px solid rgba(214, 150, 20, .4); font-size: .92rem; }
.ga-creer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 1.2rem 1.4rem; border-radius: 16px; background: var(--accent, #0E7C86); color: #fff; }
.ga-creer h2 { margin: 0; color: inherit; font-size: 1.35rem; }
.ga-creer p { margin: .15rem 0 0; opacity: .92; }
.ga-creer-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.ga-creer .btn.sec { background: rgba(255, 255, 255, .16); color: #fff; border-color: rgba(255, 255, 255, .45); }
.ga-creer .btn.sec:hover { background: rgba(255, 255, 255, .28); }
.ga-creer .ga-gros { background: #fff; color: var(--accent, #0E7C86); font-weight: 700; font-size: 1.05rem; padding: .7rem 1.2rem; }
.ga-tuiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: .8rem; }
.ga-tuile { display: flex; flex-direction: column; gap: .1rem; padding: .9rem 1rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 14px; text-decoration: none; color: inherit; background: var(--fond-carte, #fff); }
.ga-tuile:hover, .ga-tuile:focus-visible { border-color: var(--accent, #0E7C86); }
.ga-tuile span { font-size: .85rem; color: var(--texte-2, #5b6770); }
.ga-tuile b { font-size: 2rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.ga-tuile small { color: var(--texte-2, #5b6770); }
.ga-tuile.calme b { opacity: .5; }
.ga-duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 1rem; align-items: start; }
.ga-carte { padding: 1.1rem 1.2rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 14px; background: var(--fond-carte, #fff); }
.ga-carte h2 { margin: 0 0 .5rem; font-size: 1.1rem; }
.ga-tete { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; }
.ga-tete h2 { margin: 0; }
.ga-liste { list-style: none; margin: 0 0 .6rem; padding: 0; display: grid; gap: .1rem; }
.ga-liste a { display: block; padding: .5rem .2rem; border-bottom: 1px solid var(--bordure, #e3e7ea); text-decoration: none; color: inherit; }
.ga-liste small { display: block; color: var(--texte-2, #5b6770); }
.ga-champs { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .6rem .8rem; margin: .6rem 0; }
.ga-champ { display: grid; gap: .2rem; font-size: .85rem; }
.ga-champ span { color: var(--texte-2, #5b6770); }
.ga-champ input { padding: .45rem .55rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 8px; font: inherit; font-variant-numeric: tabular-nums; }
.ga-actions, .ga-barre { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-top: .4rem; }
.ga-barre { position: sticky; bottom: 0; padding: .7rem 0; background: var(--fond, #fff); }
.ga-groupes { display: grid; gap: .8rem; }
.ga-lien { margin-left: auto; font-size: .9rem; }
.cr h2 { margin: 0; }
.cr-corps { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(12rem, 1fr); gap: 1.4rem; margin-top: .8rem; }
@media (max-width: 760px) { .cr-corps { grid-template-columns: 1fr; } }
.cr-form { display: grid; gap: .7rem; }
.cr-form h3 { margin: .5rem 0 0; font-size: 1rem; }
.cr-fac { font-weight: 400; color: var(--texte-2, #5b6770); font-size: .8rem; }
.cr-ligne { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .6rem; }
.cr-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: .2rem 0 .4rem; }
.cr-chip { padding: .35rem .8rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: .88rem; cursor: pointer; }
.cr-chip[aria-pressed="true"] { background: var(--accent, #0E7C86); border-color: var(--accent, #0E7C86); color: #fff; }
.cr-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .4rem; }
.cr-autres { display: grid; gap: .8rem; align-content: start; padding-left: 1.2rem; border-left: 1px solid var(--bordure, #e3e7ea); }
@media (max-width: 760px) { .cr-autres { padding: 1rem 0 0; border-left: 0; border-top: 1px solid var(--bordure, #e3e7ea); } }
.cr-autres h3 { margin: 0; font-size: 1rem; }
.cr-groupe { display: grid; gap: .4rem; }
.cr-groupe > span { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texte-2, #5b6770); }
.cr-groupe .btn { justify-content: flex-start; text-align: left; }

/* Recueil de l'interface : jauges, cartes de fonctions, prototype */
.te-jauge { height: .55rem; border-radius: 999px; background: rgba(120, 130, 140, .2); overflow: hidden; min-width: 6rem; flex: 1; }
.te-jauge i { display: block; height: 100%; background: var(--accent, #0E7C86); border-radius: inherit; transition: width .3s ease; }
.te-jeu-tete { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin: .2rem 0 .8rem; }
.te-couv { border: 1px solid var(--accent, #0E7C86); background: transparent; color: inherit; font: inherit; font-size: .82rem; font-weight: 600; cursor: pointer; }
.te-couv:hover, .te-couv:focus-visible { background: var(--accent, #0E7C86); color: #fff; }
.te-domaine h4 { margin: 1.1rem 0 .4rem; font-size: .95rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texte-2, #5b6770); }
.te-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr)); gap: .8rem; }
.te-carte-fn { padding: .9rem 1rem; border: 1px solid var(--bordure, #E8D7BD); border-radius: 12px; display: grid; gap: .35rem; align-content: start; background: var(--fond-carte, transparent); }
.te-carte-fn header { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.te-carte-fn p { margin: 0; }
.te-question { font-style: italic; font-size: .88rem; }
.te-roles { display: grid; gap: .8rem; }
.te-indic { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .4rem .8rem; }
.te-blocs { display: grid; gap: .3rem; margin: .6rem 0; }
.te-bloc { border: 1px solid var(--bordure, #E8D7BD); border-radius: 10px; padding: .45rem .8rem; }
.te-bloc summary { display: grid; grid-template-columns: minmax(10rem, 1.4fr) 3rem minmax(6rem, 1fr); align-items: center; gap: .6rem; cursor: pointer; }
.te-apercu-proto { margin: 1rem 0; padding: .9rem 1.1rem; border-radius: 12px; border: 1px solid var(--accent, #0E7C86); background: rgba(14, 124, 134, .06); }
.te-apercu-proto h4 { margin: 0 0 .4rem; }
.te-proto-action { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin: 1rem 0 .4rem; }
.te-gros { font-size: 1.1rem; padding: .8rem 1.4rem; }

/* Assistant de rendez-vous */
.as h4 { margin: .9rem 0 .2rem; font-size: .95rem; }
.as-onglets { display: flex; gap: .4rem; flex-wrap: wrap; margin: .6rem 0 1rem; border-bottom: 1px solid var(--bordure, #E8D7BD); }
.as-onglets button { padding: .5rem .9rem; border: 0; border-bottom: 3px solid transparent; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.as-onglets button[aria-selected="true"] { border-bottom-color: var(--accent, #0E7C86); font-weight: 700; }
.as-trio { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .8rem; }
.as-cit { margin: .3rem 0; padding: .4rem .8rem; border-left: 3px solid var(--accent, #0E7C86); font-size: .92rem; }
.te-pilote { display: grid; gap: .8rem; padding-left: 1.2rem; }
