/* Partage par lien (interne) : assistant de création, liste des liens, détail. Page publique : partage_public.css. */
.lp-wiz{display:flex;flex-direction:column;gap:12px}
.lp-f{border:1px solid var(--border);border-radius:10px;padding:10px 14px 12px;margin:0;min-width:0}
.lp-f legend{padding:0 6px;font-weight:600;font-size:13px;color:var(--muted)}
.lp-l{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);margin-top:8px}
.lp-l input,.lp-l select{font:inherit}
.lp-radios{display:flex;gap:18px;flex-wrap:wrap}
.lp-radio{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:3px 0}
.lp-droit small,.lp-radio small{display:block;color:var(--muted);font-size:12px}
.lp-radio input[type=checkbox]{margin-top:4px}
.lp-bientot{display:inline-block;font-size:11px;font-weight:600;color:var(--orange,#c2410c);border:1px solid currentColor;border-radius:999px;padding:0 7px;margin-left:4px}
.lp-docs{max-height:290px;overflow:auto}
.lp-docs-bar{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.lp-compte{margin-left:auto;font-size:12px;color:var(--muted)}
.lp-grp{margin-bottom:8px}
.lp-grp-t{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:6px 0 2px}
.lp-doc{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:5px 6px;border-radius:6px;cursor:pointer}
.lp-doc:hover{background:var(--surface2)}
.lp-doc-off{cursor:not-allowed;opacity:.62}.lp-doc-off:hover{background:none}
.lp-doc-nom{font-weight:500}.lp-doc-det{font-size:12px;color:var(--muted)}
.lp-raison{flex-basis:100%;margin-left:26px;font-size:12px;color:var(--danger,#dc2626)}
.lp-err{color:var(--danger,#dc2626);font-size:13px;min-height:1em}
.lp-btns{display:flex;justify-content:flex-end;gap:8px}
.lp-duree{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lp-recap{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}
.lp-recap dt{color:var(--muted);font-size:13px}.lp-recap dd{margin:0}
.lp-recap-docs{margin:0;padding-left:18px}.lp-recap-docs li{margin:2px 0}
.lp-type{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:4px}
.lp-h{margin:16px 0 6px;font-size:14px}
.lp-url{display:flex;gap:8px}.lp-url input{flex:1;min-width:0;font-family:var(--font-mono,monospace);font-size:13px}
.lp-copie-ok{background:var(--success,#16a34a)!important;border-color:var(--success,#16a34a)!important}
.lp-bar{display:flex;gap:14px;align-items:center;margin:8px 0}
.lp-mode{display:flex;gap:6px;margin:8px 0 12px}
.lp-acts{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.lp-s{font-size:11.5px}
.lp-histo{max-height:260px;overflow:auto}
.lp-journal{margin:0;padding-left:18px;font-size:13px;color:var(--muted)}
@media (max-width:640px){.lp-recap{grid-template-columns:1fr}.lp-url{flex-direction:column}}

/* Comptes fournisseurs (étape C) : pastille du tableau de bord, espace fournisseur simplifié */
.cmp-pastille{display:inline-flex;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:11px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;align-items:center;justify-content:center}
/* Interface dédiée aux comptes externes (installateur, client) : aucune barre latérale (aucune largeur réservée), barre du haut propre à l'espace,
   ni recherche globale ni aide interne. */
.mode-espace #sidebar,.mode-espace #btn-sidebar,.mode-espace .tb-search,.mode-espace .tb-help{display:none!important}
.tb-externe{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}
.tb-externe[hidden]{display:none}
.tb-ext-brand{height:auto;padding:0;border:0!important;text-decoration:none;min-width:0;flex:0 1 auto}
.tb-ext-brand .logo{display:block;min-width:0}
.tb-ext-sp{flex:1}
.tb-ext-user{display:inline-flex;align-items:center;gap:10px;min-height:40px;max-width:100%;padding:4px 10px 4px 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;text-align:left}
.tb-ext-user:hover{border-color:var(--accent)}
.tb-ext-user:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tb-ext-id{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.tb-ext-nom{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-ext-soc{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-ext-menu{width:260px}
/* Recherche de l'espace (barre du haut) */
.tb-ext-rech{position:relative;flex:0 1 380px;min-width:0;margin-left:8px}
.tb-ext-rech input{width:100%;box-sizing:border-box;font:inherit;font-size:14px;min-height:38px;padding:7px 64px 7px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--fg)}
.tb-ext-rech input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tb-ext-kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:11px/1 inherit;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:3px 5px;pointer-events:none}
.tb-ext-rech input:focus+.tb-ext-kbd{display:none}
.tb-ext-res{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;max-height:min(70vh,520px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14);padding:6px}
.tb-ext-res[hidden]{display:none}
.tb-ext-grp+.tb-ext-grp{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}
.tb-ext-grp-t{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 8px 4px}
.tb-ext-it{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:8px;cursor:pointer;min-height:40px;justify-content:center}
.tb-ext-it b{font-weight:600;font-size:13.5px;overflow-wrap:anywhere}.tb-ext-it small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.tb-ext-it:hover,.tb-ext-it[aria-selected=true]{background:var(--hover,rgba(127,127,127,.1))}
.tb-ext-it[aria-selected=true]{outline:1px solid var(--accent)}
.tb-ext-plus,.tb-ext-vide{font-size:12.5px;padding:8px 10px}
@media (max-width:640px){.tb-externe{gap:var(--s-2)}.tb-ext-rech{flex:1 1 auto;margin-left:0}.tb-ext-kbd{display:none}.tb-ext-rech input{padding:7px var(--s-1) 7px var(--s-2);font-size:12.5px;text-overflow:clip}
  .tb-ext-res{position:fixed;left:8px;right:8px;top:58px;max-height:calc(100vh - 72px)}}
.mode-espace .tb-crumb{display:none}
.mode-espace.esp-sous .tb-crumb{display:flex;flex:0 1 auto}
.mode-espace.esp-sous .tb-externe{flex:1 1 auto}
.mode-espace .page-head{margin-bottom:10px}
.mode-espace #view{max-width:1100px;margin:0 auto;width:100%;box-sizing:border-box}
.esp-vide{padding:28px 16px;text-align:center;border:1px dashed var(--border);border-radius:10px;color:var(--muted)}
.esp-vide b{color:var(--fg);display:block;margin-bottom:4px}
.esp-vide p{margin:0}
@media (max-width:640px){.tb-ext-id{display:none}.tb-ext-user{padding:3px;gap:6px}.tb-ext-user svg{margin-right:4px}.mode-espace .topbar{gap:8px}.mode-espace.esp-sous .tb-crumb{display:none}}
.esp-bloc{margin-bottom:16px}
.esp-liste{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.esp-doc{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--border);border-radius:8px}
.esp-doc-a{display:inline-flex;gap:6px;flex-wrap:wrap}
.esp-type{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.esp-form{display:grid;gap:12px;max-width:520px}
.esp-form label{display:grid;gap:4px;font-weight:600;font-size:13px}
.esp-form input[type=text],.esp-form select{font:inherit;padding:8px 10px;min-height:38px}
.esp-titre-auto{margin:0;font-size:13px;overflow-wrap:anywhere}
.esp-form textarea{font:inherit;padding:8px 10px}
@media (max-width:640px){.esp-doc{flex-direction:column;align-items:flex-start}.esp-doc-a .btn{min-height:40px}.esp-form input[type=file]{max-width:100%}}
.cmp-table .lp-acts{flex-wrap:wrap;justify-content:flex-end}
.lp-radio select{margin-left:8px;max-width:100%}
.esp-form select,.esp-form input[type=text],.esp-form input[type=file]{max-width:100%;width:100%;box-sizing:border-box}
.lp-adddoc{margin-top:12px;border-top:1px dashed var(--border);padding-top:10px}
.lp-adddoc summary{cursor:pointer;font-weight:600;font-size:13px;min-height:32px;display:flex;align-items:center}
.lp-adddoc-b{display:grid;gap:8px;margin-top:8px}
.lp-adddoc-q{font:inherit;padding:8px 10px;min-height:38px;max-width:100%;width:100%;box-sizing:border-box}
.lp-adddoc-r{padding:0}

/* Assistant en trois étapes */
.lp-steps{display:flex;gap:6px;list-style:none;margin:0 0 4px;padding:0;font-size:12.5px;color:var(--muted)}
.lp-steps li{flex:1;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--r-sm,6px);background:var(--surface2)}
.lp-steps li b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--border);color:var(--fg);font-size:11px}
.lp-steps li.on{color:var(--fg);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}
.lp-steps li.on b,.lp-steps li.ok b{background:var(--accent);color:#fff}
.lp-sous{font-weight:600;margin-top:4px}
.lp-sigs-l{margin-top:8px}
.lp-err:empty{display:none}

/* Versions de fichiers (étape D) : badge, comparaison référence / version installateur, historique */
.vf-badge{display:inline-block;font-size:11px;font-weight:600;line-height:1.5;padding:0 8px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);white-space:nowrap}
.vf-badge-btn{background:none;border:0;padding:0;margin:2px 0;cursor:pointer;text-align:left}
.vf-badge-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:999px}
.vf-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vf-col{border:1px solid var(--border);border-radius:10px;padding:10px 14px 12px;min-width:0}
.vf-col-att{border-color:var(--accent)}
.vf-col h4,.vf-prec h4{margin:0 0 8px;font-size:14px}
.vf-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 10px;font-size:13px}
.vf-dl dt{color:var(--muted)}.vf-dl dd{margin:0;overflow-wrap:anywhere}
.vf-acts{display:flex;gap:6px;flex-wrap:wrap}
.vf-alerte{margin:0 0 8px;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,var(--orange,#c2410c) 14%,transparent);font-size:13px}
.vf-prec{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}
.vf-prec p{margin:0 0 8px;font-size:13px}
.lp-alerte-versions{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;border:1px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,transparent)}
.lp-alerte-versions[hidden]{display:none}
.esp-etat{flex-basis:100%;font-size:12px}
.esp-form textarea{width:100%;font:inherit}
@media (max-width:640px){.vf-cols{grid-template-columns:1fr}}
.lp-s .vf-badge{white-space:normal}
.esp-meta{display:block;font-size:12px;margin-top:2px}
.esp-recherche{width:100%;max-width:420px;font:inherit;padding:8px 10px;min-height:38px;margin-bottom:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit}
/* Onglet « Documents » unique : provenance, filtre par puces, boutons-liens identiques aux boutons */
.esp-doc[hidden],.esp-vide[hidden]{display:none}
.esp-doc a.btn,.esp-doc a.btn:hover,.esp-doc a.btn:focus{text-decoration:none}
.esp-prov{display:inline-block;font-size:11px;line-height:1.5;padding:0 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}
.esp-puces{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.esp-puce{font:inherit;font-size:12.5px;padding:4px 12px;min-height:30px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer}
.esp-puce:hover{color:var(--fg)}
.esp-puce.actif{background:var(--surface);color:var(--fg);border-color:var(--accent,var(--fg))}
@media (max-width:640px){.esp-puce{min-height:40px}}
#toast:empty{display:none}

/* ═══ Fenêtre « Partager » (screens/partage.js) ═══ */
.pa{display:flex;flex-direction:column;gap:14px}
.pa-doc{font-weight:600}
.pa-docs-t{font-weight:600;margin-bottom:4px}.pa-docs ul{margin:0;padding-left:18px;font-size:13px}
.pa-refus{color:var(--danger,#dc2626)}
.pa-liste{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.pa-vide{padding:6px 0;margin:0}
.pa-ligne-acces{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 8px;border:1px solid var(--border);border-radius:8px}
.pa-qui{flex:1 1 200px;min-width:0;display:flex;flex-direction:column}.pa-qui small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.pa-regl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pa-droit,.pa-ech-s,.pa-q{font:inherit;max-width:100%}
.pa-droit-t{font-weight:500}
.pa-ech-fin{font-size:12.5px;color:var(--muted)}.pa-expire{color:var(--danger,#dc2626)}
.pa-x{min-width:32px;min-height:32px}
.pa-l{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.pa-ech{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.pa-compte-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px;flex-wrap:wrap}
.pa-retrait{display:flex;flex-direction:column;gap:10px}.pa-retrait .lp-f{margin:0}
.pa-tous{margin:0}.pa-tous-docs summary{cursor:pointer;font-size:13px}.pa-tous-docs ul{margin:6px 0;padding-left:18px;font-size:13px}
.pa-recap{margin:0;font-size:13.5px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:560px){.pa-ligne-acces{align-items:flex-start}.pa-regl{width:100%}}

/* Fenêtre « Partager » : liste « Qui a accès » + panneau « Ajouter » (jetons uniquement) */
.pa-hd { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-2); }
.pa-hd h3 { margin: 0; font-size: 1em; }
.pa-vide { color: var(--muted); padding: var(--s-3) 0; }
.pa-refus { color: var(--muted); margin: var(--s-2) 0 0; }
.pa-ajout-pan { display: flex; flex-direction: column; gap: var(--s-3); margin-top: var(--s-4); padding: var(--s-4); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface2); }
.pa-ajout-pan[hidden], .pa-pan[hidden], .pa-regl-ajout[hidden] { display: none; }
.pa-pan { display: flex; flex-direction: column; gap: var(--s-3); }
.pa-acts { display: flex; justify-content: flex-end; gap: var(--s-2); flex-wrap: wrap; }
.pa-q { width: 100%; box-sizing: border-box; }
.pa-res { max-height: calc(var(--s-7) * 7); overflow: auto; display: flex; flex-direction: column; gap: var(--s-1); }
.pa-res-g { flex: none; color: var(--muted); font-weight: 600; padding: var(--s-2) var(--s-1) 0; }
.pa-res-o { flex: none; display: flex; flex-direction: column; align-items: flex-start; gap: 0; width: 100%; min-height: calc(var(--s-7) + var(--s-2)); padding: var(--s-1) var(--s-3); border: 1px solid transparent; border-radius: var(--r-sm); background: var(--surface); color: var(--fg); font: inherit; text-align: left; cursor: pointer; }
.pa-res-o small { color: var(--muted); overflow-wrap: anywhere; }
.pa-res-o:hover { border-color: var(--border); }
.pa-res-o.on { border-color: var(--accent); background: var(--accent-d); }
.pa-res-o:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.pa-regl-ajout { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s-3) var(--s-4); }
.pa-seg { display: inline-flex; flex-wrap: wrap; gap: 0; margin: 0; padding: var(--s-1); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); min-width: 0; }
.pa-seg > label, .pa-seg > button { position: relative; margin: 0; }
.pa-seg > label input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pa-seg > label span, .pa-seg > button { display: inline-flex; align-items: center; justify-content: center; min-height: calc(var(--s-6) + var(--s-2)); padding: 0 var(--s-3); border: 0; border-radius: var(--r-sm); background: transparent; color: var(--muted); font: inherit; cursor: pointer; white-space: nowrap; }
.pa-seg > label input:checked + span, .pa-seg > button.on { background: var(--accent-d); color: var(--fg); font-weight: 600; box-shadow: inset 0 0 0 1px var(--accent); }
.pa-seg > label input:focus-visible + span, .pa-seg > button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.pa-onglets { align-self: flex-start; }
@media (max-width: 640px) {
  .pa-seg { display: flex; width: 100%; box-sizing: border-box; }
  .pa-seg > label, .pa-seg > button { flex: 1 1 auto; }
  .pa-seg > label span { width: 100%; box-sizing: border-box; white-space: normal; text-align: center; }
  .pa-acts .btn { flex: 1 1 auto; min-height: calc(var(--s-7) + var(--s-3)); }
  .pa-x { min-width: calc(var(--s-7) + var(--s-3)); min-height: calc(var(--s-7) + var(--s-3)); }
}
