@import url("app-shell.css");

:root {
	--impex-text: #17212b;
	--impex-muted: #556270;
	--impex-brand: #1d4f7a;
	--impex-brand-hover: #123754;
	--impex-border: #dce3e9;
	--impex-input-border: #9ba8b4;
	--impex-surface: #ffffff;
	--impex-surface-muted: #f5f7f9;
	--impex-focus: #f5bd35;
	--impex-focus-input: rgb(29 79 122 / 20%);
	--impex-radius-panel: 8px;
	--impex-radius-control: 4px;
	--impex-shadow-panel: 0 4px 14px rgb(23 33 43 / 6%);
	--impex-page-padding: 48px 24px;
	--impex-section-spacing: 32px;
	--impex-panel-padding: 28px;
	--impex-card-padding: 24px;
	--impex-grid-gap: 20px;
}

.impex-dashboard__container,
.impex-lead-search__container,
.impex-local-directory__container,
.impex-reports__container,
.impex-profile__container,
.impex-topics__container,
.impex-hsn-classification__container,
.impex-coming-soon__container,
.impex-documents__container,
.impex-history__container {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--impex-page-padding);
}

/* Keep every module page aligned to the same application content edge. */
body:has(.impex-app-main) .impex-dashboard__container,
body:has(.impex-app-main) .impex-lead-search__container,
body:has(.impex-app-main) .impex-local-directory__container,
body:has(.impex-app-main) .impex-reports__container,
body:has(.impex-app-main) .impex-profile__container,
body:has(.impex-app-main) .impex-history__container,
body:has(.impex-app-main) .impex-coming-soon__container,
body:has(.impex-app-main) .impex-hsn-classification__container,
body:has(.impex-app-main) .impex-documents__container,
body:has(.impex-app-main) .impex-topics__container {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 48px 80px 56px;
}

@media (max-width: 900px) {
	body:has(.impex-app-main) .impex-dashboard__container,
	body:has(.impex-app-main) .impex-lead-search__container,
	body:has(.impex-app-main) .impex-local-directory__container,
	body:has(.impex-app-main) .impex-reports__container,
	body:has(.impex-app-main) .impex-profile__container,
	body:has(.impex-app-main) .impex-history__container,
	body:has(.impex-app-main) .impex-coming-soon__container,
	body:has(.impex-app-main) .impex-hsn-classification__container,
	body:has(.impex-app-main) .impex-documents__container,
	body:has(.impex-app-main) .impex-topics__container {
		padding: 28px 24px 44px;
	}
}

.impex-dashboard__header,
.impex-lead-search__header,
.impex-local-directory__header,
.impex-reports__header,
.impex-profile__header {
	margin-bottom: var(--impex-section-spacing);
}

.impex-dashboard__eyebrow,
.impex-lead-search__eyebrow,
.impex-local-directory__eyebrow,
.impex-reports__eyebrow,
.impex-profile__eyebrow {
	margin: 0 0 8px;
	color: var(--impex-muted);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.impex-dashboard__header h1,
.impex-lead-search__header h1,
.impex-local-directory__header h1,
.impex-reports__header h1,
.impex-profile__header h1 {
	margin: 0;
	color: var(--impex-text);
	font-size: clamp(32px, 5vw, 48px);
}

.impex-dashboard__card,
.impex-reports__card {
	padding: var(--impex-card-padding);
	border: 1px solid var(--impex-border);
	border-radius: var(--impex-radius-panel);
	background: var(--impex-surface);
	box-shadow: var(--impex-shadow-panel);
}

.impex-lead-search__form,
.impex-lead-search__results,
.impex-local-directory__form,
.impex-local-directory__results,
.impex-reports__activity,
.impex-profile__form {
	padding: var(--impex-panel-padding);
	border: 1px solid var(--impex-border);
	border-radius: var(--impex-radius-panel);
	background: var(--impex-surface);
	box-shadow: var(--impex-shadow-panel);
}

.impex-lead-search input,
.impex-local-directory input,
.impex-local-directory select,
.impex-profile input,
.impex-profile textarea {
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--impex-input-border);
	border-radius: var(--impex-radius-control);
	background: var(--impex-surface);
	font: inherit;
}

.impex-lead-search input:focus,
.impex-local-directory input:focus,
.impex-local-directory select:focus,
.impex-profile input:focus,
.impex-profile textarea:focus {
	border-color: var(--impex-brand);
	outline: 3px solid var(--impex-focus-input);
}

.impex-lead-search__submit,
.impex-local-directory__submit,
.impex-profile__submit,
.impex-lead-search__download,
.impex-local-directory__download {
	background: var(--impex-brand);
	color: #ffffff;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.impex-lead-search__reset,
.impex-local-directory__reset {
	transition: background-color 0.2s ease, color 0.2s ease;
}

.impex-lead-search__submit:hover,
.impex-local-directory__submit:hover,
.impex-profile__submit:not(:disabled):hover,
.impex-lead-search__download:not([aria-disabled="true"]):hover,
.impex-local-directory__download:not([aria-disabled="true"]):hover {
	background: var(--impex-brand-hover);
	color: #ffffff;
}

.impex-lead-search__reset:hover,
.impex-local-directory__reset:hover {
	background: var(--impex-surface-muted);
	color: var(--impex-brand) !important;
	border-color: var(--impex-brand) !important;
}

/* Keep light/outlined controls readable when the theme supplies a global hover color. */
.impex-app-main .impex-lead-search__reset:hover,
.impex-app-main .impex-local-directory__reset:hover,
.impex-app-main .impex-button--secondary:hover,
.impex-app-main .impex-button--secondary:focus-visible,
.impex-app-main .impex-topics__back:hover,
.impex-app-main .impex-history__reset:hover {
	background: #edf5ff !important;
	color: #163d5f !important;
}

.impex-lead-search__submit:focus-visible,
.impex-local-directory__submit:focus-visible,
.impex-profile__submit:focus-visible,
.impex-profile__password:focus-visible,
.impex-lead-search__reset:focus-visible,
.impex-local-directory__reset:focus-visible,
.impex-lead-search__download:focus-visible,
.impex-local-directory__download:focus-visible {
	outline: 3px solid var(--impex-focus);
	outline-offset: 3px;
}

.impex-lead-search th,
.impex-lead-search td,
.impex-local-directory th,
.impex-local-directory td,
.impex-reports th,
.impex-reports td {
	padding: 14px;
	border-bottom: 1px solid var(--impex-border);
	text-align: left;
	vertical-align: top;
}

.impex-lead-search th,
.impex-local-directory th,
.impex-reports th {
	background: var(--impex-surface-muted);
	color: #364553;
	font-size: 14px;
}

.impex-lead-search td a,
.impex-local-directory td a,
.impex-reports td a {
	color: var(--impex-brand);
}

@media (max-width: 800px) {
	:root {
		--impex-page-padding: 32px 16px;
		--impex-panel-padding: 20px;
	}

	.impex-dashboard__metrics,
	.impex-reports__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.impex-lead-search__fields,
	.impex-local-directory__fields,
	.impex-profile__fields {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.impex-dashboard__metrics,
	.impex-reports__metrics,
	.impex-dashboard__actions {
		grid-template-columns: 1fr;
	}

	.impex-lead-search__results-header,
	.impex-local-directory__results-header {
		align-items: flex-start;
		flex-direction: column;
	}
}
