.saf-form-wrap {
	max-width: 640px;
	margin: 0 auto;
}

.saf-notice {
	padding: 12px 16px;
	border-radius: 4px;
	margin-bottom: 20px;
	font-size: 15px;
}

.saf-notice.saf-success {
	background: #e6f4ea;
	border: 1px solid #34a853;
	color: #1e4620;
}

.saf-notice.saf-error {
	background: #fce8e6;
	border: 1px solid #d93025;
	color: #5f1412;
}

.saf-form .saf-field {
	margin-bottom: 16px;
}

.saf-form .saf-row {
	display: flex;
	gap: 16px;
}

.saf-form .saf-row .saf-field {
	flex: 1;
}

.saf-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.saf-req {
	color: #d93025;
}

.saf-form input[type="text"],
.saf-form input[type="email"],
.saf-form input[type="tel"],
.saf-form input[type="date"],
.saf-form select,
.saf-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 15px;
	box-sizing: border-box;
}

.saf-form textarea {
	resize: vertical;
}

.saf-form input[type="file"] {
	width: 100%;
	padding: 8px 0;
	font-size: 14px;
	box-sizing: border-box;
}

.saf-form .saf-submit button {
	background: #2271b1;
	color: #fff;
	border: none;
	padding: 12px 28px;
	font-size: 16px;
	border-radius: 4px;
	cursor: pointer;
}

.saf-form .saf-submit button:hover {
	background: #135e96;
}

/* Honeypot field — hidden from real users, visible to bots that ignore CSS */
.saf-honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

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

/* Payment block shown on the success screen */
.saf-payment-block {
	margin-top: 24px;
	padding: 20px;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #fafafa;
	text-align: center;
}

.saf-payment-block h3 {
	margin-top: 0;
}

.saf-payment-block.saf-payment-done {
	background: #e6f4ea;
	border-color: #34a853;
}

.saf-payment-block.saf-payment-pending {
	background: #fff8e1;
	border-color: #f9a825;
}

.saf-razorpay-block {
	border-color: #3395ff;
	background: #eef7ff;
}

.saf-upi-qr {
	margin: 16px 0;
}

.saf-upi-qr img {
	max-width: 100%;
	height: auto;
	border: 1px solid #eee;
	padding: 8px;
	background: #fff;
}

.saf-upi-btn {
	display: inline-block;
	background: #2271b1;
	color: #fff;
	text-decoration: none;
	padding: 10px 24px;
	border-radius: 4px;
	font-weight: 600;
}

.saf-upi-btn:hover {
	background: #135e96;
	color: #fff;
}

.saf-upi-note {
	font-size: 13px;
	color: #666;
}

.saf-payment-ref-form {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #e0e0e0;
	text-align: left;
}

.saf-payment-ref-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 14px;
}

.saf-payment-ref-row {
	display: flex;
	gap: 10px;
}

.saf-payment-ref-row input[type="text"] {
	flex: 1;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.saf-payment-ref-row button {
	background: #333;
	color: #fff;
	border: none;
	padding: 10px 18px;
	border-radius: 4px;
	cursor: pointer;
	white-space: nowrap;
}

.saf-payment-ref-row button:hover {
	background: #111;
}

/* Multi-step wizard */
.saf-progress {
	display: flex;
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
}

.saf-progress li {
	flex: 1;
	text-align: center;
	font-size: 12px;
	color: #999;
	position: relative;
	min-width: 70px;
}

.saf-progress li span {
	display: block;
	width: 28px;
	height: 28px;
	line-height: 28px;
	border-radius: 50%;
	background: #eee;
	color: #666;
	margin: 0 auto 4px;
	font-weight: 600;
}

.saf-progress li.saf-active span {
	background: #2271b1;
	color: #fff;
}

.saf-progress li.saf-done span {
	background: #008a20;
	color: #fff;
}

.saf-form .saf-step h3 {
	margin-top: 0;
	border-bottom: 2px solid #2271b1;
	padding-bottom: 8px;
}

.saf-form .saf-step h4 {
	margin: 20px 0 10px;
	color: #444;
}

.saf-step-nav {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
}

.saf-step-nav button {
	padding: 10px 24px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 15px;
}

.saf-step-nav .saf-next,
.saf-step-nav .saf-submit-btn {
	background: #2271b1;
	color: #fff;
	margin-left: auto;
}

.saf-step-nav .saf-next:hover,
.saf-step-nav .saf-submit-btn:hover {
	background: #135e96;
}

.saf-step-nav .saf-prev {
	background: #eee;
	color: #333;
}

/* Drag & drop zones */
.saf-dropzone {
	border: 2px dashed #ccc;
	border-radius: 6px;
	padding: 16px;
	text-align: center;
	position: relative;
	background: #fafafa;
}

.saf-dropzone.saf-dragover {
	border-color: #2271b1;
	background: #eef5fc;
}

.saf-dropzone input[type="file"] {
	width: 100%;
	cursor: pointer;
}

.saf-dropzone-text {
	font-size: 13px;
	color: #777;
	margin: 8px 0 0;
}

.saf-dropzone-filename {
	font-size: 13px;
	font-weight: 600;
	color: #2271b1;
	margin: 4px 0 0;
}

.saf-dropzone-error {
	font-size: 13px;
	font-weight: 600;
	color: #d93025;
	margin: 6px 0 0;
}

.saf-dropzone.saf-dropzone-invalid {
	border-color: #d93025;
	background: #fce8e6;
}

/* Signature pad */
.saf-signature-wrap {
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff;
	display: inline-block;
	margin-bottom: 8px;
}

#saf-signature-pad {
	display: block;
	touch-action: none;
	cursor: crosshair;
}

