/* módulo contratos_fornecedores */
.ctr-progress{display:flex;gap:.5rem;align-items:center;font-size:.85rem}
.ctr-progress .progress{flex:1}
.ctr-matrix input[type=number]{width:64px;text-align:center;padding:.3rem}
.ctr-matrix th.rot{writing-mode:horizontal-tb;font-size:.72rem}
.ctr-rank{font-weight:800;font-size:1.05rem;color:var(--brand)}
.ctr-stars{color:var(--accent);letter-spacing:1px;white-space:nowrap}
.ctr-stars .off{color:var(--line-2)}
.ctr-picker{position:relative}
.ctr-picker-box{position:absolute;z-index:50;right:0;top:100%;width:min(560px,95vw);max-height:360px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:.75rem}
.ctr-picker-box .item{padding:.5rem .6rem;border-radius:8px;cursor:pointer;border:1px solid transparent}
.ctr-picker-box .item:hover{background:var(--brand-50);border-color:var(--brand-100)}
.ctr-picker-box .item small{display:block;color:var(--muted)}
.ctr-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ctr-cal .d{min-height:70px;border:1px solid var(--line);border-radius:8px;padding:.25rem .35rem;font-size:.72rem}
.ctr-cal .d .n{font-weight:700;color:var(--muted)}
.ctr-cal .d .ev{display:block;margin-top:.15rem;padding:.1rem .3rem;border-radius:4px;background:var(--brand-50);color:var(--brand-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctr-cal .d .ev.pag{background:var(--success-50);color:var(--success)}
.ctr-cal .d .ev.late{background:var(--danger-50);color:var(--danger)}
.forn-portal{max-width:1080px;margin:2rem auto;padding:0 1rem}
.forn-portal .head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}
.forn-public{max-width:760px;margin:2.5rem auto;padding:0 1rem}
.ctr-check{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--line)}
.ctr-check:last-child{border-bottom:0}
.ctr-check .st{flex:0 0 auto}
.ctr-check .st select{padding:.25rem .4rem;font-size:.8rem}
.ctr-benchbar{height:8px;border-radius:4px;background:var(--brand-100);position:relative}
.ctr-benchbar span{position:absolute;top:-3px;width:14px;height:14px;border-radius:50%;background:var(--brand);transform:translateX(-50%)}
@media(max-width:640px){.ctr-cal .d{min-height:46px}.ctr-cal .d .ev{display:none}.ctr-cal .d .cnt{display:inline-block;font-size:.65rem;color:var(--brand)}}
