/* ==============================================================================
   deviers login theme — 26-10-01 디자인 마이그레이션 Phase 3
   로그인 페이지(/login/) 전용. tokens.css + theme.css 뒤에 로드된다.
   동작(form/모달/AJAX)은 건드리지 않고 외관만 재정의.
   ============================================================================== */

/* 배경: 화이트톤 + 은은한 액센트/성공색 방사 틴트 (짙은 배경 없음 — 서비스 특성상 화면 전체가 밝아야 함) */
body {
	min-height: 100vh;
	background:
		radial-gradient(1100px 520px at 15% -10%, #eef2ff 0%, rgba(238, 242, 255, 0) 60%),
		radial-gradient(900px 460px at 110% 115%, #e8f7ee 0%, rgba(232, 247, 238, 0) 55%),
		var(--dv-bg);
}
html {
	background: var(--dv-bg);
}

/* 브랜드 마크 (내브바와 동일 구성) */
.login_brand {
	text-align: center;
	padding: 10px 0 6px;
}
.login_brand img {
	width: 44px;
	height: auto;
	vertical-align: middle;
}
.login_wordmark {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: .04em;
	color: var(--dv-text-1);
	vertical-align: middle;
	margin-left: 8px;
}

/* 카드(패널) */
.login-panel {
	border: 0 !important;
	border-radius: var(--dv-radius-xl);
	box-shadow: 0 10px 34px rgba(20, 27, 45, .08), 0 1px 2px rgba(20, 27, 45, .04);
	background: var(--dv-surface);
	overflow: hidden;
}
.login-panel .panel-heading {
	background: transparent;
	border-bottom: 0;
	padding: 30px 28px 10px;
	text-align: center;
}
.login-panel .panel-heading img {
	width: 44px;
	max-width: 44px;
	height: auto;
}
.login-panel .panel-body {
	padding: 6px 30px 34px;
}

/* 입력폼 */
.login-panel .form-group { margin-bottom: 14px; }
.login-panel .form-control {
	height: 46px;
	font-size: 14.5px;
	border-radius: var(--dv-radius-lg);
	padding: 8px 14px;
	border-color: var(--dv-border-strong);
}
.login-panel .form-control:focus {
	border-color: var(--dv-accent);
	box-shadow: var(--dv-focus-ring);
}

/* 주요 버튼: 로그인 = 액센트 채움 */
.login-panel .btn-outline.btn-default {
	background-color: var(--dv-accent);
	border-color: var(--dv-accent);
	color: var(--dv-text-inverse);
	font-weight: 700;
	height: 46px;
	border-radius: var(--dv-radius-lg);
	transition: all var(--dv-transition);
}
.login-panel .btn-outline.btn-default:hover,
.login-panel .btn-outline.btn-default:focus {
	background-color: var(--dv-accent-hover);
	border-color: var(--dv-accent-hover);
	color: var(--dv-text-inverse);
}
.login-panel .btn-outline.btn-default:active {
	transform: scale(.98);
}

/* 회원가입: 부드러운 위험색 강조 */
.login-panel .btn-danger.btn-block {
	background-color: var(--dv-danger-tint);
	border: 1px solid #f4c7c7;
	color: var(--dv-danger);
	font-weight: 700;
	height: 46px;
	border-radius: var(--dv-radius-lg);
	transition: all var(--dv-transition);
}
.login-panel .btn-danger.btn-block:hover,
.login-panel .btn-danger.btn-block:focus {
	background-color: #fbdfdf;
	border-color: #eeb4b4;
	color: var(--dv-danger-hover);
}

/* APK 다운로드 버튼(app 파라미터) */
.login-panel .btn-success.btn-block,
.login-panel .btn-info.btn-block {
	height: 46px;
	border-radius: var(--dv-radius-lg);
	font-weight: 600;
}

/* 아이디 찾기 / 비밀번호 초기화: 텍스트 링크처럼 */
.login-panel .text-right { margin-top: 6px; }
.login-panel .text-right .btn {
	border: 0;
	background: transparent;
	color: var(--dv-text-2);
	font-weight: 600;
	box-shadow: none;
	transition: color var(--dv-transition);
}
.login-panel .text-right .btn:hover,
.login-panel .text-right .btn:focus {
	background: transparent;
	color: var(--dv-accent);
}

/* 모바일: 카드 여백 정리 */
@media (max-width: 767px) {
	.login-panel { margin-top: 12vh !important; }
	.login-panel .panel-body { padding: 6px 22px 28px; }
}

/* 가입 모달(체험상품 선택 라디오 카드) — 페이지 내 <style> 블록보다 뒤에서 보정 */
.login-panel ~ * .modal-content,
.modal_edit_user .modal-content {
	border-radius: var(--dv-radius-xl);
}
.modal_edit_user .panel-green .panel-heading {
	font-weight: 700;
}
