/*
 * Login / PIN / set-PIN screens. Split layout: brand panel (left, desktop only)
 * + form panel (right). Color tokens come from /assets/css/variables.css.
 */
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  min-height:100vh;min-height:100dvh;display:flex;background:#F6F6FA;
  font-family:'Nunito',sans-serif;overflow-x:hidden;
}
.au-wrap{display:flex;width:100%;min-height:100vh;min-height:100dvh;}

/* LEFT — brand panel */
.au-side{
  flex:1 1 46%;position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--pd) 0%,var(--p) 55%,var(--g) 100%);
  color:#fff;display:flex;flex-direction:column;justify-content:center;
  padding:56px;min-height:100vh;min-height:100dvh;
}
.au-side::before,.au-side::after{
  content:'';position:absolute;border-radius:50%;filter:blur(2px);
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 70%);
  animation:auFloat 14s ease-in-out infinite;
}
.au-side::before{width:420px;height:420px;top:-120px;right:-140px;}
.au-side::after{width:320px;height:320px;bottom:-100px;left:-100px;animation-delay:3s;}
@keyframes auFloat{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-16px,18px) scale(1.06);}
}
.au-grid{
  position:absolute;inset:0;opacity:.06;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);
  background-size:36px 36px;pointer-events:none;
}
.au-side-inner{position:relative;z-index:1;max-width:440px;animation:auSlideUp .7s cubic-bezier(.2,.8,.2,1);}
@keyframes auSlideUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

.au-brand-row{display:flex;align-items:center;gap:14px;margin-bottom:40px;}
.au-brand-ico{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--p),var(--g)) border-box;
  border:2px solid transparent;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.au-brand-name{font-size:17px;font-weight:900;}
.au-brand-tag{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:700;}

.au-side h1{font-size:32px;font-weight:900;line-height:1.3;margin:0 0 14px;}
.au-side h1 span{color:#ffe082;}
.au-side p.au-lead{font-size:15px;line-height:1.7;color:rgba(255,255,255,.75);margin:0 0 36px;max-width:400px;font-weight:600;}

.au-features{display:flex;flex-direction:column;gap:14px;}
.au-feature{
  display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
}
.au-feature i{
  width:38px;height:38px;flex:0 0 auto;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.18);color:#fff;font-size:17px;
}
.au-feature .t{font-size:14px;font-weight:800;color:#fff;}
.au-feature .d{font-size:12px;color:rgba(255,255,255,.6);font-weight:600;}

/* RIGHT — form panel */
.au-form-side{flex:1 1 54%;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:#fff;}
.au-form-box{width:100%;max-width:380px;animation:auSlideUp .7s .1s cubic-bezier(.2,.8,.2,1) backwards;}

.au-mobile-logo{display:none;text-align:center;margin-bottom:28px;}
.au-mobile-logo .au-brand-ico{margin:0 auto 8px;}
.au-mobile-logo-name{font-size:16px;font-weight:900;color:var(--text);margin-bottom:2px;}
.au-mobile-logo .m-tag{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:700;}

.au-form-box h2{font-size:24px;font-weight:900;color:var(--text);margin:0 0 6px;}
.au-form-box p.sub{font-size:13.5px;color:var(--muted);font-weight:600;margin:0 0 24px;}

.au-alert{padding:11px 14px;border-radius:10px;font-size:13px;margin-bottom:18px;display:flex;gap:8px;align-items:flex-start;font-weight:600;}
.au-alert.danger{background:var(--red-soft);color:var(--red);}
.au-alert.warning{background:var(--amber-soft);color:var(--amber);}
.au-alert.success{background:var(--gl);color:var(--gd);}

.au-chip{
  display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;
  background:var(--bg);border:1px solid var(--border);font-size:13.5px;color:var(--text);font-weight:700;margin-bottom:24px;
}
.au-chip .av{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--g));color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;}

.au-field{margin-bottom:20px;}
.au-field label{display:block;font-size:12.5px;font-weight:800;color:var(--text);margin-bottom:7px;}
.au-inputwrap{position:relative;}
.au-inputwrap .pre{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.au-input{
  width:100%;padding:13px 14px 13px 42px;border-radius:11px;border:1.5px solid var(--border);
  font-size:16px;font-family:'Nunito',sans-serif;font-weight:700;color:var(--text);background:#f7fafd;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.au-input:focus{outline:none;border-color:var(--p);background:#fff;box-shadow:0 0 0 4px var(--pl);}
.au-toggle-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:4px;}
.au-toggle-eye:hover{color:var(--p);}

.au-pin-input{
  width:100%;padding:16px;border-radius:11px;border:1.5px solid var(--border);
  font-size:24px;letter-spacing:10px;text-align:center;font-weight:900;color:var(--text);
  background:#f7fafd;font-family:'Nunito',sans-serif;
}
.au-pin-input:focus{outline:none;border-color:var(--p);background:#fff;box-shadow:0 0 0 4px var(--pl);}

.au-btn{
  width:100%;padding:13px;border:none;border-radius:11px;font-size:14.5px;font-weight:900;
  color:#fff;background:linear-gradient(135deg,var(--p),var(--pd));
  display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  box-shadow:0 4px 14px rgba(11,61,145,.25);font-family:'Nunito',sans-serif;
}
.au-btn:hover{opacity:.94;}
.au-btn.loading{opacity:.7;pointer-events:none;}

.au-foot{text-align:center;margin-top:22px;font-size:12.5px;color:var(--muted);font-weight:600;}
.au-back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);text-decoration:none;font-weight:700;margin-top:22px;}
.au-back:hover{color:var(--p);}

@media (max-width:860px){
  .au-side{display:none;}
  .au-mobile-logo{display:block;}
  .au-form-side{min-height:100vh;min-height:100dvh;padding:32px 20px;}
}