#saf-signature-clear {
	background: #eee;
	border: 1px solid #ccc;
	padding: 6px 16px;
	border-radius: 4px;
	cursor: pointer;
}

/* -------------------------------------------------------------------------
 * Staff dashboard — [school_admission_dashboard]
 * ---------------------------------------------------------------------- */
.saf-dashboard-wrap {
	max-width: 1100px;
	margin: 0 auto;
	font-size: 14px;
	color: #202124;
}

.saf-dashboard-wrap.saf-dashboard-login {
	max-width: 380px;
	padding: 28px;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.saf-dashboard-wrap.saf-dashboard-login h3 {
	margin-top: 0;
}

/* Header */
.saf-dash-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.saf-dash-title {
	margin: 0 0 4px;
	font-size: 22px;
	font-weight: 700;
	color: #1a1a1a;
}

.saf-dash-topline {
	margin: 0;
	font-size: 13px;
	color: #666;
}

.saf-dash-logout {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 6px;
	border: 1px solid #ddd;
	background: #fff;
	color: #444;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.saf-dash-logout:hover {
	background: #f5f5f5;
	color: #111;
}

/* Stat cards */
.saf-dash-stats {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin-bottom: 20px;
}

.saf-dash-stat-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-left: 4px solid #999;
	border-radius: 8px;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.saf-dash-stat-num {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	color: #1a1a1a;
}

.saf-dash-stat-label {
	font-size: 12px;
	color: #777;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.saf-dash-stat-total { border-left-color: #2271b1; }
.saf-dash-stat-new { border-left-color: #2271b1; }
.saf-dash-stat-reviewed { border-left-color: #996800; }
.saf-dash-stat-accepted { border-left-color: #008a20; }
.saf-dash-stat-rejected { border-left-color: #d63638; }

/* Toolbar: status filter pills + export */
.saf-dash-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.saf-dash-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.saf-dash-filter-pill {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	background: #f1f3f4;
	color: #444;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	border: 1px solid transparent;
}

.saf-dash-filter-pill:hover {
	background: #e4e6e7;
	color: #222;
}

.saf-dash-filter-pill.saf-active {
	background: #eef5fc;
	border-color: #2271b1;
	color: #135e96;
}

/* Buttons */
.saf-dash-btn {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid transparent;
	line-height: 1.4;
}

.saf-dash-btn-primary {
	background: #2271b1;
	color: #fff;
	border-color: #2271b1;
}

.saf-dash-btn-primary:hover {
	background: #135e96;
	border-color: #135e96;
	color: #fff;
}

.saf-dash-btn-outline {
	background: #fff;
	color: #2271b1;
	border-color: #2271b1;
}

.saf-dash-btn-outline:hover {
	background: #eef5fc;
	color: #135e96;
}

.saf-dash-btn-small {
	padding: 5px 12px;
	font-size: 12px;
}

/* Bulk "Send Selection Status" bar */
.saf-dash-bulk-bar {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	background: #fafafa;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 14px;
}

.saf-dash-bulk-hint {
	font-size: 12.5px;
	color: #777;
}

/* Table */
.saf-dash-table-scroll {
	overflow-x: auto;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	background: #fff;
}

.saf-dash-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 920px;
}

.saf-dash-table th,
.saf-dash-table td {
	padding: 10px 12px;
	text-align: left;
	font-size: 13.5px;
	border-bottom: 1px solid #eee;
	vertical-align: middle;
}

.saf-dash-table thead th {
	background: #fafbfc;
	color: #555;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-bottom: 1px solid #e0e0e0;
	position: sticky;
	top: 0;
}

.saf-dash-table tbody tr:hover {
	background: #f8fbfe;
}

.saf-dash-checkbox-col {
	width: 34px;
	text-align: center;
}

.saf-dash-table td a {
	white-space: nowrap;
}

.saf-dash-payment-ref {
	margin-top: 4px;
	font-size: 12px;
	color: #50575e;
}

.saf-dash-doc-link {
	display: inline-block;
	margin: 0 8px 4px 0;
	padding: 2px 8px;
	border-radius: 4px;
	background: #f1f3f4;
	color: #2271b1;
	font-size: 12px;
	text-decoration: none;
}

.saf-dash-doc-link:hover {
	background: #eef5fc;
}

/* Per-row status/payment update tray */
.saf-dash-actions-row td {
	background: #fbfbfb;
	border-bottom: 1px solid #e5e5e5;
	padding: 10px 12px 14px;
}

.saf-dash-status-form {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin: 4px 16px 4px 0;
	font-size: 12.5px;
	color: #666;
}

.saf-dash-status-form label {
	display: inline-flex;
	gap: 6px;
	align-items: center;
}

.saf-dash-status-form select {
	padding: 5px 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 12.5px;
}

.saf-dash-amount-input {
	width: 80px;
	padding: 5px 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 12.5px;
}

.saf-dash-empty {
	text-align: center;
	color: #888;
	padding: 30px 12px !important;
}

/* Status / payment badges (frontend copy of the wp-admin badge styles) */
.saf-badge {
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	color: #fff;
	display: inline-block;
	white-space: nowrap;
}

.saf-badge-new { background: #2271b1; }
.saf-badge-reviewed { background: #996800; }
.saf-badge-accepted { background: #008a20; }
.saf-badge-rejected { background: #d63638; }
.saf-pay-badge-unpaid { background: #8c8f94; }
.saf-pay-badge-pending_verification { background: #996800; }
.saf-pay-badge-paid { background: #008a20; }

@media (max-width: 782px) {
	.saf-dash-stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.saf-dash-header {
		flex-direction: column;
	}
}
