:root{--primary: #0f2847;--primary-hover: #163860;--accent: #0ea5e9;--bg-color: #f4f7f9;--surface: #ffffff;--border: #e2e8f0;--text-main: #0b192c;--text-muted: #64748b;--social-kakao: #FEE500;--social-kakao-text: #000000;--social-naver: #03C75A;--social-naver-text: #ffffff;--error: #ef4444;--success: #10b981}body{margin:0;padding:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-main);display:flex;justify-content:center;align-items:center;min-height:100vh}.auth-container{width:100%;max-width:480px;background-color:var(--surface);border:1px solid var(--border);border-radius:12px;padding:40px;box-shadow:0 10px 25px -5px #0f284714,0 4px 10px -2px #0f28470a;box-sizing:border-box;margin:40px 20px}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{font-size:2.2rem;font-weight:800;margin:0 0 10px;letter-spacing:-1px;color:var(--primary)}.auth-header h1 span{color:var(--accent)}.auth-header p{color:var(--text-muted);margin:0;font-size:.95rem}.form-section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--border)}.form-section:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:15px}.form-section-title{font-size:1.1rem;font-weight:700;color:var(--primary);margin-bottom:15px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--text-main)}.form-control{width:100%;padding:12px 14px;background-color:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-main);font-size:1rem;box-sizing:border-box;transition:all .2s ease}.form-control::placeholder{color:#94a3b8}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e926}.form-row{display:flex;gap:10px}.btn{width:100%;padding:14px;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;box-sizing:border-box;text-align:center}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-outline{background-color:transparent;border:1px solid var(--border);color:var(--text-main)}.btn-outline:hover{background-color:var(--bg-color);border-color:var(--primary);color:var(--primary)}.social-login{margin-top:30px}.divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:var(--text-muted);font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.divider:not(:empty):before{margin-right:.5em}.divider:not(:empty):after{margin-left:.5em}.btn-kakao{background-color:var(--social-kakao);color:var(--social-kakao-text);margin-bottom:10px}.btn-kakao:hover{background-color:#f4dc00}.btn-naver{background-color:var(--social-naver);color:var(--social-naver-text)}.btn-naver:hover{background-color:#02b350}.auth-links{margin-top:20px;text-align:center;font-size:.9rem}.auth-links a{color:var(--text-muted);text-decoration:none;margin:0 10px;transition:color .2s}.auth-links a:hover{color:var(--accent);text-decoration:underline}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.checkbox-label{display:flex;align-items:center;font-size:.95rem;color:var(--text-main);cursor:pointer;font-weight:500!important;padding:8px;border:1px solid var(--border);border-radius:6px;transition:background-color .2s,border-color .2s}.checkbox-label:hover{background-color:var(--bg-color)}.checkbox-label:has(input:checked){border-color:var(--accent);background-color:#0ea5e90d}.checkbox-label input[type=checkbox]{margin-right:8px;width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.other-input-group{margin-top:10px;display:none}.other-input-group.active{display:block}.select-group{display:flex;gap:10px}.select-control{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.feedback-text{font-size:.85rem;margin-top:6px;display:block}.feedback-text.error{color:var(--error)}.feedback-text.success{color:var(--success)}
