
:root{
  --auth-bg:#130541;
  --auth-card:#ffffff;
  --auth-muted:#64748b;
  --auth-text:#0f172a;
  --auth-line:#e7def8;
  --auth-purple:#7c3aed;
  --auth-pink:#ff67b3;
  --auth-soft:#f7f2ff;
}
html,body{overflow-x:hidden}
.auth-flow{
  min-height:100svh;
  position:relative;
  isolation:isolate;
  padding:calc(var(--header-h,88px) + 1.4rem) clamp(1rem,3vw,3rem) 2.4rem;
  background:var(--auth-bg);
  color:#fff;
  overflow:hidden;
}
.auth-flow::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-4;
  background:url("../img/city-bg.webp") center/cover no-repeat;
  transform:scale(1.03);
  filter:saturate(1.05);
}
.auth-flow::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(115deg,rgba(10,3,36,.96),rgba(34,10,91,.86) 52%,rgba(91,27,185,.76)),
    radial-gradient(circle at 77% 18%,rgba(168,85,247,.34),transparent 31rem),
    radial-gradient(circle at 10% 88%,rgba(255,255,255,.12),transparent 22rem);
}
.auth-shell{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(320px,.86fr) minmax(410px,1.05fr);
  gap:1.15rem;
  align-items:stretch;
}
.auth-shell.auth-shell-single{
  width:min(980px,100%);
  grid-template-columns:minmax(300px,.85fr) minmax(390px,520px);
}
.auth-hero,.auth-panel{
  border-radius:38px;
  box-shadow:0 34px 90px rgba(8,3,35,.40);
  overflow:hidden;
}
.auth-hero{
  position:relative;
  min-height:640px;
  padding:2rem;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.05));
  display:grid;
  align-content:center;
  gap:1.5rem;
}
.auth-hero::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:37px;
  background:
    radial-gradient(circle at 25% 15%,rgba(255,255,255,.18),transparent 16rem),
    radial-gradient(circle at 82% 78%,rgba(168,85,247,.34),transparent 18rem);
  pointer-events:none;
}
.auth-hero > *{position:relative;z-index:2}
.auth-hero-logo{
  width:82px;
  height:82px;
  border-radius:28px;
  background:linear-gradient(145deg,#fff,#efe7ff);
  display:grid;
  place-items:center;
  box-shadow:0 22px 55px rgba(9,3,36,.30);
  overflow:hidden;
  padding:8px;
}
.auth-hero-logo img{width:100%;height:100%;object-fit:contain;display:block}
.auth-kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  width:max-content;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  color:#e9ddff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  font-size:.78rem;
}
.auth-kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 18px rgba(255,255,255,.9);
}
.auth-hero h1{
  margin:0;
  font-size:clamp(3rem,5.3vw,5.4rem);
  line-height:.9;
  letter-spacing:-.085em;
  text-wrap:balance;
}
.auth-hero h1 span{
  background:linear-gradient(135deg,#ff7fbd,#a78bfa,#38bdf8);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.auth-hero p{
  margin:0;
  max-width:42ch;
  color:rgba(255,255,255,.80);
  font-size:1.05rem;
  line-height:1.65;
  font-weight:760;
}
.auth-hero-list{
  display:grid;
  gap:.75rem;
  margin-top:.5rem;
}
.auth-hero-item{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.85rem .95rem;
  border-radius:20px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
  font-weight:850;
  color:rgba(255,255,255,.88);
}
.auth-hero-item i{
  width:34px;
  height:34px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.12);
  font-style:normal;
}
.auth-panel{
  background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(245,240,255,.95));
  color:var(--auth-text);
  border:1px solid rgba(255,255,255,.72);
  padding:1.25rem;
}
.auth-panel-inner{padding:.75rem}
.auth-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.auth-title{
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:0;
}
.auth-title-logo{
  width:58px;
  height:58px;
  border-radius:19px;
  background:linear-gradient(135deg,#7c3aed,#a855f7);
  box-shadow:0 18px 38px rgba(109,40,217,.24);
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:6px;
  flex:0 0 auto;
}
.auth-title-logo img{width:100%;height:100%;object-fit:contain;display:block}
.auth-panel h2{
  margin:0;
  font-size:clamp(1.7rem,3vw,2.15rem);
  line-height:1;
  letter-spacing:-.065em;
}
.auth-panel .auth-subtitle{
  margin:.35rem 0 0;
  color:var(--auth-muted);
  font-weight:820;
  line-height:1.38;
}
.auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.65rem;
  margin:1rem 0;
}
.auth-tabs a{
  min-height:50px;
  border-radius:17px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  font-weight:950;
  text-decoration:none;
  transition:.16s ease;
}
.auth-tabs a.is-active{
  background:#f5f3ff;
  color:#6d28d9;
  border-color:#c4b5fd;
  box-shadow:0 12px 28px rgba(109,40,217,.10);
}
.auth-tabs svg{width:20px;height:20px}
.auth-google{
  width:100%;
  min-height:56px;
  border-radius:19px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#111827;
  font-weight:950;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
  transition:.16s ease;
  margin:.9rem 0 1rem;
}
.auth-google:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(15,23,42,.10)}
.auth-google svg{width:22px;height:22px;flex:0 0 auto}
.auth-divider{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:.75rem;
  color:#94a3b8;
  font-weight:950;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:.9rem 0 1rem;
}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:#e2e8f0}
.auth-form{display:grid;gap:.9rem}
.auth-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.82rem;
}
.auth-section{
  border:1px solid #e9ddff;
  background:linear-gradient(180deg,#fff,#fbf9ff);
  border-radius:28px;
  padding:1rem;
  box-shadow:0 14px 40px rgba(39,20,86,.06);
}
.auth-section-head{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-bottom:.95rem;
}
.auth-section-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f3ecff;
  color:#7c3aed;
  font-weight:950;
  flex:0 0 auto;
}
.auth-section h3{margin:0;font-size:1.05rem;letter-spacing:-.03em}
.auth-section p{margin:.18rem 0 0;color:#64748b;font-weight:750;font-size:.86rem}
.auth-field{
  display:grid;
  gap:.42rem;
  color:#334155;
  font-weight:900;
  font-size:.87rem;
}
.auth-field.is-full{grid-column:1/-1}
.auth-field input,.auth-field select{
  width:100%;
  height:54px;
  border-radius:17px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#111827;
  padding:0 1rem;
  font:inherit;
  font-weight:850;
  outline:none;
  transition:.16s ease;
  box-sizing:border-box;
}
.auth-field select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#7c3aed 50%),linear-gradient(135deg,#7c3aed 50%,transparent 50%);
  background-position:calc(100% - 18px) 24px,calc(100% - 12px) 24px;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
.auth-field input:focus,.auth-field select:focus{
  border-color:#a78bfa;
  box-shadow:0 0 0 4px rgba(109,40,217,.09);
}
.auth-help-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:-.15rem;
}
.auth-help-row label{
  display:flex;
  align-items:center;
  gap:.45rem;
  color:#64748b;
  font-weight:850;
  font-size:.9rem;
}
.auth-help-row a,.auth-link{
  color:#6d28d9;
  font-weight:950;
  text-decoration:none;
}
.auth-submit{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:19px;
  background:linear-gradient(135deg,#7c3aed,#a855f7);
  color:#fff;
  font-weight:950;
  font-size:1rem;
  box-shadow:0 18px 40px rgba(109,40,217,.26);
  cursor:pointer;
  transition:.16s ease;
}
.auth-submit:hover{transform:translateY(-1px)}
.auth-submit.secondary-gradient{background:linear-gradient(135deg,#ff67b3,#7c3aed)}
.auth-footer-line{
  margin:1rem 0 0;
  color:#64748b;
  font-weight:850;
  text-align:center;
}
.auth-footer-line a{color:#6d28d9;font-weight:950;text-decoration:none}
.auth-alert{
  margin:0 0 1rem;
  padding:.9rem 1rem;
  border-radius:18px;
  background:#fff1f2;
  border:1px solid #fecdd3;
  color:#be123c;
  font-weight:900;
  line-height:1.4;
}
.auth-alert.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.auth-alert.success{background:#ecfdf5;border-color:#bbf7d0;color:#047857}
.auth-password-alert{
  display:none;
  grid-column:1/-1;
  padding:.78rem .95rem;
  border-radius:16px;
  background:#fff1f2;
  border:1px solid #fecdd3;
  color:#be123c;
  font-size:.84rem;
  font-weight:900;
  line-height:1.35;
}
.auth-password-alert.is-visible{display:block}
.phone-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.6rem;
}
.sms-button{
  min-height:54px;
  border:0;
  border-radius:17px;
  padding:0 .95rem;
  white-space:nowrap;
  background:linear-gradient(135deg,#7c3aed,#ff67b3);
  color:#fff;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(168,85,247,.18);
}
.sms-verified{
  display:none;
  margin-top:.45rem;
  min-height:36px;
  align-items:center;
  gap:.5rem;
  border-radius:999px;
  padding:0 .85rem;
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  color:#047857;
  font-weight:950;
  font-size:.82rem;
  width:max-content;
}
.sms-verified.is-visible{display:inline-flex}
.search-select{position:relative;width:100%}
.search-select-trigger{
  width:100%;
  height:54px;
  border-radius:17px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#111827;
  padding:0 1rem;
  font:inherit;
  font-weight:850;
  outline:none;
  transition:.16s ease;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  cursor:pointer;
  text-align:left;
}
.search-select-trigger:hover,.search-select.is-open .search-select-trigger{
  border-color:#a78bfa;
  box-shadow:0 0 0 4px rgba(109,40,217,.09);
}
.search-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-select-trigger i{
  width:9px;height:9px;border-right:2px solid #7c3aed;border-bottom:2px solid #7c3aed;
  transform:rotate(45deg) translateY(-2px);flex:0 0 auto;transition:.16s ease;
}
.search-select.is-open .search-select-trigger i{transform:rotate(225deg) translateY(-2px)}
.search-select.is-disabled .search-select-trigger,.search-select-trigger:disabled{cursor:not-allowed;background:#f8fafc;color:#94a3b8}
.search-select-panel{
  position:absolute;
  top:calc(100% + 8px);
  left:0;right:0;
  z-index:120;
  display:none;
  border-radius:20px;
  border:1px solid #e9ddff;
  background:#fff;
  box-shadow:0 24px 60px rgba(39,20,86,.22);
  overflow:hidden;
}
.search-select.is-open .search-select-panel{display:block}
.search-select-search{padding:.7rem;background:linear-gradient(180deg,#fff,#fbf9ff);border-bottom:1px solid #efe7ff}
.search-select-search input{
  width:100%;height:44px;border-radius:14px;border:1px solid #e5def5;background:#fff;padding:0 .9rem;font:inherit;font-weight:850;outline:none;box-sizing:border-box
}
.search-select-search input:focus{border-color:#a78bfa;box-shadow:0 0 0 4px rgba(109,40,217,.08)}
.search-select-options{max-height:244px;overflow:auto;padding:.45rem;overscroll-behavior:contain}
.search-select-option,.search-select-empty{
  min-height:42px;border-radius:14px;padding:0 .8rem;display:flex;align-items:center;color:#111827;font-weight:850;width:100%;border:0;background:transparent;text-align:left;font:inherit
}
.search-select-option{cursor:pointer;transition:.12s ease}
.search-select-option:hover,.search-select-option.is-active{background:#f3ecff;color:#6d28d9}
.search-select-empty{color:#94a3b8;justify-content:center;text-align:center}
.auth-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1rem;
}
.auth-modal.is-open{display:flex}
.auth-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(13,5,45,.58);
  backdrop-filter:blur(12px);
}
.auth-modal-dialog{
  position:relative;
  width:min(520px,100%);
  border-radius:30px;
  background:#fff;
  color:#111827;
  padding:1.25rem;
  box-shadow:0 34px 100px rgba(9,2,33,.42);
  border:1px solid rgba(124,58,237,.18);
  animation:authModalIn .2s ease both;
}
@keyframes authModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.auth-modal-close{
  position:absolute;right:16px;top:16px;width:42px;height:42px;border:0;border-radius:15px;background:#f3ecff;color:#7c3aed;font-size:1.4rem;font-weight:950;cursor:pointer
}
.auth-modal-icon{
  width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:#f3ecff;color:#7c3aed;font-size:1.45rem;margin-bottom:1rem
}
.auth-modal h2{margin:0 2.4rem .55rem 0;font-size:1.65rem;letter-spacing:-.045em;line-height:1.05}
.auth-modal p{margin:0;color:#64748b;line-height:1.55;font-weight:760}
.auth-modal-form{display:grid;gap:.8rem;margin-top:1rem}
.auth-modal-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-weight:950;
  letter-spacing:.08em;
}
.auth-modal-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}
.auth-modal-primary,.auth-modal-ghost{
  min-height:48px;border-radius:15px;padding:0 1rem;border:0;text-decoration:none;font-weight:950;display:inline-flex;align-items:center;justify-content:center;cursor:pointer
}
.auth-modal-primary{background:linear-gradient(135deg,#7c3aed,#ff67b3);color:#fff}
.auth-modal-ghost{background:#f5f3ff;color:#6d28d9}
.auth-mini-note{
  margin-top:.7rem;
  color:#64748b;
  font-size:.84rem;
  font-weight:750;
  line-height:1.45;
}
.auth-actions-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid #e9ddff;
}
.auth-actions-row .auth-footer-line{margin:0;text-align:left}
.auth-actions-row .auth-submit{max-width:230px}
@media(max-width:1080px){
  .auth-shell,.auth-shell.auth-shell-single{grid-template-columns:1fr;width:min(760px,100%)}
  .auth-hero{min-height:auto;padding:1.4rem}
  .auth-hero h1{font-size:clamp(2.5rem,10vw,4.25rem)}
}
@media(max-width:640px){
  .auth-flow{padding:calc(var(--header-h,74px) + 1rem) .85rem 1.25rem}
  .auth-panel,.auth-hero{border-radius:28px}
  .auth-panel{padding:.9rem}
  .auth-panel-inner{padding:.35rem}
  .auth-panel-head{display:grid}
  .auth-title-logo{width:52px;height:52px;border-radius:17px}
  .auth-tabs{grid-template-columns:1fr}
  .auth-form-grid{grid-template-columns:1fr}
  .phone-row{grid-template-columns:1fr}
  .auth-actions-row{display:grid}
  .auth-actions-row .auth-submit{max-width:none}
  .search-select-panel{
    position:fixed;left:12px;right:12px;top:auto;bottom:12px;border-radius:24px;max-height:min(70vh,520px)
  }
  .search-select-options{max-height:48vh}
  .auth-modal{align-items:flex-end;padding:.75rem}
  .auth-modal-dialog{border-radius:26px 26px 18px 18px}
  .auth-modal-actions{display:grid}
  .auth-modal-primary,.auth-modal-ghost{width:100%}
}


/* v18 register polish */
.auth-flow-register{
  padding-top:calc(var(--header-h,88px) + 1.1rem);
  padding-bottom:1.4rem;
}
.auth-shell-register{
  width:min(1260px,100%);
  grid-template-columns:minmax(360px,.74fr) minmax(620px,1fr);
  gap:1rem;
  align-items:stretch;
}
.auth-hero-compact{
  min-height:620px;
  padding:2rem;
}
.auth-hero-compact h1{
  font-size:clamp(3rem,4.9vw,5rem);
}
.auth-panel-polished{
  border-radius:34px;
  padding:1rem;
  background:
    radial-gradient(circle at 96% 0%,rgba(255,103,179,.10),transparent 15rem),
    linear-gradient(160deg,rgba(255,255,255,.985),rgba(248,245,255,.96));
}
.auth-panel-polished .auth-panel-inner{
  padding:.8rem;
}
.auth-panel-head-polished{
  margin-bottom:.65rem;
}
.auth-tabs-pill{
  display:flex;
  padding:6px;
  border-radius:20px;
  background:#f6f1ff;
  border:1px solid #eadfff;
  margin:.7rem 0 .8rem;
}
.auth-tabs-pill a{
  flex:1;
  min-height:46px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.auth-tabs-pill a.is-active{
  background:#fff;
  border-color:transparent;
  box-shadow:0 10px 24px rgba(82,36,148,.10);
}
.auth-google-top{
  min-height:52px;
  margin:.55rem 0 .75rem;
  border-radius:18px;
  box-shadow:0 12px 26px rgba(15,23,42,.055);
}
.auth-divider-soft{
  margin:.7rem 0 .85rem;
}
.auth-register-body{
  display:grid;
  gap:.8rem;
}
.auth-block-title{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.55rem .25rem .15rem;
}
.auth-block-title-second{
  margin-top:.25rem;
}
.auth-block-title span{
  width:32px;
  height:32px;
  border-radius:12px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,#7c3aed,#ff67b3);
  color:#fff;
  font-weight:950;
  box-shadow:0 12px 24px rgba(124,58,237,.18);
}
.auth-block-title strong{
  display:block;
  color:#111827;
  font-size:1.02rem;
  letter-spacing:-.025em;
}
.auth-block-title small{
  display:block;
  color:#64748b;
  font-weight:800;
  margin-top:1px;
}
.auth-clean-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.72rem .78rem;
  padding:.85rem;
  border-radius:26px;
  background:rgba(255,255,255,.72);
  border:1px solid #efe7ff;
  box-shadow:0 12px 32px rgba(39,20,86,.045);
}
.auth-field-floating{
  gap:.35rem;
  font-size:.82rem;
  color:#475569;
}
.auth-field-floating.is-wide{
  grid-column:1/-1;
}
.auth-field-floating input,
.auth-field-floating select,
.auth-field-floating .search-select-trigger{
  height:50px;
  border-radius:16px;
  border-color:#e6e0f1;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.035);
}
.auth-field-floating input::placeholder{
  color:#94a3b8;
}
.phone-row-polished{
  grid-template-columns:minmax(0,1fr) 132px;
}
.phone-row-polished input{
  border-radius:16px;
}
.phone-row-polished .sms-button{
  min-height:50px;
  border-radius:16px;
  padding:0 .85rem;
  box-shadow:0 12px 25px rgba(168,85,247,.15);
}
.auth-actions-polished{
  margin-top:.85rem;
  padding-top:.85rem;
}
.auth-actions-polished .auth-submit{
  max-width:220px;
  min-height:54px;
  border-radius:17px;
}
.auth-actions-polished .auth-footer-line{
  font-size:.93rem;
}
.auth-panel-polished .search-select-panel{
  z-index:200;
}
@media(max-width:1180px){
  .auth-shell-register{
    grid-template-columns:1fr;
    width:min(760px,100%);
  }
  .auth-hero-compact{
    min-height:auto;
  }
}
@media(max-width:680px){
  .auth-flow-register{
    padding:calc(var(--header-h,74px) + .85rem) .8rem 1.2rem;
  }
  .auth-panel-polished{
    border-radius:28px;
    padding:.75rem;
  }
  .auth-panel-polished .auth-panel-inner{
    padding:.2rem;
  }
  .auth-tabs-pill{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .auth-clean-grid{
    grid-template-columns:1fr;
    padding:.7rem;
    border-radius:22px;
  }
  .auth-field-floating.is-wide{
    grid-column:auto;
  }
  .phone-row-polished{
    grid-template-columns:1fr;
  }
}


/* v19 final auth cleanup: compact, balanced, no huge empty right side */
.auth-flow{
  padding-top:calc(var(--header-h,88px) + 1rem);
  padding-bottom:1.4rem;
}
.auth-shell,
.auth-shell.auth-shell-single,
.auth-shell-register{
  width:min(1120px,100%);
  grid-template-columns:minmax(300px,.72fr) minmax(420px,560px);
  gap:1rem;
  align-items:center;
}
.auth-shell-register{
  width:min(1180px,100%);
  grid-template-columns:minmax(310px,.62fr) minmax(620px,1fr);
}
.auth-hero,
.auth-hero-compact{
  min-height:auto !important;
  align-content:start;
  padding:1.6rem;
  border-radius:30px;
}
.auth-hero h1,
.auth-hero-compact h1{
  font-size:clamp(2.35rem,4.2vw,4.25rem);
  line-height:.94;
  letter-spacing:-.075em;
}
.auth-hero p{
  font-size:.98rem;
  line-height:1.55;
  max-width:38ch;
}
.auth-hero-logo{
  width:68px;
  height:68px;
  border-radius:22px;
}
.auth-kicker{
  min-height:30px;
  font-size:.72rem;
}
.auth-hero-list{
  gap:.6rem;
}
.auth-hero-item{
  padding:.72rem .8rem;
  border-radius:17px;
  font-size:.9rem;
  line-height:1.35;
}
.auth-hero-item i{
  width:30px;
  height:30px;
  border-radius:11px;
}
.auth-panel,
.auth-panel-polished{
  border-radius:30px;
  padding:1rem;
  align-self:center;
}
.auth-panel-inner,
.auth-panel-polished .auth-panel-inner{
  padding:.55rem;
}
.auth-panel-head,
.auth-panel-head-polished{
  margin-bottom:.6rem;
}
.auth-title-logo{
  width:52px;
  height:52px;
  border-radius:17px;
}
.auth-panel h2{
  font-size:clamp(1.55rem,2.4vw,1.95rem);
}
.auth-panel .auth-subtitle{
  font-size:.9rem;
  max-width:34ch;
}
.auth-tabs,
.auth-tabs-pill{
  margin:.65rem 0 .75rem;
}
.auth-tabs a,
.auth-tabs-pill a{
  min-height:44px;
  border-radius:15px;
}
.auth-google,
.auth-google-top{
  min-height:50px;
  margin:.55rem 0 .75rem;
  border-radius:16px;
}
.auth-divider,
.auth-divider-soft{
  margin:.65rem 0 .78rem;
  font-size:.72rem;
}
.auth-form{
  gap:.72rem;
}
.auth-form-grid,
.auth-clean-grid{
  gap:.62rem;
}
.auth-clean-grid{
  padding:.7rem;
  border-radius:22px;
  box-shadow:none;
  background:rgba(255,255,255,.82);
}
.auth-block-title{
  padding:.35rem .1rem 0;
}
.auth-block-title span{
  width:28px;
  height:28px;
  border-radius:10px;
  font-size:.86rem;
}
.auth-block-title strong{
  font-size:.95rem;
}
.auth-block-title small{
  font-size:.78rem;
}
.auth-field,
.auth-field-floating{
  gap:.32rem;
  font-size:.8rem;
}
.auth-field input,
.auth-field select,
.auth-field-floating input,
.auth-field-floating select,
.auth-field-floating .search-select-trigger,
.search-select-trigger{
  height:47px;
  border-radius:15px;
  font-size:.9rem;
  box-shadow:none;
}
.phone-row-polished{
  grid-template-columns:minmax(0,1fr) 118px;
  gap:.5rem;
}
.sms-button,
.phone-row-polished .sms-button{
  min-height:47px;
  border-radius:15px;
  font-size:.88rem;
}
.auth-submit,
.auth-actions-polished .auth-submit{
  min-height:50px;
  border-radius:16px;
  max-width:200px;
}
.auth-actions-row,
.auth-actions-polished{
  margin-top:.65rem;
  padding-top:.75rem;
}
.auth-help-row{
  margin-top:-.2rem;
}
.auth-footer-line{
  font-size:.9rem;
}
.search-select-panel{
  border-radius:18px;
}
.search-select-search input{
  height:40px;
}
.search-select-options{
  max-height:210px;
}
.search-select-option,
.search-select-empty{
  min-height:38px;
  font-size:.9rem;
}
.auth-modal-dialog{
  border-radius:26px;
}
.auth-modal h2{
  font-size:1.45rem;
}

/* Login specific: right card should never look like an empty tall column */
body:has(form[action="login.php"]) .auth-panel{
  max-width:520px;
  justify-self:start;
}
body:has(form[action="login.php"]) .auth-hero{
  max-width:430px;
  justify-self:end;
}
body:has(form[action="login.php"]) .auth-shell-single{
  grid-template-columns:minmax(300px,430px) minmax(390px,520px);
}

/* Register business: no Google => tighten top spacing */
.auth-register-form > .auth-register-body:first-of-type,
.auth-register-body{
  margin-top:.1rem;
}

/* Better responsive behavior */
@media(max-width:1080px){
  .auth-shell,
  .auth-shell.auth-shell-single,
  .auth-shell-register{
    grid-template-columns:1fr;
    width:min(680px,100%);
  }
  body:has(form[action="login.php"]) .auth-panel,
  body:has(form[action="login.php"]) .auth-hero{
    max-width:none;
    justify-self:stretch;
  }
  .auth-hero{
    display:none;
  }
}
@media(max-width:680px){
  .auth-flow{
    padding:calc(var(--header-h,74px) + .75rem) .75rem 1rem;
  }
  .auth-panel,
  .auth-panel-polished{
    border-radius:24px;
    padding:.75rem;
  }
  .auth-panel-inner,
  .auth-panel-polished .auth-panel-inner{
    padding:.15rem;
  }
  .auth-title-logo{
    width:48px;
    height:48px;
  }
  .auth-panel h2{
    font-size:1.45rem;
  }
  .auth-tabs-pill{
    grid-template-columns:1fr 1fr;
    display:grid;
  }
  .auth-clean-grid{
    grid-template-columns:1fr;
  }
  .auth-field-floating.is-wide{
    grid-column:auto;
  }
  .phone-row-polished,
  .phone-row{
    grid-template-columns:1fr;
  }
  .auth-actions-row,
  .auth-actions-polished{
    display:grid;
  }
  .auth-actions-row .auth-submit,
  .auth-actions-polished .auth-submit{
    max-width:none;
    width:100%;
  }
}


/* v20 unified auth layout: hero + form tek kompozisyon, daha büyük ve simetrik */
.auth-flow{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:calc(var(--header-h,88px) + 1.35rem) clamp(1rem,3vw,3rem) 2rem;
}
.auth-shell,
.auth-shell.auth-shell-single,
.auth-shell-register{
  width:min(1180px,100%);
  display:grid;
  grid-template-columns:minmax(340px,.86fr) minmax(500px,1fr);
  gap:0;
  align-items:stretch;
  padding:14px;
  border-radius:38px;
  border:1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.055)),
    radial-gradient(circle at 8% 10%,rgba(255,255,255,.14),transparent 18rem),
    radial-gradient(circle at 92% 72%,rgba(168,85,247,.22),transparent 22rem);
  box-shadow:0 38px 110px rgba(7,2,32,.42);
  backdrop-filter:blur(18px);
  overflow:hidden;
}
.auth-shell.auth-shell-single{
  width:min(1040px,100%);
  grid-template-columns:minmax(360px,.86fr) minmax(460px,1fr);
}
.auth-shell-register{
  width:min(1240px,100%);
  grid-template-columns:minmax(340px,.7fr) minmax(650px,1fr);
}
.auth-hero,
.auth-hero-compact{
  min-height:0 !important;
  padding:2.15rem 2rem;
  border-radius:28px 0 0 28px;
  border:0;
  box-shadow:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.055)),
    radial-gradient(circle at 45% 12%,rgba(255,255,255,.16),transparent 16rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.auth-hero::before{
  display:none;
}
.auth-panel,
.auth-panel-polished{
  align-self:stretch;
  justify-self:stretch;
  max-width:none !important;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.82);
  background:
    radial-gradient(circle at 100% 0%,rgba(255,103,179,.11),transparent 16rem),
    linear-gradient(160deg,rgba(255,255,255,.99),rgba(247,243,255,.965));
  box-shadow:0 22px 54px rgba(7,2,32,.18);
  padding:1.35rem;
  display:flex;
}
.auth-panel-inner,
.auth-panel-polished .auth-panel-inner{
  width:100%;
  padding:.55rem;
  align-self:center;
}
.auth-panel-head,
.auth-panel-head-polished{
  margin-bottom:.85rem;
}
.auth-title-logo{
  width:58px;
  height:58px;
  border-radius:19px;
}
.auth-panel h2{
  font-size:clamp(1.9rem,2.5vw,2.35rem);
}
.auth-panel .auth-subtitle{
  font-size:.98rem;
  max-width:42ch;
}
.auth-hero-logo{
  width:76px;
  height:76px;
  border-radius:24px;
  margin-bottom:.4rem;
}
.auth-hero h1,
.auth-hero-compact h1{
  font-size:clamp(3.05rem,4.9vw,5.15rem);
  line-height:.92;
  letter-spacing:-.082em;
  max-width:7.8ch;
}
.auth-shell-register .auth-hero h1,
.auth-shell-register .auth-hero-compact h1{
  font-size:clamp(2.8rem,4.4vw,4.7rem);
}
.auth-hero p{
  max-width:34ch;
  font-size:1.02rem;
  line-height:1.6;
}
.auth-hero-list{
  margin-top:1.1rem;
}
.auth-hero-item{
  padding:.78rem .85rem;
  border-radius:18px;
}

/* Login ekranını küçük kart gibi değil dengeli büyük form gibi göster */
body:has(form[action="login.php"]) .auth-shell-single{
  grid-template-columns:minmax(360px,.88fr) minmax(480px,1fr);
}
body:has(form[action="login.php"]) .auth-panel-inner{
  max-width:520px;
  margin:auto;
}
body:has(form[action="login.php"]) .auth-google{
  min-height:56px;
}
body:has(form[action="login.php"]) .auth-field input{
  height:56px;
  border-radius:18px;
}
body:has(form[action="login.php"]) .auth-submit{
  min-height:56px;
  max-width:none;
  width:100%;
}
body:has(form[action="login.php"]) .auth-help-row{
  margin:.05rem 0;
}

/* Register form tarafı: ayrı ayrı kaba kart hissini azalt, tek akış gibi göster */
.auth-register-body{
  gap:.7rem;
}
.auth-clean-grid{
  padding:.85rem;
  border-radius:22px;
  border:1px solid #ebe2fb;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.72));
  box-shadow:none;
}
.auth-block-title{
  padding:.2rem .15rem 0;
}
.auth-block-title-second{
  margin-top:.1rem;
}
.auth-field input,
.auth-field select,
.auth-field-floating input,
.auth-field-floating select,
.auth-field-floating .search-select-trigger,
.search-select-trigger{
  height:52px;
  border-radius:17px;
  background:#fff;
  border-color:#e3dcef;
}
.phone-row-polished{
  grid-template-columns:minmax(0,1fr) 138px;
}
.phone-row-polished .sms-button,
.sms-button{
  min-height:52px;
  border-radius:17px;
}
.auth-actions-row,
.auth-actions-polished{
  align-items:center;
}
.auth-actions-row .auth-submit,
.auth-actions-polished .auth-submit{
  min-height:54px;
  max-width:230px;
}
.auth-tabs-pill{
  margin:.75rem 0 .85rem;
}

/* İşletme kaydında Google yok; başlık ve form arasında gereksiz boşluk olmasın */
.auth-register-form .auth-tabs-pill + .auth-register-body,
.auth-register-form .auth-alert + .auth-register-body{
  margin-top:.1rem;
}

/* Daha simetrik yatay yerleşim */
@media(min-width:1081px){
  .auth-shell > .auth-hero,
  .auth-shell > .auth-hero-compact{
    margin-right:0;
  }
  .auth-shell > .auth-panel,
  .auth-shell > .auth-panel-polished{
    margin-left:0;
  }
}

/* Responsive: mobil/tablette tek kart, hero üstte kısa; tamamen kaybolmasın */
@media(max-width:1080px){
  .auth-shell,
  .auth-shell.auth-shell-single,
  .auth-shell-register{
    width:min(760px,100%);
    grid-template-columns:1fr;
    padding:10px;
    border-radius:30px;
  }
  .auth-hero,
  .auth-hero-compact{
    display:flex;
    border-radius:24px 24px 0 0;
    padding:1.25rem;
    justify-content:flex-start;
  }
  .auth-hero h1,
  .auth-hero-compact h1{
    max-width:none;
    font-size:clamp(2.15rem,9vw,3.35rem);
  }
  .auth-hero p{
    max-width:none;
  }
  .auth-hero-list{
    display:none;
  }
  .auth-panel,
  .auth-panel-polished{
    border-radius:24px;
    padding:1rem;
  }
}
@media(max-width:680px){
  .auth-flow{
    padding:calc(var(--header-h,74px) + .8rem) .75rem 1rem;
  }
  .auth-shell,
  .auth-shell.auth-shell-single,
  .auth-shell-register{
    border-radius:26px;
    padding:8px;
  }
  .auth-hero,
  .auth-hero-compact{
    padding:1rem;
  }
  .auth-hero-logo{
    width:58px;
    height:58px;
    border-radius:19px;
  }
  .auth-panel,
  .auth-panel-polished{
    border-radius:22px;
    padding:.85rem;
  }
  .auth-title-logo{
    width:48px;
    height:48px;
  }
  .auth-panel h2{
    font-size:1.55rem;
  }
  .auth-clean-grid{
    grid-template-columns:1fr;
    padding:.72rem;
  }
  .phone-row-polished,
  .phone-row{
    grid-template-columns:1fr;
  }
  .auth-actions-row .auth-submit,
  .auth-actions-polished .auth-submit{
    max-width:none;
    width:100%;
  }
}


/* v21 register form: iki blok tek ana kart içinde toplandı */
.auth-register-form .auth-register-body{
  gap:0;
  padding:1rem 1rem 1.1rem;
  border-radius:28px;
  border:1px solid #ebe2fb;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(251,248,255,.84));
  box-shadow:0 12px 28px rgba(80,34,150,.05);
}
.auth-register-form .auth-clean-grid{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.auth-register-form .auth-block-title{
  padding:.1rem 0 .55rem;
}
.auth-register-form .auth-block-title-second{
  margin-top:1.15rem;
  padding-top:1.1rem;
  border-top:1px solid #ece3fb;
}
.auth-register-form .auth-field.is-wide{
  grid-column:1 / -1;
}
.auth-register-form .auth-clean-grid + .auth-clean-grid{
  margin-top:.1rem;
}
@media(max-width:680px){
  .auth-register-form .auth-register-body{
    padding:.8rem .85rem .95rem;
    border-radius:24px;
  }
  .auth-register-form .auth-block-title-second{
    margin-top:1rem;
    padding-top:.95rem;
  }
}


/* v22 register: numarasız, tek kart, tek seferde form */
.auth-register-form .auth-register-body{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.auth-register-form .auth-single-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.78rem .82rem;
  padding:1.05rem;
  border-radius:28px;
  border:1px solid #ebe2fb;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(251,248,255,.86));
  box-shadow:0 12px 28px rgba(80,34,150,.055);
}
.auth-register-form .auth-block-title{
  display:none !important;
}
.auth-register-form .auth-field-floating.is-wide,
.auth-register-form .auth-single-card-grid .is-wide{
  grid-column:1 / -1;
}
.auth-register-form .auth-single-card-grid .phone-row-polished{
  grid-template-columns:minmax(0,1fr) 140px;
}
@media(max-width:680px){
  .auth-register-form .auth-single-card-grid{
    grid-template-columns:1fr;
    padding:.85rem;
    border-radius:24px;
  }
  .auth-register-form .auth-field-floating.is-wide,
  .auth-register-form .auth-single-card-grid .is-wide{
    grid-column:auto;
  }
  .auth-register-form .auth-single-card-grid .phone-row-polished{
    grid-template-columns:1fr;
  }
}


/* v27: kayıt ekranında SMS gönder butonu kaldırıldı */
.auth-register-form #sendPhoneCode{
  display:none !important;
}
.auth-register-form .auth-field input#registerPhone{
  width:100%;
}


/* v28: inline mesaj ve otomatik kayıt yükleniyor durumu */
.auth-inline-notice{
  display:none;
  width:100%;
  box-sizing:border-box;
  margin:.65rem 0 .8rem;
  padding:.95rem 1rem;
  border-radius:18px;
  font-weight:900;
  line-height:1.45;
  border:1px solid transparent;
}
.auth-inline-notice.is-visible{
  display:block;
}
.auth-inline-notice.error{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#be123c;
}
.auth-inline-notice.warning{
  background:#fffbeb;
  border-color:#fde68a;
  color:#92400e;
}
.auth-inline-notice.success{
  background:#ecfdf5;
  border-color:#bbf7d0;
  color:#047857;
}
.auth-modal-error{
  display:none;
  padding:.8rem .9rem;
  border-radius:15px;
  background:#fff1f2;
  border:1px solid #fecdd3;
  color:#be123c;
  font-weight:900;
  line-height:1.4;
}
.auth-modal-error.is-visible{
  display:block;
}
.auth-submit.is-loading,
.auth-submit:disabled{
  cursor:wait;
  opacity:.86;
  transform:none;
}
.auth-submit.is-loading::after{
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  margin-left:10px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.55);
  border-top-color:#fff;
  vertical-align:-2px;
  animation:saSpin .75s linear infinite;
}
@keyframes saSpin{to{transform:rotate(360deg)}}

/* V42 motion redesign: auth pages are visual-only updates; form names/actions remain unchanged. */
.auth-flow{
  background:
    radial-gradient(circle at 18% 12%,rgba(168,85,247,.16),transparent 28rem),
    radial-gradient(circle at 88% 18%,rgba(224,68,183,.12),transparent 24rem),
    linear-gradient(180deg,#fff 0%,#fbf8ff 54%,#f6efff 100%);
  color:#170d35;
  padding-top:calc(var(--header-height,82px) + 2.1rem);
}
.auth-flow::before{display:none}.auth-flow::after{display:none}
.auth-hero,.auth-panel{box-shadow:0 28px 80px rgba(75,40,145,.14);border:1px solid rgba(43,24,95,.08)}
.auth-hero{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(248,242,255,.72));color:#170d35;overflow:hidden}.auth-hero::before{background:radial-gradient(circle at 30% 22%,rgba(168,85,247,.16),transparent 16rem),radial-gradient(circle at 84% 82%,rgba(224,68,183,.13),transparent 16rem)}
.auth-kicker{background:rgba(124,58,237,.09);border-color:rgba(124,58,237,.12);color:#6d28d9}.auth-kicker::before{background:linear-gradient(135deg,#7c3aed,#e044b7);box-shadow:0 0 18px rgba(124,58,237,.35)}
.auth-hero h1{color:#170d35}.auth-hero p{color:#6b6282}.auth-hero-item{background:rgba(255,255,255,.76);border-color:rgba(43,24,95,.08);color:#33264d;box-shadow:0 14px 34px rgba(75,40,145,.08)}.auth-hero-item i{background:#f0e7ff;color:#7c3aed}.auth-panel{background:rgba(255,255,255,.82);backdrop-filter:blur(22px);color:#170d35}.auth-title-logo{background:linear-gradient(135deg,#f0e7ff,#fff0fb);box-shadow:0 18px 38px rgba(124,58,237,.12)}.auth-panel .auth-subtitle{color:#6b6282}.auth-submit{background:linear-gradient(135deg,#e044b7,#7c3aed);box-shadow:0 16px 36px rgba(124,58,237,.23)}
.auth-hero-scene{max-width:420px}
@media(max-width:900px){.auth-shell,.auth-shell.auth-shell-single,.auth-shell.auth-shell-register{grid-template-columns:1fr}.auth-hero{min-height:auto}.auth-flow{padding-inline:1rem}}


/* v24: login page fits first desktop viewport, footer stays below */
@media(min-width:981px){
  body:has(form[action="login.php"]) .auth-flow{
    min-height:calc(100svh - var(--header-height,74px));
    padding:clamp(10px,2vh,18px) clamp(1rem,3vw,3rem) clamp(14px,2vh,22px);
    display:grid;
    place-items:center;
  }
  body:has(form[action="login.php"]) .auth-shell-single{
    width:min(1030px,100%);
    max-height:calc(100svh - var(--header-height,74px) - 26px);
    grid-template-columns:minmax(320px,.84fr) minmax(420px,1fr);
    padding:10px;
    border-radius:32px;
  }
  body:has(form[action="login.php"]) .auth-hero{
    padding:1.25rem 1.55rem;
    border-radius:24px 0 0 24px;
    overflow:hidden;
  }
  body:has(form[action="login.php"]) .auth-hero-logo{width:52px;height:52px;border-radius:18px;margin-bottom:.45rem;}
  body:has(form[action="login.php"]) .auth-kicker{min-height:29px;padding:0 13px;margin-bottom:.85rem;font-size:.7rem;}
  body:has(form[action="login.php"]) .auth-hero h1{font-size:clamp(2.5rem,4vw,3.85rem);line-height:.9;max-width:8.5ch;}
  body:has(form[action="login.php"]) .auth-hero p{font-size:.9rem;line-height:1.44;margin-top:.8rem;max-width:30ch;}
  body:has(form[action="login.php"]) .auth-hero-list{margin-top:.85rem;gap:.55rem;}
  body:has(form[action="login.php"]) .auth-hero-item{min-height:42px;padding:.54rem .7rem;border-radius:15px;font-size:.86rem;}
  body:has(form[action="login.php"]) .auth-hero-item i{width:28px;height:28px;border-radius:10px;}
  body:has(form[action="login.php"]) .auth-panel{padding:.9rem;border-radius:24px;}
  body:has(form[action="login.php"]) .auth-panel-inner{max-width:460px;margin:auto;padding:.35rem;}
  body:has(form[action="login.php"]) .auth-panel-head{margin-bottom:.55rem;}
  body:has(form[action="login.php"]) .auth-title{gap:.72rem;}
  body:has(form[action="login.php"]) .auth-title-logo{width:44px;height:44px;border-radius:15px;}
  body:has(form[action="login.php"]) .auth-panel h2{font-size:clamp(1.6rem,2vw,1.98rem);line-height:1;}
  body:has(form[action="login.php"]) .auth-panel .auth-subtitle{font-size:.88rem;margin-top:.25rem;}
  body:has(form[action="login.php"]) .auth-form{gap:.58rem;}
  body:has(form[action="login.php"]) .auth-google{min-height:44px;border-radius:14px;padding:0 15px;}
  body:has(form[action="login.php"]) .auth-google svg{width:22px;height:22px;}
  body:has(form[action="login.php"]) .auth-divider{margin:.44rem 0;font-size:.7rem;}
  body:has(form[action="login.php"]) .auth-field{gap:.3rem;font-size:.74rem;}
  body:has(form[action="login.php"]) .auth-field input{height:44px;border-radius:14px;padding:0 15px;}
  body:has(form[action="login.php"]) .auth-help-row{margin:0;font-size:.84rem;}
  body:has(form[action="login.php"]) .auth-submit{min-height:46px;border-radius:14px;}
  body:has(form[action="login.php"]) .auth-footer-line{margin:.28rem 0 0;font-size:.86rem;}
}
@media(min-width:981px) and (max-height:760px){
  body:has(form[action="login.php"]) .auth-hero-list{display:none;}
  body:has(form[action="login.php"]) .auth-hero h1{font-size:clamp(2.35rem,3.65vw,3.45rem);}
  body:has(form[action="login.php"]) .auth-shell-single{width:min(980px,100%);}
}


/* v25: premium login redesign with animated Seansla clock */
body.auth-login-v87{background:#faf7ff}
.auth-login-v87 .login-stage-v87{position:relative;padding:34px 0 56px;background:
  radial-gradient(circle at 8% 14%,rgba(224,68,183,.12),transparent 22rem),
  radial-gradient(circle at 88% 0%,rgba(124,58,237,.14),transparent 22rem),
  linear-gradient(180deg,#f8f3ff 0%,#fbf8ff 56%,#f4ecff 100%);overflow:hidden}
.auth-login-v87 .login-stage-shell{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(320px,1.02fr) minmax(420px,.98fr);gap:24px;align-items:stretch}
.auth-login-v87 .login-hero-v87,.auth-login-v87 .login-panel-v87{position:relative;border:1px solid rgba(43,24,95,.08);border-radius:34px;box-shadow:0 28px 82px rgba(75,40,145,.10);overflow:hidden}
.auth-login-v87 .login-hero-v87{padding:28px;background:linear-gradient(145deg,#24105f 0%,#5a2dde 52%,#8b5cf6 100%);color:#fff;display:grid;gap:20px;align-content:start;isolation:isolate}
.auth-login-v87 .login-hero-v87::before{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}
.auth-login-v87 .login-hero-v87::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 28%,transparent 72%,rgba(7,1,26,.10));pointer-events:none}
.auth-login-v87 .login-hero-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.auth-login-v87 .login-kicker-v87,.auth-login-v87 .login-status-v87{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:.78rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.auth-login-v87 .login-status-v87{background:rgba(255,255,255,.10)}
.auth-login-v87 .login-clock-v87{position:relative;z-index:1;display:grid;place-items:center;min-height:245px;padding:8px}
.auth-login-v87 .login-clock-ring{position:absolute;width:250px;height:250px;border-radius:50%;background:conic-gradient(from 210deg,#f8b4ff,#8ae0ff,#fff,#d7c4ff,#f8b4ff);filter:blur(18px);opacity:.45;animation:clockHaloSpin 16s linear infinite}
.auth-login-v87 .login-clock-face{position:relative;width:min(100%,250px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff 0%,#f6efff 42%,#eadcff 100%);border:10px solid rgba(255,255,255,.25);box-shadow:inset 0 12px 22px rgba(255,255,255,.9),0 26px 50px rgba(19,6,52,.28);display:grid;place-items:center}
.auth-login-v87 .clock-logo-shell{position:relative;width:118px;height:118px;border-radius:30px;background:linear-gradient(145deg,#ffffff,#f4e8ff);display:grid;place-items:center;box-shadow:0 12px 26px rgba(87,41,169,.18);z-index:2}
.auth-login-v87 .clock-logo-shell img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(124,58,237,.12))}
.auth-login-v87 .clock-eye{position:absolute;top:54px;width:32px;height:24px;border-radius:999px;background:#fff;border:2px solid rgba(73,39,141,.18);box-shadow:inset 0 -4px 8px rgba(124,58,237,.08);display:grid;place-items:center;z-index:3}
.auth-login-v87 .clock-eye-left{left:63px}
.auth-login-v87 .clock-eye-right{right:63px}
.auth-login-v87 .clock-pupil{width:11px;height:11px;border-radius:50%;background:#1a0c3b;animation:clockEyeLook 4.5s ease-in-out infinite}
.auth-login-v87 .clock-hand{position:absolute;left:50%;bottom:50%;transform-origin:bottom center;border-radius:999px;background:linear-gradient(180deg,#7c3aed,#cf3ed0);z-index:1}
.auth-login-v87 .clock-hand-hour{width:6px;height:54px;margin-left:-3px;transform:rotate(25deg)}
.auth-login-v87 .clock-hand-minute{width:4px;height:78px;margin-left:-2px;transform:rotate(132deg)}
.auth-login-v87 .clock-center-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 6px rgba(124,58,237,.12);z-index:3}
@keyframes clockEyeLook{0%,100%{transform:translateX(0)}15%{transform:translateX(-4px)}35%{transform:translateX(5px)}55%{transform:translate(2px,1px)}75%{transform:translateX(-3px)}}
@keyframes clockHaloSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.auth-login-v87 .login-hero-copy-v87{position:relative;z-index:1;display:grid;gap:10px}
.auth-login-v87 .login-hero-copy-v87 h1{margin:0;font-size:clamp(2.3rem,4vw,4rem);line-height:.95;letter-spacing:-.055em;max-width:10ch}
.auth-login-v87 .login-hero-copy-v87 p{margin:0;max-width:44ch;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.65;font-weight:700}
.auth-login-v87 .login-hero-points-v87{position:relative;z-index:1;display:grid;gap:12px;margin-top:auto}
.auth-login-v87 .login-hero-points-v87 article{padding:16px 17px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px)}
.auth-login-v87 .login-hero-points-v87 strong{display:block;font-size:1rem;letter-spacing:-.02em}
.auth-login-v87 .login-hero-points-v87 span{display:block;margin-top:5px;color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.55;font-weight:650}
.auth-login-v87 .login-panel-v87{padding:18px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(249,244,255,.94));backdrop-filter:blur(20px)}
.auth-login-v87 .login-form-v87{height:100%;display:grid;align-content:start;gap:14px;padding:14px}
.auth-login-v87 .login-panel-head-v87{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:2px}
.auth-login-v87 .login-panel-badge-v87{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(124,58,237,.10);color:#6d28d9;font-size:.74rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.auth-login-v87 .login-panel-head-v87 h2{margin:10px 0 4px;font-size:clamp(1.9rem,2.6vw,2.75rem);line-height:.95;letter-spacing:-.05em;color:#170d35}
.auth-login-v87 .login-panel-head-v87 p{margin:0;color:#6b6282;font-size:.98rem;line-height:1.5;font-weight:700}
.auth-login-v87 .login-panel-mini-brand{width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#f4e8ff,#fff);display:grid;place-items:center;box-shadow:0 16px 34px rgba(124,58,237,.10);flex:0 0 auto}
.auth-login-v87 .login-panel-mini-brand img{width:36px;height:36px;object-fit:contain}
.auth-login-v87 .login-google-v87{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;border-radius:18px;border:1px solid rgba(43,24,95,.09);background:#fff;color:#1b1039;font-size:1rem;font-weight:900;box-shadow:0 16px 34px rgba(74,40,142,.06);cursor:pointer;transition:.18s ease}
.auth-login-v87 .login-google-v87:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(74,40,142,.10)}
.auth-login-v87 .login-google-v87 svg{width:22px;height:22px;flex:0 0 auto}
.auth-login-v87 .login-divider-v87{display:flex;align-items:center;gap:12px;color:#998fb0;font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.auth-login-v87 .login-divider-v87::before,.auth-login-v87 .login-divider-v87::after{content:"";height:1px;flex:1;background:rgba(43,24,95,.10)}
.auth-login-v87 .login-grid-v87{display:grid;grid-template-columns:1fr;gap:12px}
.auth-login-v87 .login-field-v87{display:grid;gap:7px;color:#281849;font-size:.87rem;font-weight:850}
.auth-login-v87 .login-field-v87 input{height:56px;border-radius:18px;border:1px solid rgba(43,24,95,.10);background:#fff;padding:0 18px;font:inherit;color:#1a0c3b;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.auth-login-v87 .login-field-v87 input:focus{outline:none;border-color:rgba(124,58,237,.38);box-shadow:0 0 0 4px rgba(124,58,237,.08)}
.auth-login-v87 .login-help-v87{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:2px}
.auth-login-v87 .login-help-v87 label{display:inline-flex;align-items:center;gap:8px;color:#6c6382;font-weight:800}
.auth-login-v87 .login-help-v87 input{accent-color:#7c3aed}
.auth-login-v87 .login-help-v87 a{color:#6d28d9;font-weight:900}
.auth-login-v87 .login-submit-v87{width:100%;min-height:58px;border:0;border-radius:19px;background:linear-gradient(135deg,#e044b7,#7c3aed);color:#fff;font-size:1.08rem;font-weight:950;box-shadow:0 20px 40px rgba(124,58,237,.22);cursor:pointer;transition:.18s ease}
.auth-login-v87 .login-submit-v87:hover{transform:translateY(-2px);box-shadow:0 24px 44px rgba(124,58,237,.28)}
.auth-login-v87 .login-footer-v87{margin:2px 0 0;text-align:center;color:#726987;font-size:.97rem;font-weight:800}
.auth-login-v87 .login-footer-v87 a{color:#6d28d9;font-weight:950}
.auth-login-v87 .auth-alert{margin:0;border-radius:16px;padding:12px 14px}
.auth-login-v87 .public-footer{margin-top:0}
@media(max-width:1100px){
  .auth-login-v87 .login-stage-shell{width:min(100%,calc(100% - 36px));grid-template-columns:1fr;gap:18px}
  .auth-login-v87 .login-hero-v87{padding:22px;grid-template-columns:1fr minmax(200px,260px);align-items:center;gap:18px}
  .auth-login-v87 .login-hero-copy-v87 h1{max-width:12ch;font-size:clamp(2rem,5vw,3rem)}
  .auth-login-v87 .login-hero-points-v87{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
}
@media(max-width:820px){
  .auth-login-v87 .login-stage-v87{padding:18px 0 34px}
  .auth-login-v87 .login-stage-shell{width:min(100%,calc(100% - 24px))}
  .auth-login-v87 .login-hero-v87,.auth-login-v87 .login-panel-v87{border-radius:28px}
  .auth-login-v87 .login-hero-v87{padding:20px;display:grid;gap:16px}
  .auth-login-v87 .login-hero-topline{justify-content:flex-start}
  .auth-login-v87 .login-clock-v87{min-height:172px}
  .auth-login-v87 .login-clock-ring{width:170px;height:170px;filter:blur(14px)}
  .auth-login-v87 .login-clock-face{width:170px;border-width:8px}
  .auth-login-v87 .clock-eye{top:36px;width:24px;height:18px}.auth-login-v87 .clock-eye-left{left:42px}.auth-login-v87 .clock-eye-right{right:42px}.auth-login-v87 .clock-pupil{width:8px;height:8px}.auth-login-v87 .clock-logo-shell{width:86px;height:86px;border-radius:24px}.auth-login-v87 .clock-logo-shell img{width:62px;height:62px}.auth-login-v87 .clock-hand-hour{height:40px}.auth-login-v87 .clock-hand-minute{height:58px}
  .auth-login-v87 .login-hero-copy-v87 h1{font-size:clamp(1.8rem,8vw,2.5rem);max-width:none}
  .auth-login-v87 .login-hero-copy-v87 p{font-size:.93rem;max-width:none}
  .auth-login-v87 .login-hero-points-v87{grid-template-columns:1fr}
  .auth-login-v87 .login-panel-v87{padding:12px}
  .auth-login-v87 .login-form-v87{padding:10px;gap:12px}
  .auth-login-v87 .login-panel-head-v87{align-items:center}
  .auth-login-v87 .login-panel-head-v87 h2{font-size:clamp(1.7rem,8vw,2.2rem)}
  .auth-login-v87 .login-google-v87,.auth-login-v87 .login-field-v87 input,.auth-login-v87 .login-submit-v87{min-height:52px;height:52px}
  .auth-login-v87 .login-help-v87{align-items:flex-start;display:grid;grid-template-columns:1fr;gap:8px}
}
@media(max-width:560px){
  .auth-login-v87 .login-hero-v87{padding:18px}
  .auth-login-v87 .login-kicker-v87,.auth-login-v87 .login-status-v87{font-size:.68rem;min-height:30px;padding:0 11px}
  .auth-login-v87 .login-panel-head-v87{gap:12px}.auth-login-v87 .login-panel-mini-brand{width:46px;height:46px;border-radius:16px}.auth-login-v87 .login-panel-mini-brand img{width:30px;height:30px}
  .auth-login-v87 .login-divider-v87{font-size:.66rem;gap:8px}
  .auth-login-v87 .login-field-v87{font-size:.81rem}
  .auth-login-v87 .login-footer-v87{font-size:.9rem}
}


/* v26: shared auth redesign with mascot eye tracking */
.auth-page-v88 .auth-flow{min-height:auto;padding:20px 0 12px;background:
  radial-gradient(circle at 8% 10%,rgba(224,68,183,.12),transparent 20rem),
  radial-gradient(circle at 92% 6%,rgba(124,58,237,.16),transparent 18rem),
  linear-gradient(180deg,#f8f4ff 0%,#f7f2ff 100%);overflow:visible;color:#180d38}
.auth-page-v88 .auth-flow::before,.auth-page-v88 .auth-flow::after{display:none}
.auth-page-v88 .auth-shell-v88{width:min(1180px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:minmax(300px,.88fr) minmax(420px,1.12fr);gap:20px;align-items:stretch}
.auth-page-v88 .auth-hero-v88,.auth-page-v88 .auth-panel-v88{position:relative;border-radius:32px;border:1px solid rgba(43,24,95,.08);box-shadow:0 24px 72px rgba(74,40,142,.10);overflow:hidden}
.auth-page-v88 .auth-hero-v88{padding:22px;background:linear-gradient(145deg,#2a1468 0%,#5222cf 62%,#6b38e4 100%);color:#fff;display:grid;align-content:start;gap:16px;isolation:isolate}
.auth-page-v88 .auth-hero-v88::before{content:"";position:absolute;inset:-20% auto auto -10%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 72%)}
.auth-page-v88 .auth-hero-v88::after{content:"";position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%)}
.auth-page-v88 .auth-hero-topbar-v88{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.auth-page-v88 .auth-kicker-v88{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:.76rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.auth-page-v88 .auth-kicker-v88.is-ghost{background:rgba(255,255,255,.08);color:#ebe3ff}
.auth-page-v88 .auth-character-stage-v88{position:relative;z-index:1;display:grid;place-items:center;height:300px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.12);overflow:hidden;backdrop-filter:blur(10px)}
.auth-page-v88 .auth-character-orbit{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.96) 0%,rgba(244,236,255,.98) 64%,rgba(233,223,255,.92) 100%);box-shadow:0 0 0 16px rgba(255,255,255,.06),0 32px 64px rgba(20,7,58,.24)}
.auth-page-v88 .auth-character-image-v88{position:relative;z-index:2;width:min(88%,460px);height:auto;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(41,14,96,.24))}
.auth-page-v88 .auth-eye-dot{position:absolute;z-index:4;width:18px;height:18px;border-radius:50%;pointer-events:none}
.auth-page-v88 .auth-eye-left{left:42.7%;top:22.3%}
.auth-page-v88 .auth-eye-right{left:56.8%;top:22.3%}
.auth-page-v88 .auth-eye-pupil{display:block;width:10px;height:10px;border-radius:50%;background:#1b0d3b;box-shadow:0 2px 5px rgba(0,0,0,.22);transform:translate(0,0);transition:transform .14s linear}
.auth-page-v88 .auth-hero-copy-v88{position:relative;z-index:1;display:grid;gap:8px}
.auth-page-v88 .auth-hero-copy-v88 h1{margin:0;font-size:clamp(2.2rem,3.8vw,3.45rem);line-height:.95;letter-spacing:-.06em;max-width:12ch}
.auth-page-v88 .auth-hero-copy-v88 p{margin:0;color:rgba(255,255,255,.84);font-size:1rem;line-height:1.6;font-weight:700;max-width:48ch}
.auth-page-v88 .auth-hero-features-v88{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto}
.auth-page-v88 .auth-hero-features-v88 article{padding:15px 16px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.auth-page-v88 .auth-hero-features-v88 strong{display:block;font-size:.98rem;letter-spacing:-.02em}
.auth-page-v88 .auth-hero-features-v88 span{display:block;margin-top:6px;color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.5;font-weight:650}
.auth-page-v88 .auth-panel-v88{padding:18px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(249,244,255,.96));color:#170d35}
.auth-page-v88 .auth-form-card-v88{height:100%;display:grid;align-content:start;gap:14px;padding:0}
.auth-page-v88 .auth-panel-head-v88{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:2px}
.auth-page-v88 .auth-panel-badge-v88{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(124,58,237,.10);color:#6d28d9;font-size:.74rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.auth-page-v88 .auth-panel-head-v88 h2{margin:10px 0 4px;font-size:clamp(1.85rem,2.8vw,2.75rem);line-height:.96;letter-spacing:-.055em;color:#170d35}
.auth-page-v88 .auth-panel-head-v88 p{margin:0;color:#6b6282;font-size:.98rem;line-height:1.48;font-weight:750;max-width:34ch}
.auth-page-v88 .auth-title-logo-soft{background:linear-gradient(145deg,#fbf7ff,#f0e6ff);box-shadow:0 16px 36px rgba(124,58,237,.12)}
.auth-page-v88 .auth-google-v88{margin:.1rem 0 .2rem}
.auth-page-v88 .auth-divider-v88{margin:.1rem 0 .2rem}
.auth-page-v88 .auth-divider-v88 span{display:block}
.auth-page-v88 .auth-form-stack-v88{display:grid;gap:12px}
.auth-page-v88 .auth-field-v88{gap:6px;font-size:.88rem;color:#281849}
.auth-page-v88 .auth-field-v88 input,.auth-page-v88 .auth-field-v88 select{height:56px;border-radius:18px;border:1px solid rgba(43,24,95,.11);background:#fff;box-shadow:0 12px 26px rgba(74,40,142,.05)}
.auth-page-v88 .auth-field-v88 input:focus,.auth-page-v88 .auth-field-v88 select:focus{border-color:rgba(124,58,237,.38);box-shadow:0 0 0 4px rgba(124,58,237,.08)}
.auth-page-v88 .auth-password-wrap-v88{position:relative}
.auth-page-v88 .auth-password-wrap-v88 input{padding-right:104px}
.auth-page-v88 .auth-password-toggle-v88{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 12px;border-radius:14px;border:1px solid rgba(124,58,237,.12);background:#f7f1ff;color:#6d28d9;font-size:.82rem;font-weight:900;cursor:pointer;transition:.16s ease}
.auth-page-v88 .auth-password-toggle-v88 svg{width:16px;height:16px;flex:0 0 auto}
.auth-page-v88 .auth-password-toggle-v88:hover,.auth-page-v88 .auth-password-toggle-v88.is-active{background:#efe5ff;border-color:rgba(124,58,237,.18)}
.auth-page-v88 .auth-help-v88{margin-top:0}
.auth-page-v88 .auth-submit-v88{margin-top:2px;background:linear-gradient(135deg,#e044b7,#7c3aed);box-shadow:0 20px 40px rgba(124,58,237,.22)}
.auth-page-v88 .auth-footer-v88{margin:0;text-align:center;color:#726987;font-weight:800}
.auth-page-v88 .auth-footer-v88 a{color:#6d28d9;font-weight:950}
.auth-page-v88 .auth-alert{border-radius:16px}
.auth-page-v88 .auth-shell-register-v88{grid-template-columns:minmax(280px,.8fr) minmax(520px,1.2fr)}
.auth-page-v88 .auth-panel-register-v88 .auth-register-body{margin-top:2px}
.auth-page-v88 .auth-panel-register-v88 .auth-clean-grid{gap:12px}
.auth-page-v88 .auth-panel-register-v88 .auth-field input,.auth-page-v88 .auth-panel-register-v88 .auth-field select,.auth-page-v88 .auth-panel-register-v88 .search-select-trigger{height:52px;border-radius:16px}
.auth-page-v88 .auth-panel-register-v88 textarea{border-radius:16px}
.auth-page-v88 .auth-hero-features-register-v88{grid-template-columns:1fr}
.auth-page-v88 .public-footer{margin-top:0}
@media(max-width:1180px){
  .auth-page-v88 .auth-shell-v88{grid-template-columns:1fr;gap:16px;width:min(100%,calc(100% - 24px))}
  .auth-page-v88 .auth-hero-v88{padding:18px}
  .auth-page-v88 .auth-character-stage-v88{height:230px}
  .auth-page-v88 .auth-character-orbit{width:56%}
  .auth-page-v88 .auth-hero-copy-v88 h1{max-width:14ch;font-size:clamp(2rem,5vw,3rem)}
  .auth-page-v88 .auth-hero-features-v88{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .auth-page-v88 .auth-flow{padding-top:14px;padding-bottom:10px}
  .auth-page-v88 .auth-shell-v88{width:min(100%,calc(100% - 18px))}
  .auth-page-v88 .auth-hero-v88,.auth-page-v88 .auth-panel-v88{border-radius:26px}
  .auth-page-v88 .auth-hero-v88{padding:16px;gap:14px}
  .auth-page-v88 .auth-character-stage-v88{height:210px;border-radius:22px}
  .auth-page-v88 .auth-character-orbit{width:68%}
  .auth-page-v88 .auth-eye-dot{width:15px;height:15px}.auth-page-v88 .auth-eye-pupil{width:8px;height:8px}.auth-page-v88 .auth-eye-left{left:42.3%;top:22.1%}.auth-page-v88 .auth-eye-right{left:57.2%;top:22.1%}
  .auth-page-v88 .auth-hero-copy-v88 h1{font-size:clamp(1.8rem,8vw,2.45rem);max-width:none}
  .auth-page-v88 .auth-hero-copy-v88 p{font-size:.93rem}
  .auth-page-v88 .auth-hero-features-v88{grid-template-columns:1fr}
  .auth-page-v88 .auth-panel-v88{padding:14px}
  .auth-page-v88 .auth-panel-head-v88{align-items:center}
  .auth-page-v88 .auth-panel-head-v88 h2{font-size:clamp(1.7rem,8vw,2.2rem)}
  .auth-page-v88 .auth-title-logo-soft{width:48px;height:48px;border-radius:16px}
  .auth-page-v88 .auth-title-logo-soft img{width:30px;height:30px}
  .auth-page-v88 .auth-field-v88 input,.auth-page-v88 .auth-field-v88 select,.auth-page-v88 .auth-password-wrap-v88 input,.auth-page-v88 .auth-submit-v88,.auth-page-v88 .auth-google-v88{min-height:52px;height:52px}
  .auth-page-v88 .auth-help-v88{display:grid;grid-template-columns:1fr;align-items:flex-start}
}
@media(max-width:560px){
  .auth-page-v88 .auth-kicker-v88{min-height:30px;padding:0 11px;font-size:.68rem}
  .auth-page-v88 .auth-character-stage-v88{height:190px}
  .auth-page-v88 .auth-character-orbit{width:74%}
  .auth-page-v88 .auth-character-image-v88{width:94%}
  .auth-page-v88 .auth-eye-left{left:41.7%;top:21.8%}
  .auth-page-v88 .auth-eye-right{left:58.2%;top:21.8%}
  .auth-page-v88 .auth-panel-v88{padding:12px}
  .auth-page-v88 .auth-password-wrap-v88 input{padding-right:88px}
  .auth-page-v88 .auth-password-toggle-v88{right:8px;min-height:36px;padding:0 10px;font-size:.76rem}
  .auth-page-v88 .auth-password-toggle-v88 span{display:none}
}


/* v27: refined auth layout and accurate mascot eye placement */
.auth-page-v88 .auth-flow-v88{padding:14px 0 0}
.auth-page-v88 .auth-shell-v88{gap:16px;align-items:start}
.auth-page-v88 .auth-hero-v88,.auth-page-v88 .auth-panel-v88{border-radius:30px}
.auth-page-v88 .auth-hero-v88{padding:18px 18px 16px;gap:14px}
.auth-page-v88 .auth-character-stage-v88{height:248px;padding:14px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05))}
.auth-page-v88 .auth-character-orbit{width:280px;max-width:75%;box-shadow:0 20px 40px rgba(20,7,58,.18)}
.auth-page-v88 .auth-character-figure-v89{position:relative;z-index:2;width:min(320px,84%);display:block}
.auth-page-v88 .auth-character-image-v88{display:block;width:100%;max-height:210px;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(41,14,96,.20))}
.auth-page-v88 .auth-eye-dot{position:absolute;display:grid;place-items:center;width:18px;height:18px;pointer-events:none}
.auth-page-v88 .auth-eye-pupil{width:9px;height:9px;border-radius:50%;background:#16092f;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:transform .12s linear}
.auth-page-v88 .auth-character-figure-v89 .auth-eye-left{left:30.8%;top:22.6%}
.auth-page-v88 .auth-character-figure-v89 .auth-eye-right{left:52.3%;top:22.4%}
.auth-page-v88 .auth-hero-copy-v88 h1{font-size:clamp(2.15rem,3vw,3.1rem);max-width:11ch;margin-bottom:2px}
.auth-page-v88 .auth-hero-copy-v88 p{font-size:.96rem;line-height:1.55;max-width:42ch}
.auth-page-v88 .auth-hero-features-v88{gap:10px}
.auth-page-v88 .auth-hero-features-v88 article{padding:13px 14px;border-radius:18px}
.auth-page-v88 .auth-hero-features-v88 strong{font-size:.95rem}
.auth-page-v88 .auth-hero-features-v88 span{font-size:.86rem;line-height:1.45}
.auth-page-v88 .auth-panel-v88{padding:16px}
.auth-page-v88 .auth-panel-head-v88 h2{font-size:clamp(1.8rem,2.3vw,2.5rem)}
.auth-page-v88 .auth-panel-head-v88 p{font-size:.94rem;max-width:29ch}
.auth-page-v88 .auth-google-v88,.auth-page-v88 .auth-submit-v88{min-height:54px}
.auth-page-v88 .auth-field-v88 input,.auth-page-v88 .auth-field-v88 select{height:54px}
.auth-page-v88 .auth-footer-v88{padding-bottom:0}
.auth-page-v88 .public-footer{margin-top:12px}
.auth-page-v88 .auth-shell-login-v88{max-width:1160px}
.auth-page-v88 .auth-shell-register-v88{max-width:1180px}
.auth-page-v88 .auth-page-login .public-footer,.auth-page-v88 .auth-page-register .public-footer{margin-top:12px}
@media (min-width: 1025px){
  .auth-page-v88 .auth-shell-login-v88{grid-template-columns:minmax(300px,.84fr) minmax(420px,.96fr)}
  .auth-page-v88 .auth-shell-register-v88{grid-template-columns:minmax(290px,.76fr) minmax(540px,1.04fr)}
}
@media (max-width: 1024px){
  .auth-page-v88 .auth-shell-v88{grid-template-columns:1fr}
  .auth-page-v88 .auth-character-stage-v88{height:228px}
  .auth-page-v88 .auth-character-orbit{width:240px;max-width:62%}
  .auth-page-v88 .auth-character-figure-v89{width:min(280px,58%)}
  .auth-page-v88 .auth-character-image-v88{max-height:190px}
  .auth-page-v88 .auth-hero-copy-v88 h1{max-width:none}
}
@media (max-width: 680px){
  .auth-page-v88 .auth-flow-v88{padding-top:10px}
  .auth-page-v88 .auth-shell-v88{width:min(100%,calc(100% - 14px));gap:12px}
  .auth-page-v88 .auth-hero-v88,.auth-page-v88 .auth-panel-v88{border-radius:24px}
  .auth-page-v88 .auth-hero-v88{padding:14px}
  .auth-page-v88 .auth-hero-topbar-v88{justify-content:flex-start}
  .auth-page-v88 .auth-character-stage-v88{height:188px;padding:10px;border-radius:20px}
  .auth-page-v88 .auth-character-orbit{width:180px;max-width:66%}
  .auth-page-v88 .auth-character-figure-v89{width:min(220px,72%)}
  .auth-page-v88 .auth-character-image-v88{max-height:156px}
  .auth-page-v88 .auth-character-figure-v89 .auth-eye-left{left:30.3%;top:22.2%}
  .auth-page-v88 .auth-character-figure-v89 .auth-eye-right{left:52.7%;top:22.1%}
  .auth-page-v88 .auth-eye-dot{width:14px;height:14px}
  .auth-page-v88 .auth-eye-pupil{width:7px;height:7px}
  .auth-page-v88 .auth-hero-copy-v88 h1{font-size:clamp(1.6rem,8vw,2.1rem);line-height:.98}
  .auth-page-v88 .auth-hero-copy-v88 p{font-size:.88rem}
  .auth-page-v88 .auth-hero-features-v88{grid-template-columns:1fr}
  .auth-page-v88 .auth-hero-features-v88 article:last-child{display:none}
  .auth-page-v88 .auth-panel-v88{padding:12px}
  .auth-page-v88 .auth-panel-head-v88{gap:10px}
  .auth-page-v88 .auth-panel-head-v88 h2{font-size:clamp(1.55rem,7vw,2rem)}
  .auth-page-v88 .auth-panel-head-v88 p{font-size:.88rem}
}


/* v28: login page rebuilt from scratch */
.auth-page-v90{background:#faf7ff;color:#1b1039}
.auth-page-v90 .login-v90{padding:18px 0 10px;background:
  radial-gradient(circle at 0% 10%,rgba(224,68,183,.10),transparent 28rem),
  radial-gradient(circle at 100% 0%,rgba(124,58,237,.14),transparent 24rem),
  linear-gradient(180deg,#f8f5ff 0%,#f8f3ff 100%)}
.auth-page-v90 .login-v90-shell{width:min(1180px,calc(100% - 28px));margin:0 auto}
.auth-page-v90 .login-v90-grid{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(420px,.92fr);gap:18px;align-items:stretch}
.auth-page-v90 .login-v90-visual,.auth-page-v90 .login-v90-panel{border-radius:32px;border:1px solid rgba(47,25,98,.08);box-shadow:0 24px 80px rgba(75,40,145,.10)}
.auth-page-v90 .login-v90-visual{position:relative;overflow:hidden;padding:20px;background:linear-gradient(145deg,#2a1269 0%,#4d20c5 58%,#6a34e0 100%);color:#fff;display:grid;gap:16px;align-content:start}
.auth-page-v90 .login-v90-visual::before{content:"";position:absolute;left:-100px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.13),transparent 72%)}
.auth-page-v90 .login-v90-visual-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.auth-page-v90 .login-v90-pill{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:.78rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.auth-page-v90 .login-v90-pill.is-soft{background:rgba(255,255,255,.08);color:#efe8ff}
.auth-page-v90 .login-v90-mascot-card{position:relative;padding:18px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.10);overflow:hidden;min-height:300px;display:grid;place-items:center}
.auth-page-v90 .login-v90-glow{position:absolute;border-radius:50%;filter:blur(18px);opacity:.7}
.auth-page-v90 .login-v90-glow-a{width:160px;height:160px;background:rgba(237,175,255,.18);top:-40px;right:-20px}
.auth-page-v90 .login-v90-glow-b{width:180px;height:180px;background:rgba(120,255,241,.12);bottom:-50px;left:-30px}
.auth-page-v90 .login-v90-mascot-stage{position:relative;width:100%;height:100%;display:grid;place-items:center}
.auth-page-v90 .login-v90-mascot-ring{position:absolute;width:min(340px,78%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#f6eeff 70%,#eee1ff 100%);box-shadow:0 26px 60px rgba(32,13,77,.18)}
.auth-page-v90 .login-v90-mascot-figure{position:relative;z-index:2;width:min(390px,84%)}
.auth-page-v90 .login-v90-mascot-image{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(29,9,80,.20))}
.auth-page-v90 .login-v90-eye{position:absolute;display:grid;place-items:center;width:18px;height:18px;pointer-events:none}
.auth-page-v90 .login-v90-eye.left{left:31.2%;top:28.2%}
.auth-page-v90 .login-v90-eye.right{left:41.7%;top:28.1%}
.auth-page-v90 .login-v90-pupil{width:10px;height:10px;border-radius:50%;background:#160a31;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .12s linear}
.auth-page-v90 .login-v90-copy h1{margin:0;font-size:clamp(2.3rem,3.7vw,4rem);line-height:.94;letter-spacing:-.06em;max-width:11ch}
.auth-page-v90 .login-v90-copy p{margin:8px 0 0;color:rgba(255,255,255,.84);font-size:1rem;line-height:1.6;font-weight:700;max-width:42ch}
.auth-page-v90 .login-v90-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto}
.auth-page-v90 .login-v90-benefits article{padding:15px 16px;border-radius:20px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12)}
.auth-page-v90 .login-v90-benefits strong{display:block;font-size:.96rem}
.auth-page-v90 .login-v90-benefits span{display:block;margin-top:6px;color:rgba(255,255,255,.8);font-size:.88rem;line-height:1.48;font-weight:650}
.auth-page-v90 .login-v90-panel{padding:18px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(249,244,255,.96))}
.auth-page-v90 .login-v90-form{display:grid;gap:14px;align-content:start;height:100%}
.auth-page-v90 .login-v90-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.auth-page-v90 .login-v90-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(124,58,237,.10);color:#6d28d9;font-size:.74rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.auth-page-v90 .login-v90-panel-head h2{margin:10px 0 4px;font-size:clamp(2rem,2.6vw,3rem);line-height:.96;letter-spacing:-.055em;color:#180d38}
.auth-page-v90 .login-v90-panel-head p{margin:0;color:#6f6684;font-size:.97rem;line-height:1.5;font-weight:750;max-width:32ch}
.auth-page-v90 .login-v90-mark{width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,#fbf7ff,#f1e7ff);display:grid;place-items:center;box-shadow:0 16px 32px rgba(124,58,237,.10)}
.auth-page-v90 .login-v90-mark img{width:36px;height:36px;object-fit:contain}
.auth-page-v90 .login-v90-google{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;border-radius:18px;border:1px solid rgba(43,24,95,.10);background:#fff;color:#1a1037;font-size:1rem;font-weight:900;box-shadow:0 12px 28px rgba(74,40,142,.05);cursor:pointer;transition:.18s ease}
.auth-page-v90 .login-v90-google:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(74,40,142,.09)}
.auth-page-v90 .login-v90-google svg{width:22px;height:22px}
.auth-page-v90 .login-v90-divider{display:flex;align-items:center;gap:12px;color:#9b90b1;font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.auth-page-v90 .login-v90-divider::before,.auth-page-v90 .login-v90-divider::after{content:"";height:1px;flex:1;background:rgba(43,24,95,.10)}
.auth-page-v90 .login-v90-fields{display:grid;gap:12px}
.auth-page-v90 .login-v90-field{display:grid;gap:6px;color:#281849;font-size:.88rem;font-weight:850}
.auth-page-v90 .login-v90-field input{height:56px;border-radius:18px;border:1px solid rgba(43,24,95,.11);background:#fff;padding:0 18px;font:inherit;color:#1a0c3b;box-shadow:0 12px 28px rgba(74,40,142,.05)}
.auth-page-v90 .login-v90-field input:focus{outline:none;border-color:rgba(124,58,237,.38);box-shadow:0 0 0 4px rgba(124,58,237,.08)}
.auth-page-v90 .login-v90-password{position:relative}
.auth-page-v90 .login-v90-password input{padding-right:108px}
.auth-page-v90 .login-v90-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:14px;border:1px solid rgba(124,58,237,.12);background:#f7f0ff;color:#6d28d9;font-size:.82rem;font-weight:900;cursor:pointer;transition:.16s ease}
.auth-page-v90 .login-v90-toggle:hover,.auth-page-v90 .login-v90-toggle.is-active{background:#efe4ff;border-color:rgba(124,58,237,.18)}
.auth-page-v90 .login-v90-toggle svg{width:16px;height:16px}
.auth-page-v90 .login-v90-help{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.auth-page-v90 .login-v90-help label{display:inline-flex;align-items:center;gap:8px;color:#6d6482;font-weight:800}
.auth-page-v90 .login-v90-help input{accent-color:#7c3aed}
.auth-page-v90 .login-v90-help a{color:#6d28d9;font-weight:900}
.auth-page-v90 .login-v90-submit{width:100%;min-height:58px;border:0;border-radius:19px;background:linear-gradient(135deg,#e044b7,#7c3aed);color:#fff;font-size:1.08rem;font-weight:950;box-shadow:0 20px 38px rgba(124,58,237,.22);cursor:pointer;transition:.18s ease}
.auth-page-v90 .login-v90-submit:hover{transform:translateY(-2px);box-shadow:0 24px 42px rgba(124,58,237,.28)}
.auth-page-v90 .login-v90-footer{margin:2px 0 0;text-align:center;color:#726987;font-size:.96rem;font-weight:800}
.auth-page-v90 .login-v90-footer a{color:#6d28d9;font-weight:950}
.auth-page-v90 .auth-alert{border-radius:16px;margin:0}
.auth-page-v90 .public-footer{margin-top:10px}
@media(max-width:1100px){
  .auth-page-v90 .login-v90-grid{grid-template-columns:1fr;gap:14px}
  .auth-page-v90 .login-v90-visual,.auth-page-v90 .login-v90-panel{border-radius:28px}
  .auth-page-v90 .login-v90-copy h1{max-width:none}
}
@media(max-width:740px){
  .auth-page-v90 .login-v90{padding-top:12px}
  .auth-page-v90 .login-v90-shell{width:min(100%,calc(100% - 16px))}
  .auth-page-v90 .login-v90-visual,.auth-page-v90 .login-v90-panel{border-radius:24px}
  .auth-page-v90 .login-v90-visual{padding:16px;gap:14px}
  .auth-page-v90 .login-v90-mascot-card{min-height:240px;padding:12px;border-radius:22px}
  .auth-page-v90 .login-v90-mascot-ring{width:min(250px,72%)}
  .auth-page-v90 .login-v90-mascot-figure{width:min(280px,76%)}
  .auth-page-v90 .login-v90-eye{width:15px;height:15px}
  .auth-page-v90 .login-v90-pupil{width:8px;height:8px}
  .auth-page-v90 .login-v90-eye.left{left:31.0%;top:28.0%}
  .auth-page-v90 .login-v90-eye.right{left:41.9%;top:27.9%}
  .auth-page-v90 .login-v90-copy h1{font-size:clamp(1.8rem,8vw,2.5rem)}
  .auth-page-v90 .login-v90-copy p{font-size:.9rem}
  .auth-page-v90 .login-v90-benefits{grid-template-columns:1fr}
  .auth-page-v90 .login-v90-panel{padding:14px}
  .auth-page-v90 .login-v90-panel-head{gap:10px}
  .auth-page-v90 .login-v90-panel-head h2{font-size:clamp(1.7rem,7.5vw,2.2rem)}
  .auth-page-v90 .login-v90-panel-head p{font-size:.9rem}
  .auth-page-v90 .login-v90-mark{width:48px;height:48px;border-radius:16px}.auth-page-v90 .login-v90-mark img{width:30px;height:30px}
  .auth-page-v90 .login-v90-google,.auth-page-v90 .login-v90-field input,.auth-page-v90 .login-v90-submit{min-height:52px;height:52px}
  .auth-page-v90 .login-v90-help{display:grid;grid-template-columns:1fr;align-items:flex-start}
}
@media(max-width:560px){
  .auth-page-v90 .login-v90-visual-head{justify-content:flex-start}
  .auth-page-v90 .login-v90-pill{min-height:32px;padding:0 11px;font-size:.68rem}
  .auth-page-v90 .login-v90-mascot-card{min-height:210px}
  .auth-page-v90 .login-v90-mascot-ring{width:min(210px,76%)}
  .auth-page-v90 .login-v90-mascot-figure{width:min(230px,82%)}
  .auth-page-v90 .login-v90-copy h1{font-size:clamp(1.55rem,8vw,2.1rem)}
  .auth-page-v90 .login-v90-field{font-size:.82rem}
  .auth-page-v90 .login-v90-password input{padding-right:92px}
  .auth-page-v90 .login-v90-toggle{right:8px;min-height:36px;padding:0 11px;font-size:.76rem}
  .auth-page-v90 .login-v90-toggle span{display:none}
}


/* v29: cleaner login visual, no text block, corrected eye alignment */
.auth-page-v90 .login-v90-grid{align-items:stretch}
.auth-page-v90 .login-v90-visual{padding:18px;grid-template-rows:auto 1fr;min-height:640px}
.auth-page-v90 .login-v90-mascot-card{min-height:0;height:100%;display:grid;place-items:center;padding:22px}
.auth-page-v90 .login-v90-mascot-stage{min-height:100%}
.auth-page-v90 .login-v90-mascot-ring{width:min(420px,82%)}
.auth-page-v90 .login-v90-mascot-figure{width:min(420px,86%);aspect-ratio:1535/1024}
.auth-page-v90 .login-v90-mascot-image{width:100%;height:100%;object-fit:contain}
.auth-page-v90 .login-v90-eye.left{left:31.15%;top:26.65%}
.auth-page-v90 .login-v90-eye.right{left:39.75%;top:26.35%}
.auth-page-v90 .login-v90-pupil{width:9px;height:9px}
.auth-page-v90 .login-v90-panel{display:flex;align-items:stretch}
.auth-page-v90 .login-v90-form{width:100%}
@media(max-width:1100px){
  .auth-page-v90 .login-v90-visual{min-height:440px}
  .auth-page-v90 .login-v90-mascot-ring{width:min(320px,74%)}
  .auth-page-v90 .login-v90-mascot-figure{width:min(320px,64%)}
}
@media(max-width:740px){
  .auth-page-v90 .login-v90-visual{min-height:320px;padding:14px}
  .auth-page-v90 .login-v90-mascot-card{padding:14px;min-height:260px;height:auto}
  .auth-page-v90 .login-v90-mascot-ring{width:min(240px,74%)}
  .auth-page-v90 .login-v90-mascot-figure{width:min(260px,70%)}
  .auth-page-v90 .login-v90-eye{width:15px;height:15px}
  .auth-page-v90 .login-v90-pupil{width:7px;height:7px}
  .auth-page-v90 .login-v90-eye.left{left:31.1%;top:26.6%}
  .auth-page-v90 .login-v90-eye.right{left:39.8%;top:26.3%}
}
@media(max-width:560px){
  .auth-page-v90 .login-v90-mascot-card{min-height:220px}
  .auth-page-v90 .login-v90-mascot-ring{width:min(220px,76%)}
  .auth-page-v90 .login-v90-mascot-figure{width:min(230px,72%)}
}


/* v30: pupil sizing and eye position corrections */
.auth-page-v90 .login-v90-eye.left{left:29.7%;top:26.7%}
.auth-page-v90 .login-v90-eye.right{left:38.35%;top:26.45%}
.auth-page-v90 .login-v90-pupil{width:12px;height:12px}
@media(max-width:740px){
  .auth-page-v90 .login-v90-eye.left{left:29.6%;top:26.65%}
  .auth-page-v90 .login-v90-eye.right{left:38.45%;top:26.4%}
  .auth-page-v90 .login-v90-pupil{width:10px;height:10px}
}
@media(max-width:560px){
  .auth-page-v90 .login-v90-eye.left{left:29.55%;top:26.6%}
  .auth-page-v90 .login-v90-eye.right{left:38.5%;top:26.35%}
  .auth-page-v90 .login-v90-pupil{width:9px;height:9px}
}


/* v31: larger pupils and stronger left tracking */
.auth-page-v90 .login-v90-pupil{width:14px;height:14px}
@media(max-width:740px){
  .auth-page-v90 .login-v90-pupil{width:12px;height:12px}
}
@media(max-width:560px){
  .auth-page-v90 .login-v90-pupil{width:10px;height:10px}
}
