/* -- START -- USER PANEL */
.bsaProPanelContainer {
	/* ======================================================================
	 * [TS50][UI] Dark elegante (padrão TS50 / server-event-calendar)
	 * ----------------------------------------------------------------------
	 * PEDIDO:
	 * - Fundo principal: #0D1117
	 * - Texto: branco (evitar texto "preto" no tema dark)
	 *
	 * NOTA:
	 * - O ADS PRO injeta estilos inline no <tbody>.
	 * - No final do arquivo existe um bloco de override com !important
	 *   para garantir o tema dark mesmo com inline.
	 * ====================================================================== */
	float: left;
	width: 100%;
	overflow: auto;
	box-sizing: border-box;

	background: #0D1117;
	color: #ffffff;

	border: 1px solid #30363d;
	border-radius: 14px;
	padding: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

#bsaProPanelTable {
	float: left;
	width: 100% !important;
	margin: 0 !important;

	font-size: 12px;
	line-height: 1.5;

	min-width: 700px;

	border-radius: 12px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;

	background: #0D1117;
	color: #ffffff;

	border: 1px solid #30363d;
}

#bsaProPanelTable,
#bsaProPanelTable th {
	/* [TS50][UI] Garante legibilidade no dark */
	color: #ffffff;
	background-color: transparent;
	border: 0;
	position: relative;
}

/* [TS50][UI] Linhas/hover sutis */
#bsaProPanelTable tbody tr {
	-webkit-transition: background-color .25s ease, color .25s ease;
	transition: background-color .25s ease, color .25s ease;
}

#bsaProPanelTable tbody tr:nth-child(odd) {
	background: rgba(255, 255, 255, 0.03);
}

#bsaProPanelTable tbody tr:hover {
	background: rgba(88, 166, 255, 0.10);
}

#bsaProPanelTable tr,
#bsaProPanelTable th,
#bsaProPanelTable td {
	text-align: left;
	padding: 10px 12px;
	border: 0;
	color: inherit;
	background-color: transparent;
}

#bsaProPanelTable th,
#bsaProPanelTable tr {
	border-bottom: 1px solid #30363d;
}

#bsaProPanelTable tr:last-of-type {
	border-bottom: 0;
}

#bsaProPanelTable tr.bsaProFirst,
#bsaProPanelTable th.bsaProFirst,
#bsaProPanelTable td.bsaProFirst {
	text-align: left;
}

#bsaProPanelTable th {
	line-height: 40px;
	height: 40px;

	background: #161b22;
	color: #ffffff;
	font-weight: 600;
}

#bsaProPanelTable th.bsaProFirst {
	border-top-left-radius: 12px;
	max-width: 250px;
}

#bsaProPanelTable td.bsaProFirst {
	max-width: 250px;
}

#bsaProPanelTable td.bsaNoWrap {
	white-space: nowrap;
}

#bsaProPanelTable td.bsaCenter {
	text-align: center;
}

#bsaProPanelTable td.bsaProFirst .bsaProContent {
	margin-left: 60px;
	color: #ffffff;
}

#bsaProPanelTable th.bsaProFirst > img,
#bsaProPanelTable td.bsaProFirst > img {
	float: left;
	max-width: 50px;

	border-radius: 10px;
	border: 1px solid #30363d;

	background: #0D1117;
}

#bsaProPanelTable tr.bsaProLast,
#bsaProPanelTable th.bsaProLast,
#bsaProPanelTable td.bsaProLast {
	text-align: right;
	font-weight: bold;
}

#bsaProPanelTable th.bsaProLast {
	border-top-right-radius: 12px;
}

/* Links */
#bsaProPanelTable .bsaProContent > a,
#bsaProPanelTable a {
	display: inline-block;
	max-width: 100%;
	color: #58a6ff;
	text-decoration: none;

	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal;
}

#bsaProPanelTable .bsaProContent > a:hover,
#bsaProPanelTable a:hover {
	text-decoration: underline;
}

/* Status pill */
#bsaProPanelTable span.bsaProPanelStatus {
	background-color: rgba(148, 163, 184, 0.18);
	color: #ffffff;
	border-radius: 999px;
	padding: 3px 8px;
	border: 1px solid rgba(148, 163, 184, 0.35);
	font-weight: 600;
}

#bsaProPanelTable span.bsaProPanelStatus.active {
	background-color: rgba(46, 160, 67, 0.25);
	color: #ffffff;
	border-color: rgba(46, 160, 67, 0.65);
}

#bsaProPanelTable span.bsaProPanelStatus.pending {
	background-color: rgba(148, 163, 184, 0.18);
	color: #ffffff;
	border-color: rgba(148, 163, 184, 0.35);
}

#bsaProPanelTable span.bsaProPanelStatus.expired {
	background-color: rgba(248, 81, 73, 0.22);
	color: #ffffff;
	border-color: rgba(248, 81, 73, 0.60);
}

