/* ============================================================================
   AZALYS Cabinet — Login premium v3.1.3
   Refonte visuelle uniquement : aucun changement métier / API.
   ============================================================================ */

.premium-auth-surface{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px 22px;
  overflow:hidden;
  background:
    radial-gradient(1050px 700px at 10% 0%, rgba(37,99,235,.45), transparent 58%),
    radial-gradient(850px 620px at 90% 100%, rgba(37,99,235,.35), transparent 60%),
    linear-gradient(135deg,#051a3b 0%,#061536 42%,#021027 100%);
  isolation:isolate;
}

.premium-auth-surface::before,
.premium-auth-surface::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:860px;
  height:860px;
  border-radius:50%;
  border:1px solid rgba(50,126,255,.42);
  pointer-events:none;
}

.premium-auth-surface::before{
  left:-430px;
  bottom:-500px;
  transform:rotate(-18deg);
  box-shadow:0 0 70px rgba(37,99,235,.18);
}

.premium-auth-surface::after{
  right:-390px;
  top:145px;
  transform:rotate(16deg);
  box-shadow:0 0 90px rgba(37,99,235,.16);
}

.auth-orb{
  position:absolute;
  z-index:-1;
  border-radius:999px;
  filter:blur(34px);
  opacity:.42;
  pointer-events:none;
}

.orb-one{
  width:360px;
  height:360px;
  top:-90px;
  left:110px;
  background:#2377ff;
}

.orb-two{
  width:440px;
  height:440px;
  right:120px;
  bottom:-160px;
  background:#1554d8;
}

.auth-dots{
  position:absolute;
  width:120px;
  height:92px;
  opacity:.24;
  background-image:radial-gradient(rgba(126,170,255,.9) 2px, transparent 2.8px);
  background-size:18px 18px;
  pointer-events:none;
}

.dots-top{top:92px;right:140px}
.dots-bottom{left:108px;bottom:110px}

.premium-auth-card{
  width:min(690px,94vw);
  max-width:690px;
  padding:44px 60px 34px;
  border-radius:34px;
  color:#eaf2ff;
  background:
    linear-gradient(155deg,rgba(22,65,130,.52) 0%,rgba(8,30,73,.74) 52%,rgba(3,17,45,.82) 100%);
  border:1px solid rgba(112,166,255,.36);
  box-shadow:
    0 34px 120px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 0 70px rgba(37,99,235,.12);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.boot-card.premium-auth-card{
  text-align:center;
  max-width:520px;
}

.azalys-building{
  position:relative;
  width:86px;
  height:86px;
  margin:0 auto 18px;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.28));
}

.azalys-building::before{
  content:"";
  position:absolute;
  left:12px;
  bottom:16px;
  width:62px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(87,151,255,.78),transparent);
}

