/* Charte de l'espace client YK Groupe.
   Les jetons viennent de phase5/site/assets/css/tokens.css, recopiés tels quels,
   avec un seul ajout : --ambre, dérivé du badge « à régler » du site, pour dire
   « manqué » ou « limité » sans jamais employer le rouge de marque. Les composants
   (stat, eyebrow, badge, boutons, jauge à cases, dépliants, objets) sont ceux de
   style.css, repris à l'identique. Le reste est propre à l'espace. */

:root{
  --blanc:#ffffff; --carte:#f5f6f8;
  --encre:#1c1e1f; --gris:#616469; --gris-clair:#9a9ea3; --filet:#eceded;
  --rouge:#b3353b; --rouge-press:#992a30; --rouge-tint:#f7e9ea;
  --rouge-clair:#e8949a; --rouge-etiquette:#ef9fa4; --rouge-rose:#ffd9d9;
  --sombre:#1c1e1f; --sombre-2:#26292a; --sur-sombre:#e9eaea; --sur-sombre-2:#a7abad;
  --or:#b8741a;
  --sur-rouge:rgba(255,255,255,.92); --filet-sombre:rgba(255,255,255,.16);
  --disp:"Cal Sans",system-ui,sans-serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
  --wrap:1120px;
  --r-m:18px; --r-l:26px; --r-xl:40px; --r-pill:999px;
  --r-s:12px; --r-hero:120px; --c-focus:var(--rouge);
  --sh-1:0 1px 2px -1px rgba(28,30,31,.04),0 4px 10px -4px rgba(28,30,31,.06);
  --sh-2:0 2px 6px -3px rgba(28,30,31,.05),0 10px 24px -12px rgba(28,30,31,.09),0 24px 48px -28px rgba(28,30,31,.12);
  --sh-3:0 3px 10px -6px rgba(28,30,31,.06),0 14px 40px -18px rgba(28,30,31,.11),0 34px 72px -38px rgba(28,30,31,.14);
  --glow:0 8px 22px -8px rgba(179,53,59,.55);
  --glow-h:0 12px 30px -8px rgba(179,53,59,.60);
  --dur-tap:100ms; --dur-hover:200ms; --dur-reveal:560ms; --stagger:80ms; --shift:16px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ambre:#7a4b00; --ambre-tint:#fdf1dc;
}
@media(max-width:767px){:root{--r-hero:56px}}

@font-face{font-family:"Cal Sans";src:url("/assets/fonts/calsans.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/assets/fonts/hanken-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/assets/fonts/hanken-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/assets/fonts/hanken-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/assets/fonts/hanken-700.woff2") format("woff2");font-weight:700;font-display:swap}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;interpolate-size:allow-keywords}
::selection{background:var(--rouge-rose);color:var(--sombre)}
html,body{overflow-x:clip}
body{margin:0;background:var(--blanc);color:var(--encre);font-family:var(--sans);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--disp);font-weight:400;line-height:1.04;letter-spacing:-.015em;margin:0;text-wrap:balance}
h1{font-size:clamp(2rem,4.6vw,2.8rem)}
h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin-top:40px}
h3{font-size:clamp(1.25rem,2vw,1.5rem)}
p{margin:0}
.rouge{color:var(--rouge)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding:32px 28px 64px;position:relative}
@media(max-width:600px){.wrap{padding:20px 16px 48px}}

/* ---- Composants repris du site */
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);display:inline-flex;align-items:center;gap:8px}
.spark{width:15px;height:15px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b3353b'%3E%3Cpath d='M12 0c.6 5.7 5.7 10.8 11.4 11.4C17.7 12 12.6 17.1 12 22.8 11.4 17.1 6.3 12 .6 11.4 6.3 10.8 11.4 5.7 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:1rem;
  border:0;border-radius:var(--r-pill);padding:.9rem 1.5rem;min-height:44px;cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:transform var(--dur-tap) var(--ease),background-color var(--dur-hover) var(--ease),box-shadow var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease)}
