/* Painel Administrativo standalone — roda no front-end (fora do wp-admin),
   então as classes de admin do WordPress que BP_Admin_Menu já usa (wrap,
   nav-tab-wrapper, widefat, form-table, button, notice...) NÃO têm
   nenhum estilo por padrão aqui fora. Em vez de carregar o CSS de admin
   inteiro do WordPress (que vaza regra pra qualquer `.button`/`.wrap` do
   tema, fora do nosso controle), essas classes são reescritas aqui,
   isoladas dentro de .bp-painel-conteudo — o resto do site nunca é
   afetado. */

.bp-painel-admin {
	--bp-bg: #f4f6f8;
	--bp-ink: #131a24;
	--bp-ink-soft: #5b6675;
	--bp-azul: #1d5fae;
	--bp-azul-dark: #164a89;
	--bp-verde: #1a7a41;
	--bp-linha: #dde3ea;

	min-height: 100vh;
	background: var(--bp-bg);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--bp-ink);
	font-size: 14px;
	line-height: 1.5;
}

.bp-painel-admin *,
.bp-painel-admin *::before,
.bp-painel-admin *::after {
	box-sizing: border-box;
}

.bp-painel-topo {
	background: var(--bp-ink);
	color: #fff;
	padding: 14px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bp-painel-topo a {
	color: #b9d3ff;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
}

.bp-painel-conteudo {
	max-width: 960px;
	margin: 0 auto;
	padding: 28px 20px 80px;
}

.bp-painel-conteudo h1 {
	font-size: 22px !important;
	margin: 0 0 18px !important;
	font-weight: 700 !important;
	color: var(--bp-ink) !important;
	font-family: inherit !important;
}

.bp-painel-conteudo h2 {
	font-size: 17px !important;
	margin: 24px 0 10px !important;
	font-weight: 700 !important;
	color: var(--bp-ink) !important;
	font-family: inherit !important;
}

.bp-painel-conteudo h3 {
	font-size: 14.5px !important;
	margin: 20px 0 8px !important;
	font-weight: 700 !important;
	color: var(--bp-ink) !important;
	font-family: inherit !important;
}

.bp-painel-conteudo p.description,
.bp-painel-conteudo .description {
	color: var(--bp-ink-soft);
	font-size: 13px;
}

/* ---- Abas ---- */

.bp-painel-conteudo .nav-tab-wrapper {
	border-bottom: 1px solid var(--bp-linha);
	margin: 0 0 20px;
	padding-bottom: 0;
}

.bp-painel-conteudo .nav-tab {
	display: inline-block;
	padding: 9px 16px;
	text-decoration: none;
	color: var(--bp-ink-soft);
	font-weight: 600;
	font-size: 13.5px;
	border-bottom: 3px solid transparent;
}

.bp-painel-conteudo .nav-tab-active {
	color: var(--bp-azul);
	border-bottom-color: var(--bp-azul);
}

/* ---- Tabelas ---- */

.bp-painel-conteudo table.widefat {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid var(--bp-linha);
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 16px;
}

.bp-painel-conteudo table.widefat th,
.bp-painel-conteudo table.widefat td {
	text-align: left;
	padding: 9px 12px;
	border-bottom: 1px solid var(--bp-linha);
	font-size: 13px;
}

.bp-painel-conteudo table.widefat thead th {
	background: var(--bp-bg);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--bp-ink-soft);
}

.bp-painel-conteudo table.striped tbody tr:nth-child(even) {
	background: #fbfcfd;
}

.bp-painel-conteudo table.widefat tbody tr:last-child td {
	border-bottom: none;
}

/* ---- Formulários ---- */

.bp-painel-conteudo table.form-table {
	width: 100%;
	border-collapse: collapse;
}

.bp-painel-conteudo table.form-table th {
	text-align: left;
	padding: 10px 12px 10px 0;
	font-weight: 600;
	font-size: 13.5px;
	vertical-align: top;
	width: 220px;
}

.bp-painel-conteudo table.form-table td {
	padding: 6px 0;
}

.bp-painel-conteudo input[type="text"],
.bp-painel-conteudo input[type="email"],
.bp-painel-conteudo input[type="password"],
.bp-painel-conteudo input[type="number"],
.bp-painel-conteudo input[type="file"],
.bp-painel-conteudo input[type="datetime-local"],
.bp-painel-conteudo textarea,
.bp-painel-conteudo select {
	padding: 8px 12px;
	border: 1px solid var(--bp-linha);
	border-radius: 6px;
	font-size: 13.5px;
	background: #fff;
	color: var(--bp-ink);
	font-family: inherit;

	/* input number sem as setinhas nativas — colidem com o valor digitado
	   em campo estreito (bug já visto nos outros plugins da família). */
	-moz-appearance: textfield;
	appearance: textfield;
}

