/* Os tokens de cor (--verde, --cor-navbar, --fundo-pagina...) vivem em
   temas.css, trocáveis pelo seletor de aparência. Este :root é só um
   reserva para páginas que carreguem style.css sem temas.css. */
:root { --verde: #198754; --verde-escuro: #146c43; --verde-mais-escuro: #0f5132; }
body { background: var(--fundo-pagina, #f4f6f5); }
.navbar-verde { background: var(--cor-navbar, linear-gradient(135deg, var(--verde), var(--verde-escuro))); }
.sidebar { background: var(--cor-sidebar-bg, #fff); border-right: 1px solid var(--cor-sidebar-borda, #e5e7eb); min-height: calc(100vh - 56px); }
.sidebar .nav-link { color: var(--cor-sidebar-texto, #374151); border-radius: 8px; margin: 2px 8px; padding: .5rem .75rem; display: flex; align-items: center; gap: 8px; }
.sidebar .nav-link i { width: 20px; text-align: center; }
.sidebar .nav-link:hover,
.sidebar .nav-link.active { background: var(--cor-sidebar-ativo, var(--verde)); color: var(--cor-sidebar-ativo-texto, #fff); }
.content-col { min-height: calc(100vh - 56px); }
.btn-verde { background: var(--verde); color: #fff; }
.btn-verde:hover { background: var(--verde-escuro); color: #fff; }
@media (max-width: 767px) { .sidebar-desktop { display: none; } }
.login-bg { min-height: 100vh; display: flex; align-items: center; justify-content: center;
            background: var(--fundo-login, linear-gradient(135deg, var(--verde), var(--verde-escuro))); }

/* Detalhes que acompanham o tema */
.text-success { color: var(--verde) !important; }
.btn-outline-success { --bs-btn-color: var(--verde); --bs-btn-border-color: var(--verde);
                       --bs-btn-hover-bg: var(--verde); --bs-btn-hover-border-color: var(--verde);
                       --bs-btn-active-bg: var(--verde); --bs-btn-active-border-color: var(--verde); }
.table thead.table-light { --bs-table-bg: var(--cor-th, #f8f9fa); }

/* Texto solto na página (títulos/notas fora de cards) — nos temas de casca
   escura ele precisa clarear; dentro de cards volta a herdar o normal. */
.content-col h1, .content-col h2, .content-col h3,
.content-col h4, .content-col h5, .content-col h6 { color: var(--cor-texto-pagina, inherit); }
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.alert h1, .alert h2, .alert h3, .alert h4, .alert h5, .alert h6 { color: inherit; }
.content-col > p.text-muted, .content-col > .d-flex .text-muted,
.content-col > div > .text-muted { color: var(--cor-texto-pagina-suave, #6c757d) !important; }
.login-card { width: 100%; max-width: 380px; border: none; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.login-header { text-align: center; padding: 28px 20px 8px; }

/* Rodape institucional (UDESC/CAV + LaTec) */
.footer-latec { background: var(--cor-rodape-bg, #fff); border-top: 3px solid var(--verde); color: var(--cor-rodape-texto, #6b7280); padding: 16px 12px; text-align: center; line-height: 1.4; font-size: .72rem; }
.footer-latec .logos { display: flex; align-items: center; justify-content: center; gap: 26px; flex-wrap: wrap; margin-bottom: 8px; }
.footer-latec .logo-udesc { height: 46px; width: auto; }
.footer-latec .logo-latec { height: 32px; width: auto; }
.login-card .footer-latec { border-top: 1px solid #eee; border-radius: 0 0 16px 16px; padding: 14px 12px; }
.login-card .footer-latec .logos { gap: 20px; margin-bottom: 6px; }
.login-card .footer-latec .logo-udesc { height: 54px; }
.login-card .footer-latec .logo-latec { height: 38px; }
.login-header .logos-topo { display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.login-header .logos-topo .logo-latec { height: 48px; width: auto; }
.marca-udesc { font-weight: 700; color: var(--verde-escuro); letter-spacing: 2.5px; text-align: center; }
.login-header .marca-udesc { font-size: .9rem; margin-bottom: 12px; }
.footer-latec .marca-udesc { font-size: .74rem; letter-spacing: 2px; margin: 3px 0 1px; color: var(--verde); }
.footer-latec .footer-lab { color: var(--verde); font-weight: 700; font-size: 1rem; letter-spacing: .2px; }
.footer-latec .footer-lab .dev-prefix { font-weight: 400; color: var(--cor-rodape-texto, #6b7280); font-size: .78rem; }
.footer-latec .footer-lab .copy { font-weight: 400; color: var(--cor-rodape-texto, #6b7280); font-size: .8rem; }
.footer-latec .footer-dev { font-size: .68rem; color: var(--cor-rodape-texto, #9ca3af); margin-top: 1px; }
.footer-latec .footer-sobre { display: inline-block; margin-top: 6px; color: var(--verde); text-decoration: none; font-size: .72rem; }
.footer-latec .footer-sobre:hover { text-decoration: underline; }
.sobre-card { width: 100%; max-width: 640px; border: none; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.sobre-card .card-body p { color: #374151; line-height: 1.65; }

/* Painel "Como usar esta tela" (ajuda inline) */
.ajuda-corpo { background: var(--cor-th, #f0fdf4); border: 1px solid #d1e7dd; border-left: 4px solid var(--verde);
               border-radius: 8px; padding: 14px 18px; font-size: .875rem; color: #374151; line-height: 1.6; }
.ajuda-corpo p { margin-bottom: .5rem; }
.ajuda-corpo h6 { font-size: .82rem; font-weight: 700; color: var(--verde-escuro); margin: .9rem 0 .35rem; }
.ajuda-corpo h6:first-child { margin-top: 0; }
.ajuda-corpo ul, .ajuda-corpo ol { margin-bottom: .5rem; padding-left: 1.2rem; }
.ajuda-corpo li { margin-bottom: .15rem; }
.ajuda-corpo strong { color: var(--verde-escuro); }

/* Página de Ajuda (FAQ) */
.faq-indice a { display: inline-block; margin: 2px 10px 2px 0; }
.faq-secao h5 { color: var(--verde-escuro); font-weight: 700; margin-top: 1.6rem; }
.faq-secao h6 { font-weight: 700; margin-top: 1rem; }
.faq-secao p, .faq-secao li { color: #374151; line-height: 1.65; }
