/* ==========================================================================
   Sinais Pré Edital — Componentes do vertical Licitação
   ==========================================================================
   CSS modular consumindo APENAS tokens --sd-* de /tokens.css (DS v1.2).
   Tema do vertical aplicado via <body data-vertical="licitacao">.
   Nenhum hex duro neste arquivo — validado por grep no build.
   ========================================================================== */

/* Skip-link (a11y) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:var(--sd-color-accent);color:var(--sd-color-text-inverse);padding:0.6rem 1rem;border-radius:0 0 8px 0;font-weight:600;text-decoration:none}
.skip-link:focus{left:0}

/* Container */
.main-container{max-width:1100px;margin:0 auto;padding:1.75rem 1.5rem 3rem}

/* Hero */
.hero{background:linear-gradient(135deg,var(--sd-color-surface-inverse) 0%,color-mix(in srgb,var(--sd-color-surface-inverse),var(--sd-color-accent) 10%) 60%,var(--sd-color-accent) 100%);border-radius:20px;padding:3rem 1.75rem;margin-bottom:2rem;box-shadow:0 10px 30px -5px rgba(15,23,42,0.25)}
.hero__badge{display:inline-block;background:var(--sd-color-accent-wash);color:var(--sd-color-text-inverse);padding:0.3rem 0.8rem;border-radius:999px;font-size:0.8rem;font-weight:600;margin-bottom:1rem}
.hero__title{font-size:2.4rem;font-weight:800;letter-spacing:-0.03em;color:var(--sd-color-text-inverse);margin-bottom:0.75rem;line-height:1.15}
.hero__subtitle{font-size:1.05rem;color:var(--sd-color-text-inverse);opacity:0.85;max-width:700px;line-height:1.55}

/* Títulos de seção e página */
.page-title{font-size:2rem;font-weight:800;letter-spacing:-0.02em;color:var(--sd-color-text);margin-bottom:0.5rem}
.section-title{font-size:1.4rem;font-weight:800;color:var(--sd-color-text);margin:2rem 0 0.35rem}
.section-sub{font-size:0.92rem;color:var(--sd-color-text-muted);margin-bottom:1rem}

/* Stat cards */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}
.stat-card{background:var(--sd-color-surface);border:1px solid var(--sd-color-rule);border-radius:14px;padding:1.15rem 1.25rem;box-shadow:0 2px 10px -2px rgba(15,23,42,0.03)}
.stat-card__val{display:block;font-family:var(--sd-font-mono);font-size:1.35rem;font-weight:700;color:var(--sd-color-text)}
.stat-card__label{display:block;font-size:0.78rem;color:var(--sd-color-text-subtle);margin-top:0.3rem}

/* Tabela responsiva */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0}
table{width:100%;border-collapse:collapse}
th,td{padding:0.65rem 0.75rem;text-align:left;border-bottom:1px solid var(--sd-color-rule)}
th{background:var(--sd-color-surface);color:var(--sd-color-text-muted);font-weight:600;font-size:0.76rem;text-transform:uppercase;letter-spacing:0.05em}
td{color:var(--sd-color-text);font-size:0.9rem}
tbody tr:hover td{background:var(--sd-color-accent-wash)}
.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--sd-font-mono);font-size:0.85rem}
.pos{color:var(--sd-color-text-subtle);font-size:0.8rem;width:2.5rem;text-align:center}
.table-wrap a{color:var(--sd-color-accent);text-decoration:none;font-weight:600}
.table-wrap a:hover{text-decoration:underline}

/* Tag de função (accent-wash) */
.tag{display:inline-block;padding:0.18rem 0.55rem;border-radius:6px;font-size:0.74rem;font-weight:600;background:var(--sd-color-accent-wash);color:var(--sd-color-text)}

