:root { --accent:#0f766e; --accent-dark:#0b625c; --text:#1f2937; --muted:#667085; --line:rgba(15,23,42,.12); }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; padding:24px; font-family:"Noto Sans KR",sans-serif; color:var(--text); background:radial-gradient(circle at top left,rgba(15,118,110,.16),transparent 30%),linear-gradient(180deg,#f8f5ef,#eef3f2); }
.auth-shell { width:min(760px,100%); }
.back-link { display:inline-block; margin-bottom:18px; color:var(--accent); font-weight:700; text-decoration:none; }
.auth-card { padding:clamp(26px,5vw,48px); border:1px solid rgba(255,255,255,.7); border-radius:28px; background:rgba(255,255,255,.9); box-shadow:0 22px 60px rgba(15,23,42,.1); }
.eyebrow { margin:0 0 6px; color:var(--accent); font-size:.8rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(1.8rem,4vw,2.5rem); }
.auth-description { margin:10px 0 28px; color:var(--muted); }
.login-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:10px; align-items:end; }
.signup-form { display:grid; gap:16px; }
.birth-parts { display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; }
.birth-parts input { text-align:center; }
label { display:grid; gap:7px; font-size:.9rem; font-weight:700; }
input,select { width:100%; min-height:50px; padding:12px 15px; border:1px solid var(--line); border-radius:13px; background:#fff; font:inherit; }
input:focus,select:focus { outline:3px solid rgba(15,118,110,.14); border-color:var(--accent); }
button,.button-link { min-height:50px; padding:12px 22px; border:0; border-radius:13px; font:inherit; font-weight:800; cursor:pointer; text-decoration:none; display:inline-grid; place-items:center; }
.primary-button { color:#fff; background:var(--accent); }
.primary-button:hover { background:var(--accent-dark); }
.secondary-button { width:100%; margin-top:14px; color:var(--accent); background:rgba(15,118,110,.1); }
.text-button { min-height:auto; margin:14px 0 0; padding:4px 0; color:var(--accent); background:transparent; }
.auth-status { margin:16px 0 0; padding:12px 14px; border-radius:12px; color:#9f1239; background:#fff1f2; font-size:.9rem; }
.auth-status.success { color:#166534; background:#f0fdf4; }
.account-info { display:grid; gap:2px; margin-bottom:18px; border-top:1px solid var(--line); }
.account-info p { display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; margin:0; padding:15px 4px; border-bottom:1px solid var(--line); }
.account-info strong { color:var(--muted); }
@media (max-width:680px) { .login-row { grid-template-columns:1fr; } .login-row button { width:100%; } }