.btn--r{background:var(--rouge);color:#fff;box-shadow:var(--glow)}
.btn--r:active{transform:translateY(1px)}
.btn--g{background:transparent;color:var(--encre);border:1px solid var(--filet)}
.btn--w{background:#fff;color:var(--encre)}
.btn--s{padding:.55rem 1.05rem;font-size:.9rem;min-height:40px}
.btn--large{width:100%}
@media(hover:hover){
  .btn--r:hover{background:var(--rouge-press);box-shadow:var(--glow-h)}
  .btn--g:hover{border-color:var(--encre)}
  .btn--w:hover{box-shadow:var(--sh-3)}
}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px;border-radius:var(--r-s)}
.stat--note,.stat--ink,.demo{--c-focus:#fff}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--encre);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 var(--r-s) 0;font-weight:600;text-decoration:none}
.skip:focus{left:0}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--blanc);border:1px solid var(--filet);
  border-radius:var(--r-pill);padding:.35rem .8rem;font-size:0.875rem;font-weight:600;box-shadow:var(--sh-1);line-height:20px}
.badge--att{background:var(--ambre-tint);color:var(--ambre);border-color:transparent}
.badge--ok{background:var(--rouge-tint);color:var(--rouge-press);border-color:transparent}
.badge--off{background:var(--carte);color:var(--gris);border-color:transparent}
.badge--ink{background:var(--encre);color:#fff;border-color:transparent}

.obj{position:absolute;pointer-events:none;background-image:var(--obj-img),radial-gradient(closest-side,rgba(179,53,59,.20),transparent 72%);background-size:contain,120% 120%;background-repeat:no-repeat;background-position:center;z-index:2}
.obj--megaphone{--obj-img:url("/assets/img/obj-megaphone.webp");width:150px;height:150px;right:-28px;top:-30px;rotate:-12deg}
.obj--carnet{--obj-img:url("/assets/img/obj-carnet.webp");width:140px;height:140px;right:-22px;top:-34px;rotate:8deg}
.obj--loupe{--obj-img:url("/assets/img/obj-loupe.webp");width:120px;height:120px;right:0;top:-40px;rotate:-8deg}
@keyframes floaty{from{transform:translateY(0)}to{transform:translateY(-8px)}}
.floaty{animation:floaty 3s ease-in-out infinite alternate}
@media(max-width:479px){.obj{display:none}}

.stat{border-radius:var(--r-l);padding:1.8rem;box-shadow:var(--sh-1);display:flex;flex-direction:column;position:relative;background:var(--blanc)}
.stat--note{background:var(--rouge);color:#fff;gap:16px;justify-content:space-between;overflow:hidden}
.stat--note::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");opacity:.10;pointer-events:none}
.stat--note>*{position:relative}
.stat--note>.obj,.stat--ink>.obj{position:absolute}
.stat--note .eyebrow{color:var(--sur-rouge)}
.stat--ink .eyebrow{color:var(--sur-sombre-2)}
.stat--tint{background:var(--carte)}
.stat--ink{background:var(--encre);color:#fff;overflow:hidden}
.stat--blanc{border:1px solid var(--filet)}
.stat .n{font-family:var(--disp);font-size:clamp(2.4rem,5vw,3.4rem);line-height:.9;letter-spacing:-.02em;margin-top:14px}
.stat .n small{font-family:var(--sans);font-size:1.05rem;letter-spacing:0;color:var(--gris);font-weight:500;margin-left:6px}
.stat--note .n{font-size:4rem;line-height:1}
.stat .l{margin-top:8px;font-size:1rem;max-width:34ch}
.stat--tint .l{color:var(--gris)}
.stat .foot{font-size:0.875rem;line-height:20px;margin-top:auto;padding-top:1rem;max-width:46ch;color:var(--gris)}
.stat--note .foot,.stat--ink .foot{color:var(--sur-rouge)}
.stat--ink .foot{color:var(--sur-sombre-2)}
.pv-note__d{font-size:1rem;color:var(--sur-rouge);max-width:34ch;border-top:1px solid var(--filet-sombre);padding-top:1rem}
.stat--ink .pv-note__d{color:var(--sur-sombre)}
@media(min-width:480px){.stat--ink>.eyebrow,.stat--ink>p:first-of-type{padding-right:120px}}

/* Jauge à cases : une case par jour du mois, remplies au fil de la dépense,
   repère du jour en trait encre. La grille remplace le flex du site pour que
   31 cases tiennent dans une carte de 390 px. */
.jauge{display:grid;grid-template-columns:repeat(var(--cases,31),1fr);gap:3px;margin:20px 0 12px}
.jauge span{height:22px;border-radius:5px;background:var(--blanc);border:1px solid var(--filet);position:relative}
.jauge span.on{background:var(--rouge);border-color:var(--rouge)}
.jauge span.auj::after{content:"";position:absolute;left:50%;top:-6px;bottom:-6px;width:2px;margin-left:-1px;background:var(--encre);border-radius:2px}
.jauge span.att{background:var(--blanc);border-color:var(--encre)}
.jauge__leg{display:flex;justify-content:space-between;font-size:.8rem;color:var(--gris);line-height:18px}

details.dep{background:var(--carte);border-radius:var(--r-m);overflow:hidden}
details.dep summary{list-style:none;cursor:pointer;padding:1.05rem 1.3rem;font-family:var(--disp);font-size:1.25rem;line-height:1.2;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px}
details.dep summary::-webkit-details-marker{display:none}
.pl{color:var(--rouge);flex:none;transition:transform 200ms var(--ease);font-family:var(--disp);font-size:1.4rem;line-height:1}
details::details-content{height:0;overflow:clip;transition:height 350ms var(--ease),content-visibility 350ms allow-discrete}
details[open]::details-content{height:auto}
details[open] .pl{transform:rotate(45deg)}
.dep__c{padding:0 1.3rem 1.3rem}
.dep__c p{color:var(--gris);max-width:60ch}

/* ---- Barre et navigation de l'espace */
.barre{background:#fff;border-bottom:1px solid var(--filet);position:sticky;top:0;z-index:40}
.barre__in{max-width:var(--wrap);margin:0 auto;padding:10px 28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;text-decoration:none;margin-right:auto;min-height:44px}
.logo__img{display:block;height:40px;width:auto}
.pil{display:flex;gap:6px;flex-wrap:wrap}
.pil a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--r-pill);text-decoration:none;font-weight:600;font-size:.95rem;color:var(--encre);border:1px solid transparent;transition:border-color var(--dur-hover) var(--ease),background-color var(--dur-hover) var(--ease)}
.pil a.on{background:var(--encre);color:#fff}
.pil a.sortir{color:var(--gris);font-weight:500}
@media(hover:hover){.pil a:not(.on):hover{border-color:var(--filet);background:var(--carte)}}
@media(max-width:600px){.barre__in{padding:10px 16px}.logo__img{height:34px}.pil{width:100%}.pil a{padding:0 12px;font-size:.9rem}}
.demo{background:var(--rouge);color:#fff;text-align:center;font-weight:700;padding:10px 16px;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem}

/* ---- Structure des pages */
.tete{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.tete .sous{color:var(--gris);font-size:1.05rem;max-width:60ch}
.h1nav{display:flex;align-items:center;gap:12px}
.h1nav h1{flex:1}
.fl{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--filet);color:var(--encre);text-decoration:none;flex:none;transition:border-color var(--dur-hover) var(--ease)}
.fl svg{width:18px;height:18px}
.fl--off{color:var(--gris-clair);border-style:dashed}
@media(hover:hover){a.fl:hover{border-color:var(--encre)}}
.pub{display:grid;grid-template-columns:1fr;gap:16px}
.pub__col{display:flex;flex-direction:column;gap:16px}
.pub__bas{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:960px){.pub{grid-template-columns:1fr 1fr;gap:20px}.pub__bas{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:20px}}
.grille{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:720px){.grille{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
.carte{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r-l);padding:1.5rem;margin-bottom:16px;box-shadow:var(--sh-1)}
.carte--tint{background:var(--carte);border-color:transparent}
.carte h2,.carte h3{margin-top:0}
.k{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.v{font-family:var(--disp);font-size:1.6rem;line-height:1.1;margin-top:6px}
.note{font-size:.875rem;line-height:20px;color:var(--gris)}
.flash{padding:12px 16px;border-radius:var(--r-m);margin-bottom:16px;background:var(--carte);border-left:4px solid var(--rouge);font-weight:500}
.flash--err{background:var(--rouge-tint);border-left-color:var(--rouge)}
.bandeau{padding:12px 16px;border-radius:var(--r-m);margin-bottom:16px;line-height:22px}
.bandeau--ambre{background:var(--ambre-tint);color:var(--ambre);font-weight:700}
.bandeau--ambre b{font-weight:700}
.encart{background:var(--ambre-tint);color:var(--ambre);border-radius:var(--r-s);padding:10px 14px;font-size:.95rem;line-height:22px;margin-top:14px}

/* État : toujours une pastille et un texte, jamais la couleur seule */
.etat{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border:1px solid var(--filet);border-radius:var(--r-m);background:var(--blanc)}
.etat b{font-weight:700}
.etat__s{color:var(--gris);font-size:.9rem;line-height:20px}
.pastille{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none;margin-top:6px;background:var(--gris-clair);border:2px solid transparent}
.pastille--ok{background:var(--rouge)}
.pastille--att{background:var(--or)}
.pastille--off{background:var(--gris-clair)}
.pastille--fin{background:var(--encre)}
.pastille--info{background:transparent;border-color:var(--encre)}
.pastille--s{width:10px;height:10px;margin-top:0;vertical-align:middle;margin-right:6px}

/* Frise des étapes, cycle des demandes */
.etapes{list-style:none;padding:0;margin:0}
.etapes li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--filet)}
.etapes li:first-child{border-top:0}
.pt{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--filet);margin-top:2px}
.pt.ok{background:var(--rouge);border-color:var(--rouge)}
.pt.now{border-color:var(--rouge)}
.etapes .d{font-size:.875rem;color:var(--gris);line-height:20px}
.cycle{display:grid;grid-template-columns:1fr;gap:6px;margin-top:12px;padding:0;list-style:none}
.cycle li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:20px;color:var(--gris)}
.cycle li.ok{color:var(--encre)}
.cycle .pt{width:16px;height:16px;margin-top:2px}
@media(min-width:720px){.cycle{grid-template-columns:repeat(3,1fr)}}

/* Tableaux : larges, ils défilent dans leur propre conteneur */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:10px 10px;border-top:1px solid var(--filet);vertical-align:top;line-height:20px}
th{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);border-top:0;font-weight:700}
td.num,th.num{text-align:right}
tr.surl td{background:var(--ambre-tint)}
.tbl--repli{margin-top:10px}
details.dep .tbl--repli summary,.tbl--repli summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-family:var(--sans);font-size:.9rem;color:var(--gris);padding:0}