.azalys-building::after{
  content:"";
  position:absolute;
  right:17px;
  bottom:18px;
  width:28px;
  height:54px;
  clip-path:polygon(0 12%,62% 0,100% 17%,100% 100%,0 100%);
  background:linear-gradient(145deg,#e9f2ff 0%,#77b1ff 50%,#195de8 100%);
}

.azalys-building span:nth-child(1){
  position:absolute;
  left:20px;
  bottom:18px;
  width:20px;
  height:58px;
  clip-path:polygon(0 17%,100% 0,100% 100%,0 100%);
  background:linear-gradient(160deg,#4d99ff,#0d52d9);
}

.azalys-building span:nth-child(2){
  position:absolute;
  left:30px;
  bottom:24px;
  width:5px;
  height:43px;
  border-radius:3px;
  background:rgba(219,235,255,.82);
  box-shadow:11px 0 0 rgba(219,235,255,.72),22px 0 0 rgba(219,235,255,.64);
}

.azalys-building span:nth-child(3){
  position:absolute;
  right:24px;
  bottom:26px;
  width:5px;
  height:5px;
  border-radius:1px;
  background:#dbeafe;
  box-shadow:10px 0 0 rgba(219,234,254,.85),0 12px 0 rgba(219,234,254,.82),10px 12px 0 rgba(219,234,254,.72),0 24px 0 rgba(219,234,254,.78),10px 24px 0 rgba(219,234,254,.70);
}

.premium-auth-card .auth-brand{
  text-align:center;
  margin-bottom:30px;
}

.premium-auth-card .auth-brand h1,
.boot-card.premium-auth-card h1{
  margin:0;
  color:#fff;
  font-size:clamp(34px,4vw,48px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.04em;
  text-shadow:0 8px 24px rgba(0,0,0,.30);
}

.premium-auth-card .auth-brand p,
.boot-card.premium-auth-card p{
  margin:13px 0 0;
  color:#b9c8e6;
  font-size:17px;
  font-weight:500;
}

.auth-brand-line{
  width:72px;
  height:2px;
  margin:30px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#2f82ff,transparent);
  box-shadow:0 0 18px rgba(47,130,255,.85);
}

.premium-auth-form{
  display:block;
}

.premium-auth-form label:not(.remember-check){
  display:block;
  margin:0 0 10px;
  color:#f3f7ff;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
}

.premium-input-wrap{
  position:relative;
  margin-bottom:22px;
}

.premium-input-wrap .input-icon{
  position:absolute;
  left:20px;
  top:50%;
  transform:translateY(-50%);
  z-index:1;
  width:22px;
  text-align:center;
  color:#b9c8e6;
  font-size:18px;
  line-height:1;
  opacity:.9;
}

.premium-auth-form .control{
  width:100%;
  height:64px;
  padding:0 22px 0 58px;
  border-radius:13px;
  border:1px solid rgba(139,174,229,.38);
  color:#eef6ff;
  background:rgba(6,22,55,.38);
  outline:none;
  font-size:17px;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.premium-auth-form .control::placeholder{color:rgba(185,200,230,.58);font-weight:500}
.premium-auth-form .control:focus{
  border-color:rgba(91,154,255,.95);
  background:rgba(10,31,76,.58);
  box-shadow:0 0 0 4px rgba(47,130,255,.16), inset 0 1px 0 rgba(255,255,255,.07);
}

.password-wrap .control{padding-right:68px}
.password-toggle{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  color:#cddcff;
  font-size:22px;
  border-radius:12px;
}
.password-toggle:hover{background:rgba(255,255,255,.08);color:#fff}

.auth-options-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:-2px 0 28px;
}

.remember-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:10px;
  margin:0!important;
  color:#d9e5ff!important;
  font-size:15px!important;
  font-weight:500!important;
  cursor:pointer;
}
.remember-check input{
  appearance:none;
  width:20px;
  height:20px;
  margin:0;
  border-radius:5px;
  border:1px solid rgba(139,174,229,.65);
  background:rgba(8,26,62,.44);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.remember-check input:checked{
  border-color:#2f82ff;
  background:linear-gradient(135deg,#2f82ff,#1558f0);
  box-shadow:0 0 0 3px rgba(47,130,255,.18);
}
.remember-check input:checked::after{
  content:"✓";
  display:block;
  color:#fff;
  font-size:14px;
  line-height:18px;
  text-align:center;
  font-weight:900;
}

.forgot-link{
  padding:0;
  border:0;
  background:transparent;
  color:#3b8bff;
  font-size:15px;
  font-weight:700;
}
.forgot-link:hover{color:#78b3ff;text-decoration:underline}

.premium-submit{
  position:relative;
  min-height:66px;
  border-radius:13px!important;
  background:linear-gradient(135deg,#2f8cff 0%,#1558ff 100%)!important;
  color:#fff!important;
  font-size:21px;
  font-weight:900;
  letter-spacing:-.02em;
  box-shadow:0 18px 36px rgba(21,88,255,.34), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.premium-submit:hover{
  background:linear-gradient(135deg,#56a4ff 0%,#1f65ff 100%)!important;
  transform:translateY(-1px);
  box-shadow:0 22px 42px rgba(21,88,255,.42), inset 0 1px 0 rgba(255,255,255,.24)!important;
}
.premium-submit .submit-arrow,
.premium-submit > span:last-child:not(:first-child){
  position:absolute;
  right:28px;
  font-size:30px;
  line-height:1;
}

.premium-alert{
  color:#dbeafe!important;
  background:rgba(37,99,235,.16)!important;
  border:1px solid rgba(96,165,250,.30);
  border-radius:14px!important;
  line-height:1.5;
}

.premium-auth-card .auth-message{
  min-height:0;
  margin:16px 0 0;
  padding:0;
  color:#ffb4b4;
  font-size:13px;
  font-weight:800;
  text-align:center;
}
.premium-auth-card .auth-message:not(:empty){
  padding:11px 14px;
  border-radius:12px;
  background:rgba(239,68,68,.12);
  border:1px solid rgba(248,113,113,.22);
}
.premium-auth-card .auth-message:empty{display:none}

.auth-secure-note{
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid rgba(139,174,229,.18);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  color:#aebfdd;
  font-size:16px;
  font-weight:500;
}

@media(max-width:760px){
  .premium-auth-surface{padding:22px 14px;align-items:flex-start}
  .premium-auth-card{padding:34px 22px 26px;border-radius:26px;width:min(100%,560px);margin-top:22px}
  .premium-auth-card .auth-brand h1,.boot-card.premium-auth-card h1{font-size:34px}
  .premium-auth-card .auth-brand p,.boot-card.premium-auth-card p{font-size:14px;line-height:1.45}
  .azalys-building{transform:scale(.88);margin-bottom:10px}
  .premium-auth-form .control{height:58px;font-size:15px;padding-left:52px}
  .premium-input-wrap .input-icon{left:17px}
  .auth-options-row{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:22px}
  .premium-submit{min-height:60px;font-size:18px}
  .auth-secure-note{font-size:14px;margin-top:24px}
  .auth-dots{display:none}
}
