/* Compléments à common.css (toast, fenêtres, formulaires, bannières) */
.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;background:var(--tx);color:var(--bg);padding:11px 18px;border-radius:12px;font-size:14px;z-index:90;transition:.3s;max-width:90vw;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}.toast.k{background:var(--ko);color:#fff}
.mdl{position:fixed;inset:0;background:#0b102088;backdrop-filter:blur(4px);display:grid;place-items:center;z-index:80;padding:16px;animation:up .25s both}
.mdl>div{background:var(--bg);border:1px solid var(--bd);border-radius:18px;padding:22px;width:100%;max-width:560px;max-height:88vh;overflow:auto}
.mdl pre{background:#0b1020;color:#d6e2ff;padding:14px;border-radius:12px;font-size:12px;overflow:auto;max-height:46vh;white-space:pre}
.mdl .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}
.pw{font-size:26px;letter-spacing:4px;font-weight:700;text-align:center;padding:14px;border-radius:12px;background:var(--ac2);color:var(--ac);margin:10px 0}
.banner{padding:12px 14px;border-radius:12px;margin-bottom:14px;border:1px solid var(--bd);border-left:4px solid var(--warn);background:var(--card)}.banner.k{border-left-color:var(--ko)}
.live{display:inline-flex;align-items:center;font-size:12px;color:var(--mut);gap:6px}.live i{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:pulse 2s infinite}.live.off i{background:var(--ko);animation:none}
.side .who{margin-top:auto;padding:14px 10px 0;font-size:12px;color:var(--mut);border-top:1px solid var(--bd)}.side .who b{display:block;color:var(--tx);font-size:13px}
.side .who button{margin-top:8px;padding:6px 12px;font-size:12px}.side .ft{margin-top:6px;padding-top:8px}
.sm{padding:6px 12px;font-size:13px}
.empty{padding:26px;text-align:center;color:var(--mut)}
.pill.g{background:#5f6b8522;color:var(--mut)}
.tag{font-size:12px;color:var(--mut)}
.linkbox{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.linkbox code{flex:1 1 220px;background:var(--ac2);padding:9px 12px;border-radius:10px;font-size:13px;overflow:auto;white-space:nowrap}
.cut{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.k2{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
h4{margin:14px 0 6px;font-size:14px}
@media print{.side,.top,.bg,.noprint{display:none!important}main{margin:0}}
.al{--c:var(--ok)}.al.ko{--c:var(--ko)}.al.w{--c:var(--warn)}

.al.i{--c:var(--ac)}
pre.code{background:#0b1020;color:#d6e2ff;padding:14px;border-radius:12px;font-size:12px;overflow:auto;max-height:42vh;white-space:pre}
.steps{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 16px}.stp{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;border:1px solid var(--bd);background:var(--card);color:var(--mut);font-size:14px}.stp b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ac2);color:var(--ac);font-size:12px}
.stp.on{border-color:var(--ac);color:var(--tx)}.stp.on b{background:var(--ac);color:#fff}.stp.ok b{background:var(--ok);color:#fff}
.chk{display:flex;gap:12px;align-items:flex-start;padding:12px 4px;border-bottom:1px solid var(--bd)}.chk>b{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;background:var(--ok)}.chk.ko>b{background:var(--ko)}.chk.w>b{background:var(--warn)}
.chk em{font-style:normal;color:var(--mut);font-size:13px}.chk em.hint{color:var(--tx)}
.trk{display:flex;gap:4px;flex-wrap:wrap}.trk span{font-size:12px;padding:3px 9px;border-radius:99px;background:var(--ac2);color:var(--mut)}.trk .done{background:#1fb97a22;color:var(--ok)}.trk .cur{background:var(--ac);color:#fff}
details.card summary{cursor:pointer;list-style:none}details.card summary::-webkit-details-marker{display:none}

/* ---- Typographie : Poppins embarquée, plus de gras, hiérarchie nette ---- */
body{font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1{font-weight:800;font-size:27px;letter-spacing:-.4px;line-height:1.15;margin:0 0 6px}
h2{font-weight:700;letter-spacing:-.2px}
h3{font-weight:700;font-size:16.5px;letter-spacing:-.1px;margin:0 0 12px}
h4{font-weight:700}
.sub{font-weight:500;font-size:14px;line-height:1.6;max-width:70ch}
label,.mut{font-weight:600}
.mut{font-weight:500}
label{font-size:12.5px;letter-spacing:.2px}
.grp{font-weight:700;font-size:11.5px;letter-spacing:1.2px}
.side a{font-weight:600;font-size:14px;padding:11px 13px}
.side a.on{font-weight:700}
.bn{font-weight:800;letter-spacing:.2px}
.bn small{font-weight:600;letter-spacing:2px;font-size:11px;text-transform:none}
.brand .bn{max-width:175px}.bnn{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button,.cta,.pri,.sm{font-family:inherit;font-weight:700;letter-spacing:.1px}
input,select,textarea{font-family:inherit;font-weight:600}
th{font-weight:700;font-size:12px;letter-spacing:.5px;text-transform:uppercase}
td{font-weight:500}
td b,.tag,.pill{font-weight:700}
.tag{font-weight:600}
.big{font-weight:800;letter-spacing:-.6px}
.banner,.err,.note{font-weight:600}
.toast{font-weight:600}
.ticket b{font-weight:800}
.card{padding-top:20px}
.card h3+p.mut,.card h3+.mut{margin-top:-4px}
@media(max-width:820px){h1{font-size:23px}}