/* Champs de formulaire, repris de form.css */
label{display:block;font-weight:600;font-size:.9rem;margin:14px 0 6px}
input,textarea,select{width:100%;font-family:var(--sans);font-size:1rem;color:var(--encre);background:#fff;border:1.5px solid var(--filet);border-radius:var(--r-m);padding:.75rem .9rem;min-height:44px;transition:border-color var(--dur-hover) var(--ease),box-shadow var(--dur-hover) var(--ease)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--rouge);box-shadow:0 0 0 3px var(--rouge-tint)}
textarea{resize:vertical;min-height:96px}
input[type=checkbox]{width:20px;height:20px;min-height:0;vertical-align:middle;margin:0 8px 0 0;accent-color:var(--rouge)}
.lig{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.chk{display:flex;align-items:center;gap:8px;font-weight:500;margin:10px 0;min-height:44px}
.chk input{margin:0}
.champ-note{font-size:.875rem;color:var(--gris);margin-top:6px}
.login{max-width:460px;margin:40px auto 0}
.login .carte{padding:2rem}
@media(min-width:720px){.login{margin-top:72px}}

/* Vos appels */
.appels{list-style:none;margin:0;padding:0}
.appels li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--filet);align-items:center}
.appels li:first-child{border-top:0}
.appels .q{color:var(--gris);font-size:.9rem}

