/* Écrans de connexion, d’installation et indicateur d’enregistrement. */
.session-screen{display:grid;grid-template-columns:minmax(320px,44%) 1fr;min-height:100vh;background:var(--paper)}
.session-brand{background:#173b37;color:#d6e1da;padding:44px 48px;display:flex;flex-direction:column;gap:40px}
.session-brand .brand{padding:0}
.session-pitch{margin-top:auto}
.session-pitch h1{font-size:34px;line-height:1.12;letter-spacing:-1.2px;color:#fff;font-weight:500;margin:0 0 18px;max-width:440px}
.session-pitch p{font-size:13px;line-height:1.7;color:#b7cbc0;max-width:440px;margin:0}
.session-facts{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.session-facts li{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.5;color:#c9d9cf}
.session-facts .icon{flex:none;width:18px;height:18px;stroke:#d5e5b4;fill:none;stroke-width:1.6}
.session-foot{font-size:10px;letter-spacing:.4px;color:#89a99a;margin-top:auto}
.session-main{display:grid;place-items:center;padding:40px 24px}
.session-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}
.session-card h2{font-size:28px;letter-spacing:-.9px;color:var(--ink);font-weight:500;margin:0}
.session-intro{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 6px}
.session-field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:500;color:var(--ink)}
.session-field input{font-size:14px;padding:13px 14px}
.session-field small{font-weight:400;color:var(--muted);font-size:10px;line-height:1.5}
.session-error{color:var(--red);font-size:12px;line-height:1.5;min-height:18px}
.session-error:empty{min-height:0}
.session-submit{margin-top:4px;min-height:46px;font-size:12px}
.session-submit:disabled{opacity:.6;cursor:wait}
.session-help{font-size:11px;color:var(--muted);line-height:1.6;margin:4px 0 0}
.session-link{font-size:11px;color:var(--green);text-decoration:underline;padding:4px 0;align-self:flex-start}
.session-card .info{margin-bottom:0}
.sync-badge{white-space:nowrap}
.sync-badge.sync-busy{background:#f3efe0;color:#7a6a2c}
.sync-badge.sync-error{background:#f6e4e0;color:var(--red)}
@media (max-width:820px){
  .session-screen{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .session-brand{padding:18px 16px;gap:0}
  .session-screen .session-brand .brand{display:flex}
  /* En écran étroit, le formulaire vient immédiatement après l’identité du produit. */
  .session-pitch,.session-facts,.session-foot{display:none}
  .session-main{place-items:start center;padding:28px 16px 40px}
}
.refresh-data{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:var(--ink)}
.refresh-data:hover{background:var(--soft)}
.refresh-data .icon{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.6}
/* Comptes & habilitations : une ligne par compte, repliée sur plusieurs lignes en écran étroit. */
.acct-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.acct-tools .searchbox{flex:1 1 260px;min-width:0}
.acct-tools select{flex:0 1 240px;min-width:0}
.acct-summary{font-size:11px;color:var(--muted);margin:0 0 10px}
.acct-summary b{color:#7a6a2c;font-weight:600}
.acct-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.acct-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) auto minmax(0,auto);gap:8px 18px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}
.acct-who,.acct-role{display:flex;flex-direction:column;gap:3px;min-width:0}
.acct-who b{font-size:12px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.acct-role span{font-size:12px;color:var(--ink)}
.acct-who small,.acct-role small{font-size:10px;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}
.acct-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.acct-actions .btn{margin:0;min-height:32px;padding:7px 10px}
.acct-self{font-size:10px;color:var(--muted);max-width:220px;text-align:right;line-height:1.45}
.acct-empty{padding:28px 4px;font-size:12px;color:var(--muted);line-height:1.6}
@media (max-width:900px){
  .acct-row{grid-template-columns:minmax(0,1fr) auto}
  .acct-role{grid-column:1/-1;grid-row:2}
  .acct-actions{grid-column:1/-1;justify-content:flex-start}
  .acct-self{text-align:left;max-width:none}
}
/* Les règles de la barre latérale masquent le logo en écran étroit ; l’écran de connexion le garde. */
.session-screen .session-brand .brand,.session-screen .session-brand .brand>div:last-child{display:flex}
.session-screen .session-brand .brand>div:last-child{flex-direction:column}
.readonly-settings{border:0;margin:0;padding:0;min-width:0}
.readonly-settings :is(button,.btn){display:none}
.session-row{display:flex;gap:10px;flex-wrap:wrap}
.session-row .btn{margin:0}
.session-check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;color:var(--ink)}
.sync-line{color:var(--muted)}
.sync-line.warn{color:#7a6a2c;font-weight:600}
.sync-refused{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}
.sync-refused small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.sync-refused p{font-size:11px;color:var(--red);margin:6px 0 0}
.sync-refused .btn{margin:0}
