:root{
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --text: #1f2937;         /* cinza-escuro */
    --header-bg: #eef4ff;    /* cabeçalho com leve azul */
    --row-div: #cfe0ff;      /* divisória azul-clara */ 
    --muted: #4b5563;        /* cinza médio */
    --border: #cfe0ff;       /* azul claro para divisórias */
    --zebra: #f7fbff;        /* azul muito claro (linhas ímpares) */
    --link: #1a56db;         /* azul do link */
    --link-hover: #0a46c9;   /* azul do link (hover) */

  --att-fg:#7A4700; /* atenção (amarelo) */
  --att-bd:#B26A00;
  --att-bg:#FFF4E5;
  --rev-fg:#7A1B1B; /* revogação (vermelho) */
  --rev-bd:#9E2323;
  --rev-bg:#FCE8E6;
    }

html{ font-size: clamp(15px, 1.2vw, 16px); }
    :where(a, button, [role="tab"]) { outline: none; }
    :where(a, button, [role="tab"]):focus-visible{
      outline: 3px solid #7aa2ff; outline-offset: 2px; border-radius: 4px;
    }

body{
      font-family: 'Rawline', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
      color: var(--text);
      line-height:1.5;
      margin: 24px;
      background:#fff;
    }

html, body {
  font-size: 15px !important; 
}