/* UF grid */
.uf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:0.5rem;margin:1rem 0}
.uf-card{display:block;background:var(--sd-color-surface);border:1px solid var(--sd-color-rule);border-radius:10px;padding:0.7rem;text-align:center;text-decoration:none;transition:border-color 0.15s ease,transform 0.15s ease}
.uf-card:hover{border-color:var(--sd-color-accent);transform:translateY(-2px)}
.uf-card__sigla{display:block;font-weight:700;font-size:1rem;color:var(--sd-color-text)}
.uf-card__qtd{display:block;color:var(--sd-color-text-subtle);font-size:0.74rem;margin-top:0.15rem}

/* CTA box */
.cta-box{background:var(--sd-color-surface);border:1px solid var(--sd-color-accent);border-radius:16px;padding:2rem;text-align:center;margin:2.5rem 0}
.cta-box h2,.cta-box h3{color:var(--sd-color-text);margin-bottom:0.5rem;font-size:1.3rem;font-weight:800}
.cta-box p{color:var(--sd-color-text-muted);font-size:0.95rem;margin-bottom:1.25rem;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.55}

.btn-accent{display:inline-block;background:var(--sd-color-accent);color:var(--sd-color-text-inverse);border:none;border-radius:10px;padding:0.75rem 1.8rem;font-size:0.95rem;font-weight:700;text-decoration:none;transition:filter 0.15s ease}
.btn-accent:hover{filter:brightness(1.12);text-decoration:none}

/* Breadcrumb */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:0.4rem;font-size:0.82rem;color:var(--sd-color-text-subtle);margin-bottom:1.25rem}
.breadcrumb a{color:var(--sd-color-text-muted);text-decoration:none}
.breadcrumb a:hover{color:var(--sd-color-accent);text-decoration:underline}
.breadcrumb .sep{color:var(--sd-color-rule-strong)}
.breadcrumb .active{color:var(--sd-color-text);font-weight:600}

/* Cards institucionais (Sobre/Privacidade) */
.card{background:var(--sd-color-surface);border:1px solid var(--sd-color-rule);border-radius:16px;padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 2px 10px -2px rgba(15,23,42,0.03)}
.card h2{font-size:1.15rem;font-weight:800;color:var(--sd-color-text);margin-bottom:0.6rem}
.card p,.card li{color:var(--sd-color-text);font-size:0.94rem;line-height:1.65}
.card ul{padding-left:1.4rem;margin:0.5rem 0}
.card li{margin-bottom:0.35rem}
.card a{color:var(--sd-color-accent);font-weight:600;text-decoration:none}
.card a:hover{text-decoration:underline}
.quote{border-left:3px solid var(--sd-color-accent);background:var(--sd-color-accent-wash);padding:0.75rem 1rem;border-radius:0 8px 8px 0;margin:1rem 0;color:var(--sd-color-text);font-style:italic;font-size:0.94rem;line-height:1.6}
.main-container code{font-family:var(--sd-font-mono);font-size:0.85em;background:var(--sd-color-accent-wash);border-radius:4px;padding:0.1em 0.35em;color:var(--sd-color-text)}

/* Footer */
.footer{border-top:1px solid var(--sd-color-rule);padding:1.5rem 0;margin-top:2rem}
.footer-content{max-width:1100px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;font-size:0.85rem;color:var(--sd-color-text-muted)}
.footer-content strong{color:var(--sd-color-text)}
.footer-links a{color:var(--sd-color-text-muted);text-decoration:none}
.footer-links a:hover{color:var(--sd-color-accent)}

.last-upd{color:var(--sd-color-text-subtle);font-size:0.8rem;margin:2rem 0 0;text-align:center}
.last-upd a{color:var(--sd-color-accent);text-decoration:none}

/* Responsivo */
@media (max-width:768px){
  .main-container{padding:1.25rem 1rem 2.5rem}
  .hero{padding:2.25rem 1.25rem;border-radius:16px}
  .hero__title{font-size:1.7rem}
  .page-title{font-size:1.55rem}
  .stats-grid{grid-template-columns:1fr 1fr}
  th,td{padding:0.45rem 0.5rem}
  td{font-size:0.84rem}
  .footer-content{flex-direction:column;text-align:center}
}
@media (max-width:480px){
  .stats-grid{grid-template-columns:1fr}
}
