/**
 * MyHerbals Vendor Marketplace - Frontend application styles.
 *
 * Loaded only where the application interface appears (My Account
 * endpoint or a page containing the [mhvm_vendor_application] shortcode).
 * No external CSS framework or font. Uses simple, theme-friendly
 * defaults that can be overridden via the CSS custom properties below.
 */

.mhvm-application {
	--mhvm-accent: #2e7d32;
	--mhvm-border: #d7d7d7;
	--mhvm-bg-subtle: #f7f7f5;
	--mhvm-error: #b32d2e;
	max-width: 760px;
}

.mhvm-application .mhvm-notice {
	margin: 16px 0;
}

.mhvm-application .mhvm-steps ol {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 16px 0;
	padding: 0;
	gap: 8px;
}

.mhvm-application .mhvm-steps li {
	padding: 6px 12px;
	background: var(--mhvm-bg-subtle);
	border: 1px solid var(--mhvm-border);
	border-radius: 999px;
	font-size: 0.85em;
}

.mhvm-application .mhvm-steps li.is-active {
	background: var(--mhvm-accent);
	color: #fff;
	border-color: var(--mhvm-accent);
}

.mhvm-application fieldset.mhvm-step {
	border: 1px solid var(--mhvm-border);
	border-radius: 6px;
	padding: 16px 20px 20px;
	margin-bottom: 20px;
}

.mhvm-application legend {
	font-weight: 600;
	padding: 0 8px;
}

.mhvm-application .mhvm-field {
	margin-bottom: 16px;
}

.mhvm-application .mhvm-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
}

.mhvm-application .mhvm-field--checkbox label,
.mhvm-application .mhvm-field--file label {
	font-weight: 500;
}

.mhvm-application .mhvm-field input[type="text"],
.mhvm-application .mhvm-field input[type="email"],
.mhvm-application .mhvm-field input[type="tel"],
.mhvm-application .mhvm-field input[type="url"],
.mhvm-application .mhvm-field input[type="date"],
.mhvm-application .mhvm-field input[type="number"],
.mhvm-application .mhvm-field select,
.mhvm-application .mhvm-field textarea {
	width: 100%;
	max-width: 480px;
	padding: 8px 10px;
	border: 1px solid var(--mhvm-border);
	border-radius: 4px;
	box-sizing: border-box;
}

.mhvm-application .required {
	color: var(--mhvm-error);
}

.mhvm-application .mhvm-field-error {
	color: var(--mhvm-error);
	font-size: 0.9em;
	margin: 4px 0 0;
}

.mhvm-application .mhvm-checkbox-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 6px;
}

.mhvm-application .mhvm-uploaded {
	display: inline-block;
	margin-top: 6px;
	font-size: 0.85em;
	color: var(--mhvm-accent);
}

.mhvm-application .mhvm-form-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--mhvm-border, #dcdcde);
}

.mhvm-application .mhvm-submit-row {
	margin-top: 20px;
}

.mhvm-application .mhvm-submit-row .button-primary {
	padding: 8px 20px;
}

.mhvm-application .mhvm-badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--mhvm-bg-subtle);
	border: 1px solid var(--mhvm-border);
	font-weight: 600;
}

.mhvm-application .mhvm-status-table th {
	text-align: left;
	padding: 6px 12px 6px 0;
	vertical-align: top;
	width: 220px;
}

.mhvm-application .mhvm-status-table td {
	padding: 6px 0;
}

.mhvm-application .mhvm-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid var(--mhvm-border);
}

.mhvm-application .mhvm-timeline li {
	padding: 0 0 16px 16px;
	position: relative;
}

.mhvm-application .mhvm-timeline li::before {
	content: "";
	position: absolute;
	left: -6px;
	top: 4px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--mhvm-accent);
}

.mhvm-application .mhvm-timeline__date {
	display: block;
	font-size: 0.8em;
	color: #666;
}

.mhvm-application .mhvm-timeline__event {
	font-weight: 600;
}

@media screen and (max-width: 600px) {
	.mhvm-application .mhvm-field input,
	.mhvm-application .mhvm-field select,
	.mhvm-application .mhvm-field textarea {
		max-width: 100%;
	}
}
