
.auth-page {
  min-height: calc(100vh - 77px);
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.auth-visual {
  position: relative;
  overflow: hidden;
  min-height: 650px;
  padding: 70px;
  display: flex;
  align-items: flex-end;
  background:
    radial-gradient(circle at 75% 20%, rgba(249,115,22,.45), transparent 28%),
    radial-gradient(circle at 20% 80%, rgba(255,255,255,.12), transparent 30%),
    linear-gradient(145deg, #075a2a, #159447 58%, #0c6b35);
  color: white;
}
.auth-visual::before {
  content:"";
  position:absolute;
  width:480px;
  height:480px;
  right:-170px;
  top:-150px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
}
.auth-visual::after {
  content:"";
  position:absolute;
  width:650px;
  height:650px;
  left:-380px;
  bottom:-400px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
}
.auth-visual-content { position:relative; z-index:2; max-width:480px; }
.auth-visual-kicker {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:16px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  font-size:.65rem;
  font-weight:800;
}
.auth-visual h1 {
  margin:0;
  font-family:"Manrope";
  font-size:clamp(2.6rem,5vw,4.5rem);
  line-height:.98;
  letter-spacing:-.065em;
}
.auth-visual h1 em { color:#ffd5b9; font-style:normal; }
.auth-visual p { max-width:420px; margin:18px 0 0; color:rgba(255,255,255,.78); font-size:.86rem; line-height:1.75; }
.auth-quote {
  margin-top:35px;
  padding:16px 18px;
  border-left:2px solid #ff9a57;
  background:rgba(0,0,0,.08);
}
.auth-quote strong { display:block; font-size:.74rem; }
.auth-quote span { display:block; margin-top:4px; color:rgba(255,255,255,.65); font-size:.64rem; }

.auth-panel {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:55px 30px;
  background:var(--bg);
}
.auth-card { width:min(430px,100%); }
.auth-heading { margin-bottom:27px; }
.auth-heading h2 { margin:0 0 7px; font-family:"Manrope"; font-size:1.85rem; letter-spacing:-.05em; }
.auth-heading p { margin:0; color:var(--text-soft); font-size:.76rem; line-height:1.6; }
.auth-heading p a { color:var(--green); font-weight:800; }

.auth-form { display:flex; flex-direction:column; gap:17px; }
.auth-field { position:relative; }
.auth-field label { display:block; margin-bottom:7px; font-size:.7rem; font-weight:800; }
.auth-field input {
  width:100%;
  height:48px;
  padding:0 42px 0 42px;
  border:1px solid var(--border);
  border-radius:11px;
  outline:0;
  background:var(--surface);
  color:var(--text);
  font-size:.78rem;
}
.auth-field input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(22,163,74,.08); }
.auth-field > i:first-of-type {
  position:absolute;
  left:14px;
  bottom:16px;
  color:var(--text-soft);
  font-size:.75rem;
}
.password-toggle {
  position:absolute;
  right:8px;
  bottom:7px;
  width:34px;
  height:34px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--text-soft);
}
.auth-options { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:-3px; }
.remember { display:flex; align-items:center; gap:7px; color:var(--text-soft); font-size:.67rem; }
.remember input { accent-color:var(--green); }
.auth-link { color:var(--green); font-size:.67rem; font-weight:800; }
.auth-submit { width:100%; height:48px; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:22px 0; color:var(--text-soft); font-size:.62rem; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:var(--border); }
.auth-alt { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.auth-alt button {
  height:44px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  color:var(--text);
  font-size:.68rem;
  font-weight:800;
}
.auth-alt i { margin-right:5px; }
.auth-legal { margin-top:20px; color:var(--text-soft); text-align:center; font-size:.59rem; line-height:1.6; }
.auth-legal a { color:var(--green); font-weight:700; }

.password-strength { display:none; margin-top:7px; }
.password-strength.show { display:block; }
.strength-track { height:4px; border-radius:99px; background:var(--surface-2); overflow:hidden; }
.strength-track span { display:block; width:0; height:100%; transition:.2s; }
.strength-label { margin-top:4px; color:var(--text-soft); font-size:.58rem; }

.auth-error {
  display:none;
  margin-bottom:14px;
  padding:10px 12px;
  border-radius:9px;
  background:#fff0ec;
  color:#c6472e;
  font-size:.65rem;
  line-height:1.5;
}
.auth-error.show { display:block; }

@media (max-width:850px) {
  .auth-page { grid-template-columns:1fr; }
  .auth-visual { display:none; }
  .auth-panel { min-height:calc(100vh - 77px); }
}
@media (max-width:500px) {
  .auth-panel { padding:35px 18px; }
  .auth-heading h2 { font-size:1.6rem; }
  .auth-alt { grid-template-columns:1fr; }
}
