/**
 * Forms
 */
.fc-field {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-2);
	margin-bottom: var(--fc-space-4);
}

.fc-label {
	font-size: var(--fc-text-small);
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-ocean-navy);
}

.fc-help,
.fc-field-hint {
	font-size: var(--fc-text-caption);
	color: var(--fc-color-muted);
}

.fc-field-error {
	font-size: var(--fc-text-caption);
	color: var(--fc-color-danger);
}

.fc-input,
.fc-select,
.fc-textarea,
.fc-captain-dashboard input[type="text"],
.fc-captain-dashboard input[type="email"],
.fc-captain-dashboard input[type="password"],
.fc-captain-dashboard input[type="number"],
.fc-captain-dashboard input[type="search"],
.fc-captain-dashboard input[type="url"],
.fc-captain-dashboard input[type="tel"],
.fc-captain-dashboard select,
.fc-captain-dashboard textarea,
.fc-captain-portal input[type="text"],
.fc-captain-portal input[type="email"],
.fc-captain-portal input[type="password"],
.fc-captain-portal input[type="number"],
.fc-captain-portal input[type="search"],
.fc-captain-portal input[type="url"],
.fc-captain-portal input[type="tel"],
.fc-captain-portal select,
.fc-captain-portal textarea,
.fc-ds .fc-start-profile__form input[type="text"],
.fc-ds .fc-start-profile__form input[type="email"],
.fc-ds .fc-start-profile__form input[type="password"],
.fc-ds .fc-start-profile__form input[type="url"],
.fc-ds .fc-start-profile__form input[type="tel"],
.fc-ds .fc-start-profile__form textarea,
.fc-ds .fc-start-profile__form select,
.fc-ds .fc-captain-register-root input[type="text"],
.fc-ds .fc-captain-register-root input[type="email"],
.fc-ds .fc-captain-register-root input[type="password"],
.fc-ds .fc-verify-email-root input[type="email"],
.fc-ds #fc-professional-login input[type="text"],
.fc-ds #fc-professional-login input[type="email"],
.fc-ds #fc-professional-login input[type="password"] {
	width: 100%;
	max-width: 100%;
	min-height: 2.75rem;
	padding: 0.65rem 0.85rem;
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-md);
	background: var(--fc-color-surface);
	color: var(--fc-color-text);
	font: inherit;
	line-height: var(--fc-leading-normal);
	box-shadow: inset 0 1px 2px color-mix(in srgb, var(--fc-brand-atlantic-navy) 4%, transparent);
	transition:
		border-color var(--fc-duration) var(--fc-ease),
		box-shadow var(--fc-duration) var(--fc-ease);
}

.fc-textarea,
.fc-captain-dashboard textarea,
.fc-captain-portal textarea,
.fc-ds .fc-start-profile__form textarea {
	min-height: 7rem;
	resize: vertical;
}

.fc-input:hover,
.fc-select:hover,
.fc-textarea:hover,
.fc-ds .fc-start-profile__form input:hover,
.fc-ds .fc-captain-register-root input:hover,
.fc-ds .fc-verify-email-root input:hover,
.fc-ds #fc-professional-login input:hover {
	border-color: var(--fc-color-border-strong);
}

.fc-input:focus-visible,
.fc-select:focus-visible,
.fc-textarea:focus-visible,
.fc-captain-dashboard input:focus-visible,
.fc-captain-dashboard select:focus-visible,
.fc-captain-dashboard textarea:focus-visible,
.fc-captain-portal input:focus-visible,
.fc-captain-portal select:focus-visible,
.fc-captain-portal textarea:focus-visible,
.fc-ds .fc-start-profile__form input:focus-visible,
.fc-ds .fc-start-profile__form select:focus-visible,
.fc-ds .fc-start-profile__form textarea:focus-visible,
.fc-ds .fc-captain-register-root input:focus-visible,
.fc-ds .fc-verify-email-root input:focus-visible,
.fc-ds #fc-professional-login input:focus-visible {
	outline: 3px solid var(--fc-color-focus);
	outline-offset: 2px;
	border-color: var(--fc-color-deep-blue);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--fc-color-deep-blue) 25%, transparent);
}

.fc-input:disabled,
.fc-select:disabled,
.fc-textarea:disabled,
.fc-ds .fc-start-profile__form input:disabled,
.fc-ds .fc-captain-register-root input:disabled {
	opacity: 0.65;
	cursor: not-allowed;
	background: color-mix(in srgb, var(--fc-color-surface) 88%, var(--fc-color-border));
}