/* Botão */
#bsaProPanelTable .buyButton {
	background-color: #6e40c9;
	color: #ffffff;

	padding: 10px 20px;
	display: inline-block;
	text-decoration: none;

	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.10);

	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
	-webkit-transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease; /* Safari */
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

#bsaProPanelTable .buyButton:hover {
	background-color: #58a6ff;
	color: #0D1117;

	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.32);
}
/* -- END -- USER PANEL */

/* ======================================================================
 * [TS50][FIX] Quebra de texto (evita "vazar" layout)
 * ====================================================================== */
#bsaProPanelTable td,
#bsaProPanelTable th {
	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal;
}

/* ======================================================================
 * [TS50][FORCE] Override de estilos inline do ADS PRO (User Panel Customization)
 * ----------------------------------------------------------------------
 * PROBLEMA:
 * - O ADS PRO injeta `style="background-color: ...; color: ..."` no <tbody>.
 * - Se o usuário salvou cores claras/pretas padrão, isso pode quebrar o tema dark.
 *
 * SOLUÇÃO:
 * - Força o visual dark (#0D1117) e texto branco com !important.
 * ====================================================================== */
.bsaProPanelContainer {
	background: #0D1117 !important;
	color: #ffffff !important;
	border-color: #30363d !important;
}

#bsaProPanelTable {
	background: #0D1117 !important;
	color: #ffffff !important;
	border-color: #30363d !important;
}

#bsaProPanelTable tbody {
	background-color: #0D1117 !important;
	color: #ffffff !important;
}

#bsaProPanelTable tbody td,
#bsaProPanelTable tbody td *,
#bsaProPanelTable tbody strong,
#bsaProPanelTable tbody span,
#bsaProPanelTable tbody div {
	color: #ffffff !important;
}

#bsaProPanelTable thead,
#bsaProPanelTable th {
	background-color: #161b22 !important;
	color: #ffffff !important;
}

#bsaProPanelTable th,
#bsaProPanelTable td {
	border-color: #30363d !important;
}


/* ======================================================================
 * [TS50][UI] Destaque do link "full statistics" no User Panel
 * ----------------------------------------------------------------------
 * - Dá aparência de "badge/button" para ficar mais visível no dark.
 * - Aplica apenas no link que aponta para a página de estatísticas.
 * ====================================================================== */
#bsaProPanelTable a[href*="bsa_pro_user_panel=statistics"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border-radius: 10px;

	background: rgba(88, 166, 255, 0.12);
	border: 1px solid rgba(88, 166, 255, 0.35);

	color: #58a6ff !important;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none !important;
}
#bsaProPanelTable a[href*="bsa_pro_user_panel=statistics"]:hover {
	background: rgba(88, 166, 255, 0.20);
	border-color: rgba(88, 166, 255, 0.55);
}

/* ======================================================================
 * [TS50][UI] Botão "Full statistics" (destaque forte para o usuário entender)
 * ----------------------------------------------------------------------
 * - Troca o link simples por um botão com ícone + destaque (alto contraste)
 * - Classe adicionada no PHP: .ts50FullStatsBtn
 * ====================================================================== */
#bsaProPanelTable a.ts50FullStatsBtn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;

	padding: 8px 12px !important;
	border-radius: 12px !important;

	background: rgba(31, 111, 235, 0.22) !important;
	border: 1px solid rgba(31, 111, 235, 0.55) !important;

	color: #ffffff !important;
	font-weight: 800 !important;
	letter-spacing: 0.2px !important;
	line-height: 1 !important;

	text-decoration: none !important;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28) !important;

	white-space: nowrap !important;
	user-select: none;
}

#bsaProPanelTable a.ts50FullStatsBtn .ts50FullStatsIcon {
	font-size: 14px !important;
	line-height: 1 !important;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35));
}

#bsaProPanelTable a.ts50FullStatsBtn:hover {
	background: rgba(31, 111, 235, 0.34) !important;
	border-color: rgba(31, 111, 235, 0.75) !important;
	transform: translateY(-1px);
}

#bsaProPanelTable a.ts50FullStatsBtn:active {
	transform: translateY(0);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.30) !important;
}

/* Mobile */
@media (max-width: 640px) {
	#bsaProPanelTable a.ts50FullStatsBtn {
		padding: 7px 10px !important;
		border-radius: 10px !important;
		font-size: 12px !important;
	}
}


/* ==========================================================
   [TS50][FREE][REDIRECT] Aviso no painel após criar anúncio grátis
   ----------------------------------------------------------
   - Mostra mensagem quando a URL contém:
     ?ts50_free_pending=1 ou ?ts50_free_success=1
   ========================================================== */
.ts50PanelNotice{
    margin: 14px 16px 0 16px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(13,17,23,.65);
    color: #ffffff;
    font-size: 13px;
    line-height: 1.35;
    letter-spacing: .2px;
}
.ts50PanelNotice.is-pending{
    border-color: rgba(255,165,0,.35);
    background: rgba(255,165,0,.06);
}
.ts50PanelNotice.is-success{
    border-color: rgba(0,200,120,.35);
    background: rgba(0,200,120,.06);
}
