/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./app/(auth)/login/login.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
.login_root__7yUph {
  min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) { .login_root__7yUph { grid-template-columns: 1fr; } }

/* ─── Left panel (green) ─── */
.login_left__dP6CP {
  /* 원칙 03 — 공식 네이버 그린은 연동 배지 전용. 자사 화면은 브랜드 그린 */
  background: linear-gradient(160deg, var(--brand) 0%, var(--brand-hover) 100%);
  display: flex; flex-direction: column;
  padding: 40px; gap: 40px;
}
@media (max-width: 768px) { .login_left__dP6CP { display: none; } }

.login_logo__iE0r_ {
  display: flex; align-items: center; gap: 10px;
  font-size: 18px; font-weight: 700; color: var(--on-brand); text-decoration: none;
}
.login_logo__iE0r_:hover { text-decoration: none; }
.login_logoMark__s4QWb {
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 8px;
  background: color-mix(in srgb, var(--on-brand) 22%, transparent); color: var(--on-brand);
  font-size: 17px; font-weight: 800;
}

.login_leftContent__39dIR {
  flex: 1 1; display: flex; flex-direction: column;
  justify-content: center; gap: 28px;
}
.login_tagline__IjZ73 {
  font-size: 24px; font-weight: 700; color: var(--on-brand); line-height: 1.5;
}
.login_features__6kp0w { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.login_features__6kp0w li {
  display: flex; align-items: center; gap: 10px;
  /* 흰색 고정이면 다크에서 밝은 그린 패널 위에 얹혀 1.9:1 로 사라진다.
   * --on-brand 는 패널 그린을 따라 뒤집히므로 두 테마 모두 안전하다. */
  font-size: 15px; color: color-mix(in srgb, var(--on-brand) 88%, transparent);
}
.login_check___cNuQ {
  display: flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: color-mix(in srgb, var(--on-brand) 22%, transparent);
  font-size: 12px; color: var(--on-brand); flex-shrink: 0;
}

/* ─── Right panel ─── */
.login_right__Py78t {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 40px 24px; gap: 24px;
  background: var(--bg);
}

.login_card__MvRO8 {
  width: 100%; max-width: 400px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-xl); padding: 40px 36px;
  box-shadow: var(--shadow);
  display: flex; flex-direction: column; gap: 20px;
}
@media (max-width: 480px) {
  .login_right__Py78t { padding: 24px 14px; }
  .login_card__MvRO8 { padding: 28px 22px; gap: 16px; }
  .login_title__PYRzi { font-size: 19px; }
}

.login_title__PYRzi { font-size: 22px; font-weight: 800; color: var(--text); line-height: 1.3; }
.login_sub__IN7eZ { font-size: 14px; color: var(--text-2); margin-top: -8px; }

.login_field__xvWu_ { display: flex; flex-direction: column; gap: 6px; }
.login_label__CuZiL { font-size: 13px; font-weight: 600; color: var(--text); }
.login_input__ILmXR {
  width: 100%; padding: 10px 14px;
  background: var(--bg); border: 1.5px solid var(--border);
  border-radius: var(--r-sm); color: var(--text); font-size: 14px;
  outline: none; transition: border-color .15s;
  font-family: inherit;
}
.login_input__ILmXR:focus { border-color: var(--accent); }
.login_input__ILmXR:disabled { opacity: .6; }

.login_error__zjQnZ { font-size: 13px; color: var(--red); margin-top: -8px; }

.login_btn__zhvuB {
  width: 100%; padding: 12px;
  background: var(--accent); color: var(--on-brand);
  border: none; border-radius: var(--r-sm);
  font-size: 15px; font-weight: 700;
  transition: background .15s, transform .1s;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--brand) 35%, transparent);
}
.login_btn__zhvuB:hover:not(:disabled) { background: var(--accent-hover); transform: translateY(-1px); }
.login_btn__zhvuB:disabled { opacity: .6; cursor: not-allowed; }

.login_note__LCFhz { font-size: 12px; color: var(--muted); text-align: center; line-height: 1.6; }

/* Sent state */
.login_sent__rdIRz {
  display: flex; flex-direction: column; align-items: center;
  gap: 12px; text-align: center; padding: 8px 0;
}
.login_sentIcon__ZaE23 { font-size: 40px; }
.login_sentTitle__vJo0Z { font-size: 18px; font-weight: 700; color: var(--text); }
.login_sentSub__2K0H1 { font-size: 14px; color: var(--text-2); line-height: 1.6; }
.login_resend__sa35O {
  background: none; border: 1px solid var(--border);
  border-radius: var(--r-sm); padding: 8px 20px;
  font-size: 13px; color: var(--text-2); margin-top: 4px;
  transition: border-color .15s, color .15s;
}
.login_resend__sa35O:hover { border-color: var(--accent); color: var(--accent); }

.login_back__GBKhn { font-size: 13px; color: var(--muted); text-decoration: none; }
.login_back__GBKhn:hover { color: var(--text); text-decoration: none; }