.fc-input[aria-invalid="true"],
.fc-field.is-invalid .fc-input,
.fc-ds .fc-start-profile__form input[aria-invalid="true"],
.fc-ds .fc-captain-register-root input[aria-invalid="true"],
.fc-input.is-invalid,
.fc-contact-confirm-mismatch {
	border-color: var(--fc-color-danger);
	background: color-mix(in srgb, var(--fc-color-danger-bg, #fef2f2) 80%, var(--fc-color-surface));
}

.fc-input--success,
.fc-input[data-fc-field-state="success"] {
	border-color: var(--fc-color-success);
	background-color: color-mix(in srgb, var(--fc-color-success-bg, #e8f6ef) 70%, var(--fc-color-surface));
}

.fc-input--success:not([type="date"]):not([type="checkbox"]):not([type="radio"]),
.fc-input[data-fc-field-state="success"]:not([type="date"]):not([type="checkbox"]):not([type="radio"]) {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23167a4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10.5 8.2 14 15 6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
	padding-inline-end: 2.5rem;
}

.fc-input[data-fc-field-state="error"]:not([type="date"]):not([type="checkbox"]):not([type="radio"]),
.fc-input.fc-contact-confirm-mismatch:not([type="date"]):not([type="checkbox"]):not([type="radio"]) {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23b42318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M10 6.5v4'/%3E%3Cpath d='M10 13.5h.01'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
	padding-inline-end: 2.5rem;
}

.fc-field-success:not([hidden]) {
	display: block;
	margin-top: var(--fc-space-2, 0.5rem);
	font-size: var(--fc-text-caption);
	color: var(--fc-color-success, #167a4a);
}

.fc-field-error:not([hidden]) {
	display: block;
	margin-top: var(--fc-space-2, 0.5rem);
}

.fc-input--search {
	padding-inline-start: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2364748b' stroke-width='1.75'%3E%3Ccircle cx='9' cy='9' r='6'/%3E%3Cpath d='M14 14l4 4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 0.7rem 50%;
}

.fc-check,
.fc-radio,
.fc-checkbox-row {
	display: flex;
	align-items: flex-start;
	gap: var(--fc-space-2);
	min-height: var(--fc-touch-min);
}

.fc-check input,
.fc-radio input,
.fc-checkbox-row input {
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.2rem;
	accent-color: var(--fc-color-deep-blue);
}

.fc-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--fc-space-3);
}

.fc-toggle__control {
	position: relative;
	width: 2.75rem;
	height: 1.55rem;
	border-radius: var(--fc-radius-full);
	background: var(--fc-color-border-strong);
	border: 0;
	cursor: pointer;
	transition: background-color var(--fc-duration) var(--fc-ease);
}

.fc-toggle__control::after {
	content: "";
	position: absolute;
	top: 0.15rem;
	left: 0.15rem;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: var(--fc-radius-full);
	background: var(--fc-color-surface);
	box-shadow: var(--fc-shadow-sm);
	transition: transform var(--fc-duration) var(--fc-ease);
}

.fc-toggle__control[aria-checked="true"],
.fc-toggle.is-on .fc-toggle__control {
	background: var(--fc-color-seafoam);
}

.fc-toggle__control[aria-checked="true"]::after,
.fc-toggle.is-on .fc-toggle__control::after {
	transform: translateX(1.2rem);
}

.fc-upload {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--fc-space-3);
	padding: var(--fc-space-5);
	border: 1px dashed var(--fc-color-border-strong);
	border-radius: var(--fc-radius-lg);
	background: var(--fc-color-bg);
}

/* Shared Captain form rhythm (onboarding + Portal) — modest subsection breathing room. */
.fc-captain-portal .fc-field,
.fc-ds .fc-start-profile__form .fc-field {
	margin-bottom: var(--fc-space-5, 1.25rem);
}

.fc-captain-portal .fc-field > .fc-hint,
.fc-captain-portal .fc-field > .fc-help,
.fc-ds .fc-start-profile__form .fc-field > .fc-hint,
.fc-ds .fc-start-profile__form .fc-field > .fc-help {
	margin-top: 0;
	margin-bottom: 0.15rem;
}

/* Shared Captain growth / “Help us add it” seam (Credentials, Services, Locations). */
.fc-captain-growth-request {
	margin-top: var(--fc-space-5, 1.25rem);
	padding: var(--fc-space-4, 1rem);
	border: 1px solid color-mix(in srgb, var(--fc-brand-warm-sand, #e8d9b5) 70%, var(--fc-color-border, #d0d5dd));
	border-radius: var(--fc-radius-md, 0.5rem);
	background: var(--fc-section-sand, var(--fc-color-light-sand, #f4ecda));
}

.fc-captain-growth-request .fc-credential-request-form,
.fc-captain-growth-request .fc-service-request-form,
.fc-captain-growth-request .fc-location-request-form {
	margin-top: var(--fc-space-3, 0.75rem);
}
