/* ═══ LEX DESIGN — login.css : écrans de connexion ═══ */
.login{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-wrap{text-align:center;width:min(420px,100%)}
.login-logo{width:84px;height:84px;border-radius:22px;margin:0 auto 14px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  font-size:30px;font-weight:900;letter-spacing:-.02em;color:#fff;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent-app) 90%,#fff),color-mix(in srgb,var(--accent-app) 55%,#000));
  box-shadow:0 10px 34px color-mix(in srgb,var(--accent-app) 45%,transparent),inset 0 1.5px 1px -0.5px rgba(255,255,255,.55)}
.login-logo img{width:100%;height:100%;object-fit:cover;display:block}
.login-name{font-size:22px;font-weight:900;letter-spacing:-.02em;margin-bottom:4px}
.login-sub{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:28px}
.login-tabs{display:flex;gap:6px;margin-bottom:22px;border-radius:999px;padding:4px;position:relative;
  background:var(--glass-bg);box-shadow:inset 0 0 0 1px var(--glass-border)}
.login-tab{flex:1;background:transparent;border:none;color:var(--muted);border-radius:999px;padding:9px;font-weight:700;font-size:13px;cursor:pointer;transition:color .15s;position:relative;z-index:1}
.login-tab.active{color:var(--accent-app)}
.login-tabs:not(.bubble-on) .login-tab.active{background:color-mix(in srgb,var(--text) 10%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.login-pane{display:none}
.login-pane.active{display:block}

/* ── PAGE DE CONNEXION COMMUNE (deploy115) : modèle Panel pour toutes les apps ──
   Markup canonique : .lex-login > .logo-img + .sub + form.card(h2, .field*, .err?,
   .btn.primary.full, .switch) + .foot — la couleur vient de --accent-app
   (theme.css de l'app, ou <style> inline sur les pages autonomes). */
.lex-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:48px 16px}
.lex-login .logo-img{width:96px;height:96px;border-radius:22px;object-fit:contain;background:var(--glass-bg);border:1px solid var(--glass-border)}
.lex-login .logo{width:96px;height:96px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px;font-weight:800;letter-spacing:2px}
.lex-login .logo small{font-size:8px;letter-spacing:3px}
.lex-login .sub{margin:16px 0 28px;font-size:13px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase;font-weight:600;text-align:center}
.lex-login .card{border-radius:22px;width:440px;max-width:100%;padding:28px;margin-bottom:16px}
.lex-login .card h2{margin:0 0 18px;font-size:20px;font-weight:800}
.lex-login .field{display:block;margin-bottom:14px}
.lex-login .field label{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:6px;color:var(--text)}
.lex-login .field input{width:100%;border-radius:14px;padding:12px 14px;font-size:14px}
.lex-login .field input:focus{outline:none}
.lex-login .err{color:#ff4d4f;font-size:13px;margin:6px 0 12px}
.lex-login .ok-msg{color:#2bd576;font-size:13px;margin:6px 0 12px}
.lex-login .muted-p{color:var(--muted);font-size:13px;line-height:1.5;margin-top:0}
.lex-login .btn{border-radius:999px;padding:12px 18px;font-size:14px;font-weight:700}
.lex-login .btn.full{width:100%}
.lex-login a.btn{text-decoration:none}
.lex-login .switch{margin-top:16px;font-size:13px;text-align:center;position:static;width:auto;height:auto;border-radius:0;background:none;box-shadow:none;transition:none;cursor:auto}
.lex-login .switch::after{content:none}
.lex-login .switch a{cursor:pointer;text-decoration:underline;color:inherit}
.lex-login .foot{margin-top:14px;color:var(--muted);font-size:12px;text-align:center}
.lex-login .sso-banner{width:440px;max-width:100%;margin-bottom:16px;border-radius:18px;padding:16px;font-size:13px;
  background:var(--glass-bg);box-shadow:inset 0 0 0 1px var(--glass-border);text-align:center}
@media(max-width:640px){.lex-login{padding:34px 14px}}
