/* Comptes : accès, compte connecté, équipe, confirmations dans la page.
   Même charte que le Hub : fond clair, menu sombre (--ink), accents violets (--purple). */

/* Avant connexion, rien du Hub n'est affiché. */
body.hors-session .app{display:none}
.acces{min-height:100vh;display:grid;place-items:center;padding:32px 16px;box-sizing:border-box;background:var(--ink);background-image:radial-gradient(circle at 18% 12%,#60398e55 0,transparent 42%),radial-gradient(circle at 85% 90%,#f3920022 0,transparent 38%)}
.acces[hidden]{display:none}
.acces-carte{width:100%;max-width:430px;background:#fff;color:var(--ink);border-radius:18px;padding:30px 30px 22px;box-shadow:0 24px 60px #0006;box-sizing:border-box}
.acces-marque{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.acces-marque b{display:block;font:800 13px Manrope;letter-spacing:1.5px}
.acces-marque small{display:block;font:10px 'DM Mono';letter-spacing:1px;color:var(--muted);margin-top:3px}
.acces-carte h1{font-size:26px;letter-spacing:-.6px;margin:0 0 8px}
.acces-carte .muted,.muted{color:var(--muted)}
.acces-carte>p{margin:0 0 14px;line-height:1.55}
.acces-form{display:grid;gap:14px;margin:18px 0 12px}
.acces-form label,.compte-form label{display:grid;gap:6px;font:600 12px Manrope;color:var(--ink)}
.acces-form input,.compte-form input,.compte-form select,.equipe-champs select,.lien-ligne input,.hub-dialog-champ,.hub-barre-mobile select{font:500 15px Manrope;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);min-width:0;box-sizing:border-box;width:100%}
.acces-form input:focus,.compte-form input:focus,.hub-dialog-champ:focus{outline:2px solid var(--purple);outline-offset:0;border-color:transparent}
.acces-form .primary{width:100%;padding:13px 16px;font-size:14px}
.acces-note{background:#f4effa;color:var(--purple);border-radius:10px;padding:10px 12px;font-size:13px;margin:0 0 6px;line-height:1.45}
.acces-erreur{color:#b42f2f;background:#fff0f0;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700}
.acces-erreur[hidden]{display:none}
.acces-petit{font-size:12px;color:var(--muted);line-height:1.5;margin:6px 0 0}
@media(max-width:480px){.acces-carte{padding:24px 18px 18px}}

/* Compte connecté, dans le menu latéral */
.hub-moi{display:grid;gap:4px;margin-top:18px}
.hub-moi .eyebrow{margin-bottom:4px}
.hub-moi .hub-settings small{display:block;font:500 11px Manrope;color:#8f8a98;margin-top:3px}
.hub-moi .hub-settings.active{background:#ffffff14;color:#fff}
.hub-deconnexion{background:transparent;color:#8f8a98;text-align:left;padding:8px 12px;font:600 12px Manrope}
.hub-deconnexion:hover{color:#fff}

/* Téléphone : marque et compte en haut de page (le menu latéral est masqué sous 1000 px) */
.hub-barre-mobile{display:none}
@media(max-width:1000px){
 .hub-barre-mobile{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;width:100%;margin-bottom:14px}
 .hub-barre-mobile label{display:grid;gap:4px;font:10px 'DM Mono';letter-spacing:1px;color:var(--muted);flex:1 1 180px}
 .hub-barre-mobile .ghost{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
 header.top{flex-wrap:wrap}
}

/* Pages Mon compte et Équipe */
.compte-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-items:start}
.compte-carte{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px;box-sizing:border-box}
.compte-carte h3{margin:0 0 12px;font-size:15px}
.compte-carte h3+h3,.compte-kv+h3{margin-top:18px}
.compte-kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;font-size:13px}
.compte-kv dt{color:var(--muted);font-weight:600}
.compte-kv dd{margin:0;overflow-wrap:anywhere}
.compte-form{display:grid;gap:12px}
.compte-form.deux{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:end}
.compte-form small,#roleAide{color:var(--muted);font-size:12px;line-height:1.45}
.compte-form .primary{justify-self:start}
.droits-liste{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13px}
.droits-liste li{display:flex;gap:10px;align-items:baseline}
.droits-liste li span{width:14px;flex:none;font-weight:800;color:var(--green)}
.droits-liste li.non{color:var(--muted)}
.droits-liste li.non span{color:var(--muted)}
.equipe-form[hidden]{display:none}
.marques-zone{margin-top:14px;display:grid;gap:8px;font-size:13px}
.marques-zone[hidden]{display:none}
.marques-choix{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin:8px 0}
.marques-choix label{display:flex;gap:6px;align-items:center;font-weight:600}
.equipe-liste{display:grid;gap:12px;margin-bottom:16px}
.equipe-membre{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:grid;gap:12px}
.equipe-membre.inactif{opacity:.62}
.equipe-tete{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.equipe-tete b{display:block;font-size:15px}
.equipe-tete small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.equipe-champs{display:flex;gap:16px;flex-wrap:wrap;align-items:end}
.equipe-champs label{display:grid;gap:6px;font:600 12px Manrope;min-width:180px}
.equipe-fixe{font:500 14px Manrope;padding:10px 0}
.equipe-meta{display:grid;gap:3px;color:var(--muted)}
.equipe-marques summary{cursor:pointer;font:600 12px Manrope;color:var(--purple)}
.equipe-actions{display:flex;gap:8px;flex-wrap:wrap}
.equipe-actions .ghost,.equipe-marques .ghost,.file-actions .ghost{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff}
.equipe-actions .danger{margin-right:0}
.pill{font:600 10px 'DM Mono';letter-spacing:.5px;padding:5px 8px;border-radius:20px;white-space:nowrap;background:#f1eff3;color:var(--muted)}
.pill.ok{background:#e9f5ef;color:#2f7a55}
.pill.attente{background:#fff4e5;color:#a35c00}
.pill.retard{background:#fff0f0;color:#b42f2f}
.lien-carte{border-color:#d9c9ee;background:#f8f4fd}
.lien-tete{display:flex;justify-content:space-between;align-items:center;gap:10px}
.lien-ligne{display:flex;gap:10px;align-items:center}
.lien-ligne input{font:12.5px 'DM Mono'}
@media(max-width:600px){.lien-ligne{flex-direction:column;align-items:stretch}.equipe-tete{flex-direction:column}}

/* Confirmations et saisies dans la page */
.hub-dialog-fond{position:fixed;inset:0;background:#15121c88;display:grid;place-items:center;padding:16px;z-index:1000;box-sizing:border-box}
.hub-dialog{background:#fff;border-radius:16px;padding:22px;width:100%;max-width:440px;box-shadow:0 24px 60px #0005;box-sizing:border-box}
.hub-dialog h3{margin:0 0 8px;font-size:17px}
.hub-dialog p{margin:0 0 14px;color:#4b4753;line-height:1.5;font-size:14px}
.hub-dialog-champ{margin:0 0 14px}
.hub-dialog-choix{display:grid;gap:8px;margin:0 0 14px}
.hub-dialog-choix button{padding:12px 14px;border-radius:10px;border:1px solid var(--line);text-align:left;font-size:14px;background:#fff}
.hub-dialog-choix .danger{margin:0;text-align:left}
.hub-dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:6px}
.hub-dialog-actions .ghost{padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:#fff}
.danger-plein{background:#c44a4a;color:#fff;border-radius:9px;padding:12px 16px}
.hub-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;font:600 13px Manrope;box-shadow:0 12px 30px #0004;z-index:1100;max-width:min(560px,calc(100vw - 32px));line-height:1.45}
.hub-toast.err{background:#a23434}
.hub-toast[hidden]{display:none}

/* Boutons masqués selon le rôle (le serveur refuse de toute façon) */
body.sans-suppression #deleteBtn,body.sans-suppression .file-more,body.sans-suppression [data-suppr-rushes]{display:none!important}
body.sans-validation [data-approve]{display:none!important}
body.sans-memoire #memoryComposer,body.sans-memoire .memory-edit{display:none!important}
body.sans-directives #saveRules,body.sans-directives #addRule,body.sans-directives #addDate{display:none!important}
.auteur{color:var(--muted);font-size:11px}

/* Téléphone : rien ne déborde à droite */
@media(max-width:700px){
 .hub-barre-mobile label{flex-basis:100%}
 .workspace-head{flex-wrap:wrap;gap:12px}
 .workspace-head .file-actions{display:flex;flex-wrap:wrap;gap:8px}
 .compte-carte{padding:16px}
 .equipe-champs label{min-width:0;flex:1 1 100%}
}
