/* 승인된 새벽 농장 시안. 다른 로그인 디자인과 인증 동작에 영향을 주지 않는다. */
#loginPage[data-login-design="dawn"] {
  --ld-bg:#f1f1e8; --ld-panel:#faf8ef; --ld-input:#fffef9; --ld-ink:#284b40; --ld-muted:#5d6e60;
  --ld-line:#bec8b6; --ld-accent:#355b49; --ld-accent-ink:#fffdf5; --ld-error:#914931;
  color-scheme:light; max-width:none; margin:0; container-type:normal;
  background:var(--ld-bg); color:var(--ld-ink); overflow-y:auto;
}
#loginPage[data-login-design="dawn"] .login-shell {
  position:relative; isolation:isolate; width:100%; max-width:1180px; min-width:0; margin:24px auto;
  overflow:hidden; border:1px solid #d9dece; border-radius:22px; background:var(--ld-panel); box-shadow:0 12px 40px #293c3310;
}
#loginPage[data-login-design="dawn"] .login-header {
  position:relative; z-index:2; padding:18px 28px; gap:12px; background:#faf8ef; border-color:#dce0d0;
}
#loginPage[data-login-design="dawn"] .login-wordmark { color:#284b40; }
#loginPage[data-login-design="dawn"] .login-wordmark>span { background:#edf0e4; color:#355b49; border-color:#c5ceb9; }
#loginPage[data-login-design="dawn"] .login-wordmark small { color:#5d6e60; font-size:11px; }
#loginPage[data-login-design="dawn"] .time-display { align-items:center; color:#5d6e60; font-size:12px; gap:10px; }
#loginPage[data-login-design="dawn"] .preview-notice {
  position:relative; z-index:2; background:#f0f3e6; color:#4d6152; border-color:#dce0d0;
}
#loginPage[data-login-design="dawn"] .login-layout {
  display:grid; grid-template-columns:minmax(0,62fr) minmax(0,38fr); align-items:stretch;
  position:relative; z-index:1; min-width:0; max-width:none; margin:0; padding:0; gap:0;
}
#loginPage[data-login-design="dawn"] .login-story {
  display:block; position:relative; isolation:isolate; overflow:hidden; order:0;
  min-height:642px; min-width:0; margin:0; padding:0; background:#e9dfbd;
}
#loginPage[data-login-design="dawn"] .login-story::before { content:none; }
#loginPage[data-login-design="dawn"] .hsd-scenery {
  --hsd-glow:.4; position:absolute; inset:0; overflow:hidden; pointer-events:none;
}
#loginPage[data-login-design="dawn"] .hsd-scenery::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,#fff7df70 0%,#fff4d71a 40%,#263b1b13 100%);
}
#loginPage[data-login-design="dawn"] .hsd-art {
  position:absolute; inset:-9px; width:calc(100% + 18px); height:calc(100% + 18px); max-width:none;
  object-fit:cover; object-position:42% 65%; filter:sepia(.066) saturate(1.03); will-change:transform;
}
#loginPage[data-login-design="dawn"] .hsd-sunlight {
  position:absolute; inset:-45% -20%; pointer-events:none; mix-blend-mode:soft-light; opacity:var(--hsd-glow);
  background:conic-gradient(from 30deg at 58% 35%,transparent 0deg,#ffeebe70 14deg,transparent 28deg,transparent 44deg,#fff6cc90 58deg,transparent 76deg,transparent 360deg);
  animation:hanul-dawn-daylight 16s ease-in-out infinite alternate;
}
#loginPage[data-login-design="dawn"] .hsd-touch-light {
  position:absolute; inset:0; opacity:0; pointer-events:none; mix-blend-mode:soft-light;
  background:radial-gradient(circle 105px at var(--hsd-touch-x,50%) var(--hsd-touch-y,55%),#fff8d5dc,transparent);
}
#loginPage[data-login-design="dawn"] .hsd-dust {
  position:absolute; width:4px; height:4px; border-radius:50%; background:#fff9d5; box-shadow:0 0 10px #ffefc9;
  left:var(--hsd-x); top:var(--hsd-y); opacity:0; pointer-events:none;
  animation:hanul-dawn-pollen var(--hsd-duration) ease-in-out infinite; animation-delay:var(--hsd-delay);
}
#loginPage[data-login-design="dawn"] .hsd-dust:nth-of-type(3n) { width:3px; height:3px; }
#loginPage[data-login-design="dawn"] .hsd-copy {
  position:relative; z-index:2; margin:55px 36px 0; max-width:440px; color:#284b40; text-shadow:0 1px 16px #fff9e8aa;
}
#loginPage[data-login-design="dawn"] .hsd-copy h2 {
  margin:0; font:400 clamp(26px,2.85vw,35px)/1.65 'Gowun Batang','Batang',serif;
  letter-spacing:-.065em; word-break:keep-all; overflow-wrap:anywhere; color:#284b40;
}
#loginPage[data-login-design="dawn"] .hsd-copy h2 span { display:block; }
#loginPage[data-login-design="dawn"] .hsd-copy p { margin:18px 0 0; font-size:11px; letter-spacing:.18em; color:#4c6048; }
#loginPage[data-login-design="dawn"] .hsd-sign {
  position:absolute; z-index:2; bottom:25px; left:36px; right:24px; display:flex; align-items:center; gap:12px;
  margin:0; color:#fcf9ed; font-size:11px; letter-spacing:.07em; text-shadow:0 1px 8px #293929;
}
#loginPage[data-login-design="dawn"] .hsd-sign::before { content:''; width:30px; height:1px; flex:none; background:currentColor; }
#loginPage[data-login-design="dawn"] .login-container {
  display:flex; flex-direction:column; justify-content:center; order:1;
  min-width:0; width:100%; max-width:none; margin:0; padding:0; background:linear-gradient(145deg,#fffdf5,#f6f4e9);
}
#loginPage[data-login-design="dawn"] .login-box {
  width:100%; min-width:0; margin:0; padding:40px clamp(22px,3.3vw,44px); border:0; border-radius:0;
  background:transparent; box-shadow:none;
}
#loginPage[data-login-design="dawn"] .logo-section { text-align:left; margin-bottom:25px; }
#loginPage[data-login-design="dawn"] .logo-section::before {
  content:'SINCE 1993'; display:block; margin:0 0 9px; font-size:11px; letter-spacing:.23em; color:#6a775f;
}
#loginPage[data-login-design="dawn"] .logo-icon { display:none; }
#loginPage[data-login-design="dawn"] .logo-text {
  font-family:'Gowun Batang','Batang',serif; font-size:clamp(26px,2.45vw,31px); font-weight:400;
  color:#284b40; line-height:1.5; letter-spacing:-.065em;
}
#loginPage[data-login-design="dawn"] .logo-subtitle { color:#5d6e60; font-size:13px; }
#loginPage[data-login-design="dawn"] .lang-toggle { background:#f0f2e8; border-color:#c7cebd; margin-bottom:23px; }
#loginPage[data-login-design="dawn"] .lang-btn {
  min-height:44px; color:#4d6152!important; background:#fffef9!important; font-size:14px;
}
#loginPage[data-login-design="dawn"] .lang-btn.active { color:#fffdf5!important; background:#355b49!important; }
#loginPage[data-login-design="dawn"] .form-group { margin-bottom:21px; }
#loginPage[data-login-design="dawn"] .form-label { font-size:13px; color:#4d6152; }
#loginPage[data-login-design="dawn"] .form-select {
  min-height:49px; font-size:16px; background:#fffef9; color:#345440; border-color:#bec8b6; margin-bottom:0;
}
#loginPage[data-login-design="dawn"] .pin-container { gap:9px; }
#loginPage[data-login-design="dawn"] .pin-input {
  height:54px; font-size:24px; border-radius:9px; color:#304c3b; background:#fffef9; border-color:#bec8b6;
  transition:border-color .2s,background .2s,box-shadow .2s;
}
#loginPage[data-login-design="dawn"] .pin-input.filled { border-color:#819b77; background:#f0f4e7; box-shadow:0 0 13px #d5daa540; }
#loginPage[data-login-design="dawn"] .pin-input.error { border-color:var(--ld-error); }
#loginPage[data-login-design="dawn"] .auto-login-wrapper { margin-bottom:21px; }
#loginPage[data-login-design="dawn"] .auto-login-label { color:#4d6152; font-size:13px; }
#loginPage[data-login-design="dawn"] .login-btn {
  min-height:50px; border-radius:9px; background:#355b49!important; color:#fffdf5!important;
  box-shadow:0 4px 13px #34593d16; font-size:16px;
}
#loginPage[data-login-design="dawn"] .login-footer {
  position:relative; z-index:2; background:#faf8ef; border-color:#dce0d0; color:#5d6e60;
  padding:16px 28px; font-size:11px;
}
#loginPage[data-login-design="dawn"][data-login-effects-playing="false"] .hsd-sunlight,
#loginPage[data-login-design="dawn"][data-login-effects-playing="false"] .hsd-dust { animation-play-state:paused; }
#loginPage[data-login-design="dawn"][data-login-effects-playing="false"] .hsd-art { transform:none!important; }
#loginPage[data-login-design="dawn"][data-login-effects-playing="false"] .hsd-touch-light { opacity:0!important; }
@keyframes hanul-dawn-daylight { from { transform:rotate(-6deg); opacity:calc(var(--hsd-glow)*.5); } to { transform:rotate(7deg); opacity:var(--hsd-glow); } }
@keyframes hanul-dawn-pollen { 0%,100% { transform:translate(0,15px); opacity:0; } 35% { opacity:.75; } 70% { transform:translate(18px,-38px); opacity:.35; } }
@media (max-width:760px) {
  #loginPage[data-login-design="dawn"] .login-shell { margin:0; border:0; border-radius:0; }
  #loginPage[data-login-design="dawn"] .login-header { padding:15px 20px; gap:12px; }
  #loginPage[data-login-design="dawn"] .time-display { gap:9px; font-size:11px; }
  #loginPage[data-login-design="dawn"] .time-display .time { display:none; }
  #loginPage[data-login-design="dawn"] .login-layout { display:flex; flex-direction:column; gap:0; padding:0; }
  #loginPage[data-login-design="dawn"] .login-story { min-height:0; height:clamp(270px,72vw,300px); flex:none; width:100%; }
  #loginPage[data-login-design="dawn"] .hsd-art { object-position:35% 70%; transform:none!important; }
  #loginPage[data-login-design="dawn"] .hsd-copy { margin:26px 24px 0; max-width:360px; }
  #loginPage[data-login-design="dawn"] .hsd-copy h2 { font-size:25px; line-height:1.55; letter-spacing:-.065em; }
  #loginPage[data-login-design="dawn"] .hsd-copy p { font-size:11px; margin-top:11px; letter-spacing:.14em; }
  #loginPage[data-login-design="dawn"] .hsd-sign { bottom:17px; left:24px; font-size:11px; gap:9px; }
  #loginPage[data-login-design="dawn"] .hsd-desktop-dust { display:none; }
  #loginPage[data-login-design="dawn"] .hsd-sunlight { inset:-30% -10%; animation-duration:20s; }
  #loginPage[data-login-design="dawn"] .login-container { max-width:none; margin:0; }
  #loginPage[data-login-design="dawn"] .login-box { max-width:460px; margin:0 auto; padding:28px 26px; }
  #loginPage[data-login-design="dawn"] .logo-section { margin-bottom:22px; }
  #loginPage[data-login-design="dawn"] .logo-text { font-size:29px; }
  #loginPage[data-login-design="dawn"] .form-group { margin-bottom:19px; }
  #loginPage[data-login-design="dawn"] .login-footer { padding:16px 24px; }
}
@media (prefers-reduced-motion:reduce) {
  #loginPage[data-login-design="dawn"] .hsd-sunlight,#loginPage[data-login-design="dawn"] .hsd-dust { animation:none!important; }
  #loginPage[data-login-design="dawn"] .hsd-art { transform:none!important; }
  #loginPage[data-login-design="dawn"] .hsd-touch-light { opacity:0!important; }
  #loginPage[data-login-design="dawn"] .pin-input { transition:none; }
}

/* PC 에서는 그림이 화면을 꽉 채운다.
   좁은 창에 갇혀 좌우에 빈 여백만 남던 것을 없앤다. 로그인 상자는 제 폭을 지킨다.
   모바일에서 이미 쓰는 '가장자리까지 붙이기' 를 큰 쪽에도 그대로 적용한다. */
@media(min-width:761px) {
  #loginPage[data-login-design="dawn"] .login-shell {
    max-width:none; margin:0; border-radius:0; border-left:0; border-right:0;
    min-height:100vh; min-height:100dvh;
  }
  /* 칸이 넓어져도 로그인 입력은 읽기 좋은 폭을 지킨다 */
  #loginPage[data-login-design="dawn"] .login-container { max-width:480px; margin:0 auto; }

  /* 본문이 남는 높이를 채운다 (그러지 않으면 아래가 크게 빈다) */
  #loginPage[data-login-design="dawn"] .login-shell { display:flex; flex-direction:column; }
  #loginPage[data-login-design="dawn"] .login-layout { flex:1 1 auto; min-height:0; }
}
