/* Rizzi Store — dedicated authentication UI */
.auth-modern-page{
  --auth-primary:#2563eb;
  --auth-primary-hover:#1d4ed8;
  --auth-panel:var(--rzx-surface,#fff);
  --auth-panel-soft:var(--rzx-surface-2,#f8fafc);
  --auth-text:var(--rzx-text,#0f172a);
  --auth-muted:var(--rzx-muted,#64748b);
  --auth-line:var(--rzx-line,#dbe3ef);
  display:block!important;
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  background:var(--rzx-bg,#f4f7fb)!important;
}
.auth-modern-page svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-modern-page::before,.auth-modern-page::after{
  content:"";position:fixed;z-index:0;border-radius:999px;pointer-events:none;filter:blur(2px)
}
.auth-modern-page::before{width:360px;height:360px;left:-180px;top:-180px;background:rgba(37,99,235,.09)}
.auth-modern-page::after{width:280px;height:280px;right:-150px;bottom:-150px;background:rgba(59,130,246,.08)}
.auth-utility{
  position:fixed;z-index:30;left:50%;top:max(14px,env(safe-area-inset-top));transform:translateX(-50%);
  width:min(1180px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;pointer-events:none
}
.auth-utility>*{pointer-events:auto}
.auth-utility-link,.auth-theme-toggle{
  min-height:42px;border:1px solid var(--auth-line)!important;border-radius:13px!important;
  background:color-mix(in srgb,var(--auth-panel) 92%,transparent)!important;color:var(--auth-text)!important;
  backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(15,23,42,.08)!important
}
.auth-utility-link{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;text-decoration:none;font-size:12px;font-weight:850}
.auth-utility-link svg{width:18px;height:18px}
.auth-theme-toggle{width:42px!important;min-width:42px!important;padding:0!important;display:grid!important;place-items:center!important;cursor:pointer}
.auth-theme-toggle svg{width:19px;height:19px}
.auth-modern-shell{
  position:relative;z-index:1;width:min(1180px,calc(100% - 32px));min-height:100vh;margin:0 auto;padding:76px 0 38px;
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);gap:clamp(28px,5vw,72px);align-items:center
}
.auth-showcase{
  min-height:650px;padding:48px;border-radius:34px;background:#1d4ed8;color:#fff;position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.18);box-shadow:0 28px 80px rgba(29,78,216,.25);display:flex;flex-direction:column
}
.auth-showcase::before,.auth-showcase::after{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.10)}
.auth-showcase::before{width:360px;height:360px;right:-145px;top:-150px}
.auth-showcase::after{width:190px;height:190px;left:-90px;bottom:-70px}
.auth-showcase>*{position:relative;z-index:1}
.auth-showcase-brand,.auth-mobile-brand-link{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:950;letter-spacing:-.03em}
.auth-showcase-brand{color:#fff!important;font-size:20px;align-self:flex-start}
.auth-showcase-brand .brand-logo{width:46px!important;height:46px!important;flex-basis:46px!important;border-color:rgba(255,255,255,.28)!important;box-shadow:none!important}
.auth-showcase-copy{margin:auto 0 32px}
.auth-eyebrow{display:block;color:var(--auth-primary);font-size:11px;font-weight:950;letter-spacing:.13em;text-transform:uppercase;margin:0 0 9px}
.auth-eyebrow-light{color:rgba(255,255,255,.72)}
.auth-showcase h1{max-width:650px;margin:0;color:#fff!important;font-size:clamp(40px,5vw,66px);line-height:.98;letter-spacing:-.055em}
.auth-showcase-copy p{max-width:590px;margin:22px 0 0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.7}
.auth-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:auto}
.auth-feature-card{min-width:0;padding:15px;border-radius:18px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.10);display:grid;gap:10px}
.auth-feature-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.14)}
.auth-feature-icon svg{width:19px;height:19px}
.auth-feature-card b{display:block;color:#fff;font-size:13px}
.auth-feature-card small{display:block;color:rgba(255,255,255,.68);font-size:11px;line-height:1.45;margin-top:3px}
.auth-showcase-status{display:flex;align-items:center;gap:11px;margin-top:14px;padding:13px 15px;border-radius:16px;background:rgba(9,30,66,.22);border:1px solid rgba(255,255,255,.12)}
.auth-showcase-status b,.auth-showcase-status small{display:block}.auth-showcase-status b{font-size:12px}.auth-showcase-status small{font-size:11px;color:rgba(255,255,255,.68);margin-top:2px}
.auth-live-dot{width:9px;height:9px;border-radius:50%;background:#86efac;box-shadow:0 0 0 5px rgba(134,239,172,.14);flex:0 0 auto}
.auth-panel-wrap{width:100%;max-width:510px;justify-self:end}
.auth-register-panel{max-width:610px}
.auth-mobile-brand{display:none;margin:0 0 18px}
.auth-mobile-brand-link{color:var(--auth-text)!important;font-size:18px}
.auth-mobile-brand-link .brand-logo{width:42px!important;height:42px!important;flex-basis:42px!important}
.auth-modern-card{
  width:100%;padding:34px;border-radius:30px;background:var(--auth-panel);border:1px solid var(--auth-line);
  box-shadow:0 24px 72px rgba(15,23,42,.13);color:var(--auth-text)
}
.auth-card-head{margin:0 0 24px}.auth-card-head h2{font-size:clamp(29px,4vw,38px)!important;line-height:1.04;margin:0!important;color:var(--auth-text)!important;letter-spacing:-.045em}.auth-card-head p{margin:10px 0 0;color:var(--auth-muted);font-size:14px;line-height:1.65}
.auth-alert{margin:0 0 18px!important}.auth-alert svg{width:19px;height:19px;flex:0 0 auto}.auth-alert span{line-height:1.5}
.auth-form-stack{display:grid;gap:17px}.auth-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.auth-field-wide{grid-column:1/-1}
.auth-field label{display:block;margin:0 0 7px;color:var(--auth-text)!important;font-size:12px;font-weight:900}
.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-label-row a{font-size:12px;color:var(--auth-primary);font-weight:850;text-decoration:none}
.auth-input-shell{position:relative;display:flex;align-items:center;width:100%}
.auth-input-icon{position:absolute;z-index:4;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--auth-muted);pointer-events:none}
.auth-input-icon svg{width:20px;height:20px}
.auth-modern-page .auth-input-shell>input,.auth-modern-page .auth-input-shell>.rzx-password-wrap input{
  width:100%;min-height:52px!important;padding:12px 46px 12px 45px!important;border:1px solid var(--auth-line)!important;border-radius:15px!important;
  background:var(--auth-panel-soft)!important;color:var(--auth-text)!important;font-size:14px!important;outline:none!important;box-shadow:none!important
}
.auth-modern-page .auth-input-shell>input:focus,.auth-modern-page .auth-input-shell>.rzx-password-wrap input:focus{border-color:var(--auth-primary)!important;box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;background:var(--auth-panel)!important}
.auth-modern-page .auth-input-shell>.rzx-password-wrap{width:100%}
.auth-modern-page .rzx-password-toggle{right:7px!important;width:38px!important;height:38px!important;min-height:38px!important;color:var(--auth-muted)!important}
.auth-field-help{display:block;margin:6px 2px 0;color:var(--auth-muted);font-size:11px;line-height:1.45}
.auth-submit,.auth-secondary-action{
  width:100%;min-height:50px;border-radius:15px!important;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-size:14px;font-weight:900;cursor:pointer
}
.auth-submit{margin-top:20px;border:1px solid var(--auth-primary)!important;background:var(--auth-primary)!important;color:#fff!important;box-shadow:0 12px 26px rgba(37,99,235,.23)!important}
.auth-submit:hover{background:var(--auth-primary-hover)!important;transform:translateY(-1px)}
.auth-submit svg,.auth-secondary-action svg{width:19px;height:19px}
.auth-secondary-action{border:1px solid var(--auth-line);background:var(--auth-panel-soft);color:var(--auth-text)!important}
.auth-secondary-action:hover{border-color:var(--auth-primary);background:rgba(37,99,235,.08)}
.auth-security-note,.auth-username-preview,.auth-otp-note{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border-radius:15px;border:1px solid var(--auth-line);background:var(--auth-panel-soft);color:var(--auth-muted);font-size:11px;line-height:1.55}
.auth-security-note{margin-top:12px}.auth-security-note svg{width:18px;height:18px;flex:0 0 auto;color:var(--auth-primary)}
.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 13px;color:var(--auth-muted);font-size:11px}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--auth-line);flex:1}
.auth-panel-footer{text-align:center;color:var(--auth-muted);font-size:11px;line-height:1.5;margin:13px 0 0}.auth-panel-footer a,.auth-consent a{color:var(--auth-primary);font-weight:850;text-decoration:none}
.auth-consent{text-align:center;color:var(--auth-muted);font-size:11px;line-height:1.55;margin:12px 0 0}
.auth-register-steps{display:grid;gap:12px;margin:34px 0 0}
.auth-register-step{display:flex;align-items:flex-start;gap:13px;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:17px;background:rgba(255,255,255,.07)}
.auth-register-step>span{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.13);display:grid;place-items:center;font-size:12px;font-weight:950;flex:0 0 auto}
.auth-register-step.active{background:rgba(255,255,255,.13)}.auth-register-step.active>span{background:#fff;color:#1d4ed8}
.auth-register-step b,.auth-register-step small{display:block}.auth-register-step b{font-size:13px}.auth-register-step small{margin-top:3px;color:rgba(255,255,255,.68);font-size:11px}
.auth-username-preview,.auth-otp-note{margin-top:15px}.auth-preview-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(37,99,235,.10);color:var(--auth-primary);flex:0 0 auto}.auth-preview-icon svg{width:19px;height:19px}.auth-username-preview small,.auth-username-preview b,.auth-otp-note small,.auth-otp-note b{display:block}.auth-username-preview small,.auth-otp-note small{font-size:11px}.auth-username-preview b,.auth-otp-note b{font-size:12px;color:var(--auth-text);margin-bottom:2px;overflow-wrap:anywhere}
.auth-password-meter{display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:center;gap:5px;margin-top:7px}.auth-password-meter i{height:4px;border-radius:999px;background:var(--auth-line)}.auth-password-meter span{font-size:10px;color:var(--auth-muted);margin-left:3px;white-space:nowrap}.auth-password-meter[data-level="1"] i:nth-child(1){background:#dc2626}.auth-password-meter[data-level="2"] i:nth-child(-n+2){background:#d97706}.auth-password-meter[data-level="3"] i:nth-child(-n+3){background:#2563eb}.auth-password-meter[data-level="4"] i{background:#16a34a}
.auth-mobile-step{display:none;margin-bottom:18px}.auth-mobile-step span{font-size:11px;font-weight:850;color:var(--auth-muted)}.auth-mobile-step i{display:block;height:4px;border-radius:999px;background:var(--auth-line);margin-top:7px;overflow:hidden}.auth-mobile-step b{display:block;width:50%;height:100%;background:var(--auth-primary);border-radius:inherit}
.auth-submit.rzx-loading{pointer-events:none;opacity:.82}.auth-submit.rzx-loading svg{display:none}
html[data-theme="dark"] .auth-modern-card{box-shadow:0 28px 75px rgba(0,0,0,.35)}
html[data-theme="dark"] .auth-utility-link,html[data-theme="dark"] .auth-theme-toggle{box-shadow:0 8px 24px rgba(0,0,0,.24)!important}
@media (max-width:980px){
  .auth-modern-shell{grid-template-columns:1fr;max-width:620px;padding-top:82px}.auth-showcase{display:none}.auth-panel-wrap,.auth-register-panel{max-width:none;justify-self:stretch}.auth-mobile-brand{display:block}.auth-utility{width:min(620px,calc(100% - 28px))}
}
@media (max-width:640px){
  .auth-modern-page::before{width:260px;height:260px}.auth-utility{top:max(10px,env(safe-area-inset-top));width:calc(100% - 24px)}.auth-utility-link span{display:none}.auth-utility-link{width:42px;padding:0;justify-content:center}
  .auth-modern-shell{width:calc(100% - 24px);padding:70px 0 calc(28px + env(safe-area-inset-bottom));min-height:100dvh;align-items:start}.auth-mobile-brand{margin:0 0 14px}.auth-modern-card{padding:22px!important;border-radius:24px}.auth-card-head{margin-bottom:20px}.auth-card-head h2{font-size:29px!important}.auth-card-head p{font-size:13px}.auth-register-grid{grid-template-columns:1fr;gap:15px}.auth-field-wide{grid-column:auto}.auth-mobile-step{display:block}.auth-submit{min-height:52px}.auth-panel-footer{padding:0 12px}.auth-password-meter{grid-template-columns:repeat(4,1fr);}.auth-password-meter span{grid-column:1/-1;margin:1px 0 0}
}
@media (max-width:390px){.auth-modern-shell{width:calc(100% - 18px)}.auth-modern-card{padding:18px!important;border-radius:21px}.auth-card-head h2{font-size:27px!important}}
@media (prefers-reduced-motion:reduce){.auth-modern-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Forgot password flow */
.auth-reset-steps .auth-register-step.done{background:rgba(134,239,172,.12);border-color:rgba(134,239,172,.22)}
.auth-reset-steps .auth-register-step.done>span{background:#dcfce7;color:#15803d}
.auth-reset-card{max-width:510px}
.auth-otp-shell input{
  text-align:center!important;letter-spacing:.42em!important;font-size:24px!important;font-weight:950!important;padding-left:52px!important
}
.auth-otp-timer{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:13px 15px;
  border:1px solid var(--auth-line);border-radius:15px;background:var(--auth-panel-soft);color:var(--auth-muted);font-size:12px
}
.auth-otp-timer b{color:var(--auth-primary);font-size:14px;font-variant-numeric:tabular-nums}
.auth-otp-timer.expired b{color:#dc2626}
.auth-reset-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:15px;font-size:12px;font-weight:850}
.auth-reset-actions a,.auth-link-button{color:var(--auth-primary)!important;text-decoration:none!important}
.auth-link-button{appearance:none;border:0!important;background:transparent!important;padding:0!important;min-height:auto!important;font:inherit!important;cursor:pointer;box-shadow:none!important}
.auth-link-button:disabled{opacity:.48;cursor:not-allowed}
@media (max-width:640px){
  .auth-reset-actions{justify-content:space-between}.auth-otp-shell input{font-size:22px!important;letter-spacing:.32em!important}
}
