/* Sprint 16 — Contratos, Recorrências & Vencimentos */
.service-contract-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.service-contract-money-kpi{font-size:22px!important}
.service-contract-panel{display:grid;gap:16px}
.service-contract-filters{display:flex;gap:8px;flex-wrap:wrap}
.service-contract-filters button{border:1px solid var(--line,#cfe1d6);background:transparent;color:inherit;border-radius:999px;padding:7px 12px;cursor:pointer;font-weight:700}
.service-contract-filters button.active{background:rgba(20,190,105,.10);border-color:rgba(20,190,105,.45)}
.service-contract-list{display:grid;gap:10px}
.service-contract-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px;border:1px solid var(--line,#cfe1d6);border-radius:14px;background:var(--panel-soft,#f3faf6)}
.service-contract-row.renewal{border-color:rgba(220,160,0,.45);background:rgba(220,160,0,.05)}
.service-contract-row.expired{border-color:rgba(210,55,55,.35);background:rgba(210,55,55,.04)}
.service-contract-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.service-contract-title h4{margin:0}
.service-contract-main p{margin:5px 0;color:var(--muted,#60766a)}
.service-contract-meta{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:12px}
.service-contract-meta span{font-weight:700}
.service-contract-state{font-style:normal;font-size:10px;font-weight:800;padding:5px 9px;border-radius:999px;border:1px solid var(--line,#cfe1d6)}
.service-contract-state.active,.service-contract-state.renewed{background:rgba(20,190,105,.10)}
.service-contract-state.pending{background:rgba(80,120,220,.10)}
.service-contract-state.renewal{background:rgba(220,160,0,.12)}
.service-contract-state.expired,.service-contract-state.cancelled{background:rgba(210,55,55,.10)}
.service-contract-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.service-contract-card{display:grid;gap:11px}
.service-contract-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.service-contract-card-grid>div,.service-contract-card-line,.service-contract-cancelled{padding:11px 12px;border:1px solid var(--line,#cfe1d6);border-radius:10px;background:rgba(20,190,105,.035)}
.service-contract-card-grid span,.service-contract-card-line span,.service-contract-cancelled span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#60766a)}
.service-contract-card-grid b,.service-contract-card-line b,.service-contract-cancelled b{display:block;margin-top:4px}
.service-contract-card-grid small{display:block;margin-top:3px;color:var(--muted,#60766a)}
.service-contract-cancelled{background:rgba(210,55,55,.06)}
.service-contract-history{display:grid;gap:0;margin-top:2px}
.service-contract-history>div{display:grid;grid-template-columns:12px 1fr;gap:9px;min-height:42px}
.service-contract-history i{width:7px;height:7px;border-radius:50%;background:var(--line-strong,#5d806c);margin-top:6px;position:relative}
.service-contract-history i:after{content:"";position:absolute;width:1px;background:var(--line,#cfe1d6);left:3px;top:9px;bottom:-31px}
.service-contract-history>div:last-child i:after{display:none}
.service-contract-history section{display:grid;gap:2px}
.service-contract-history span,.service-contract-history small{font-size:11px;color:var(--muted,#60766a)}
@media(max-width:1100px){
  .service-contract-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .service-contract-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-contract-row{grid-template-columns:1fr}
  .service-contract-actions{justify-content:flex-start}
  .service-contract-card-grid{grid-template-columns:1fr}
}
