/**
 * Estilos do módulo LGPD (front-end): banner de cookies e central de privacidade.
 * Prefixo .glgpd- / .gerenciar-lgpd- para não colidir com o tema.
 */

/* ───────── Banner de cookies ───────── */

.gerenciar-lgpd-banner {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 99990;
	max-width: 880px;
	margin: 0 auto;
	background: #ffffff;
	color: #1f2937;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
	padding: 18px 20px;
	font-size: 14px;
	line-height: 1.5;
	animation: glgpd-up 0.25s ease-out;
}

@keyframes glgpd-up {
	from { transform: translateY(16px); opacity: 0; }
	to   { transform: translateY(0); opacity: 1; }
}

.gerenciar-lgpd-banner[hidden] { display: none; }

.glgpd-banner-main {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.glgpd-banner-texto {
	flex: 1 1 320px;
	margin: 0;
}

.glgpd-banner-acoes {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

/* Botões */
.glgpd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 16px;
	border-radius: 9px;
	border: 1px solid transparent;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	line-height: 1.2;
	transition: filter 0.15s ease, background 0.15s ease;
}
.glgpd-btn:hover { filter: brightness(0.96); }

.glgpd-btn-primary {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
}
.glgpd-btn-secondary {
	background: #f3f4f6;
	color: #374151;
	border-color: #e5e7eb;
}
.glgpd-btn-ghost {
	background: transparent;
	color: #4b5563;
	border-color: #d1d5db;
}
.glgpd-btn-danger {
	background: #dc2626;
	color: #fff;
}

/* Painel de preferências */
.glgpd-banner-prefs {
	margin-top: 16px;
	border-top: 1px solid #eef0f3;
	padding-top: 14px;
}
.glgpd-banner-prefs[hidden] { display: none; }

.glgpd-prefs-titulo { margin: 0 0 10px; font-size: 15px; }

.glgpd-cats { list-style: none; margin: 0; padding: 0; }

.glgpd-cat {
	padding: 10px 0;
	border-bottom: 1px solid #f3f4f6;
}
.glgpd-cat:last-child { border-bottom: 0; }

.glgpd-cat-head {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	cursor: pointer;
}
.glgpd-cat-nome { flex: 1; }
.glgpd-cat-desc { margin: 4px 0 0; font-size: 13px; color: #6b7280; }

/* Switch (esconde o checkbox nativo e estiliza o irmão) */
.glgpd-cat-head input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.glgpd-switch {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 22px;
	border-radius: 999px;
	background: #cbd5e1;
	flex: 0 0 auto;
	transition: background 0.2s ease;
}
.glgpd-switch::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 18px;
	height: 18px;
	background: #fff;
	border-radius: 50%;
	transition: transform 0.2s ease;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}
.glgpd-cat-head input:checked + .glgpd-switch { background: #7c5cd6; }
.glgpd-cat-head input:checked + .glgpd-switch::after { transform: translateX(18px); }
.glgpd-cat-head input:disabled + .glgpd-switch { opacity: 0.6; }

.glgpd-prefs-acoes { margin-top: 14px; text-align: right; }


/* ───────── Central de Privacidade ───────── */

.gerenciar-lgpd-central {
	max-width: 760px;
	margin: 0 auto;
}
.glgpd-central-titulo { margin: 0 0 4px; }
.glgpd-central-sub { color: #6b7280; margin: 0 0 20px; }

.glgpd-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 20px 22px;
	margin-bottom: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.glgpd-card h3 { margin: 0 0 10px; font-size: 17px; }
.glgpd-card-danger { border-color: #fecaca; background: #fff5f5; }

.glgpd-dados,
.glgpd-tabela {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.glgpd-dados th {
	text-align: left;
	width: 40%;
	padding: 8px 10px 8px 0;
	color: #6b7280;
	font-weight: 600;
	vertical-align: top;
}
.glgpd-dados td { padding: 8px 0; }

.glgpd-tabela th,
.glgpd-tabela td {
	text-align: left;
	padding: 9px 10px;
	border-bottom: 1px solid #f1f3f5;
}
.glgpd-tabela th { color: #6b7280; font-weight: 600; }

.glgpd-hint { color: #6b7280; font-size: 13px; margin: 10px 0 0; }

.glgpd-status {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
}
.glgpd-status-pending   { background: #fef3c7; color: #92400e; }
.glgpd-status-approved  { background: #dbeafe; color: #1e40af; }
.glgpd-status-rejected  { background: #fee2e2; color: #991b1b; }
.glgpd-status-completed { background: #dcfce7; color: #166534; }

.glgpd-msg {
	padding: 12px 16px;
	border-radius: 10px;
	margin-bottom: 16px;
	font-size: 14px;
}
.glgpd-msg[hidden] { display: none; }
.glgpd-msg-sucesso { background: #dcfce7; color: #166534; }
.glgpd-msg-erro    { background: #fee2e2; color: #991b1b; }
.glgpd-msg-info    { background: #e0f2fe; color: #075985; }

.glgpd-central .glgpd-cat-head { font-weight: 600; }
.glgpd-central .glgpd-btn { margin-top: 12px; }

.gerenciar-lgpd-aviso {
	padding: 16px 18px;
	background: #f3f4f6;
	border-radius: 10px;
}

.gerenciar-lgpd-documento { line-height: 1.7; }
.gerenciar-lgpd-versao { color: #9ca3af; margin-top: 24px; }

/* ───────── Responsivo ───────── */
@media (max-width: 600px) {
	.glgpd-banner-acoes { width: 100%; }
	.glgpd-banner-acoes .glgpd-btn { flex: 1 1 auto; }
	.glgpd-dados th { width: 45%; }
}

/* ───────── Dark mode (classe do tema Silicon) ───────── */
.dark-mode .gerenciar-lgpd-banner,
.dark-mode .glgpd-card {
	background: #1f2430;
	color: #e5e7eb;
	border-color: #374151;
}
.dark-mode .glgpd-card-danger { background: #2a1f24; border-color: #7f1d1d; }
.dark-mode .glgpd-cat { border-color: #2b3240; }
.dark-mode .glgpd-cat-desc,
.dark-mode .glgpd-central-sub,
.dark-mode .glgpd-hint,
.dark-mode .glgpd-dados th,
.dark-mode .glgpd-tabela th { color: #9ca3af; }
.dark-mode .glgpd-tabela th,
.dark-mode .glgpd-tabela td { border-color: #2b3240; }
.dark-mode .glgpd-btn-secondary { background: #2b3240; color: #e5e7eb; border-color: #374151; }
.dark-mode .glgpd-btn-ghost { color: #cbd5e1; border-color: #4b5563; }
.dark-mode .gerenciar-lgpd-aviso { background: #2b3240; }
