@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-display:swap;src:url(polices/archivo-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-display:swap;src:url(polices/archivo-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 700;font-display:swap;src:url(polices/bricolage-grotesque-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 700;font-display:swap;src:url(polices/bricolage-grotesque-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
:root{
  --indigo:#0C0932; --orange:#FF6B00; --creme:#F8DEBA; --blanc:#FFFFFF; --sur-orange:#010709;
  --fond:#FBF6EE; --carte:#FFFFFF; --texte:#14122B; --doux:#4A4763; --trait:#E6DCCB;
  --ok:#0F6B3A; --ok-fond:#E3F4EA; --ko:#A3161B; --ko-fond:#FBE5E5; --att:#7A4A00; --att-fond:#FFF0D6;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--texte);font:15px/1.6 Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:"Bricolage Grotesque",Archivo,sans-serif;letter-spacing:-.022em;font-weight:700;margin:0;color:var(--indigo)}
a{color:var(--indigo)}
.enveloppe{max-width:1120px;margin:0 auto;padding:0 20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 14px Archivo,sans-serif;border-radius:12px;padding:11px 18px;cursor:pointer;border:2px solid var(--indigo);background:var(--blanc);color:var(--indigo);text-decoration:none;transition:background-color .15s,box-shadow .15s,border-color .15s}
.btn:hover:not(:disabled){background:var(--creme);box-shadow:0 0 0 3px rgba(255,107,0,.25)}
.btn.cta{background:var(--orange);border-color:var(--orange);color:var(--sur-orange)}
.btn.cta:hover:not(:disabled){background:#FF8533;border-color:#FF8533}
.btn.petit{padding:7px 12px;font-size:13px;border-radius:9px}
.btn:disabled{opacity:.5;cursor:default}
.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.badge-pro{display:inline-block;vertical-align:middle;margin-left:8px;background:var(--orange);color:var(--sur-orange)!important;font:800 12px Archivo,sans-serif;letter-spacing:.06em;padding:4px 9px;border-radius:7px}

/* Connexion */
html:not(.pro-connecte) body>header,html:not(.pro-connecte) body>main,html:not(.pro-connecte) body>footer{display:none}
html.pro-connecte #connexion-pro{display:none}
#connexion-pro{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:linear-gradient(160deg,var(--indigo) 0 46%,var(--fond) 46%)}
.cx-carte{width:min(440px,100%);background:var(--carte);border-radius:20px;padding:34px 32px;box-shadow:0 24px 60px rgba(12,9,50,.18)}
.cx-marque{font-family:"Bricolage Grotesque",Archivo,sans-serif;font-weight:700;font-size:28px;letter-spacing:-.03em;color:var(--indigo);margin:0}
.cx-marque>span:first-child{color:var(--orange)}
.cx-carte h2{font-size:21px;margin:22px 0 6px}
.cx-carte p{margin:0 0 18px;color:var(--doux);line-height:1.6}
.cx-carte label,.dlg label{display:block;font-weight:700;font-size:14px;color:var(--indigo);margin-bottom:6px}
.cx-carte input,.dlg input,.dlg select{width:100%;font:15px Archivo,sans-serif;padding:12px 13px;border:1.5px solid var(--trait);border-radius:12px;margin:6px 0 14px;background:var(--blanc);color:var(--texte)}
.cx-carte .btn{width:100%;padding:13px 16px;font-size:15px}
#cx-code{letter-spacing:.4em;font-size:22px;text-align:center}
.cx-lien{background:none;border:0;color:var(--indigo);text-decoration:underline;font:600 14px Archivo,sans-serif;cursor:pointer;padding:6px 0;margin-top:10px}
#cx-message{min-height:22px;margin-top:12px;font-size:14px;color:var(--doux)}
#cx-message[data-etat=ko]{color:var(--ko);font-weight:600}
.cx-essai{display:flex;gap:10px;align-items:flex-start;background:var(--creme);border-radius:12px;padding:12px 14px;margin-top:22px;font-size:14px;color:var(--indigo);line-height:1.5}
.cx-essai a{font-weight:700}
.cx-pied{margin-top:22px;padding-top:18px;border-top:1px solid var(--trait);font-size:13px;color:var(--doux)}
.cx-pied a{font-weight:700}

/* En-tête */
header{background:var(--indigo);color:var(--blanc)}
.entete{display:flex;align-items:center;gap:18px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.marque{font-family:"Bricolage Grotesque",Archivo,sans-serif;font-weight:700;font-size:24px;letter-spacing:-.03em;color:var(--blanc);text-decoration:none}
.marque>span:first-child{color:var(--orange)}
.entreprise-nom{color:var(--creme);font-weight:600;border-left:1px solid rgba(248,222,186,.35);padding-left:18px}
.pro-compte{display:inline-flex;align-items:center;gap:10px;color:var(--creme);font-size:13px;margin-left:auto}
.pro-compte b{color:var(--blanc);font-weight:600;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pro-compte button{background:none;border:1px solid rgba(248,222,186,.45);color:var(--creme);border-radius:8px;padding:6px 10px;font:600 12px Archivo,sans-serif;cursor:pointer}
.pro-compte button:hover{background:rgba(255,255,255,.08);border-color:var(--orange);color:var(--blanc)}

/* Espace */
main{padding-top:32px;padding-bottom:64px}
.chargement{color:var(--doux)}
.carte{background:var(--carte);border:1px solid var(--trait);border-radius:20px;padding:28px 30px}
.onboarding{max-width:560px;margin:24px auto}
.onboarding h1{font-size:30px;margin-bottom:10px}
.onboarding p{color:var(--doux);margin:0 0 22px}
.essai-bandeau{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--creme);color:var(--indigo);border-radius:16px;padding:16px 20px;margin-bottom:24px}
.essai-bandeau.fini{background:var(--ko-fond);color:var(--ko)}
.essai-bandeau b{font-size:16px}
.usage{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:28px}
.usage .carte{padding:22px 24px}
.usage .val{font-family:"Bricolage Grotesque",Archivo,sans-serif;font-size:30px;font-weight:700;color:var(--indigo);font-variant-numeric:tabular-nums}
.usage .lib{color:var(--doux);font-size:14px}
.barre{height:10px;border-radius:99px;background:#ECE8F2;overflow:hidden;margin-top:10px}
.barre>span{display:block;height:100%;background:var(--orange);border-radius:99px;min-width:4px}
.titre-ligne{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.titre-ligne h1,.titre-ligne h2{font-size:26px}
.liste-chantiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.ch{display:block;text-align:left;width:100%;background:var(--carte);border:1px solid var(--trait);border-radius:18px;padding:22px 24px;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s}
.ch:hover{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,0,.18)}
.ch .ref{font:600 12px ui-monospace,Consolas,monospace;color:var(--doux)}
.ch h3{font-size:19px;margin:6px 0 8px}
.ch .meta{font-size:13px;color:var(--doux);display:flex;gap:12px;flex-wrap:wrap}
.vide{text-align:center;color:var(--doux);padding:48px 20px}
.puce{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;white-space:nowrap}
.puce.ok{background:var(--ok-fond);color:var(--ok)} .puce.att{background:var(--att-fond);color:var(--att)} .puce.ko{background:var(--ko-fond);color:var(--ko)} .puce.neutre{background:#F1EEF7;color:var(--indigo)}
.retour{background:none;border:0;color:var(--indigo);font:600 14px Archivo,sans-serif;cursor:pointer;padding:0;margin-bottom:18px}
.retour:hover{color:#B54A00}
.fiche{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:900px){.fiche{grid-template-columns:1fr}}
.infos{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:16px 0 0;font-size:14px}
.infos dt{color:var(--doux)} .infos dd{margin:0}
.depot{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 14px;margin-top:6px}
.depot label{font-weight:700;font-size:13px;color:var(--indigo)}
.depot input,.depot select{width:100%;font:14px Archivo,sans-serif;padding:10px 11px;border:1.5px solid var(--trait);border-radius:10px;margin:5px 0 10px;background:var(--blanc)}
.depot .plein{grid-column:1/-1}
.pieces{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.piece{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;background:#FAF8F4;border-radius:14px;padding:14px 18px}
.piece b{color:var(--indigo)}
.piece .note{font-size:12px;color:var(--doux)}
.piece .etats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.piece .actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.empreinte{font:11px ui-monospace,Consolas,monospace;color:var(--doux);word-break:break-all}
.chrono{list-style:none;margin:0;padding:0;max-height:560px;overflow:auto}
.chrono li{padding:10px 0 10px 16px;border-left:2px solid var(--trait);margin-left:4px;position:relative}
.chrono li:before{content:"";position:absolute;left:-6px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--indigo)}
.chrono li.karl:before{background:var(--orange)}
.chrono .le{font-size:12px;color:var(--doux)}
.msg-erreur{color:var(--ko);font-weight:600;font-size:14px;min-height:20px;margin:6px 0 0}
dialog{border:0;border-radius:20px;padding:0;max-width:min(560px,94vw);width:100%}
dialog::backdrop{background:rgba(12,9,50,.55)}
.dlg{padding:28px 30px}
.dlg h2{font-size:22px;margin-bottom:16px}
.dlg-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.dlg-erreur{color:var(--ko);font-weight:600;min-height:20px;margin:0}
footer{text-align:center;font-size:13px;color:var(--doux);padding:24px 20px 48px}

/* Équipe et invitations */
.onglets-espace{display:flex;gap:6px;margin:0 0 22px;border-bottom:1px solid var(--trait)}
.onglets-espace a{padding:10px 16px;font-weight:700;color:var(--doux);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.onglets-espace a:hover{color:var(--indigo);background:#FAF8F4}
.onglets-espace a[aria-current=page]{color:var(--indigo);border-color:var(--orange)}
.invitation{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:#FAF8F4;border-radius:14px;padding:14px 18px;margin-top:12px}
.invitation .note{font-size:13px;color:var(--doux)}
.actions-inv{display:flex;gap:8px}
.ou{text-align:center;color:var(--doux);margin:6px 0}
.case{display:flex;align-items:center;gap:8px;font-weight:500!important;font-size:14px;margin:6px 0}
.case input{width:auto!important;margin:0!important}
fieldset{border:1px solid var(--trait);border-radius:12px;padding:10px 14px;margin:4px 0 12px;max-height:280px;overflow:auto}
legend{font-weight:700;font-size:13px;color:var(--indigo);padding:0 6px}
details.acces{margin-top:8px;font-size:13px}
details.acces summary{cursor:pointer;color:var(--indigo);font-weight:600}
details.acces form{margin-top:8px}

/* Exigences, décisions, réserves */
.exigences{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.exigences li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;padding:8px 0;border-bottom:1px dashed var(--trait)}
.exigences li:last-child{border-bottom:0}
.remise{margin-top:14px;background:var(--creme);border-radius:14px;padding:14px 16px;color:var(--indigo)}
.remise input{width:100%;font:13px ui-monospace,Consolas,monospace;padding:9px 10px;border:1.5px solid var(--trait);border-radius:10px;margin:4px 0 8px;background:var(--blanc)}
.code-remis{font:700 26px ui-monospace,Consolas,monospace;letter-spacing:.3em;margin:4px 0 8px}
.piece form.actions select,.piece form.actions input{font:13px Archivo,sans-serif;padding:7px 9px;border:1.5px solid var(--trait);border-radius:9px;max-width:100%}

/* Logo ChantierLink Pro (fichier du Bureau, fond transparent ; version claire sur fond indigo) */
.logo-pro{display:block;height:92px;width:auto;margin:-8px 0 6px -6px}
.logo-pro-clair{display:block;height:66px;width:auto}
.onboarding p.offre-choisie{display:inline-block;background:var(--creme);color:var(--indigo);border-radius:999px;padding:6px 14px;margin-bottom:14px}
.onboarding p.offre-choisie a{margin-left:6px}
.lien-pilotage{color:var(--creme);font:600 13px Archivo,sans-serif;text-decoration:none;border:1px solid rgba(248,222,186,.45);border-radius:8px;padding:6px 10px}
.lien-pilotage:hover{border-color:var(--orange);color:var(--blanc)}
.pilotage-tuiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.pilotage-h2{font-size:22px;margin:32px 0 12px}
.pilotage-table{overflow-x:auto;background:var(--carte);border:1px solid var(--trait);border-radius:16px}
.pilotage-table table{width:100%;border-collapse:collapse;font-size:14px}
.pilotage-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--doux);padding:12px 10px;border-bottom:1px solid var(--trait);white-space:nowrap}
.pilotage-table td{padding:12px 10px;border-bottom:1px solid var(--trait);vertical-align:top}
.pilotage-table tr:last-child td{border-bottom:0}
.pilotage-table .m{text-align:right}
.pilotage-table .note{font-size:12px;color:var(--doux)}
.pilotage-titre{margin-top:28px}
.propulse{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.02em;color:var(--doux)}.propulse b{color:var(--indigo)}
.choix-langue{display:inline-flex;gap:2px;border:1px solid rgba(248,222,186,.45);border-radius:8px;padding:2px}.choix-langue a{color:var(--creme);text-decoration:none;font:700 12px Archivo,sans-serif;padding:4px 7px;border-radius:6px}.choix-langue a[aria-current]{background:var(--creme);color:var(--indigo)}.choix-langue a:hover{color:var(--blanc)}
.cx-langue{margin-top:14px;text-align:center}.choix-langue.clair{border-color:var(--trait)}.choix-langue.clair a{color:var(--indigo)}.choix-langue.clair a[aria-current]{background:var(--indigo);color:var(--blanc)}
/* Aide contextuelle */
.bouton-aide{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:6px;vertical-align:middle;border-radius:50%;border:1.5px solid var(--trait);background:var(--blanc);color:var(--indigo);font:800 12px Archivo,sans-serif;cursor:pointer;padding:0;line-height:1}
.bouton-aide:hover,.bouton-aide[aria-expanded=true]{border-color:var(--orange);background:var(--creme)}
.bouton-aide:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.essai-bandeau .bouton-aide{margin:0 4px 0 0}
.bulle-aide{position:absolute;z-index:50;background:var(--indigo);color:var(--blanc);border-radius:14px;padding:14px 16px;box-shadow:0 18px 40px rgba(12,9,50,.3);font-size:14px;line-height:1.55}
.bulle-aide b{display:block;color:var(--creme);margin-bottom:4px;font-size:15px}
.bulle-aide p{margin:0 0 10px;color:rgba(255,255,255,.9)}
.bulle-aide a{color:var(--orange);font-weight:700;text-decoration:none}
.bulle-aide a:hover{text-decoration:underline}
.lien-aide{color:var(--creme);font:600 13px Archivo,sans-serif;text-decoration:none;border:1px solid rgba(248,222,186,.45);border-radius:8px;padding:6px 10px}
.lien-aide:hover{border-color:var(--orange);color:var(--blanc)}
/* Choix de l'espace (plusieurs entreprises dans un même compte) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.choix-espace select{font:600 14px Archivo,sans-serif;color:var(--creme);background:transparent;border:1px solid rgba(248,222,186,.45);border-radius:8px;padding:6px 28px 6px 10px;max-width:260px;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--creme) 50%),linear-gradient(135deg,var(--creme) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.choix-espace select:hover,.choix-espace select:focus-visible{border-color:var(--orange);outline:none}
.choix-espace option{color:var(--indigo);background:var(--blanc)}
.invitations-bandeau{margin-bottom:20px;border-color:var(--orange)}
.pilotage-table .testeur{display:block;margin-top:8px;white-space:nowrap}
/* Pilotage : trafic */
.periode{display:inline-flex;gap:4px;background:var(--carte);border:1px solid var(--trait);border-radius:12px;padding:4px}
.periode a{text-decoration:none;font:700 13px Archivo,sans-serif;color:var(--doux);padding:6px 12px;border-radius:9px}
.periode a[aria-current]{background:var(--indigo);color:var(--blanc)}
.graphique{padding:18px 18px 10px}
.graphique-zone{position:relative}
.graphique svg{display:block;width:100%;height:auto;overflow:visible}
.graphique line{stroke:var(--trait);stroke-width:1}
.graphique .axe{fill:var(--doux);font:12px Archivo,sans-serif}
.graphique .col path{fill:var(--orange)}
.graphique .col .cible{fill:transparent}
.graphique .col.actif .cible{fill:rgba(12,9,50,.05)}
.graphique .col:focus{outline:none}
.graphique .col:focus-visible .cible{stroke:var(--indigo);stroke-width:2}
.infobulle{position:absolute;top:0;width:120px;background:var(--indigo);color:var(--blanc);border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.4;pointer-events:none;text-align:center}
.infobulle span{color:var(--creme)}
.table-donnees{margin-top:10px}
.table-donnees summary{cursor:pointer;font-weight:700;color:var(--indigo);font-size:14px;margin-bottom:10px}
.parcours{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center}
.parcours .val{font-family:"Bricolage Grotesque",Archivo,sans-serif;font-size:30px;font-weight:700;color:var(--indigo)}
.parcours .lib{color:var(--doux);font-size:14px}
.parcours .fleche{font-size:24px;color:var(--orange);font-weight:700}
@media (max-width:760px){.parcours{grid-template-columns:1fr}.parcours .fleche{transform:rotate(90deg);justify-self:center}}
.deux-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.deux-colonnes .pilotage-table+.pilotage-table{margin-top:14px}
@media (max-width:860px){.deux-colonnes{grid-template-columns:1fr}}
.note.mesure{margin-top:28px}
/* Capacité de l'offre : barre neutre, orangée à 80 %, rouge à 100 % (toujours avec un texte) */
.usage .barre>span{background:var(--indigo)}
.usage .barre.proche>span{background:#C77700}
.usage .barre.atteinte>span{background:var(--ko)}
.capacite-bandeau{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--att-fond);color:var(--att);border-radius:16px;padding:14px 20px;margin-bottom:24px;border:1px solid #F0D19A}
.capacite-bandeau.atteinte{background:var(--ko-fond);color:var(--ko);border-color:#F2B8B8}
.capacite-bandeau b{font-size:15px}
