.gps-form-wrap, .gps-absensi-wrap {
	max-width: 520px;
	margin: 0 auto;
	font-family: inherit;
}

.gps-event-info {
	background: #FBF3E4;
	border: 1px solid #E8D6AE;
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 18px;
	text-align: center;
}
.gps-event-info strong { display: block; color: #8A5A17; font-size: 16px; margin-bottom: 4px; }
.gps-event-info span { color: #7a6a52; font-size: 13px; }

.gps-gender-toggle {
	display: flex;
	background: #F2ECE0;
	border-radius: 999px;
	padding: 4px;
	margin-bottom: 18px;
}
.gps-gender-btn {
	flex: 1;
	border: none;
	background: transparent;
	padding: 12px 0;
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: #8A5A17;
	cursor: pointer;
	transition: all 0.15s ease;
}
.gps-gender-btn.active {
	background: #A9762F;
	color: #fff;
}

.gps-form-wrap label, .gps-absensi-wrap label {
	display: block;
	font-weight: 600;
	color: #8A5A17;
	margin: 14px 0 6px;
}

.gps-form-wrap input[type="text"],
.gps-form-wrap input[type="number"],
.gps-form-wrap select,
.gps-form-wrap textarea,
.gps-absensi-wrap input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px solid #ddd;
	background: #fff;
	font-size: 15px;
}
.gps-form-wrap input[readonly] {
	background: #f4f4f4;
	color: #666;
}

.gps-required { color: #c0392b; }

.gps-hint { font-size: 12.5px; color: #8a8a8a; margin-top: 8px; }

.gps-btn {
	display: inline-block;
	width: 100%;
	text-align: center;
	padding: 14px 0;
	border-radius: 999px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	margin-top: 14px;
	font-size: 15px;
}
.gps-btn-primary { background: #A9762F; color: #fff; }
.gps-btn-primary:hover { background: #8A5A17; }
.gps-btn-outline { background: #fff; border: 2px solid #A9762F; color: #A9762F; }
.gps-btn:disabled { opacity: 0.6; cursor: not-allowed; }

.gps-notice {
	padding: 12px 14px;
	border-radius: 10px;
	margin: 10px 0;
	font-size: 14px;
}
.gps-notice-error { background: #FBEAEA; color: #b02a2a; border: 1px solid #f0c2c2; }
.gps-notice-success { background: #EAF7EE; color: #1e7a3d; border: 1px solid #bfe6cb; }
.gps-notice-info { background: #EAF2FB; color: #1c5a99; border: 1px solid #bcd7f2; }

.gps-notice-tutup { text-align: center; padding: 20px 16px; }
.gps-notice-tutup strong { display: block; font-size: 16px; margin-bottom: 8px; }
.gps-notice-tutup p { margin: 0; }

.gps-inline-option { font-weight: 400 !important; margin: 4px 0; }

.gps-or-divider {
	display: flex;
	align-items: center;
	text-align: center;
	color: #999;
	font-size: 13px;
	margin: 18px 0;
}
.gps-or-divider::before, .gps-or-divider::after {
	content: "";
	flex: 1;
	border-bottom: 1px solid #e5e0d5;
}
.gps-or-divider span { padding: 0 12px; }

.gps-link-kembali {
	display: inline-block;
	color: #A9762F;
	font-size: 13px;
	text-decoration: none;
	margin-bottom: 6px;
}
.gps-link-kembali:hover { text-decoration: underline; }

.gps-pesan-sukses {
	margin-top: 18px;
	padding: 4px 2px;
	font-size: 14.5px;
	line-height: 1.6;
	color: #444;
}
.gps-pesan-sukses p { margin: 0 0 12px; }

.gps-sukses-box {
	text-align: center;
	background: #FBF3E4;
	border-radius: 16px;
	padding: 28px 20px;
	border: 1px solid #E8D6AE;
}
.gps-sukses-box h3 { color: #8A5A17; margin: 0 0 10px; }
.gps-no-pendaftaran {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 1px;
	color: #A9762F;
	margin-bottom: 16px;
}
#gpsQrCodeContainer {
	display: flex;
	justify-content: center;
	margin: 10px 0 16px;
}

.gps-scan-box, .gps-manual-box {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 14px;
	padding: 16px;
	margin-bottom: 16px;
	text-align: center;
}
#gpsQrReader { margin-top: 14px; border-radius: 12px; overflow: hidden; }
