/* Melhorias visuais e de usabilidade (14/10/2026). Só adiciona estilos; não altera regras nem dados. */
:where(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus-visible{outline:3px solid #1673ad;outline-offset:2px;border-radius:8px}
::selection{background:#cfe8f6;color:#0b2f45}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap thead th{position:sticky;top:0;z-index:1;background:#eef6fa;box-shadow:0 1px 0 #d5e3ec}
td,th{font-variant-numeric:tabular-nums}
.table-wrap tbody tr:hover td{background:#f6fafd}
.btn:disabled,button:disabled{cursor:not-allowed}
/* Controle de contratos — painel de mensalistas sem contrato */
.cc-missing{border-left:4px solid #1673ad}
.cc-missing-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 12px}
.cc-kpi{border:1px solid #d9e6ee;border-radius:12px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:2px}
.cc-kpi b{font-size:26px;line-height:1.1;color:#12425f}.cc-kpi span{font-size:12px;color:#5a7386;font-weight:700}
.cc-kpi.bad{border-color:#f0b8b0;background:#fff4f2}.cc-kpi.bad b{color:#b42318}
.cc-kpi.good{border-color:#b8d7e9;background:#f1f8fc}.cc-kpi.good b{color:#12425f}
.cc-missing details summary{cursor:pointer;font-weight:700;color:#12425f;margin:6px 0}
@media (max-width:700px){.table-wrap thead th{position:static}.cc-kpi b{font-size:22px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media print{.side,.top,.tabs,.toolbar,.nav,.sidebar,.cc-nav{display:none!important}.app{display:block!important}.main,.content{width:100%;padding:0}.table-wrap{overflow:visible}.table-wrap thead th{position:static}}
