/* Оформление ограничено входом; идентификаторы формы и логика MAX сохранены. */
body.page-login { min-height:100dvh; margin:0; display:flex; flex-direction:column; font:16px/1.5 "Segoe UI",system-ui,-apple-system,Arial,sans-serif; color:#213e2f; -webkit-font-smoothing:antialiased; background:#e3eedf; }
body.page-login *,body.page-login *::before,body.page-login *::after { box-sizing:border-box; }
body.page-login [hidden] { display:none !important; }
body.page-login .site-header { flex:none; padding:20px 16px 0; text-align:center; }
body.page-login .site-header .logo { width:clamp(320px,26vw,400px); max-width:80vw; height:auto; filter:drop-shadow(0 8px 12px #264c3425); }
body.page-login .main { flex:1; display:grid; grid-template-columns:minmax(0,490px) minmax(0,330px); align-content:center; align-items:center; justify-content:center; gap:clamp(32px,5vw,76px); padding:12px 24px 30px; width:100%; }
body.page-login .wrap { width:100%; border-radius:26px; padding:34px; color:#edf4ef; background:linear-gradient(145deg,#063f30,#03261e); border:1px solid #508b706b; box-shadow:0 22px 48px #143a3240,0 5px 12px #173b3420,inset 0 2px 2px #e8f4ff18,inset 0 -2px 4px #0003; }
body.page-login .wrap h1 { color:#edf4ef; margin:0 0 26px; text-align:center; font-weight:600; letter-spacing:-.02em; line-height:1.2; font-size:clamp(25px,3vw,32px); }
body.page-login .web-login-tabs { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:22px; }
body.page-login .web-login-tabs button,body.page-login .web-max-link { border:1px solid #537d69; background:#153e31; color:#edf4ef; font:inherit; cursor:pointer; text-decoration:none; }
body.page-login .web-login-tabs button { min-width:0; padding:12px 8px; font-size:14px; }
body.page-login .web-login-tabs button[aria-pressed=true] { background:#117b51; border-color:#50be8d; }
/* Фирменные цвета MAX: «Синий гигант» и «Пурпурная туманность». */
body.page-login #web-login { --login-action:linear-gradient(160deg,#22b36d,#087846); --login-action-border:#56c489; }
body.page-login #web-login:has([data-mode=phone][aria-pressed=true]) { --login-action:linear-gradient(110deg,#471aff,#9500ff); --login-action-border:#a692f6; }
body.page-login .web-login-tabs [data-mode=phone][aria-pressed=true] { background:linear-gradient(110deg,#471aff,#9500ff); border-color:#a692f6; }
body.page-login #web-login .web-login-hint { color:#bcd4c7; font-size:13px; line-height:1.5; margin:14px 0; }
body.page-login #web-login [data-code] { margin-top:16px; padding:16px; background:#123d30; border:1px solid #4e7d64; border-radius:14px; }
body.page-login #web-login label { color:#d1e3d8; display:block; margin:10px 0 8px; font-size:14px; }
body.page-login #web-login input { background:#0b2c23; border:1px solid #51886a; border-radius:12px; color:#edf4ef; width:100%; min-height:48px; padding:11px 13px; font:inherit; font-size:16px; box-shadow:inset 0 3px 7px #0003,0 1px #ffffff16; }
body.page-login #web-login input::placeholder { color:#a2bdaf; opacity:1; }
body.page-login #web-login input:focus { outline:2px solid #57c38a; outline-offset:2px; }
body.page-login #web-login .btn { border:1px solid var(--login-action-border); color:#f6f6fb; padding:12px 16px; font:inherit; font-weight:600; cursor:pointer; background:var(--login-action); min-height:50px; }
body.page-login #web-login .actions { margin-top:20px; }
body.page-login #web-login .actions .btn { width:100%; }
body.page-login #web-login .actions .btn::after { content:''; display:inline-block; width:7px; height:7px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); margin-left:12px; }
body.page-login #web-login .btn,body.page-login .web-login-tabs button,body.page-login .web-max-link { border-radius:14px; box-shadow:0 6px 10px #0003,inset 0 2px 1px #ffffff25,inset 0 -2px 3px #0002; transition:transform .15s,box-shadow .15s,filter .15s; }
body.page-login #web-login button:hover,body.page-login .web-max-link:hover { filter:brightness(1.12); }
body.page-login #web-login button:active,body.page-login .web-max-link:active { transform:translateY(2px); box-shadow:inset 0 2px 4px #0004; }
body.page-login #web-login button:disabled { opacity:.65; cursor:wait; }
body.page-login #web-login :is(button,a,summary):focus-visible { outline:2px solid #8addab; outline-offset:3px; }
body.page-login #web-login #web-code { text-align:center; font-size:26px; letter-spacing:.24em; }
body.page-login .web-code-actions { margin-top:14px; }
body.page-login .web-connect { margin-top:16px; color:#d5e5d9; border-top:1px solid #466f59; padding-top:14px; }
body.page-login .web-connect summary { cursor:pointer; line-height:1.4; }
body.page-login .web-qr { text-align:center; margin:16px 0; }
body.page-login .web-qr img { display:inline-block; width:min(220px,100%); height:auto; border-radius:12px; }
body.page-login #web-login .web-max-link { display:block; text-align:center; line-height:1.4; padding:10px; }
body.page-login #flash { margin-bottom:18px; padding:12px; border-radius:12px; border:1px solid transparent; font-size:14px; overflow-wrap:anywhere; line-height:1.5; }
body.page-login #flash.error { color:#ffd0d0; background:#382733; border-color:#98515c; }
body.page-login #flash.ok { color:#b9ebd2; background:#18342f; border-color:#397e67; }
body.page-login .site-footer { flex:none; text-align:center; padding:14px 18px; color:#254833; background:#e5efdedb; }
body.page-login .site-footer small { display:block; margin-top:5px; }
@media(max-width:1023px) {
  body.page-login .main { grid-template-columns:minmax(0,490px); gap:24px; padding:24px 16px; }
  body.page-login .site-header { padding-top:16px; }
  body.page-login .site-header .logo { width:280px; }
}
@media(max-width:420px) {
  body.page-login .wrap { padding:26px 20px; }
  body.page-login .web-login-tabs button { font-size:13px; }
  body.page-login .site-header .logo { width:250px; }
}
@media(max-height:800px) and (min-width:1024px) {
  body.page-login .site-header { padding-top:10px; }
  body.page-login .site-header .logo { width:310px; }
  body.page-login .main { padding-top:0; padding-bottom:18px; }
}
@media(prefers-reduced-motion:reduce) {
  body.page-login #web-login button,body.page-login .web-max-link { transition:none; }
}