/* Actions du client */
.actions{display:flex;flex-direction:column;gap:12px}
.actions form{margin:0}
.actions .btn{width:100%}
.actions details summary{justify-content:center}
.actions details summary .pl{display:none}
.actions details[open] summary{margin-bottom:4px}
.puces{margin:12px 0 0;padding-left:20px}
.puces li{margin:4px 0}
.sig{margin-top:16px;font-weight:600}
.sig span{font-weight:400;color:var(--sur-sombre-2)}
.pied{border-top:1px solid var(--filet);padding:24px 28px 40px;color:var(--gris);font-size:.9rem;line-height:22px}
.pied__in{max-width:var(--wrap);margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 24px}
@media(max-width:600px){.pied{padding:20px 16px 32px}}

/* Graphique SVG serveur : les étiquettes sont du HTML autour du dessin, donc à
   taille réelle sur tous les écrans (dans le SVG, elles tombaient à 5 px à 390 px) */
.graph{display:grid;grid-template-columns:auto 1fr;gap:0 8px;margin-top:12px}
.graph__y{position:relative;grid-row:1;min-width:3.8em;font-size:.8rem;color:var(--gris);line-height:1;text-align:right}
.graph__y span{position:absolute;right:0;transform:translateY(-50%);white-space:nowrap}
.graph__z{grid-row:1;grid-column:2;min-width:0}
.graph__svg{width:100%;height:auto;display:block}
.graph__x{grid-column:2;display:flex;justify-content:space-between;font-size:.8rem;color:var(--gris);line-height:18px;margin-top:4px}
.graph__leg{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--gris);margin-top:8px;line-height:18px}
.graph__leg i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:6px}

