/* Form and button design lock — v1.0.5
   Protects Entrepreneur Data form fields and buttons from Elementor/Hello/ACF/global styles.
   Scoped only to portal pages.
*/

body.ep-portal-page {
	--ep-button-blue: #0A4669;
	--ep-button-blue-hover: #083A58;
	--ep-field-border: #d0d8e6;
	--ep-field-border-focus: #0A4669;
	--ep-field-radius: 11px;
}

/* Header action buttons should stay compact. */
body.ep-portal-page .ep-app .ep-header-actions {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

body.ep-portal-page .ep-app .ep-header-actions .ep-button,
body.ep-portal-page .ep-app .ep-header-actions .ep-export-button,
body.ep-portal-page .ep-app .ep-open-financial-modal {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 43px !important;
	max-height: 54px !important;
	padding: 10px 16px !important;
	border-radius: 11px !important;
	font-family: var(--ep-font-body, Inter, sans-serif) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: nowrap !important;
}

/* Primary dashboard buttons. */
body.ep-portal-page .ep-app .ep-header-actions .ep-button,
body.ep-portal-page .ep-app .ep-open-financial-modal {
	background: var(--ep-button-blue) !important;
	background-color: var(--ep-button-blue) !important;
	color: #ffffff !important;
	border: 1px solid var(--ep-button-blue) !important;
	box-shadow: 0 8px 20px rgba(10, 70, 105, .22) !important;
}

body.ep-portal-page .ep-app .ep-header-actions .ep-button:hover,
body.ep-portal-page .ep-app .ep-open-financial-modal:hover {
	background: var(--ep-button-blue-hover) !important;
	background-color: var(--ep-button-blue-hover) !important;
	border-color: var(--ep-button-blue-hover) !important;
	color: #ffffff !important;
}

/* Export button stays white and compact. */
body.ep-portal-page .ep-app .ep-header-actions .ep-export-button {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: var(--ep-button-blue) !important;
	border: 1px solid var(--ep-border, #d8e0ee) !important;
	box-shadow: 0 8px 20px rgba(15, 23, 42, .07) !important;
}

body.ep-portal-page .ep-app .ep-header-actions .ep-export-button:hover {
	background: #eef6fb !important;
	background-color: #eef6fb !important;
	color: var(--ep-button-blue) !important;
}

/* Empty month button should not become a huge Elementor button. */
body.ep-portal-page .ep-app .ep-inline-empty button,
body.ep-portal-page .ep-app .ep-inline-empty a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	color: #6f4d00 !important;
	font-family: var(--ep-font-body, Inter, sans-serif) !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	line-height: 1.3 !important;
	text-decoration: underline !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

body.ep-portal-page .ep-app .ep-inline-empty button:hover,
body.ep-portal-page .ep-app .ep-inline-empty a:hover {
	color: #4d3600 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

/* Modal close button should stay small, not a green Elementor button. */
body.ep-portal-page .ep-app .ep-modal-close,
body.ep-portal-page .ep-app button.ep-modal-close {
	display: grid !important;
	place-items: center !important;
	flex: 0 0 38px !important;
	width: 38px !important;
	min-width: 38px !important;
	max-width: 38px !important;
	height: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid var(--ep-border, #d8e0ee) !important;
	border-radius: 11px !important;
	background: #f8f9fc !important;
	background-color: #f8f9fc !important;
	box-shadow: none !important;
	color: var(--ep-text, #101a33) !important;
	font: 400 27px/1 system-ui, sans-serif !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer !important;
}

body.ep-portal-page .ep-app .ep-modal-close:hover,
body.ep-portal-page .ep-app button.ep-modal-close:hover {
	background: #eef1f7 !important;
	background-color: #eef1f7 !important;
	color: var(--ep-text, #101a33) !important;
}

/* Portal form field design. */
body.ep-portal-page .ep-app .ep-field input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
body.ep-portal-page .ep-app .ep-field select,
body.ep-portal-page .ep-app .ep-field textarea {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 52px !important;
	padding: 12px 14px !important;
	border: 1px solid var(--ep-field-border) !important;
	border-radius: var(--ep-field-radius) !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	box-shadow: none !important;
	color: var(--ep-text, #101a33) !important;
	font-family: var(--ep-font-body, Inter, sans-serif) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	outline: none !important;
	box-sizing: border-box !important;
	appearance: auto !important;
	-webkit-appearance: auto !important;
}

body.ep-portal-page .ep-app .ep-field textarea {
	min-height: 140px !important;
	resize: vertical !important;
}

body.ep-portal-page .ep-app .ep-field input:not([type="file"]):not([type="checkbox"]):not([type="radio"]):focus,
body.ep-portal-page .ep-app .ep-field select:focus,
body.ep-portal-page .ep-app .ep-field textarea:focus {
	border-color: var(--ep-field-border-focus) !important;
	box-shadow: 0 0 0 3px rgba(10, 70, 105, .12) !important;
	outline: none !important;
}

/* Keep labels consistent. */
body.ep-portal-page .ep-app .ep-field label {
	display: block !important;
	margin-bottom: 8px !important;
	color: var(--ep-text, #101a33) !important;
	font-family: var(--ep-font-body, Inter, sans-serif) !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	line-height: 1.25 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* File upload stays like portal design. */
body.ep-portal-page .ep-app .ep-logo-input {
	width: 100% !important;
	max-width: 460px !important;
	padding: 0 !important;
	border: 1px solid var(--ep-field-border) !important;
	border-radius: 13px !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: var(--ep-text, #101a33) !important;
	font-family: var(--ep-font-body, Inter, sans-serif) !important;
	font-size: 15px !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

body.ep-portal-page .ep-app .ep-logo-input::file-selector-button {
	min-height: 52px !important;
	padding: 0 18px !important;
	margin: 0 12px 0 0 !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: var(--ep-button-blue) !important;
	background-color: var(--ep-button-blue) !important;
	color: #ffffff !important;
	font-family: var(--ep-font-body, Inter, sans-serif) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	text-transform: none !important;
	cursor: pointer !important;
}

/* Modal action buttons should remain normal size. */
body.ep-portal-page .ep-app .ep-modal-actions .ep-button,
body.ep-portal-page .ep-app .ep-form-actions .ep-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 120px !important;
	max-width: none !important;
	min-height: 44px !important;
	padding: 11px 18px !important;
	border-radius: 12px !important;
	font-family: var(--ep-font-body, Inter, sans-serif) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body.ep-portal-page .ep-app .ep-modal-actions .ep-button:not(.ep-button-secondary),
body.ep-portal-page .ep-app .ep-form-actions .ep-button:not(.ep-button-secondary) {
	background: var(--ep-button-blue) !important;
	background-color: var(--ep-button-blue) !important;
	color: #ffffff !important;
	border-color: var(--ep-button-blue) !important;
}

/* Secondary cancel button. */
body.ep-portal-page .ep-app .ep-button-secondary {
	background: #eef1ff !important;
	background-color: #eef1ff !important;
	color: var(--ep-button-blue) !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

/* Mobile button safety. */
@media (max-width: 700px) {
	body.ep-portal-page .ep-app .ep-header-actions {
		flex-wrap: wrap !important;
		justify-content: flex-start !important;
	}

	body.ep-portal-page .ep-app .ep-header-actions .ep-button,
	body.ep-portal-page .ep-app .ep-header-actions .ep-export-button,
	body.ep-portal-page .ep-app .ep-open-financial-modal {
		width: auto !important;
		max-width: 100% !important;
		font-size: 13px !important;
	}

	body.ep-portal-page .ep-app .ep-inline-empty {
		align-items: flex-start !important;
	}

	body.ep-portal-page .ep-app .ep-inline-empty button,
	body.ep-portal-page .ep-app .ep-inline-empty a {
		white-space: normal !important;
		text-align: left !important;
	}
}
