/*
 * Estes estilos usam !important em quase todas as propriedades visuais.
 * Isto é deliberado: o plugin é frequentemente usado em páginas construídas
 * com Elementor / Elementor Pro, cujo "Theme Style" global aplica regras a
 * <button>, <input>, <select> e tabelas com bastante força. Sem !important,
 * essas regras globais sobrepõem-se ao aspeto do formulário.
 */

.pme-dns-app {
	max-width: 820px !important;
	box-sizing: border-box !important;
}

.pme-dns-app * {
	box-sizing: border-box !important;
}

.pme-dns-field {
	margin-bottom: 1em !important;
}

.pme-dns-field label {
	display: block !important;
	margin-bottom: 0.3em !important;
	font-weight: 600 !important;
}

.pme-dns-app .pme-dns-field input {
	width: 100% !important;
	max-width: 360px !important;
	padding: 0.5em !important;
	margin: 0 !important;
}

.pme-dns-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
}

.pme-dns-app .pme-dns-button,
.pme-dns-app .pme-dns-button-secondary,
.pme-dns-app .pme-dns-button-small {
	display: inline-block !important;
	border: none !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	font-size: 1em !important;
	font-family: inherit !important;
	line-height: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.pme-dns-app .pme-dns-button {
	padding: 0.6em 1.2em !important;
	margin: 0.5em 0 0 0 !important;
	background: #2271b1 !important;
	color: #fff !important;
}

.pme-dns-app .pme-dns-button:hover {
	background: #195a8c !important;
	color: #fff !important;
}

.pme-dns-app .pme-dns-button:disabled {
	background: #a7c4dc !important;
	cursor: not-allowed !important;
}

.pme-dns-app .pme-dns-button-secondary {
	padding: 0.6em 1.2em !important;
	margin: 0.5em 0 !important;
	background: #f0f0f1 !important;
	color: #1d2327 !important;
}

.pme-dns-app .pme-dns-button-secondary:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

.pme-dns-app .pme-dns-button-small {
	padding: 0.35em 0.7em !important;
	margin: 0 0.3em 0 0 !important;
	background: #f0f0f1 !important;
	color: #1d2327 !important;
	font-size: 0.85em !important;
	white-space: nowrap !important;
}

.pme-dns-app .pme-dns-button-primary {
	background: #2271b1 !important;
	color: #fff !important;
}

.pme-dns-app .pme-dns-button-danger {
	background: #fff !important;
	color: #b32d2e !important;
	border: 1px solid #b32d2e !important;
}

.pme-dns-app .pme-dns-link-button {
	background: none !important;
	border: none !important;
	color: #2271b1 !important;
	cursor: pointer !important;
	text-decoration: underline !important;
	font-size: 0.85em !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

.pme-dns-app .pme-dns-records-table {
	width: 100% !important;
	table-layout: fixed !important;
	border-collapse: collapse !important;
	margin: 1em 0 !important;
}

.pme-dns-app .pme-dns-records-table th,
.pme-dns-app .pme-dns-records-table td {
	border: 1px solid #ddd !important;
	padding: 0.6em !important;
	text-align: left !important;
	vertical-align: top !important;
	word-break: break-word !important;
	overflow-wrap: anywhere !important;
	background: none !important;
}

.pme-dns-app .pme-dns-records-table input,
.pme-dns-app .pme-dns-records-table select,
.pme-dns-app .pme-dns-records-table textarea {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
	padding: 0.4em !important;
	margin: 0 !important;
	font: inherit !important;
	background: #fff !important;
	border: 1px solid #8c8f94 !important;
}

.pme-dns-app .pme-dns-input-value {
	resize: vertical !important;
	font-family: monospace !important;
	font-size: 0.95em !important;
}

.pme-dns-app .pme-dns-value-text {
	word-break: break-word !important;
	overflow-wrap: anywhere !important;
	font-family: monospace !important;
	font-size: 0.95em !important;
}

.pme-dns-app .pme-dns-priority-wrap {
	margin-top: 0.5em !important;
}

.pme-dns-app .pme-dns-priority-wrap label {
	display: block !important;
	font-size: 0.8em !important;
	font-weight: 600 !important;
	margin-bottom: 0.2em !important;
}

.pme-dns-app .pme-dns-actions-cell {
	white-space: nowrap !important;
}

.pme-dns-app .pme-dns-row--editing td {
	background: #f3f8fc !important;
}

.pme-dns-app .pme-dns-row--pending td {
	background: #fdf3d1 !important;
}

.pme-dns-app .pme-dns-row--removal td {
	background: #fbeaea !important;
	color: #8a8a8a !important;
	text-decoration: line-through !important;
}

.pme-dns-app .pme-dns-row--removal .pme-dns-actions-cell {
	text-decoration: none !important;
	color: #1d2327 !important;
}

.pme-dns-app .pme-dns-badge-pending,
.pme-dns-app .pme-dns-badge-removal {
	display: inline-block !important;
	font-size: 0.78em !important;
	font-weight: 600 !important;
	padding: 0.15em 0.5em !important;
	border-radius: 3px !important;
	margin: 0 0.4em 0.3em 0 !important;
}

.pme-dns-app .pme-dns-badge-pending {
	background: #e6c97a !important;
	color: #4a3a05 !important;
}

.pme-dns-app .pme-dns-badge-removal {
	background: #e6a3a3 !important;
	color: #5a0f0f !important;
}

.pme-dns-app .pme-dns-pending-summary {
	font-weight: 600 !important;
	margin: 0.6em 0 !important;
	min-height: 1.2em !important;
}

.pme-dns-app .pme-dns-notice {
	background: #fdf3d1 !important;
	border: 1px solid #e6c97a !important;
	padding: 0.8em !important;
	margin-bottom: 1em !important;
}

.pme-dns-app .pme-dns-notice--danger {
	background: #fbeaea !important;
	border: 1px solid #d98c8c !important;
	color: #6e1414 !important;
	font-weight: 600 !important;
}

.pme-dns-app .pme-dns-section-title {
	margin: 1.6em 0 0.5em 0 !important;
	font-size: 1.1em !important;
	font-weight: 700 !important;
}

.pme-dns-app .pme-dns-section-title--ns {
	color: #8a1f1f !important;
}

.pme-dns-app .pme-dns-section-title--ns::before {
	content: "⚠ " !important;
}

.pme-dns-app .pme-dns-feedback {
	margin-top: 0.8em !important;
	font-weight: 600 !important;
}

.pme-dns-app .pme-dns-submitted {
	background: #eaf6ec !important;
	border: 1px solid #a8d8af !important;
	padding: 1.2em !important;
	border-radius: 4px !important;
}

.pme-dns-app .pme-dns-expiry-badge {
	font-size: 0.78em !important;
	font-weight: 600 !important;
	color: #6e4c00 !important;
	background: #fdf3d1 !important;
	border: 1px solid #e6c97a !important;
	padding: 0.15em 0.5em !important;
	border-radius: 3px !important;
	margin-left: 0.5em !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

.pme-dns-app .pme-dns-other-domains {
	margin-top: 2em !important;
	padding-top: 1.2em !important;
	border-top: 2px solid #e0e0e0 !important;
}

.pme-dns-app .pme-dns-other-domains-list {
	list-style: none !important;
	margin: 0.6em 0 0 0 !important;
	padding: 0 !important;
}

.pme-dns-app .pme-dns-other-domain-item {
	display: flex !important;
	align-items: center !important;
	gap: 0.8em !important;
	padding: 0.5em 0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.pme-dns-app .pme-dns-other-domain-name {
	flex: 1 !important;
	font-family: monospace !important;
	font-size: 0.95em !important;
}

.pme-dns-app .pme-dns-other-domain-feedback {
	font-size: 0.85em !important;
	color: #2271b1 !important;
	font-weight: 600 !important;
}

.pme-dns-app .pme-dns-renewal-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 0.8em !important;
	margin: 0.6em 0 1em 0 !important;
}

.pme-dns-app .pme-dns-renewal-feedback {
	font-size: 0.9em !important;
	font-weight: 600 !important;
	color: #2271b1 !important;
}
