.login-main { background:linear-gradient(135deg,#fafbfc 0%,#fff 42%,#f4f5f7 42.1%,#fafbfc 76%,#f3f4f6); padding:24px 0 44px; border-bottom:2px solid var(--red); }
.login-breadcrumbs { display:flex; align-items:center; gap:12px; color:#69707c; font-size:11px; margin-bottom:31px; }
.login-breadcrumbs i { font-size:8px; }
.login-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:65px; align-items:start; }
.login-intro { margin-bottom:29px; }
.login-intro h1 { font:700 52px/1.12 var(--heading); letter-spacing:-.8px; color:#11151a; text-transform:uppercase; }
.login-intro h1::after { content:""; display:block; width:43px; height:3px; background:var(--red); margin-top:13px; }
.login-intro p { font-size:14px; line-height:1.75; margin-top:17px; max-width:620px; color:#444c57; }
.login-card { background:#fff; border:1px solid #eceef0; border-radius:12px; box-shadow:0 3px 20px #1c293610; padding:31px 36px; }
.login-card h2 { font:700 23px/1.3 var(--heading); color:#202328; }
.login-card-intro { font-size:12px; color:#717883; margin:7px 0 25px; }
.login-field { margin-bottom:21px; }
.login-field label,.login-verification legend { display:block; font-size:12px; font-weight:600; margin-bottom:8px; }
.login-input-wrap { position:relative; }
.login-input-wrap>i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#67717c; font-size:13px; pointer-events:none; }
.login-input-wrap input { display:block; width:100%; min-width:0; height:44px; padding:10px 43px 10px 39px; border:1px solid #cfd4db; border-radius:5px; font-size:13px; background:#fff; color:var(--ink); }
.login-input-wrap input::placeholder { color:#8a9098; opacity:1; }
.login-password-toggle { position:absolute; right:3px; top:3px; width:38px; height:38px; border:0; background:transparent; color:#333b45; display:grid; place-items:center; font-size:17px; border-radius:4px; }
.login-password-toggle:hover { background:#f4f5f7; }
.login-verification { margin:0 0 22px; border:0; padding:0; min-width:0; }
.login-verification legend { padding:0; }
#login-captcha { min-height:78px; max-width:100%; }
#login-captcha-status { font-size:11px; line-height:1.5; color:#737c87; margin-top:7px; }
.login-retry { color:var(--red); background:none; border:0; padding:7px 0; font-size:12px; text-decoration:underline; }
.login-submit { width:100%; justify-content:center; gap:11px; min-height:46px; border-radius:5px; text-transform:uppercase; font-size:15px; font-weight:600; }
.login-submit:disabled { cursor:wait; opacity:.65; }
.login-help { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:25px; font-size:12px; color:#3a526e; }
.login-help a { display:inline-flex; align-items:center; gap:9px; }
.login-help i { font-size:9px; }
.login-status { background:#fff3f3; border:1px solid #e8b7bd; border-left:3px solid var(--red); color:#96212b; border-radius:5px; padding:13px 15px; margin:0 0 20px; font-size:13px; line-height:1.6; white-space:pre-line; }
.login-noscript { color:#96212b; font-size:12px; margin-top:15px; }
.login-benefits { margin-top:105px; padding:25px; }
.login-register-heading { display:flex; gap:16px; align-items:center; border-bottom:1px solid #d8dce1; padding-bottom:21px; margin-bottom:21px; }
.login-register-heading>span { width:49px; height:49px; flex-shrink:0; display:grid; place-items:center; border:2px solid var(--red); border-radius:50%; color:var(--red); font-size:22px; }
.login-register-heading h2 { font-size:21px; }
.login-register-heading p { font-size:11px; line-height:1.6; color:#6e7580; margin-top:5px; }
.login-benefit-list { list-style:none; margin:0; padding:0; display:grid; gap:20px; }
.login-benefit-list li { display:flex; align-items:flex-start; gap:17px; }
.login-benefit-list li>span { width:48px; height:48px; display:grid; place-items:center; flex-shrink:0; background:#faf0f1; border-radius:50%; font-size:24px; color:var(--red); }
.login-benefit-list h3 { font:600 16px/1.3 var(--heading); margin:2px 0 4px; }
.login-benefit-list p { font-size:12px; line-height:1.6; color:#5c646f; }
.login-register-button { width:100%; justify-content:center; gap:11px; margin-top:25px; min-height:43px; text-transform:uppercase; font-size:14px; }
.login-subscription-note { font-size:10px; line-height:1.7; color:#7a818b; margin-top:13px; }
.login-subscription-note a { color:var(--red); white-space:nowrap; }
@media(max-width:1100px) {
  .login-layout { gap:30px; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); }
  .login-card { padding:27px; }
  .login-benefits { padding:23px; }
  .login-benefit-list li { gap:13px; }
}
@media(max-width:860px) {
  .login-layout { grid-template-columns:1fr; gap:25px; max-width:680px; margin-inline:auto; }
  .login-benefits { margin-top:0; }
  .login-main { padding-top:19px; }
  .login-breadcrumbs { margin-bottom:25px; }
  .login-benefit-list { grid-template-columns:1fr 1fr; gap:22px; }
  .login-intro h1 { font-size:43px; }
}
@media(max-width:520px) {
  .login-main { padding-bottom:26px; }
  .login-breadcrumbs { font-size:10px; }
  .login-intro h1 { font-size:38px; }
  .login-intro p { font-size:13px; line-height:1.7; }
  .login-card { padding:23px 20px; border-radius:9px; }
  .login-card h2 { font-size:23px; }
  .login-field { margin-bottom:20px; }
  .login-input-wrap input { height:46px; font-size:16px; }
  .login-input-wrap input::placeholder { font-size:12px; }
  .login-password-toggle { width:40px; height:40px; }
  .login-help { font-size:11px; gap:9px; flex-wrap:wrap; }
  .login-help a { gap:5px; }
  .login-benefit-list { grid-template-columns:1fr; }
  .login-benefit-list h3 { font-size:17px; }
  .login-register-heading h2 { font-size:21px; }
  .login-subscription-note a { white-space:normal; }
}