/* Tableau clé-valeur : cinq colonnes sur bureau, une liste lisible sous 600 px
   (aucune colonne cachée derrière un défilement) */
@media(max-width:600px){
  .kv thead{display:none}
  .kv tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:10px 0;border-top:1px solid var(--filet)}
  .kv tbody tr:first-child{border-top:0}
  .kv td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:8px}
  .kv td:first-child{grid-column:1/-1;font-weight:600;padding-bottom:6px}
  .kv td.num::before{content:attr(data-l);color:var(--gris);font-weight:400}
}

/* Mes documents : une carte par document, les boutons toujours visibles */
.docs{list-style:none;margin:0;padding:0}
.doc{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 16px;padding:14px 0;border-top:1px solid var(--filet)}
.doc:first-child{border-top:0;padding-top:0}
.doc:last-child{padding-bottom:0}
.doc__t{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;min-width:0}
.doc__d{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.doc__m{font-family:var(--disp);font-size:1.15rem}
.doc__b{display:inline-flex;gap:8px}
@media(max-width:600px){.doc__d{width:100%;justify-content:space-between}}

/* Tour de contrôle */
.tour__haut{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-bottom:16px}
.tour__haut form{margin:0}
.compteurs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.compteurs a{display:flex;flex-direction:column;padding:14px 16px;border-radius:var(--r-m);background:var(--carte);text-decoration:none;min-height:44px}
.compteurs .n{font-family:var(--disp);font-size:1.8rem;line-height:1}
.compteurs .l{font-size:.85rem;color:var(--gris);margin-top:4px}
.compteurs a.on{outline:2px solid var(--encre)}
.filtres{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 16px}
.filtres a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--filet);text-decoration:none;font-weight:600;font-size:.9rem}
.filtres a.on{background:var(--encre);color:#fff;border-color:var(--encre)}
.mj{position:relative;height:8px;background:var(--filet);border-radius:99px;margin:6px 0 4px;min-width:120px}
.mj i{position:absolute;left:0;top:0;bottom:0;background:var(--rouge);border-radius:99px}
.mj b{position:absolute;top:-4px;width:2px;height:16px;background:var(--encre);margin-left:-1px}
.quota{display:flex;align-items:center;gap:10px}
.quota .mj{width:160px;margin:0}
.var{font-size:.8rem;color:var(--gris);white-space:nowrap}
.tour table{min-width:980px}
.tour td{font-size:.95rem}
td.num{white-space:nowrap}
.tour .nom a{font-weight:700;text-decoration:none}
.tour .nom small{display:block;color:var(--gris);font-weight:400}
.alerte{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--filet)}
.alerte:first-child{border-top:0}
.alerte>div{flex:1 1 220px;min-width:0}
.alerte form{margin-left:auto;flex:none}
@media(max-width:600px){.alerte form{margin-left:0;width:100%}.alerte form input{flex:1;width:auto!important}}
.check{list-style:none;padding:0;margin:0}
.check li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--filet);min-height:44px}
.check li:first-child{border-top:0}
.copie{font-family:var(--sans);font-variant-numeric:tabular-nums;user-select:all;background:var(--carte);padding:2px 8px;border-radius:6px}
.journal{font-size:.9rem}
.journal .hors{background:var(--ambre-tint)}
.deux{display:grid;grid-template-columns:1fr;gap:16px}
.deux>*{min-width:0}
@media(min-width:900px){.deux{grid-template-columns:1fr 1fr}}
.releve h2{margin-top:32px}
.releve table td:first-child{font-weight:500}
.empreinte{font-size:.8rem;color:var(--gris);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

@media(prefers-reduced-motion:reduce){
  .floaty,.spark{animation:none!important}
  *{transition:none!important;scroll-behavior:auto!important}
}
@media print{
  .barre,.pied,.btn,.demo,.skip,.obj,.fl{display:none!important}
  body{background:#fff}
  .wrap{padding:0;max-width:none}
  .stat,.carte{box-shadow:none;border:1px solid var(--filet);break-inside:avoid}
  .stat--note{background:var(--rouge)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .stat--ink{background:var(--encre)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  details.dep{display:block}
  details::details-content{height:auto}
}
