.v3-login{
  min-height:100vh;
  margin:0;
  color:#f7f7f8;
  background:#08090b;
  overflow-x:hidden;
}
.v3-login .login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);
  background:#08090b;
}
.v3-login .login-stage{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:48px clamp(40px,6vw,96px) 42px;
  background:
    linear-gradient(115deg,rgba(255,255,255,.018),transparent 42%),
    radial-gradient(circle at 72% 34%,rgba(187,43,28,.22),transparent 32%),
    linear-gradient(145deg,#07080a 0%,#0d0f13 58%,#08090b 100%);
  border-right:1px solid rgba(255,255,255,.07);
}
.v3-login .login-grid{
  position:absolute;
  inset:0;
  opacity:.34;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(135deg,#000 0%,rgba(0,0,0,.65) 48%,transparent 90%);
  pointer-events:none;
}
.v3-login .login-glow{ position:absolute; border-radius:999px; filter:blur(4px); pointer-events:none; }
.v3-login .login-glow-red{ width:520px; height:520px; right:-210px; top:18%; border:1px solid rgba(223,71,50,.16); box-shadow:0 0 120px rgba(189,45,29,.12),inset 0 0 90px rgba(189,45,29,.06); }
.v3-login .login-glow-gold{ width:340px; height:340px; left:-180px; bottom:-140px; border:1px solid rgba(201,154,81,.13); box-shadow:0 0 90px rgba(201,154,81,.08); }
.v3-login .login-brand,.v3-login .login-identity,.v3-login .login-stage-foot{ position:relative; z-index:2; }
.v3-login .login-brand{ display:flex; align-items:center; gap:18px; }
.v3-login .login-brand img{ width:104px; height:92px; object-fit:contain; display:block; border-radius:10px; box-shadow:0 18px 48px rgba(0,0,0,.38); }
.v3-login .login-brand-copy{ padding-left:16px; border-left:1px solid rgba(255,255,255,.14); }
.v3-login .login-brand-copy span{ display:block; color:rgba(255,255,255,.42); font-size:10px; letter-spacing:.28em; }
.v3-login .login-brand-copy strong{ display:block; margin-top:7px; font-size:17px; letter-spacing:.16em; font-weight:650; }
.v3-login .login-identity{ margin-top:38px; max-width:760px; }
.v3-login .login-product-code{ display:flex; align-items:center; gap:12px; color:#d7ad63; font-family:var(--font-mono); font-size:11px; letter-spacing:.22em; }
.v3-login .login-product-code i{ width:48px; height:1px; background:linear-gradient(90deg,#bd7f2c,transparent); }
.v3-login .login-identity h1{ margin:24px 0 0; font-size:clamp(64px,7.4vw,112px); line-height:.92; letter-spacing:-.07em; font-weight:800; color:#f4f4f5; }
.v3-login .login-en-title{ margin-top:15px; color:transparent; background:linear-gradient(90deg,#f0c878,#b77a2c 56%,#e4a64a); -webkit-background-clip:text; background-clip:text; font-size:clamp(26px,3.2vw,47px); line-height:1; letter-spacing:.03em; font-weight:700; }
.v3-login .login-identity > p{ margin:20px 0 0; color:rgba(255,255,255,.42); font-size:12px; letter-spacing:.25em; }
.v3-login .login-module-strip{ margin-top:42px; display:flex; flex-wrap:wrap; gap:8px; }
.v3-login .login-module-strip span{ min-width:132px; padding:12px 14px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.025); color:rgba(255,255,255,.52); font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; backdrop-filter:blur(10px); }
.v3-login .login-module-strip b{ margin-right:12px; color:#c98f39; font-weight:600; }
.v3-login .login-stage-foot{ display:flex; align-items:center; justify-content:space-between; gap:18px; color:rgba(255,255,255,.25); font-family:var(--font-mono); font-size:9px; letter-spacing:.18em; }
.v3-login .login-status{ display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.38); }
.v3-login .login-status::before{ content:""; width:6px; height:6px; border-radius:50%; background:#49cb8f; box-shadow:0 0 0 5px rgba(73,203,143,.08); }
.v3-login .login-access{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:44px clamp(30px,4.5vw,74px);
  background:
    radial-gradient(circle at 100% 0,rgba(201,154,81,.07),transparent 28%),
    linear-gradient(155deg,#111318,#0b0d10 62%,#090a0c);
}
.v3-login .login-card{
  width:min(440px,100%);
  padding:34px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:linear-gradient(150deg,rgba(25,28,34,.94),rgba(15,17,21,.96));
  box-shadow:0 34px 90px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(20px);
}
.v3-login .login-card-mobile-brand{ display:none; align-items:center; gap:12px; margin-bottom:28px; }
.v3-login .login-card-mobile-brand img{ width:58px; height:58px; object-fit:contain; border-radius:11px; }
.v3-login .login-card-mobile-brand strong{ display:block; font-size:15px; letter-spacing:.09em; }
.v3-login .login-card-mobile-brand span{ display:block; margin-top:4px; color:rgba(255,255,255,.38); font-size:10px; letter-spacing:.12em; }
.v3-login .login-card-kicker{ color:#c99a51; font-family:var(--font-mono); font-size:10px; letter-spacing:.24em; }
.v3-login .login-card-head h2{ margin:12px 0 0; font-size:32px; line-height:1.15; letter-spacing:-.04em; color:#f5f5f6; }
.v3-login .login-card-head p{ margin:9px 0 0; color:rgba(255,255,255,.42); font-size:13px; line-height:1.7; }
.v3-login .login-form{ margin-top:29px; display:flex; flex-direction:column; gap:17px; }
.v3-login .login-card .field-label{ color:rgba(255,255,255,.72); font-size:12px; }
.v3-login .login-field{ position:relative; }
.v3-login .login-field .input{
  min-height:50px;
  padding-left:44px;
  padding-right:44px;
  color:#f4f4f5;
  background:#0d0f13;
  border-color:rgba(255,255,255,.11);
  border-radius:10px;
}
.v3-login .login-field .input:hover{ border-color:rgba(255,255,255,.18); }
.v3-login .login-field .input:focus{ border-color:#b77b37; box-shadow:0 0 0 3px rgba(183,123,55,.12); }
.v3-login .login-field .input::placeholder{ color:rgba(255,255,255,.22); }
.v3-login .login-field > .icon{ position:absolute; z-index:1; left:14px; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.32); }
.v3-login .password-toggle{ position:absolute; right:9px; top:50%; transform:translateY(-50%); width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:8px; color:rgba(255,255,255,.33); background:transparent; }
.v3-login .password-toggle:hover{ color:#fff; background:rgba(255,255,255,.06); }
.v3-login .login-link{ border:0; padding:0; color:#c99a51; background:transparent; font-size:11px; }
.v3-login .login-options{ display:flex; align-items:center; justify-content:space-between; gap:14px; color:rgba(255,255,255,.5); }
.v3-login .login-options .checkbox{ color:rgba(255,255,255,.56); font-size:12px; }
.v3-login .login-options > span{ color:rgba(255,255,255,.22); font-family:var(--font-mono); font-size:8px; letter-spacing:.14em; }
.v3-login .login-submit{ min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; padding:0 18px; border:1px solid rgba(245,131,85,.24); border-radius:10px; color:#fff; background:linear-gradient(110deg,#cf3e2c,#e04a34 50%,#bc2c21); box-shadow:0 12px 26px rgba(193,50,35,.22); font-weight:700; letter-spacing:.04em; transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; }
.v3-login .login-submit:hover{ transform:translateY(-1px); filter:brightness(1.05); box-shadow:0 16px 32px rgba(193,50,35,.28); }
.v3-login .login-error{ display:none; align-items:center; gap:8px; padding:10px 12px; border:1px solid rgba(230,83,72,.3); border-radius:8px; color:#ffb3aa; background:rgba(122,34,29,.24); font-size:12px; }
.v3-login .login-error.show{ display:flex; }
.v3-login .quick-preview{ margin-top:25px; padding-top:22px; border-top:1px solid rgba(255,255,255,.07); }
.v3-login .quick-preview-title{ color:rgba(255,255,255,.36); font-size:10px; letter-spacing:.16em; }
.v3-login .quick-grid{ display:grid; grid-template-columns:1fr; gap:9px; margin-top:12px; }
.v3-login .quick-card{ width:100%; display:grid; grid-template-columns:38px 1fr 20px; align-items:center; gap:12px; padding:11px 12px; border:1px solid rgba(255,255,255,.075); border-radius:10px; color:#fff; text-align:left; background:rgba(255,255,255,.025); transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.v3-login .quick-card:hover{ transform:translateX(2px); border-color:rgba(201,154,81,.32); background:rgba(201,154,81,.055); }
.v3-login .quick-card-icon{ width:38px; height:38px; display:grid; place-items:center; border-radius:9px; color:#e8b964; background:rgba(201,154,81,.1); }
.v3-login .quick-card strong{ display:block; font-size:12px; font-weight:650; }
.v3-login .quick-card small{ display:block; margin-top:3px; color:rgba(255,255,255,.33); font-size:10px; }
.v3-login .quick-arrow{ color:rgba(255,255,255,.24); }
.v3-login .login-demo-note{ margin-top:18px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:11px 12px; border-radius:9px; color:rgba(255,255,255,.31); background:#0d0f13; font-size:9px; }
.v3-login .login-demo-note > span{ letter-spacing:.12em; }
.v3-login .login-demo-note code{ color:rgba(255,255,255,.62); font-family:var(--font-mono); font-size:9px; }
.v3-login .login-demo-note i{ width:1px; height:12px; background:rgba(255,255,255,.1); }
@media  (max-width:1020px) {.v3-login .login-shell{ grid-template-columns:1fr; }
.v3-login .login-stage{ display:none; }
.v3-login .login-access{ padding:30px 20px; }
.v3-login .login-card-mobile-brand{ display:flex; }}
@media  (max-width:520px) {.v3-login .login-access{ align-items:flex-start; padding-top:24px; }
.v3-login .login-card{ padding:24px 20px; border-radius:16px; }
.v3-login .login-card-head h2{ font-size:28px; }}
/* V3 visual restoration is scoped: no selectors alter the admin/player/public layouts. */
.v3-login { --font-mono: "SFMono-Regular", Consolas, monospace; }
.v3-login .login-brand img { box-shadow:none; border-radius:0; }
.v3-login .login-card { max-width:440px; }
.v3-login .login-form { gap:17px; }
.v3-login .field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.v3-login .field-label { display:flex; align-items:center; justify-content:space-between; margin:0; }
.v3-login .login-field { display:block; }
.v3-login .login-field .input { width:100%; height:50px; padding:0 44px; font-size:15px; }
.v3-login .login-field > .input-icon { position:absolute; width:18px; height:18px; left:14px; top:50%; transform:translateY(-50%); color:#a1a1aa; pointer-events:none; }
.v3-login svg { display:block; width:18px; height:18px; }
.v3-login .login-field .password-toggle { margin:0; }
.v3-login .login-options .checkbox { display:flex; align-items:center; gap:9px; margin:0; }
.v3-login .checkbox input { accent-color:#df4632; width:15px; height:15px; }
.v3-login .login-submit { cursor:pointer; font-size:15px; }
.v3-login .login-submit:disabled { cursor:wait; opacity:.7; transform:none; }
.v3-login .login-error.is-visible { display:flex; }
.v3-login .login-card-head h2 { font-weight:700; }
.v3-login .login-card-head p { margin:12px 0 0; }
.v3-login .production-foot { margin-top:28px; padding-top:23px; border-top:1px solid #ffffff12; color:#71717a; font-size:11px; line-height:1.9; }
.v3-login .production-foot small { display:block; margin-top:18px; font:9px var(--font-mono); letter-spacing:.12em; color:#52525b; }
.v3-login .login-status { color:#71717a; }
.v3-login .login-module-strip span { min-width:126px; }
.v3-login .login-brand-copy strong { white-space:nowrap; }
.v3-login .login-module-strip { flex-wrap:wrap; }
.v3-login .login-card .quick-preview { display:block; }
@media (min-width:1021px) {
 .v3-login .login-identity { margin-bottom:6px; }
 .v3-login .login-card.production { min-height:620px; display:flex; flex-direction:column; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .v3-login * { transition:none!important; } }
