:root { --azul:#192C53; --cinza:#e9edf3; --borda:#e6e6e6; }

.btn-buscar{
  background-color: var(--azul); color:#fff; padding:8px 10px; border:none; border-radius:8px;
  cursor:pointer; box-shadow:0 8px 20px rgba(0,0,0,.2); transition:.3s; text-decoration:none;
}
.btn-limpar{
  background-color: var(--azul); color:#fff; padding:7px 10px; border:1px solid var(--azul);
  border-radius:8px; cursor:pointer; box-shadow:0 8px 20px rgba(0,0,0,.2); transition:.3s;
  font-size:.8rem; text-decoration:none; display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
}
.filtros-container{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center; margin-bottom:10px;
}
.filtro-input{
  padding:4px 8px!important; font-size:.75rem!important; border-radius:6px!important;
  min-width:100px!important; max-width:160px!important; border:1px solid #ccc!important; text-align:left;
}
.actions-buttons{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
  margin-top:15px;
}

.btn-action-primary,
.btn-action-secondary{
  padding:10px 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:.2s;
  text-decoration:none;
  min-width:180px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
}

.btn-action-primary{
  background:var(--azul);
  color:#fff;
  border:1px solid var(--azul);
  box-shadow:0 8px 20px rgba(0,0,0,.2);
}

.btn-action-primary:hover{
  filter:brightness(1.06);
}

.btn-action-secondary{
  background:#fff;
  color:var(--azul);
  border:1px solid var(--azul);
  box-shadow:inset 0 0 0 rgba(0,0,0,0);
}

.btn-action-secondary:hover{
  background:rgba(25,44,83,.05);
}
.ibox{
  position:relative; margin-bottom:25px; background-color:#fff;
  -webkit-box-shadow:0 1px 1px rgba(0,0,0,.1); box-shadow:0 1px 1px rgba(0,0,0,.1);
}
.ibox .ibox-head{
  background-color: var(--azul); color:#fff; padding:0 20px; border-bottom:1px solid #eee;
  display:flex; justify-content:space-between; align-items:center; height:50px;
}
.ibox .ibox-head .ibox-title{ font-size:16px; font-weight:600; }
.ibox .ibox-body{ padding:15px 20px 20px; }
.filtros-wrapper{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
  gap:10px; margin:10px auto; width:100%;
}

/* MODAL */
.modal .ibox-head{ border-radius:0; padding:0 16px; height:52px; }
.modal .ibox-title{ font-size:15px; font-weight:800; }
.btn-acao-modal{
  background:var(--azul); color:#fff; border:none; padding:10px 12px; border-radius:8px;
  font-size:13px; font-weight:800; cursor:pointer; transition:.2s; white-space:nowrap;
}
.btn-acao-modal:hover{ filter:brightness(1.05); }
.msg-empty{
  padding:10px 12px; border:1px dashed var(--borda); border-radius:10px; color:#444; background:#fff;
  font-weight:700; font-size:13px;
}

/* ABAS no modal (pills com o mesmo estilo) */
.tab-btn{
  background:var(--cinza);
  color:#111;
  border:1px solid rgba(0,0,0,.08);
  padding:10px 12px;
  border-radius:10px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  transition:.2s;
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.tab-btn.active{
  background:var(--azul);
  color:#fff;
  border-color:var(--azul);
}

/* LISTA PAUSADAS */
.pausadas-item{
  border:1px solid var(--borda);
  border-radius:12px;
  padding:12px 12px;
  background:#fff;
  cursor:pointer;
  transition:.15s;
}
.pausadas-item:hover{ transform:translateY(-1px); box-shadow:0 8px 20px rgba(0,0,0,.10); }
.mini-muted{ color:#6b7280; font-weight:800; font-size:12px; }

/* TOAST */
.toast-wrap{
  position:fixed; right:18px; top:80px; z-index:9999; width:380px; max-width:calc(100vw - 36px);
  display:none;
}
.toast-card{
  border-radius:12px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.18);
  border:1px solid rgba(0,0,0,.06); background:#fff;
}
.toast-head{
  display:flex; justify-content:space-between; align-items:center; padding:10px 12px;
  font-weight:900; color:#fff;
}
.toast-body{
  padding:10px 12px; font-size:13px; font-weight:800; color:#222; background:#fff;
  white-space:pre-line;
}
.toast-actions{
  padding:0 12px 12px 12px; display:flex; justify-content:flex-end; gap:8px;
}
.btn-toast{
  border:none; border-radius:8px; padding:8px 10px; font-size:12px; font-weight:900; cursor:pointer;
}
.btn-toast-close{
  background:rgba(255,255,255,.25); color:#fff; padding:6px 10px; border-radius:10px; font-weight:900;
  line-height:1;
}
.btn-toast-light{ background:var(--cinza); color:#222; }
.btn-toast-primary{ background:var(--azul); color:#fff; }

.toast-danger .toast-head{ background:#b30000; }
.toast-warning .toast-head{ background:#b36b00; }
.toast-info .toast-head{ background:var(--azul); }

/* BADGES */
.badge{ font-size:12px; padding:6px 10px; }
.badge-refatura{ background:#6f42c1; } /* roxo */
.badge-fut{ background:#198754; } /* verde */

.white-background{
    background-color: white;
}

.color-text-modal{
    color: black;
}
.loading-overlay {
    position: fixed;
    inset: 0;
    background: rgba(25, 44, 83, 0.45);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.loading-box {
    background: #fff;
    border-radius: 16px;
    padding: 26px 28px;
    min-width: 280px;
    text-align: center;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
}

.loading-spinner {
    width: 46px;
    height: 46px;
    border: 4px solid #d9e2f1;
    border-top: 4px solid var(--azul);
    border-radius: 50%;
    animation: girar 0.9s linear infinite;
    margin: 0 auto 14px auto;
}

.loading-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--azul);
    margin-bottom: 6px;
}

.loading-sub {
    font-size: 13px;
    color: #555;
}

@keyframes girar {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* RESPONSIVIDADE PARA COLETORES E MOBILE */
@media (max-width: 768px) {
    .filtros-container {
        justify-content: flex-start;
    }
    
    .filtro-input {
        flex: 1 1 calc(50% - 10px);
        max-width: none !important;
    }

    .btn-action-primary,
    .btn-action-secondary {
        min-width: 140px;
        padding: 12px 10px;
    }

    .toast-wrap {
        width: calc(100% - 36px);
        right: 18px;
    }

    .tab-btn {
        flex: 1;
        justify-content: center;
        padding: 12px 8px;
    }
}

@media (max-width: 480px) {
    .filtros-wrapper {
        flex-direction: column;
        align-items: stretch;
    }

    .actions-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-action-primary,
    .btn-action-secondary {
        min-width: 100%;
        width: 100%;
    }

    .ibox .ibox-head {
        height: auto;
        padding: 10px 15px;
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }

    .modal-dialog {
        margin: 10px;
    }

    .tab-btn {
        font-size: 11px;
    }
}
