.afpon-conf-wrap {
	max-width: 720px;
	margin: 0 auto;
	font-family: inherit;
	box-sizing: border-box;
}
.afpon-conf-wrap * { box-sizing: border-box; }
.afpon-conf-header { text-align: center; margin-bottom: 24px; }
.afpon-conf-header h2 { margin-bottom: 4px; }
.afpon-conf-dates { color: #666; font-size: 14px; }

.afpon-conf-notice, .afpon-conf-banner {
	padding: 14px 18px;
	border-radius: 6px;
	margin-bottom: 20px;
	background: #f0f6ff;
	border: 1px solid #cfe0ff;
	color: #1b3a6b;
}
.afpon-conf-banner-success { background: #eafaf0; border-color: #b7ebc6; color: #1a6b3a; }
.afpon-conf-banner-error { background: #fdeeee; border-color: #f4c6c6; color: #7a1c1c; }

.afpon-conf-form { background: #fff; border: 1px solid #e5e5e5; border-radius: 10px; padding: 28px; }
.afpon-conf-row { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 4px; }
.afpon-conf-field { flex: 1 1 240px; margin-bottom: 16px; }
.afpon-conf-field label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.afpon-conf-field .req { color: #d63638; }
.afpon-conf-field input,
.afpon-conf-field select,
.afpon-conf-field textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
}
.afpon-conf-total {
	background: #f7f7f7;
	border-radius: 6px;
	padding: 14px 16px;
	margin: 12px 0 20px;
	font-size: 16px;
}
.afpon-conf-total strong { float: right; color: #0a7c3e; font-size: 18px; }
.afpon-conf-submit {
	width: 100%;
	background: #0a3d62;
	color: #fff;
	border: none;
	padding: 14px 20px;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background .2s ease;
}
.afpon-conf-submit:hover { background: #0d4f7c; }
.afpon-conf-submit:disabled { opacity: .6; cursor: not-allowed; }
.afpon-conf-security-note { font-size: 12px; color: #888; text-align: center; margin-top: 10px; }

.afpon-conf-alert { padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; }
.afpon-conf-alert-success { background: #eafaf0; color: #1a6b3a; border: 1px solid #b7ebc6; }
.afpon-conf-alert-error { background: #fdeeee; color: #7a1c1c; border: 1px solid #f4c6c6; }

.afpon-conf-status-wrap h3 { text-align: center; }
.afpon-conf-status-table { width: 100%; border-collapse: collapse; margin-top: 16px; }
.afpon-conf-status-table th, .afpon-conf-status-table td { padding: 10px; border: 1px solid #eee; text-align: left; font-size: 13px; }
.afpon-conf-status-table th { background: #f7f7f7; }

.afpon-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; background: #eee; text-transform: capitalize; }
.afpon-badge-success { background: #d7f5e3; color: #0a7c3e; }
.afpon-badge-warning { background: #fff3cd; color: #916c00; }
.afpon-badge-danger { background: #fbe1e1; color: #a32020; }

/* Modal Popup */
.afpon-conf-modal-overlay {
	position: fixed; inset: 0; background: rgba(10,20,35,.65);
	z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px;
}
.afpon-conf-modal-box {
	background: #fff; border-radius: 12px; max-width: 480px; width: 100%;
	padding: 32px 28px; position: relative; box-shadow: 0 20px 60px rgba(0,0,0,.3);
	text-align: center;
}
.afpon-conf-modal-close {
	position: absolute; top: 10px; right: 14px; background: none; border: none;
	font-size: 24px; cursor: pointer; color: #888; line-height: 1;
}
.afpon-conf-modal-close:hover { color: #222; }
.afpon-conf-modal-content { margin: 12px 0 20px; color: #444; }
.afpon-conf-modal-btn {
	display: inline-block; background: #0a3d62; color: #fff !important; padding: 12px 26px;
	border-radius: 6px; text-decoration: none; font-weight: 600;
}
.afpon-conf-modal-btn:hover { background: #0d4f7c; }

@media (max-width: 600px) {
	.afpon-conf-row { flex-direction: column; gap: 0; }
	.afpon-conf-form { padding: 18px; }
}
