/* SEGURANÇA E LGPD · CONTAINER 04 · ACESSOS E PERMISSÕES (único container gráfico) — v0.59.0
   Fundo aurora animado por CSS (_shared/05-aurora.css, variante bl). Ajustes: --uos-sga-veil (véu, p.ex. rgba(255,255,255,.55)).
   Matrizes são <table> reais: ✓ / — com texto "Sim/Não" para leitores de tela; nada depende só de cor. */
.uos-sg-access {
  --uos-sga-veil: rgba(255, 255, 255, 0);
  background:
    linear-gradient(var(--uos-sga-veil), var(--uos-sga-veil)),
    var(--uos-aurora-grain),
    var(--uos-aurora-bl),
    var(--uos-sec-bg);
  background-blend-mode: normal, soft-light, normal;
  animation: var(--uos-aurora-motion);
}

.uos-sg-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.uos-sg-boards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 24px); margin-top: clamp(24px, 3vw, 40px); }

.uos-sg-board {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--uos-line);
  border-radius: var(--hm-radius);
  background: var(--uos-white);
}
.uos-sg-board header { padding: clamp(20px, 2.2vw, 30px) clamp(20px, 2.2vw, 30px) 0; }
.uos-sg-board header span { color: var(--uos-red); font-size: 0.875rem; font-weight: 600; }
.uos-main .uos-sg-board header h3 { margin: 6px 0 12px; font-family: var(--uos-font-display); font-size: clamp(1.25rem, 1.7vw, 1.55rem); font-weight: 300; letter-spacing: -0.01em; line-height: 1.2; }
.uos-sg-board header b { display: inline-block; padding: 5px 12px; border: 1px solid var(--uos-line); border-radius: 999px; background: var(--uos-paper); font-size: 0.8125rem; font-weight: 500; }

.uos-sg-board table { width: calc(100% - 2 * clamp(20px, 2.2vw, 30px)); margin: 18px auto 0; border-collapse: collapse; table-layout: fixed; }
.uos-sg-board thead th { padding: 0 2px 8px; color: var(--uos-gray-600); font-size: 0.75rem; font-weight: 600; text-align: center; }
.uos-sg-board thead th:first-child { width: 38%; text-align: left; }
.uos-sg-board tbody th { padding: 10px 6px 10px 0; border-top: 1px solid var(--uos-line); font-size: 0.875rem; font-weight: 500; text-align: left; line-height: 1.3; }
.uos-sg-board tbody td { padding: 10px 2px; border-top: 1px solid var(--uos-line); color: var(--uos-gray-600); text-align: center; }
.uos-sg-board tbody td.is-on { color: var(--uos-black); font-weight: 700; }
.uos-sg-board tbody td.is-on span:first-child { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--uos-orange); }
.uos-sg-short { display: none; }

.uos-sg-board footer { margin-top: auto; padding: 18px clamp(20px, 2.2vw, 30px) clamp(20px, 2.2vw, 28px); }
.uos-sg-board footer span { display: block; color: var(--uos-red); font-size: 0.8125rem; font-weight: 600; }
.uos-sg-board footer strong { display: block; margin-top: 4px; font-size: 0.9375rem; font-weight: 500; line-height: 1.45; }

.uos-sg-layers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 24px); margin: clamp(32px, 4vw, 56px) 0 0; padding: 0; list-style: none; }
.uos-sg-layers li { padding-top: 14px; border-top: 2px solid var(--uos-black); }
.uos-sg-layers strong { display: block; font-family: var(--uos-font-display); font-size: 1.25rem; font-weight: 400; }
.uos-sg-layers span { display: block; margin-top: 6px; font-size: 0.9375rem; line-height: 1.5; }

.uos-sg-life { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: clamp(28px, 3.4vw, 44px) 0 0; padding: 0; list-style: none; }
.uos-sg-life li { padding: 8px 18px; border: 1px solid var(--uos-black); border-radius: 999px; background: var(--uos-white); font-size: 0.9375rem; font-weight: 600; }
.uos-sg-life li.is-last { background: var(--uos-orange); border-color: var(--uos-orange); }
.uos-sg-life li.uos-sg-life__arrow { padding: 0; border: 0; background: none; }

.uos-sg-access .uos-sec__note { margin-top: clamp(24px, 3vw, 36px); }
.uos-sg-access .uos-sec__note a { color: var(--uos-red); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1000px) { .uos-sg-layers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .uos-sg-boards { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) {
  .uos-sg-full { display: none; }
  .uos-sg-short { display: inline; }
  .uos-sg-layers { grid-template-columns: minmax(0, 1fr); }
  .uos-sg-life li { padding: 6px 12px; font-size: 0.875rem; }
}
