/* Pages du compte : connexion (carte au centre de l'écran) et profil (une colonne étroite). */

/* ---------- connexion ---------- */
/* Le bandeau de maintenance passe au-dessus de la grille de la page de connexion, sans en changer les rangées. */
body.login .notice{position:fixed;top:0;left:0;right:0;z-index:20;margin:0}
body.login{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:1fr auto;justify-items:center;padding:16px;
  background:radial-gradient(1100px 520px at 50% -10%,color-mix(in srgb,var(--brand) 9%,transparent),transparent 70%),var(--bg)}
.login-card{align-self:center;width:100%;max-width:390px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px 28px 24px;box-shadow:var(--sh-3)}
/* flex-wrap : un logo et un long nom du magazine passent sous « Folioz » au lieu de faire déborder la page (375 px) */
.login-card h1.brand{font-size:32px;gap:10px;margin:0 0 6px}
.login-card .mark{height:30px}
.sub{color:var(--muted);margin:0 0 22px;overflow-wrap:anywhere} /* nom du magazine sans espace : coupé plutôt que de faire déborder */
.login-card input{width:100%;--h:42px}
.login-card button{width:100%;--h:42px;margin-top:22px}
.login .legal{width:100%}

/* ---------- profil ---------- */
main.narrow{max-width:620px;margin:20px auto 0}
dl.ident{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}
dl.ident dt{color:var(--muted)} dl.ident dd{margin:0;font-weight:500}
fieldset.themes{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
fieldset.themes legend{padding:0;margin-bottom:8px}
.themes label{display:inline-flex;align-items:center;gap:8px;height:var(--h);padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r);cursor:pointer;background:var(--panel);transition:border-color .12s,background-color .12s}
.themes label:hover{background:var(--hover)}
.themes label:has(input:checked){border-color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1px var(--ink)}
.themes label:has(input:focus-visible){outline:2px solid var(--info);outline-offset:2px}
form.stack input{width:100%}

/* Notifications : boutons à gauche (ils agissent sur les cartes en dessous), une carte par catégorie */
.row.notif-bar{justify-content:flex-start;margin-top:14px}
.notif-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.notif-head label{font-weight:600;cursor:pointer}
.notif-head .count{margin-left:auto;font-size:var(--fs-s)}
.notif details{margin-top:10px}
.notif summary{cursor:pointer;color:var(--muted);font-size:var(--fs-s);width:fit-content}
.notif summary:hover{color:var(--ink)}
ul.notif-events{list-style:none;margin:8px 0 0;padding:0 0 0 26px;display:grid;gap:8px}
ul.notif-events li{display:flex;align-items:center;gap:10px}
ul.notif-events label{cursor:pointer}

/* ---------- annuaire ---------- */
main.dir{max-width:1100px;margin:20px auto 0}
.dirhead{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:14px}
.dirhead h2{margin:0}
.dirhead input{flex:0 1 360px;min-width:0}
ul.dirlist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
ul.dirlist li{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);min-width:0;overflow-wrap:anywhere}
ul.dirlist li.me{border-color:var(--ink)}
ul.dirlist b{font-size:var(--fs-l)}
ul.dirlist .job{color:var(--muted);font-size:var(--fs-s);min-height:1.2em;margin-bottom:4px}
ul.dirlist a{color:var(--info);text-decoration:none} ul.dirlist a:hover{text-decoration:underline}
ul.dirlist .muted{font-size:var(--fs-s)}
ul.dirlist a.edit{margin-top:6px;font-size:var(--fs-s);color:var(--muted)}
ul.dirlist button.edit{align-self:flex-start;margin-top:8px}
