/* Página Contratos & Licitações (organizada do arquivo original) */
.page-title{margin:.5rem 0 1rem;display:flex;align-items:center;gap:.6rem;color:var(--azul)}
.page-title .badge{background:#e6eef8;padding:.2rem .6rem;border-radius:999px;font-size:.85rem;color:#0f172a}
.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin:.5rem 0 1rem}
.toolbar input[type='search'], .toolbar select{padding:.7rem .9rem;border:1px solid #d1d5db;border-radius:12px;background:#fff;outline:none;transition:border var(--trans),box-shadow var(--trans)}
.toolbar input[type='search']:focus,.toolbar select:focus{border-color:var(--azul);box-shadow:0 0 0 4px rgba(0,51,102,.14)}
.list{display:grid;gap:.8rem}
.year-group{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:var(--sombra);overflow:hidden}
.year-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem;background:linear-gradient(0deg,#f4f7fb,#f9fbff);border:0;color:#0f172a;font-weight:700;cursor:pointer}
.year-header:focus-visible{outline:3px solid rgba(0,51,102,.25);outline-offset:2px}
.year{font-size:1.05rem;letter-spacing:.2px}
.badge{margin-left:auto;background:#e6eef8;color:#0f172a;padding:.2rem .55rem;border-radius:999px;font-weight:600;font-size:.8rem}
.chevron{width:1rem;height:1rem;position:relative;flex:0 0 1rem}
.chevron::before,.chevron::after{content:'';position:absolute;inset:0;margin:auto;width:.55rem;height:2px;background:#0f172a;transition:transform var(--trans),opacity var(--trans)}
.chevron::before{transform:rotate(90deg)}
.year-header[aria-expanded='true'] .chevron::after{opacity:0}
.year-header[aria-expanded='true'] .chevron::before{transform:rotate(180deg)}
.year-content{max-height:0;overflow:hidden;transition:max-height var(--trans);will-change:max-height;border-top:1px solid #eef2f7;background:#fff}
.year-group.open .year-content{max-height:520px;overflow-y:auto}
.card{display:grid;gap:.35rem;padding:1rem;border-bottom:1px dashed #e5e7eb}
.card:last-child{border-bottom:0}
.meta{display:flex;flex-wrap:wrap;gap:.4rem .8rem;font-size:.92rem;color:#374151}
.meta span{background:#f3f4f6;border:1px solid #e5e7eb;padding:.15rem .5rem;border-radius:999px}
.objeto{color:#111827}
.links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.25rem}
.links a{color:var(--azul);text-decoration:none;font-weight:600}
.links a:hover{text-decoration:underline}
.status{font-weight:700}
.empty-state{text-align:center;color:#6b7280;margin-top:1rem}
@media (max-width:640px){
  .year-header{padding:.9rem .9rem}
  .card{padding:.85rem}
}