:root{--bg: #EEF3F1;--surface: #FFFFFF;--sunk: #F5F8F7;--ink: #12201C;--muted: #56675F;--line: #D8E2DE;--accent: #0A7558;--accent-soft: #DDF0E9;--on-accent: #FFFFFF;--rail: #0F1F1B;--rail-ink: #D3E3DD;--rail-muted: #82998F;--rail-active: #1D3731;--ticket: #F0B030;--ticket-ink: #2B1D00;--ok: #1A8247;--ok-soft: #DCF2E4;--warn: #9A6205;--warn-soft: #FBEFD6;--bad: #B8352A;--bad-soft: #F9E0DC;--s-direct: #2a78d6;--s-revendeur: #eb6834;--s-en-ligne: #1baf7a;--f-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-mono: ui-monospace, Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0B1311;--surface: #121C19;--sunk: #0F1816;--ink: #E2ECE8;--muted: #93A69F;--line: #24342F;--accent: #3CC79C;--accent-soft: #143329;--on-accent: #04201A;--rail: #070E0C;--rail-active: #173029;--ok: #4CC987;--ok-soft: #12301F;--warn: #E6A53C;--warn-soft: #33260F;--bad: #EF7B6A;--bad-soft: #3A1A16;--s-direct: #3987e5;--s-revendeur: #d95926;--s-en-ligne: #199e70;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body);padding:16px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left))}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.1rem}h3{font-size:1rem}p{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}textarea{background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:9px 10px;width:100%;min-width:0;resize:vertical}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.petit{font-size:.82rem}.mono{font-family:var(--f-mono)}.centre{min-height:calc(100vh - 32px);display:grid;place-items:center}.carte{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;width:min(420px,100%);display:flex;flex-direction:column;gap:14px}.marque{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.04em}.marque.grande b{font-size:1.2rem}.app{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;margin:0;align-items:start}.rail{background:var(--rail);color:var(--rail-ink);border-radius:14px;padding:18px 12px;position:sticky;top:16px;display:flex;flex-direction:column;gap:18px;max-height:calc(100vh - 32px);overflow-y:auto;scrollbar-width:thin}.rail-haut{display:flex;align-items:center;justify-content:space-between;gap:10px}.rail-corps{display:flex;flex-direction:column;gap:18px}.burger{display:none;align-items:center;gap:8px;background:var(--rail-active);color:#fff;border:1px solid #2A4640;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}.burger span{font-size:1.1rem;line-height:1}.rail .marque{color:#fff;padding:0 6px}.espace{display:flex;flex-direction:column;gap:6px;padding:0 6px}.espace span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rail-muted);font-weight:600}.espace select{background:var(--rail-active);border:1px solid #2A4640;border-radius:8px;padding:8px;color:var(--rail-ink);color-scheme:dark}.rail nav{display:flex;flex-direction:column;gap:2px}.rail nav a{color:var(--rail-ink);text-decoration:none;padding:7px 10px;border-radius:8px;font-weight:500;white-space:nowrap}.rail nav a:hover{background:var(--rail-active)}.rail nav a.active{background:var(--rail-active);color:#fff;box-shadow:inset 3px 0 0 var(--ticket)}.pied{display:flex;flex-direction:column;gap:8px;padding:0 6px;font-size:.78rem;min-width:0}.pied>.muted{display:flex;flex-direction:column;min-width:0}.courriel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pied .muted{color:var(--rail-muted)}.pied .btn{color:var(--rail-ink);border-color:#2a4640}main{min-width:0;display:flex;flex-direction:column;gap:18px}.tete{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.tete p{margin-top:4px}.panneau{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.panneau h2{margin-bottom:12px}.panneau ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.pile{display:flex;flex-direction:column;gap:12px}.pile h2{margin:0}.grille{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.grille.egale{grid-template-columns:repeat(2,minmax(0,1fr))}.deux{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tuiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tuile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none}a.tuile:hover{border-color:var(--accent)}.etiquette{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.valeur{font-size:1.8rem;font-weight:800;font-variant-numeric:tabular-nums}.champ{display:flex;flex-direction:column;gap:5px;min-width:0}.champ>span{font-size:.82rem;font-weight:600}input,select{background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:9px 10px;width:100%;min-width:0}.indicatif{display:grid;grid-template-columns:auto minmax(0,1fr)}.indicatif span{display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-right:0;border-radius:8px 0 0 8px;font-family:var(--f-mono);font-size:.9rem;background:var(--surface)}.indicatif input{border-radius:0 8px 8px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:9px 14px;font-weight:600;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn[disabled]{opacity:.55;cursor:wait}.btn.primaire{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.ghost{background:transparent}.btn.petit{padding:5px 10px;font-size:.82rem}.btn.danger{color:var(--bad)}.btn.danger.plein{background:var(--bad);border-color:var(--bad);color:#fff}.actions{display:flex;gap:8px;flex-wrap:wrap}.erreur{background:var(--bad-soft);color:var(--bad);padding:9px 12px;border-radius:8px;font-size:.88rem}.ok{background:var(--ok-soft);color:var(--ok);padding:9px 12px;border-radius:8px;font-size:.88rem}.vide{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}.cadeau{background:color-mix(in srgb,var(--ticket) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--ticket) 50%,var(--line));border-radius:10px;padding:10px 12px;font-size:.88rem}.tableau{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}tr:last-child td{border-bottom:0}.sous{display:block;font-size:.78rem;color:var(--muted)}.pastille{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:600}.pastille:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pastille.ok{background:var(--ok-soft);color:var(--ok)}.pastille.alerte{background:var(--warn-soft);color:var(--warn)}.pastille.ko{background:var(--bad-soft);color:var(--bad)}.pastille.neutre{background:var(--sunk);color:var(--muted)}.cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;align-content:start}.forfait{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.forfait .ligne{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.forfait .prix{font-size:1.35rem;font-weight:800}.forfait dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:.82rem}.forfait dt{color:var(--muted)}.forfait dd{margin:0;text-align:right;font-weight:600}@media (max-width: 1440px){td{white-space:normal}td .pastille,td .btn,td .mono,td b{white-space:nowrap}}@media (max-width: 1280px){.grille,.grille.portail{grid-template-columns:minmax(0,1fr)}}@media (max-width: 1100px){.grille.egale{grid-template-columns:minmax(0,1fr)}.tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1100px){.app{grid-template-columns:minmax(0,1fr);gap:14px}.rail{position:sticky;top:8px;z-index:20;padding:10px 12px;gap:0;max-height:calc(100vh - 16px)}.burger{display:inline-flex}.rail-corps{display:none;padding-top:14px}.rail.ouvert .rail-corps{display:flex}.rail nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px}.rail nav a{white-space:normal;background:color-mix(in srgb,var(--rail-active) 55%,transparent)}.rail nav a.active{box-shadow:inset 3px 0 0 var(--ticket)}.pied{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.pied .btn{flex:none}}@media (max-width: 900px){body{padding:8px 10px 16px}h1{font-size:1.35rem}.panneau{padding:14px}.tableau{overflow:visible}.tableau table,.tableau tbody,.tableau tfoot,.tableau tr,.tableau td{display:block;width:100%}.tableau thead{display:none}.tableau tr{border:1px solid var(--line);border-radius:12px;padding:6px 12px;margin-bottom:10px;background:var(--surface)}.tableau tfoot tr{background:var(--sunk)}.tableau td{border:0;padding:7px 0;white-space:normal;text-align:right;overflow-wrap:anywhere;min-height:1px}.tableau td+td{border-top:1px dashed var(--line)}.tableau td:before{content:attr(data-label);float:left;margin-right:12px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;line-height:1.9;text-align:left}.tableau td[data-label=""]:before{display:none}.tableau td[data-label=""]{text-align:left}.tableau td:first-child{text-align:left;font-size:1rem}.tableau td:first-child:before{display:none}.tableau td .actions{justify-content:flex-end}.tableau td[data-label=""] .actions{justify-content:flex-start}.tableau td:empty{display:none}.tableau tr.sous-ligne{background:var(--sunk);margin-left:12px;width:calc(100% - 12px)}.tete{align-items:flex-start}.outils input{max-width:none}.outils>input,.outils>select{flex:1 1 100%;width:100%}}@media (max-width: 460px){.deux,.tuiles{grid-template-columns:minmax(0,1fr)}}.liaison{border-color:var(--accent)}.ligne-titre{display:flex;justify-content:space-between;align-items:center;gap:10px}.liaison ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}pre.script{margin:0;background:#0f1f1b;color:#d7efe6;border-radius:10px;padding:14px;font:.78rem/1.55 var(--f-mono);overflow-x:auto;white-space:pre;-webkit-user-select:all;user-select:all}.ligne-lot{display:grid;grid-template-columns:minmax(0,1fr) 90px 36px;gap:8px;align-items:center}.total{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:8px;background:var(--sunk);border:1px solid var(--line);font-size:.88rem}.total.trop{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.coche{display:flex;gap:8px;align-items:center;font-size:.9rem}.coche input{width:auto;accent-color:var(--accent)}.impression{background:#fff;color:#111;min-height:100vh}.barre-impression{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:#eef3f1;border-bottom:1px solid #D8E2DE;position:sticky;top:0;color:#12201c}.feuille{display:grid;grid-template-columns:repeat(4,1fr);gap:2mm;padding:8mm;max-width:210mm;margin:0 auto;background:#fff}.ticket{display:grid;grid-template-columns:13mm 1fr;height:25.5mm;border:1px dashed #888;break-inside:avoid;overflow:hidden;font-family:Arial,Helvetica,sans-serif}.souche{background:#f0b030;color:#2b1d00;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px dashed #6b5200;text-align:center}.souche b{font-size:16px;line-height:1}.souche span{font-size:7.5px;text-transform:uppercase}.corps{padding:2mm 2.5mm;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.corps .zone{font-size:7.5px;text-transform:uppercase;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.corps .code{font-family:Courier New,monospace;font-weight:700;font-size:15px;letter-spacing:1.5px;color:#111}.corps .bas{display:flex;justify-content:space-between;font-size:7.5px;color:#333}@media print{@page{size:A4;margin:6mm}body{padding:0;background:#fff}.barre-impression{display:none}.feuille{padding:0;max-width:none}.souche{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.forfait.en-modif{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.tuiles.quatre{grid-template-columns:repeat(4,minmax(0,1fr))}.valeur small{font-size:.8rem;color:var(--muted);font-weight:600}.valeur.petite{font-size:1.3rem}.outils{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.outils input{max-width:300px}.outils select{width:auto}@media (max-width: 960px){.tuiles.quatre{grid-template-columns:repeat(2,minmax(0,1fr))}}.grille.portail{grid-template-columns:minmax(0,1fr) 340px}.succes{background:var(--ok-soft);color:var(--ok);padding:9px 12px;border-radius:8px;font-size:.88rem;margin:0}.nuancier{display:flex;flex-wrap:wrap;gap:8px}.nuance{width:34px;height:34px;border-radius:10px;border:2px solid var(--line);cursor:pointer;padding:0;position:relative;overflow:hidden}.nuance.choisie{outline:3px solid var(--ink);outline-offset:2px}.nuance.autre{background:conic-gradient(#e53,#eb3,#3b5,#39e,#a3e,#e53);display:block}.nuance.autre input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}.puces{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.puces li{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:3px 4px 3px 11px;font-size:.85rem}.puces button{border:0;background:transparent;color:var(--muted);font-size:1.05rem;line-height:1;width:22px;height:22px;border-radius:50%;cursor:pointer}.puces button:hover{background:var(--surface);color:var(--bad)}.etat-routeurs{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:.88rem}.etat-routeurs li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:6px}.apercu{position:sticky;top:18px;display:flex;flex-direction:column;align-items:center;gap:8px}.telephone{width:300px;height:600px;border:10px solid #111;border-radius:34px;overflow:hidden;background:#f1f4f3;box-shadow:0 10px 30px #0000002e}.telephone iframe{width:100%;height:100%;border:0;display:block}@media (max-width: 900px){.grille.portail{grid-template-columns:minmax(0,1fr)}.apercu{position:static}.telephone{width:min(300px,100%);height:560px}}.case{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;cursor:pointer}.case input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent);flex:none}.logo-choix{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.logo-vignette{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden;flex:none}.logo-vignette img{width:100%;height:100%;object-fit:contain;background:#fff}.logo-choix label.btn{cursor:pointer}.onglets{display:flex;gap:2px;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:3px;flex-wrap:wrap;justify-content:center}.onglets button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;padding:6px 10px;border-radius:7px;cursor:pointer}.onglets button.actif{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.ligne-titre{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.ligne-titre h2{margin:0}table.cliquable tbody tr{cursor:pointer}table.cliquable tbody tr:hover td{background:var(--sunk)}table.cliquable a{color:var(--ink);text-decoration:none}th.nb,td.nb{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.du{color:var(--warn)}.retour{display:inline-block;color:var(--muted);text-decoration:none;font-size:.88rem;margin-bottom:6px}.retour:hover{color:var(--ink)}.bandeau{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.panneau.action{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);max-width:720px}.choix-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choix-mode label{position:relative;display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:10px;padding:10px 12px 10px 34px;cursor:pointer;font-size:.9rem}.choix-mode label span{font-size:.78rem;color:var(--muted)}.choix-mode label.choisi{border-color:var(--accent);background:var(--accent-soft)}.choix-mode input{position:absolute;left:11px;top:12px;width:auto;accent-color:var(--accent);margin:0}.histo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.histo li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem}.histo li:last-child{border-bottom:0}.histo li>div{flex:1;min-width:0}.histo li.annule>div{text-decoration:line-through;color:var(--muted)}.puce-type{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none;background:var(--sunk);color:var(--muted)}.puce-type.encaissement{background:var(--ok-soft);color:var(--ok)}.puce-type.remise{background:var(--accent-soft);color:var(--accent)}.puce-type.reprise{background:var(--warn-soft);color:var(--warn)}input.qte{width:80px;text-align:right}@media (max-width: 560px){.choix-mode{grid-template-columns:1fr}}a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.periodes{display:flex;flex-wrap:wrap;gap:2px;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:3px}.periodes button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;font-weight:600;padding:7px 12px;border-radius:7px;cursor:pointer}.periodes button.actif{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.outils.dates{align-items:flex-end}.outils.dates .champ{width:auto}.outils.dates input{max-width:180px}.evolution{color:var(--muted)}.evolution.hausse{color:var(--ok)}.evolution.baisse{color:var(--bad)}.evolution .muted{display:block;font-size:.72rem;margin-top:1px}.legende{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px;font-size:.82rem;color:var(--muted)}.legende li{display:flex;align-items:center;gap:6px}.pastille-serie{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;flex:none}.pastille-serie.direct,.segment.direct{background:var(--s-direct)}.pastille-serie.revendeur,.segment.revendeur{background:var(--s-revendeur)}.pastille-serie.en_ligne,.segment.en_ligne{background:var(--s-en-ligne)}.graphique{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;height:250px;margin:6px 0 10px}.graphique.attente{display:block;background:var(--sunk);border-radius:10px}.axe-y{display:flex;flex-direction:column;justify-content:space-between;font-size:.72rem;color:var(--muted);text-align:right;padding-bottom:22px;font-variant-numeric:tabular-nums}.axe-y span{transform:translateY(-50%)}.axe-y span:last-child{transform:translateY(50%)}.zone-barres{position:relative;min-width:0}.grilles{position:absolute;top:0;right:0;bottom:22px;left:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.grilles i{display:block;border-top:1px solid var(--line)}.grilles i:not(:last-child){border-top-style:dashed;opacity:.7}.colonnes{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch}.colonne{flex:1 1 0;min-width:0;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:22px;outline:none;cursor:default}.colonne:hover,.colonne.survol,.colonne:focus-visible{background:linear-gradient(to bottom,transparent,var(--sunk) 20%)}.colonne:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:4px}.pile-barre{display:flex;flex-direction:column-reverse;gap:2px;width:100%;max-width:44px;margin:0 auto}.segment{min-height:2px}.pile-barre .segment:last-child{border-radius:4px 4px 0 0}.etiquette-x{position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:.7rem;color:var(--muted);white-space:nowrap}.graphique-vide{position:absolute;top:0;right:0;bottom:22px;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem;margin:0}.infobulle{position:absolute;top:4px;transform:translate(-50%);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px #00000024;padding:9px 11px;font-size:.8rem;display:flex;flex-direction:column;gap:4px;min-width:210px;pointer-events:none;z-index:2}.infobulle span{display:flex;align-items:center;gap:6px;color:var(--muted);white-space:nowrap}.infobulle em{font-style:normal;margin-left:auto;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;padding-left:12px}.infobulle .total-bulle{border-top:1px solid var(--line);padding-top:4px}.barres{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.barres-texte{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;margin-bottom:4px}.barres-texte span:last-child{color:var(--muted)}.barres-texte b{color:var(--ink)}.barres-piste{height:8px;background:var(--sunk);border-radius:4px;overflow:hidden}.barres-piste div{height:100%;background:var(--accent);border-radius:0 4px 4px 0}tfoot td{border-top:2px solid var(--line);font-weight:600}.tuiles.terrain .tuile{background:var(--sunk)}@media (max-width: 760px){.periodes{width:100%}.periodes button{flex:1 1 auto;padding:7px 8px}.graphique{height:210px}.infobulle{min-width:0;font-size:.74rem}}.action-legere{padding-bottom:14px;border-bottom:1px solid var(--line)}tr.inactif td{opacity:.55}.apercu-import table{font-size:.82rem}.categories-blocage{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.categorie{display:flex;align-items:center;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;font:inherit;color:var(--ink)}.categorie:hover:not(:disabled){border-color:var(--accent)}.categorie.active{border-color:var(--bad);background:var(--bad-soft)}.categorie:disabled{cursor:default}.categorie .icone{width:38px;height:38px;border-radius:10px;background:var(--sunk);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex:none}.categorie .texte{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.categorie .texte span{font-size:.78rem;color:var(--muted)}.interrupteur{width:40px;height:22px;border-radius:999px;background:var(--line);position:relative;flex:none;transition:background .15s}.interrupteur i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:left .15s}.interrupteur.on{background:var(--bad)}.interrupteur.on i{left:21px}.barre-enregistrer{position:sticky;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;box-shadow:0 6px 20px #00000014;z-index:3}.gras{font-weight:700}.tuile-alerte{border-color:var(--warn)}.tuile-alerte .valeur{color:var(--warn)}.graphique.courbe{height:190px}.barre-simple{background:var(--accent);border-radius:3px 3px 0 0}.barre-simple.haute{background:var(--warn)}.pile-barre:has(.barre-simple){height:100%;flex-direction:column;justify-content:flex-end;max-width:22px}.colonne.trou{background:repeating-linear-gradient(135deg,var(--bad-soft) 0 4px,transparent 4px 8px)}.etat-routeur{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px}.etat-routeur>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;flex-wrap:wrap}.etat-routeur>div+div{border-top:1px solid var(--line)}.lien{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}.lien[disabled]{color:var(--muted);text-decoration:none;cursor:default}.alerte-texte{background:var(--warn-soft);color:var(--warn);padding:9px 12px;border-radius:8px}.liste-actions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.liste-actions li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0}.liste-actions li+li{border-top:1px solid var(--line)}.liste-actions li.conseil{background:var(--warn-soft);margin:0 -10px;padding:11px 10px;border-radius:8px}.liste-actions li>.btn,.liste-actions li>.actions{flex:none}.coupures{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;font-size:.88rem}.coupures li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0}.coupures li+li{border-top:1px solid var(--line)}.bandeau{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:10px;font-size:.9rem}.bandeau.alerte{border:1px solid;background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.bandeau.ko{border:1px solid;background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.bandeau .btn{color:var(--ink)}.coche-table{width:18px;height:18px;accent-color:var(--accent)}.periodes.durees{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.periodes.durees button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px}.periodes.durees small{font-size:.64rem;color:var(--ok);font-weight:700;white-space:nowrap}.recap{display:flex;flex-direction:column;gap:6px;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:.9rem}.recap>div{display:flex;justify-content:space-between;gap:10px}.recap .remise{color:var(--ok)}.recap .total-recap{border-top:1px solid var(--line);padding-top:8px;font-size:1.05rem}.retour-paiement{display:flex;align-items:center;gap:14px}.retour-paiement>div{flex:1}.retour-paiement.reussi{border-color:var(--ok);background:var(--ok-soft)}.retour-paiement.echoue,.retour-paiement.expire,.retour-paiement.erreur{border-color:var(--bad)}.rond{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none}.rond.ok{background:var(--ok);color:#fff}.rond.ko{background:var(--bad);color:#fff}.roue{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:tourne .9s linear infinite;flex:none}@keyframes tourne{to{transform:rotate(360deg)}}@media (max-width: 460px){.periodes.durees{grid-template-columns:repeat(2,minmax(0,1fr))}}.sous-ligne td{background:var(--sunk);font-size:.85rem}.sous.apres{color:var(--ok);font-weight:600}.rv{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.rv-centre{min-height:calc(100vh - 32px);display:flex;align-items:center;justify-content:center;text-align:center}.rv-pin{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px 22px;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.rv-pin input{font:700 1.8rem/1 var(--f-mono);letter-spacing:.5em;text-align:center;padding:12px;width:100%;max-width:240px;border:1px solid var(--line);border-radius:10px;background:var(--sunk)}.rv-pin .btn{width:100%;max-width:240px;padding:12px}.rv-tete{background:var(--rail);color:var(--rail-ink);border-radius:16px;padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px}.rv-marque{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rail-muted)}.rv-tete p b{color:#fff}.rv-du{display:flex;flex-direction:column;gap:2px;background:var(--rail-active);border-radius:12px;padding:12px 14px}.rv-du span{font-size:.8rem;color:var(--rail-muted)}.rv-du b{font-size:1.7rem;color:var(--ticket);line-height:1.15}.rv-du small{font-size:.74rem;color:var(--rail-muted)}.rv-bloc{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}.rv-forfaits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rv-forfait{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);background:var(--sunk);border-radius:12px;padding:12px;cursor:pointer;font:inherit;color:var(--ink);min-height:86px}.rv-forfait b{font-size:1rem}.rv-forfait span{font-size:.82rem}.rv-forfait small{font-size:.74rem;color:var(--accent);font-weight:600;margin-top:auto}.rv-forfait.choisi{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:var(--surface)}.rv-forfait:disabled{opacity:.5;cursor:default}.rv-forfait:disabled small{color:var(--muted)}.rv-confirmer{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:12px}.rv-partage{display:flex;flex-direction:column;gap:8px}.rv-partage .btn{padding:12px}.rv-vente{align-items:center;text-align:center;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.rv-vente .rv-partage,.rv-vente>.btn{width:100%}.rv-code{font-size:2.2rem;letter-spacing:.12em;background:var(--ticket);color:var(--ticket-ink);padding:10px 18px;border-radius:12px;-webkit-user-select:all;user-select:all}.rv-ventes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rv-ventes>div{background:var(--sunk);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:1px}.rv-ventes span{font-size:.74rem;color:var(--muted)}.rv-ventes b{font-size:1.4rem}.rv-ventes small{font-size:.7rem;color:var(--muted)}.rv-ventes .rv-a-reverser{color:var(--warn);font-weight:600}.rv-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.rv-liste li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0}.rv-liste li+li{border-top:1px solid var(--line)}.rv-liste li>div{display:flex;flex-direction:column;min-width:0}.rv-liste small{font-size:.76rem;color:var(--muted)}.rv-pied{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding-bottom:12px}.rv-recherche{display:flex;gap:8px}.rv-recherche input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--sunk)}.rv-droite{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.champs-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.ajout-routeur{border-color:var(--accent)}.ajout-routeur .cadeau{padding:4px 10px}.voisins{display:flex;flex-direction:column;gap:6px;border-top:1px dashed var(--line);padding-top:10px}.acces-pret{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;max-width:260px}.interrupteur-btn{border:0;background:none;padding:4px;cursor:pointer;flex:none}.interrupteur-btn:disabled{cursor:default;opacity:.6}.interrupteur-btn .interrupteur.on{background:var(--accent)}.seuil{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;margin-top:6px;color:var(--muted)}.seuil input{width:90px;padding:5px 8px}.seuil select{width:auto;padding:5px 8px}td.message-sms{white-space:normal;min-width:260px;font-size:.82rem;color:var(--muted)}.interrupteur-btn .interrupteur{display:block}.onglets-page{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;margin-bottom:-6px}.onglets-page::-webkit-scrollbar{display:none}.onglets-page a{padding:9px 14px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.92rem;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px;border-radius:8px 8px 0 0}.onglets-page a:hover{color:var(--ink);background:var(--sunk)}.onglets-page a.active{color:var(--accent);border-bottom-color:var(--accent)}.credit-option{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:10px;padding:10px 12px;font-size:.88rem}.carte.rejoindre{width:min(520px,100%)}.lien-partage{display:flex;gap:8px}.lien-partage input{flex:1;min-width:0;background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-family:var(--f-mono);font-size:.85rem}.etapes{margin:0;padding-left:20px;display:grid;gap:6px}.guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:12px}.guide-carte{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;color:inherit;text-decoration:none}.guide-carte:hover{border-color:var(--accent)}.guide-num,.rond-num{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:.9rem}.guide-texte{display:flex;flex-direction:column;gap:4px;min-width:0}.guide-meta{font-size:.78rem;color:var(--accent);font-weight:600}.grille.guide{align-items:start}.etapes-guide{list-style:none;margin:0;padding:0;display:grid;gap:14px}.etapes-guide li{display:flex;gap:12px;align-items:flex-start}.etapes-guide p{color:var(--muted);margin-top:2px}.avant,.astuces{border-radius:10px;padding:12px 14px;font-size:.9rem}.avant{background:var(--sunk);border:1px solid var(--line)}.astuces{background:var(--accent-soft)}.avant ul,.astuces ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}.capture{margin:0;padding:10px;display:flex;flex-direction:column;gap:8px}.capture img{width:100%;height:auto;border-radius:8px;border:1px solid var(--line);display:block}.video{position:relative;width:min(560px,100%);aspect-ratio:16 / 9}.video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:10px}.recherche-faq{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 12px;margin-bottom:12px}.faq{display:grid;gap:0;padding-top:6px;padding-bottom:6px}.faq details{border-bottom:1px solid var(--line);padding:12px 2px}.faq details:last-child{border-bottom:0}.faq summary{cursor:pointer;font-weight:600}.faq details p{margin-top:8px;color:var(--muted)}.btn.whatsapp{background:#1faf55;color:#fff;border-color:#1faf55}.demandes-support{list-style:none;margin:0;padding:0;display:grid;gap:8px}.demandes-support>li{border:1px solid var(--line);border-radius:10px;overflow:hidden}.demandes-support>li.ouverte{border-color:var(--accent)}.entete-demande{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:none;border:0;padding:12px 14px;text-align:left;cursor:pointer}.entete-demande>span:first-child{min-width:0}.conversation{border-top:1px solid var(--line);padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--sunk)}.bulle{max-width:85%;border-radius:12px;padding:8px 12px;background:var(--surface);border:1px solid var(--line)}.bulle.moi{align-self:flex-end;background:var(--accent-soft);border-color:transparent}.bulle .qui{display:block;font-size:.74rem;color:var(--muted);margin-bottom:2px}.bulle p{white-space:pre-wrap;overflow-wrap:anywhere}.ligne-video{display:flex;gap:8px;align-items:flex-end}.ligne-video .champ{flex:1;min-width:0}.compteur{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;border-radius:10px;background:var(--ticket);color:var(--ticket-ink);font-size:.74rem;font-weight:800;vertical-align:1px}.panneau.rien{display:flex;gap:14px;align-items:center}.ligne-ouverte>td{background:var(--accent-soft)}.tableau tr.fiche-ligne>td{padding:14px 16px;background:var(--sunk)}.fiche-gerant{display:flex;flex-direction:column;gap:14px}.fiche-champs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:12px 16px;align-items:start}.fiche-champs .actions input{flex:1;min-width:0}.routeurs-fiche{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}.routeurs-fiche li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.videos-guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:10px 16px}@media (max-width: 600px){.routeurs-fiche li{grid-template-columns:minmax(0,1fr)}}.etat-blocage{list-style:none;margin:8px 0 12px;padding:0;display:grid;gap:8px}.etat-blocage li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.etat-blocage .sous{flex-basis:100%}.zone-danger{border-color:var(--bad-soft)}.zone-danger h2{color:var(--bad)}.carte.connexion{width:min(460px,100%)}.code-sms{font-family:var(--f-mono);font-size:1.4rem;letter-spacing:.4em;text-align:center}.separe{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}.etapes-inscription{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;counter-reset:e}.etapes-inscription li{counter-increment:e;font-size:.78rem;color:var(--muted);border-top:3px solid var(--line);padding-top:6px}.etapes-inscription li:before{content:counter(e) ". "}.etapes-inscription li.fait{color:var(--accent);border-top-color:var(--accent);font-weight:600}.contact{display:flex;flex-direction:column;gap:1px;min-width:0;overflow-wrap:anywhere}.contact a{color:var(--accent)}.contacts-fiche{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:10px;margin-top:6px}.contacts-fiche .contact{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.note-limite{background:var(--sunk);border-left:3px solid var(--warn);padding:9px 12px;border-radius:8px;font-size:.88rem;margin:0 0 14px}.choix-routeurs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:6px 14px;margin-top:6px}.choix-routeurs .case span{min-width:0;overflow-wrap:anywhere}.choix-routeurs .case{font-size:.9rem}.acces-routeurs{display:flex;gap:14px;flex-wrap:wrap}fieldset.champ{border:0;padding:0;margin:0;min-width:0}.pied-actions{display:flex;flex-direction:column;gap:6px}.pied-actions .btn{width:100%}@media (max-width: 1100px){.pied-actions{flex-direction:row}.pied-actions .btn{width:auto}}.voile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0814118c;display:flex;align-items:center;justify-content:center;padding:16px}.fenetre{width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow:auto;color:var(--ink)}.avis-fichier{position:relative;align-self:flex-start;cursor:pointer;overflow:hidden}.avis-fichier input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.avis-image{display:flex;align-items:flex-end;gap:12px}.avis-image img{max-width:180px;max-height:120px;border-radius:8px;border:1px solid var(--line);object-fit:cover}.filet-erreur{max-width:640px;margin:48px auto;padding:0 16px}.periodes .compteur{margin-left:6px}.avis-liste{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.avis-liste li{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.avis-liste li.non-lu{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.avis-liste .ligne-titre{margin:0;gap:10px;align-items:flex-start}.avis-texte{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.avis-capture{align-self:flex-start;padding:0;border:1px solid var(--line);border-radius:8px;background:none;cursor:zoom-in;overflow:hidden}.avis-capture img{display:block;max-width:220px;max-height:140px;object-fit:cover}.avis-capture.grande{cursor:zoom-out}.avis-capture.grande img{max-width:min(100%,900px);max-height:none}.erreur-detail{margin:8px 0 0;padding:8px 10px;background:var(--sunk);border-radius:8px;font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.erreur-ligne{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:4px}.erreur-message{min-width:0;overflow-wrap:anywhere;font-size:.88rem}.voyants{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 -6px;padding:8px 0;position:sticky;top:0;z-index:15;background:var(--bg)}@media (max-width: 1100px){.voyants{top:76px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:-6px -2px -4px;padding:6px 2px}.voyants::-webkit-scrollbar{display:none}.voyant{flex:none}}.voyant{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-size:.85rem;line-height:1.15;min-width:0;max-width:100%}.voyant:hover{border-color:var(--muted)}.voyant i{flex:none;width:12px;height:12px;border-radius:50%;background:var(--muted)}.voyant span{display:flex;flex-direction:column;min-width:0}.voyant b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voyant small{color:var(--muted);font-size:.75rem}.voyant.vert i{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft);animation:voyant-pouls 2.4s ease-in-out infinite}.voyant.rouge{border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:var(--bad-soft)}.voyant.rouge i{background:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 25%,transparent)}.voyant.rouge small{color:var(--bad);font-weight:600}@keyframes voyant-pouls{50%{box-shadow:0 0 0 5px var(--ok-soft)}}@media (prefers-reduced-motion: reduce){.voyant.vert i{animation:none}}td.long{white-space:normal;min-width:260px;max-width:620px;overflow-wrap:anywhere}td.long .pastille{white-space:nowrap}.ligne-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.ligne-form .champ{flex:1 1 220px}
