.as-form-wrap {
	max-width: 680px;
	margin: 0 auto;
	padding: 20px 0 60px;
}

.as-guidelines {
	background: #f7f7f7;
	border-left: 3px solid #1a1a1a;
	padding: 14px 18px;
	border-radius: 4px;
	color: #444;
	margin: 0 0 24px;
}

.as-success {
	background: #eafaf0;
	border: 1px solid #b7e4c7;
	border-radius: 8px;
	padding: 20px;
	color: #1a5c33;
}

.as-error {
	background: #fdecea;
	border: 1px solid #f3b3ae;
	border-radius: 8px;
	padding: 14px 18px;
	color: #a30f16;
	margin: 0 0 20px;
}

.as-honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

.as-field {
	margin: 0 0 18px;
}

.as-field label {
	display: block;
	font-weight: 600;
	margin: 0 0 6px;
	font-size: 0.92rem;
}

.as-field input[type="text"],
.as-field input[type="email"],
.as-field select,
.as-field textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 0.95rem;
	font-family: inherit;
}

.as-field textarea {
	resize: vertical;
}

.as-field input:focus,
.as-field select:focus,
.as-field textarea:focus {
	outline: none;
	border-color: #999;
}

.as-terms-field label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 400;
	font-size: 0.9rem;
}

.as-terms-field input[type="checkbox"] {
	margin-top: 3px;
}

.as-submit-btn {
	display: inline-block;
	padding: 12px 28px;
	border: none;
	border-radius: 6px;
	background: #1a1a1a;
	color: #fff;
	font-weight: 600;
	font-size: 0.98rem;
	cursor: pointer;
	text-decoration: none;
}

.as-submit-btn:hover {
	background: #333;
	color: #fff;
}

/* Hides other plugins' "related content" widgets on the submission page,
   same fix already applied to the other auto-created pages on this site. */
body.as-submission-page .rpa-widget,
body.as-submission-page .rpa-cq {
	display: none !important;
}

/* Login / register forms (also used inline on the submission page when
   logged out) */
.as-auth-wrap {
	max-width: 680px;
	margin: 24px auto;
}

.as-auth-error {
	background: #fdecea;
	border: 1px solid #f3b3ae;
	border-radius: 8px;
	padding: 12px 16px;
	color: #a30f16;
	margin: 0 0 20px;
}

.as-auth-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

@media (max-width: 640px) {
	.as-auth-columns {
		grid-template-columns: 1fr;
	}
}

.as-auth-col {
	background: #f7f7f7;
	border-radius: 10px;
	padding: 20px;
}

.as-auth-col h3 {
	margin: 0 0 14px;
}

.as-lost-pass {
	display: inline-block;
	margin-top: 10px;
	font-size: 0.85rem;
	color: #666;
}

.as-dashboard-link {
	margin: 0 0 18px;
}

/* Dashboard */
.as-dashboard {
	max-width: 760px;
	margin: 0 auto;
	padding: 20px 0 60px;
}

.as-dashboard-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 24px;
	font-weight: 600;
}

.as-logout-link {
	color: #a30f16;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
}

.as-stats-row {
	display: flex;
	gap: 16px;
	margin: 0 0 24px;
}

.as-stat {
	flex: 1;
	background: #f7f7f7;
	border-radius: 10px;
	padding: 16px;
	text-align: center;
}

.as-stat-num {
	display: block;
	font-size: 1.8rem;
	font-weight: 700;
}

.as-stat-label {
	display: block;
	font-size: 0.85rem;
	color: #777;
	margin-top: 4px;
}

.as-dash-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
}

.as-dash-table th,
.as-dash-table td {
	text-align: left;
	padding: 10px 8px;
	border-bottom: 1px solid #eee;
	font-size: 0.92rem;
}

.as-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 0.78rem;
	font-weight: 700;
}

.as-badge-pending {
	background: #fff4e0;
	color: #8a5a00;
}

.as-badge-approved {
	background: #eafaf0;
	color: #1a5c33;
}

.as-badge-rejected {
	background: #fdecea;
	color: #a30f16;
}
