:root { -
	-bg: #f5f6f8; -
	-card: #ffffff; -
	-text: #111827; -
	-muted: #6b7280; -
	-brand: #1a73e8; /* 활성화 버튼 색 */ -
	-line: #e5e7eb; -
	-radius: 16px; -
	-shadow: 0 8px 28px rgba(16, 24, 40, 0.08);
}

*, *::before, *::after {
	box-sizing: border-box;
}

html, body {
	height: 100%;
}

body {
	margin: 0;
	font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,
		Noto Sans KR, Helvetica, Arial, "Apple SD Gothic Neo", "Malgun Gothic",
		sans-serif;
	background: var(- -bg);
	color: var(- -text);
	-webkit-font-smoothing: antialiased;
}

.wrap {
	min-height: 100%;
	display: grid;
	place-items: center;
	padding: 24px;
}

.login-card {
	width: 100%;
	max-width: 440px;
	background: #FDFDFD;
	border: 1px solid #EFEFEF;
	border-radius: 1px;
	padding: 28px 28px 30px;
}

.topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.place-badge {
	padding: 6px 0px;
}

.logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 8px 0 18px;
}

.logo .dot {
	color: #ef4444;
}

.logo small {
	font-family: Pretendard;
	font-weight: 400;
	font-size: 20px;
	line-height: 100%;
	color: #000000;
	margin-top: 5px;
}

form {
	display: grid;
	gap: 14px;
}

.field {
	display: grid;
	gap: 8px;
}

.label {
	font-family: Pretendard;
	font-weight: 500;
	font-size: 18px;
	line-height: 100%;
	letter-spacing: 0%;
	color: #333333;
}

.input {
	width: 100%;
	height: 45px;
	border: 1px solid #B9B9B9;
	border-radius: 5px;
	padding: 0 12px;
	font-size: 16px;
	background: #fff;
}
.input:focus {
	outline: none;
}

.row {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: space-between;
}

.checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	user-select: none;
	color: #374151;
	font-size: 14px;
}

.btn-login {
	width: 100%;
    padding: 14px 16px;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    background: #A1A1A1;
    color: #FFFFFF;
}

.btn-login.active {
    background: #0075FF;
    color: #FFFFFF;
}

.btn-login.active:active {
    color: #fff;
    background-color: #1848ff;
    border-color: #002cd5;
}

.btn-login.active:hover {
    color: #fff;
    background-color: #1848ff;
    border-color: #002cd5;
}

.ad {
	margin-top: 18px;
	width: 100%;     /* 부모 가로폭에 맞춤 */
	height: auto;    /* 세로 자동 조절 */
	border-radius: 12px;
	display: block;
	max-width: 440px;
}

/* 작은 화면 보정 */
@media ( max-width : 420px) {
	.login-card {
		padding: 24px 18px 30px;
	}
}