/* Auth « Nocturne » — login / register / forgot-password.
   Aligné sur la charte de la vitrine brainbulker.com. Classes .lg-* isolées :
   n'altère AUCUNE classe partagée de l'app (.card/.btn-primary/.form-input…). */
@font-face{font-family:'ArchivoN';src:url('../fonts/archivo.woff2') format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:'HankenN';src:url('../fonts/hanken.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'JetBrainsN';src:url('../fonts/jetbrains.woff2') format('woff2');font-weight:400 600;font-display:swap}

.lg-body{--acc:#33E6C0;--acc2:#66F0DA;--ink:#04231d;box-sizing:border-box;min-height:100vh;margin:0;display:flex;
  align-items:center;justify-content:center;padding:24px;background:#08090B!important;color:#eaf0f2;
  font-family:'HankenN',system-ui,-apple-system,sans-serif;position:relative;overflow:hidden}
.lg-body *{box-sizing:border-box}
.lg-body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(58% 48% at 50% 0%,rgba(51,230,192,.10),transparent 70%),radial-gradient(40% 40% at 88% 104%,rgba(51,230,192,.06),transparent 70%)}
.lg-body::after{content:'';position:fixed;inset:0;z-index:0;opacity:.4;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:46px 46px;-webkit-mask-image:radial-gradient(68% 58% at 50% 28%,#000,transparent 82%);mask-image:radial-gradient(68% 58% at 50% 28%,#000,transparent 82%)}
.lg-wrap{position:relative;z-index:1;width:100%;max-width:416px}
.lg-card{background:#101419;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:36px 34px 32px;
  box-shadow:0 40px 100px -50px #000,0 0 80px -52px var(--acc)}
.lg-head{text-align:center;margin-bottom:24px}
.lg-mark{display:flex;justify-content:center;margin-bottom:14px}
.lg-title{font-family:'ArchivoN',system-ui,sans-serif;font-weight:800;font-size:1.62rem;letter-spacing:-.02em;margin:0;color:#f4f7f5}
.lg-sub{font-size:.88rem;color:#9aa4ac;margin:6px 0 0;line-height:1.5}
.lg-field{margin-bottom:15px}
.lg-label{display:block;font-family:'JetBrainsN',monospace;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:#8c97a0;margin-bottom:7px}
.lg-input{width:100%;background:#0b0e12;border:1px solid #262c34;border-radius:var(--w-r-md);padding:12px 14px;color:#eaf0f2;
  font-size:.95rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.lg-input.mono{font-family:'JetBrainsN',monospace}
.lg-input::placeholder{color:#59626a}
.lg-input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(51,230,192,.16)}
.lg-input:-webkit-autofill,.lg-input:-webkit-autofill:hover,.lg-input:-webkit-autofill:focus{
  -webkit-text-fill-color:#eaf0f2;-webkit-box-shadow:0 0 0 1000px #0b0e12 inset;caret-color:#eaf0f2;border-color:#262c34}
.lg-hint{font-size:.75rem;color:#7f8a92;margin:6px 0 0}
.lg-remember{display:flex;align-items:center;gap:9px;font-size:.85rem;color:#9aa4ac;cursor:pointer;user-select:none;margin:2px 0 18px}
.lg-remember input{width:16px;height:16px;accent-color:var(--acc);cursor:pointer;flex:none}
.lg-cgu{display:flex;align-items:flex-start;gap:9px;font-size:.82rem;color:#9aa4ac;line-height:1.5;margin:16px 0 0}
.lg-cgu input{width:16px;height:16px;accent-color:var(--acc);cursor:pointer;margin-top:2px;flex:none}
.lg-cgu a{color:var(--acc);text-decoration:underline}
.lg-btn{width:100%;border:none;cursor:pointer;background:var(--acc);color:var(--ink);font-family:'ArchivoN',system-ui,sans-serif;
  font-weight:700;font-size:.98rem;padding:13px;border-radius:var(--w-r-md);transition:background .15s,transform .1s,box-shadow .15s}
.lg-btn:hover{background:var(--acc2);transform:translateY(-1px);box-shadow:0 14px 34px -16px var(--acc)}
.lg-btn:active{transform:translateY(0)}
.lg-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.lg-btn.mt{margin-top:22px}
.lg-forgot{display:block;text-align:center;margin-top:15px;color:#7f8a92;font-size:.82rem;text-decoration:none}
.lg-forgot:hover{color:var(--acc)}
.lg-alert{background:rgba(214,54,26,.12);border:1px solid rgba(214,54,26,.34);color:#ffb1a6;padding:11px 14px;border-radius:var(--w-r-md);font-size:.86rem;margin-bottom:18px}
.lg-alert div{margin:2px 0}
.lg-ok{background:rgba(51,230,192,.10);border:1px solid rgba(51,230,192,.34);color:#8fe8d4;padding:12px 14px;border-radius:var(--w-r-md);font-size:.88rem;margin-bottom:18px;line-height:1.5}
.lg-foot{text-align:center;font-size:.85rem;color:#8c97a0;margin-top:20px}
.lg-foot a{color:var(--acc);text-decoration:none;font-weight:600}
.lg-foot a:hover{text-decoration:underline}
.lg-note{text-align:center;font-size:.7rem;color:#59626a;margin-top:20px;font-family:'JetBrainsN',monospace;letter-spacing:.1em}
.lg-success{text-align:center;padding:8px 0}
.lg-success .ic{width:60px;height:60px;border-radius:50%;background:rgba(51,230,192,.12);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--acc)}
.lg-success h2{font-family:'ArchivoN',system-ui,sans-serif;font-size:1.2rem;color:#f4f7f5;margin:0 0 8px}
.lg-success p{font-size:.9rem;color:#9aa4ac;margin:0 0 18px;line-height:1.55}

/* ── Split-screen (login) : formulaire + panneau de marque ─────────────── */
.lg-body.split{align-items:stretch;justify-content:flex-start;padding:0;overflow:hidden}
.lg-body.split::before,.lg-body.split::after{display:none}
.lg-split-form{flex:0 0 46%;max-width:600px;min-width:0;display:flex;align-items:center;justify-content:center;padding:40px 46px;position:relative;z-index:2;background:#08090B}
.lg-split-form .lg-wrap{max-width:378px}
.lg-split-form .lg-head{text-align:left;margin-bottom:26px}
.lg-split-form .lg-mark{justify-content:flex-start;margin-bottom:18px}
.lg-split-form .lg-foot,.lg-split-form .lg-forgot{text-align:left}
.lg-split-brand{flex:1 1 auto;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;
  padding:46px 48px;background-color:#08090B;background-size:cover;background-position:center right;border-left:1px solid rgba(255,255,255,.06)}
.lg-split-brand::before{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,9,11,.92) 0%,rgba(8,9,11,.5) 46%,rgba(8,9,11,.2) 100%),linear-gradient(0deg,rgba(8,9,11,.92),transparent 52%)}
.lg-brand-top,.lg-brand-body,.lg-brand-foot{position:relative;z-index:1}
.lg-brand-top{display:flex;align-items:center;gap:11px;font-family:'ArchivoN',system-ui,sans-serif;font-weight:800;font-size:1.16rem;color:#f4f7f5;letter-spacing:-.01em}
.lg-brand-h{font-family:'ArchivoN',system-ui,sans-serif;font-weight:800;font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.08;letter-spacing:-.02em;color:#f4f7f5;margin:0 0 22px;max-width:15ch}
.lg-chips{display:flex;flex-wrap:wrap;gap:10px;max-width:34rem}
.lg-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(14,24,26,.66);border:1px solid rgba(51,230,192,.28);
  color:#cfe9e2;font-size:.82rem;padding:8px 14px;border-radius:var(--w-r-full);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lg-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 8px var(--acc);flex:none}
.lg-brand-foot{font-family:'JetBrainsN',monospace;font-size:.72rem;letter-spacing:.06em;color:#8fa39c}
@media(max-width:940px){
  .lg-split-brand{display:none}
  .lg-split-form{flex:1 1 auto;max-width:none;padding:32px 24px}
  .lg-split-form .lg-wrap{max-width:404px}
  .lg-split-form .lg-head,.lg-split-form .lg-mark{text-align:center;justify-content:center}
  .lg-split-form .lg-foot,.lg-split-form .lg-forgot{text-align:center}
}
