/*
 * ============================================================
 * Arquivo: area-do-aluno/assets/gbl-aa.css
 * Projeto: Law Thesis
 * Pasta:   area-do-aluno/assets
 * Módulo:  Área do Aluno — SHELL (abas + layout)
 * ============================================================
 * Descrição:
 *   Casca da Área do Aluno: navegação por abas no topo (conteúdo em
 *   largura total, rolagem horizontal no mobile), área de painéis e a
 *   guarda de login. Tema escuro do design system (Bricolage/Hanken/Geist).
 *   As variáveis ficam em .gbl-aa (classe) para valer também na guarda de
 *   login, que não tem o id #gbl-aa.
 *
 * Prefixo CSS: gbl-aa-
 * ============================================================
 */

.gbl-aa {
	--aa-card:      #1B1A13;
	--aa-card-2:    #12100D;
	--aa-borda:     #2B281F;
	--aa-verde:     #2FB877;
	--aa-verde-esc: #0FA958;
	--aa-branco:    #FFFFFF;
	--aa-texto:     #EDE6DC;
	--aa-muted:     #9A9DA6;
	--aa-mono:      #857F6B;
	--aa-ambar:     #F2B84B;

	font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	color: var(--aa-texto);
	-webkit-font-smoothing: antialiased;
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(20px, 4vw, 40px) clamp(16px, 3vw, 24px);
}

.gbl-aa * { box-sizing: border-box; margin: 0; padding: 0; }

/* ---------- Navegação por abas ---------- */
.gbl-aa__tabs {
	display: flex;
	gap: 4px;
	overflow-x: auto;
	border-bottom: 1px solid var(--aa-borda);
	margin-bottom: 28px;
	scrollbar-width: none;
}
.gbl-aa__tabs::-webkit-scrollbar { display: none; }

.gbl-aa__tab {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex: 0 0 auto;
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 14px 18px;
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--aa-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	white-space: nowrap;
	transition: color .16s ease, border-color .16s ease;
}
.gbl-aa__tab:hover { color: var(--aa-texto); }
.gbl-aa__tab.is-active { color: var(--aa-branco); border-bottom-color: var(--aa-verde); }
.gbl-aa__tab-ico { display: inline-flex; opacity: .85; }
.gbl-aa__tab.is-active .gbl-aa__tab-ico { opacity: 1; color: var(--aa-verde); }
.gbl-aa-ico { display: block; }

/* ---------- Painéis ---------- */
.gbl-aa__panel[hidden] { display: none; }
.gbl-aa__panel.is-active { animation: gbl-aa-fade .28s ease; }

@keyframes gbl-aa-fade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Guarda de login ---------- */
.gbl-aa--login {
	display: flex;
	justify-content: center;
	padding: clamp(40px, 8vw, 80px) 20px;
}
.gbl-aa__login-card {
	text-align: center;
	max-width: 440px;
	background: var(--aa-card);
	border: 1px solid var(--aa-borda);
	border-radius: 20px;
	padding: 44px 34px;
}
.gbl-aa__login-ico {
	display: inline-flex;
	color: var(--aa-verde);
	background: rgba(47, 184, 119, .12);
	width: 60px; height: 60px;
	align-items: center; justify-content: center;
	border-radius: 16px;
	margin-bottom: 18px;
}
.gbl-aa__login-ico .gbl-aa-ico { width: 28px; height: 28px; }
.gbl-aa__login-titulo {
	font-family: 'Bricolage Grotesque', 'Hanken Grotesk', sans-serif;
	font-weight: 800;
	font-size: 26px;
	letter-spacing: -.02em;
	color: var(--aa-branco);
	margin-bottom: 10px;
}
.gbl-aa__login-txt { color: var(--aa-muted); font-size: 16px; line-height: 1.6; }

/* ---------- Estado vazio ---------- */
.gbl-aa__aviso { color: var(--aa-muted); font-size: 15px; line-height: 1.6; padding: 24px 0; }

@media (max-width: 640px) {
	.gbl-aa__tab { padding: 12px 14px; font-size: 14px; }
}
