.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #ffffffe8;
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s;
}

.site-header.scrolled {
  border-color: var(--line);
}

.header-inner {
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.header-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
.portal-auth-main {
  min-height: calc(100vh - 130px);
  display: grid;
  place-items: center;
  padding: 58px 24px 65px;
}

.auth-card {
  width: min(100%,380px);
  min-width: 0;
}

.auth-card .portal-pill {
  margin-bottom: 24px;
}

.auth-card h1 {
  font-size: 30px;
  letter-spacing: -.02em;
  line-height: 1.4;
  margin-bottom: 12px;
}

.auth-intro {
  font-size:var(--font-body);
  color: var(--text-tertiary);
  line-height: 1.9;
  margin-bottom: 31px;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--border-strong);
  font-size:var(--font-caption);
  margin: 20px 0;
}

.auth-divider:before, .auth-divider:after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--border-subtle);
}

.auth-card>.portal-note {
  margin: 20px 0 0;
  text-align: center;
}

.portal-simple-footer {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 18px 22px 25px;
  font-size:var(--font-caption);
  color: var(--text-tertiary);
}

.portal-simple-footer a:hover {
  color: var(--text-primary);
}

@media(max-width:760px) {
  .portal-auth-main {
    padding: 42px 25px 55px;
    min-height: calc(100vh - 131px);
  }

  .auth-card h1 {
    font-size: 28px;
  }

  .portal-simple-footer {
    font-size:var(--font-caption);
    gap: 15px;
  }
}

.product-auth-header .header-logo .brand-logo {
  width: 84px;
}

.product-return-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size:var(--font-caption);
  color: var(--text-tertiary);
}

.product-return-link:hover {
  color: var(--text-primary);
}

.product-return-link span {
  font-size:var(--font-body);
}

.login-page .phone-input-wrap, .login-page .sms-input-wrap, .login-page .password-input-wrap {
  display: flex;
  align-items: center;
  min-width: 0;
  border: 1px solid var(--control-border, var(--border-default));
  border-radius: 12px;
  background: #fff;
  transition: border-color 120ms, box-shadow 120ms;
}

.login-page .phone-input-wrap:hover, .login-page .sms-input-wrap:hover, .login-page .password-input-wrap:hover {
  border-color: var(--control-border-hover, var(--text-tertiary));
}


.login-page .phone-input-wrap > .portal-input,
.login-page .sms-input-wrap > .portal-input,
.login-page .password-input-wrap > .portal-input {
  flex: 1 1 0;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 12px 14px;
  box-shadow: none;
}

.login-page .phone-input-wrap > .portal-input:focus,
.login-page .sms-input-wrap > .portal-input:focus,
.login-page .password-input-wrap > .portal-input:focus {
  outline: none;
  box-shadow: none;
}

.phone-prefix {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 64px;
  min-height: 22px;
  padding: 0 14px;
  line-height: 1.4;
  font-size:var(--font-body);
  white-space: nowrap;
  color: var(--text-secondary);
  border-right: 1px solid var(--border-subtle);
}

.sms-code-button {
  flex: 0 0 auto;
  height: 34px;
  min-width: 98px;
  margin-right: 7px;
  border: 0;
  border-radius: 7px;
  padding: 0 12px;
  background: var(--surface-hover);
  color: var(--text-tertiary);
  font-size:var(--font-caption);
}

.sms-code-button:hover {
  background: var(--border-subtle);
  color: var(--text-primary);
}

.sms-code-button:disabled {
  cursor: default;
  color: var(--text-tertiary);
}

@media(max-width:760px) {
  .product-auth-header .header-logo .brand-logo {
    width: 78px;
  }

  .product-return-link {
    font-size:var(--font-caption);
  }
}
@media(max-width:760px) {
  .container {
    width: calc(100% - 40px);
  }

  .header-inner {
    height: 64px;
    gap: 15px;
  }
}

@media(max-width:360px) {
  .container {
    width: calc(100% - 32px);
  }

  .header-inner {
    gap: 8px;
  }
}

@media (min-width: 781px) and (max-width: 1100px) {
  .container { width: calc(100% - 64px); }
}

.auth-error { margin:16px 0 0; color:#a33c29; font-size:var(--font-body); line-height:1.8; }

.auth-mode-switch { display:flex; gap:4px; padding:4px; margin:0 0 26px; border-radius:12px; background:var(--surface-hover); }
.auth-mode-switch button { flex:1; min-height:38px; border:0; border-radius:9px; background:transparent; color:var(--text-tertiary); font-size:var(--font-body); }
.auth-mode-switch button[aria-pressed="true"] { background:#fff; color:var(--text-primary); box-shadow:0 1px 4px #0000000b; }
.auth-secondary-actions { display:flex; justify-content:center; gap:18px; margin-top:20px; }
.auth-secondary-actions button { border:0; padding:4px 0; background:transparent; color:var(--text-secondary); font-size:var(--font-small); }
.auth-secondary-actions button:hover { color:var(--text-primary); }
.password-toggle { flex:0 0 48px; min-height:36px; border:0; margin-right:6px; border-radius:7px; background:transparent; color:var(--text-secondary); font-size:var(--font-small); }
.password-toggle:hover { background:var(--surface-hover); }