h1 { font-size: 1.8rem !important; font-weight: 700; margin: 1.5rem 0 1rem; color: #0f172a; }
h2 { font-size: 1.4rem !important; }
h3 { font-size: 1.15rem !important; }
h4, h5, h6 { font-size: 1rem !important; }



    .controls{
      display: flex;
      gap: .5rem;
      flex-wrap: wrap;
      margin: 1rem 0 1.25rem;
    }
    .controls label{
      cursor: pointer;
      padding: .35rem .6rem;
      border: 1px solid #cfd8ea;
      border-radius: .375rem;
      background: #f8fafc;
      font-size: .9375rem;
      color: #0f172a;
    }
    input[type="radio"]{ display: none; }

    section{ display: none; } /* o CSS dinâmico vai mostrar só a seção ativa */

    table{
      width: 100%;
      border-collapse: collapse;  /* necessário para as linhas ficarem "coladas" */
      table-layout: fixed;        /* colunas com largura estável */
      font-size: .9375rem;
      background: white;
    }
    .table-wrap{ overflow:auto; }
    .table-wrap table{ min-width: 680px; } /* evita quebra feia */
    thead th{
      text-align: left;
      font-weight: 600;
      color: #0f172a;
      background: var(--header-bg);
      border-bottom: 2px solid var(--border);
      padding: .6rem .7rem;
      position: sticky; top: 0; z-index: 1;
    }
    tbody td{
      vertical-align: top;
      padding: .6rem .7rem;
      border-bottom: 1px solid var(--border); /* <-- linha azul clara entre as linhas */
      color: var(--text);
    }
    tbody tr:nth-child(odd){ background-color: var(--zebra); }
    tbody tr:hover{ background-color: #eaf2ff; }

    td:nth-child(1){ width: 36%; }
    td:nth-child(2){ width: 54%; }
    td:nth-child(3){ width: 10%; text-align: center; }

    a{ color: var(--link); text-decoration: none; }
    a:hover{ color: var(--link-hover); text-decoration: underline; }
    /* estilo base das abas (vale para qualquer label que aponte para um opt-) */
    label[for^="opt-"]{
      padding:6px 10px; !important;
 border:1px solid #c7d2e8; 
border-radius:6px; !important;
      background:#f6f9ff; cursor:pointer; display:inline-block; 
margin: 4px 2px 2px 0 !important;
	font-size: 0.95rem !important;

line-height: 1.3 !important;

    }
    /* destaque da aba ativa (não precisa da classe .tab) */
    input[type="radio"][id^="opt-"]:checked + label{
      background:#dfe9fb; border-color:#99b5ea; font-weight:600;
    }
    .atos-tag{ display:inline-block; padding:.2rem .5rem; border-radius:.5rem; font-weight:600; }
    .atos-tag--active{ background:#e7f3d7; color:#235b00; border:1px solid #b6da8f; }
    .atos-tag--alterado{
  background: #fff7db;       /* âmbar suave */
  color: #7a4e00;            /* texto âmbar escuro (bom contraste) */
  border: 1px solid #ffd666; /* borda âmbar */
}
  .atos-tag--revogado{
  /* Hachuras diagonais em tons de cinza */
  background:
    repeating-linear-gradient(
      135deg,
      #f2f2f2 0 8px,
      #e8e8e8 8px 16px
    );
  background-clip: padding-box; /* evita que as listras "invadam" a borda */
  color: #3d3d3d;               /* cinza escuro (contraste AA com fundo claro) */
  border: 1px solid #bdbdbd;    /* borda cinza */
}


    @media print{
      .tabs, .skip-link { display:none !important; }
      a::after{ content:" (" attr(href) ")"; font-size:0.9em; color:#555; }
      tr, td, th { page-break-inside: avoid; }
    }

html, body {
  font-size: 15px !important;
}

.controls,
.controls label,
.controls input,
.controls select,
.controls button {
  font-size: 0.95rem !important;
}

.controls label {
  padding: .25rem .5rem;
  font-size: 0.95rem !important;
}

table,
th,
td,
.table-wrap,
.table-wrap table,
tbody td,
thead th {
  font-size: 0.95rem !important;
}

section {
  font-size: 0.97rem !important;
}

section > table {
  margin-top: 2rem;
}


.discreet {
  font-size: 0.95rem !important;
  color: var(--muted, #4b5563);
}

a.external-link {
  font-size: 1.05rem !important;
  line-height: 1.4 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-weight: 500 !important;
}

/* Selo/pílula */
.badge {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .25rem .55rem; border-radius: 999px;
  font: 600 12px/1.2 system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  text-transform: uppercase; letter-spacing: .02em;
  border: 1px solid transparent; color: #222; background: #F2F2F2;
}
.badge a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.badge svg { width: 14px; height: 14px; }

/* base do selo */

.atos-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .15rem .5rem;
  border-radius: 999px;
  font-size: .85rem;
  line-height: 1;
  white-space: nowrap;
  background: #eef2f7;
  color: #243447;
  text-transform: none; 
}

.atos-badge svg {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  vertical-align: -0.125em;
}

.atos-badge--alteracao     { background: #eaf5ff; color: #07529a; }
.atos-badge--retificacao   { background: #fff4e5; color: #8a4b00; }
.atos-badge--republicacao  { background: #f1e6ff; color: #5b2d90; }
.atos-badge--revogacao     { background: #ffebee; color: #b71c1c; }


.atos-badge a {
  font-size: 1em;         /* igual ao texto do selo */
  line-height: 1;
  color: inherit;         /* usa a cor do badge */
  text-decoration: underline;
  text-underline-offset: 2px;
}
.atos-badge a:visited { color: inherit; opacity: .9; }

@supports (font-size: clamp(0.5rem, 1vw, 1rem)) {
  .atos-badge a { font-size: clamp(.8em, 1em, 1em); }
}

/* se usar a pilha de status */
.status-stack { display: inline-flex; gap: .5rem; flex-wrap: wrap; align-items: center; }

/* Borda lateral da linha */
tr.is-retificada  > td:first-child,
tr.is-alterada    > td:first-child,
tr.is-republicada > td:first-child { border-left: 4px solid var(--att-bd); }
tr.is-revogada    > td:first-child { border-left: 4px solid var(--rev-bd); }

/* Acessibilidade */
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); border: 0; padding: 0; }

@media print { .badge { background: transparent; border-width: 2px; } }