.bp-painel-conteudo input[type="number"]::-webkit-outer-spin-button,
.bp-painel-conteudo input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.bp-painel-conteudo input.regular-text,
.bp-painel-conteudo textarea.large-text {
	width: 100%;
	max-width: 360px;
}

.bp-painel-conteudo input.small-text {
	width: 90px;
}

.bp-painel-conteudo input:focus,
.bp-painel-conteudo textarea:focus,
.bp-painel-conteudo select:focus {
	outline: none;
	border-color: var(--bp-azul);
	box-shadow: 0 0 0 3px rgba(29, 95, 174, 0.15);
}

.bp-painel-conteudo code {
	background: var(--bp-bg);
	border-radius: 4px;
	padding: 2px 6px;
	font-size: 12.5px;
}

.bp-painel-conteudo pre {
	font-size: 12px;
}

/* ---- Botões ---- */

.bp-painel-conteudo .button {
	display: inline-block;
	background: #fff !important;
	border: 1px solid var(--bp-linha) !important;
	color: var(--bp-ink) !important;
	border-radius: 6px;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: none !important;
}

.bp-painel-conteudo .button-primary {
	background: var(--bp-azul) !important;
	border-color: var(--bp-azul) !important;
	color: #fff !important;
}

.bp-painel-conteudo .button-primary:hover {
	background: var(--bp-azul-dark) !important;
}

.bp-painel-conteudo .button-small {
	padding: 5px 10px;
	font-size: 12px;
}

/* ---- Avisos ---- */

.bp-painel-conteudo .notice {
	border-radius: 8px;
	padding: 10px 14px;
	margin: 0 0 16px;
	font-size: 13.5px;
	border: 1px solid transparent;
}

.bp-painel-conteudo .notice p {
	margin: 0;
}

.bp-painel-conteudo .notice-success {
	background: #eafaf0;
	border-color: #b7ebc9;
	color: #14663a;
}

.bp-painel-conteudo .notice-error {
	background: #fdecec;
	border-color: #f4b8b8;
	color: #9c2b2b;
}

/* ---- Login ---- */

.bp-painel-login {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #131a24, #1d5fae);
	padding: 20px;
}

.bp-painel-login-card {
	background: #fff;
	border-radius: 14px;
	padding: 32px;
	max-width: 360px;
	width: 100%;
	text-align: center;
}

/* Mesmo reset do outro CSS: o tema (Hello Elementor) tem uma regra
   genérica "form { margin: 50px auto; max-width: 500px }" que empurra o
   conteúdo do card pra baixo se não for zerada aqui. */
.bp-painel-login-card form {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.bp-painel-login-card h2 {
	margin: 0 0 4px !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--bp-ink) !important;
	font-family: inherit !important;
}

.bp-painel-login-sub {
	color: var(--bp-ink-soft);
	font-size: 13px;
	margin: 0 0 20px;
}

.bp-painel-login-card label {
	display: block !important;
	text-align: left !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	color: var(--bp-ink-soft) !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}

.bp-painel-login-card input[type="hidden"] {
	display: none !important;
}

.bp-painel-login-card input:not([type="hidden"]) {
	display: block !important;
	width: 100% !important;
	padding: 11px 14px !important;
	border: 1px solid var(--bp-linha) !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	margin: 0 0 16px !important;
	box-sizing: border-box !important;
	background: #fff !important;
	color: var(--bp-ink) !important;
	box-shadow: none !important;
	height: auto !important;
}

.bp-painel-login-card input:focus {
	outline: none;
	border-color: var(--bp-azul) !important;
	box-shadow: 0 0 0 3px rgba(29, 95, 174, 0.15) !important;
}

.bp-btn-entrar {
	display: block !important;
	width: 100% !important;
	background: var(--bp-azul) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px;
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: none !important;
	text-decoration: none !important;
}

.bp-btn-entrar:hover {
	background: var(--bp-azul-dark) !important;
}

.bp-aviso-erro {
	background: #fdecec;
	border: 1px solid #f4b8b8;
	color: #9c2b2b;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 13px;
	margin: 0 0 16px;
	text-align: left;
}
