@charset "UTF-8";
:root{color:#1c1917;font-family:Inter,Pretendard,"Noto Sans KR",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-size:16px}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
.login-body{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:28px;background:#f5f5f4}
.login-layout{position:relative;width:min(980px,100%);min-height:610px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;background:rgba(255,255,255,.96);border:1px solid #e7e5e4;border-radius:24px;box-shadow:0 24px 70px rgba(28,25,23,.13)}
.login-showcase{padding:42px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;color:#fff;background:linear-gradient(135deg,#1c1917,#292524 65%,#44403c)}
.brand-mark{width:36px;height:36px;border-radius:11px;display:inline-grid;place-items:center;color:#fff;background:linear-gradient(145deg,#44403c,#1c1917);box-shadow:inset 0 1px rgba(255,255,255,.2),0 6px 16px rgba(28,25,23,.16)}
.brand-mark svg{width:20px;height:20px}
.eyebrow{display:block;color:#8b8580;font-size:11px;font-weight:800;letter-spacing:.15em}
.eyebrow.light{color:rgba(255,255,255,.58)}
.login-showcase h1{margin:14px 0 17px;font-size:clamp(38px,4vw,58px);font-weight:700;line-height:.98;letter-spacing:-.065em}
.login-showcase p{max-width:410px;margin:0;color:rgba(255,255,255,.58);font-size:15px;line-height:1.75}
.showcase-foot{color:rgba(255,255,255,.38);font-size:12px}
.login-card{padding:60px 52px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.login-heading{margin-bottom:28px}
.login-heading h2{margin:8px 0 7px;font-size:30px;font-weight:700;letter-spacing:-.04em}
.login-heading p{margin:0;color:#78716c;font-size:14px;line-height:1.6}
.stack-form{display:grid;gap:16px}
.form-field{display:grid;gap:7px}
.form-field label{color:#57534e;font-size:14px;font-weight:650}
.form-field input{width:100%;min-width:0;min-height:47px;padding:0 13px;color:#1c1917;background:#fff;border:1px solid #d6d3d1;border-radius:10px;font-size:15px;transition:border .14s ease,box-shadow .14s ease}
.form-field input::placeholder{color:#b5b0ac}
.form-field input:focus{outline:0;border-color:#78716c;box-shadow:0 0 0 3px rgba(120,113,108,.1)}
.password-field{position:relative}
.password-field input{padding-right:48px}
.toggle-password{position:absolute;top:1px;right:1px;bottom:1px;width:45px;display:grid;place-items:center;border:0;border-radius:0 9px 9px 0;background:transparent;color:#78716c}
.toggle-password svg{width:19px;height:19px}
.toggle-password:hover{color:#292524}
.primary-button{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-size:14px;font-weight:680;color:#fff;background:linear-gradient(145deg,#44403c,#292524);border:1px solid #1c1917;box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 12px rgba(28,25,23,.12);transition:transform .14s ease,box-shadow .14s ease}
.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px rgba(28,25,23,.09)}
.primary-button:disabled{opacity:.65;cursor:wait}
.primary-button svg{width:15px;height:15px}
.full-button{width:100%;min-height:46px;justify-content:space-between;padding:0 17px}
.login-links{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:2px;color:#d6d3d1;font-size:12px;flex-wrap:wrap}
.login-links a{color:#78716c;text-decoration:none}
.login-links a:hover{color:#292524;text-decoration:underline}
.login-notice{margin:0 0 20px;padding:12px 14px;border:1px solid #e7e5e4;border-radius:10px;background:#fafaf9;color:#57534e;font-size:13px;line-height:1.65}
.login-alert{width:min(420px,calc(100% - 32px));border:1px solid #e7e5e4;border-radius:18px;padding:24px;color:#1c1917;box-shadow:0 24px 70px rgba(28,25,23,.2)}
.login-alert::backdrop{background:rgba(28,25,23,.45)}
.login-alert h2{margin:0 0 12px;font-size:20px}
.login-alert p{margin:0 0 22px;font-size:14px;line-height:1.7}
.login-alert form{display:flex;justify-content:flex-end}
a:focus-visible,button:focus-visible{outline:3px solid #a8a29e;outline-offset:3px}
@media(max-width:800px){.login-layout{grid-template-columns:1fr;min-height:0;max-width:520px}.login-showcase{min-height:260px;padding:30px;gap:24px}.login-showcase h1{font-size:40px}.showcase-foot{display:none}.login-card{padding:38px 30px}}
@media(max-width:480px){.login-body{padding:14px}.login-showcase{min-height:230px}.login-card{padding:32px 24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
