.hidden{display:none!important}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:#eef3f7;color:#263640}
.topbar{background:#19384f;color:#fff;padding:18px 4%}.topbar h1{margin:0;font-size:28px}.topbar p{margin:4px 0 0;opacity:.8}
.container{max-width:1200px;margin:20px auto}.card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.07);margin-bottom:20px}
h2{margin:0 0 6px;color:#19384f}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.section-title p{color:#6c7a83;font-size:14px}.grid-form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
input,select{padding:11px;border:1px solid #cdd7de;border-radius:7px;font-size:15px;background:#fff}
.form-actions,.actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.btn{border:0;border-radius:7px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:#2477b8;color:#fff}.secondary{background:#e8eef3;color:#284454}.danger{background:#c94b4b;color:#fff}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}.metric{background:#f5f8fa;border:1px solid #e0e7ec;border-radius:9px;padding:13px}.metric span{display:block;color:#6d7a83;font-size:12px}.metric strong{display:block;margin-top:5px;font-size:17px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:10px 8px;border-bottom:1px solid #e2e8ed;text-align:left;font-size:13px;white-space:nowrap}th{background:#19384f;color:#fff}tr:nth-child(even){background:#f8fafb}
.positive{color:#168149;font-weight:700}.negative{color:#c23f3f;font-weight:700}.msg{min-height:20px;color:#2477b8;font-weight:600}.icon-btn{border:0;background:transparent;color:#c33f3f;font-size:22px;cursor:pointer}
.date-control{display:flex;align-items:stretch;gap:6px}
.date-control #data{flex:1;min-width:0}
.calendar-btn{width:44px;padding:8px;border:1px solid #cdd7de;border-radius:7px;background:#e8eef3;color:#19384f;cursor:pointer;font-size:18px}
.calendar-btn:hover{opacity:.85}
.date-picker-hidden{position:absolute;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none;border:0!important;padding:0!important;margin:0!important}
@media(max-width:900px){.grid-form{grid-template-columns:1fr 1fr}.cards{grid-template-columns:repeat(3,1fr)}.section-title{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.grid-form{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.container{margin:10px}.card{padding:16px}}

/* Login e administração */
.login-screen{min-height:calc(100vh - 90px);display:flex;align-items:center;justify-content:center;padding:30px}
.login-card{width:min(420px,100%);background:#fff;padding:30px;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.10)}
.login-card h2{text-align:center;margin-bottom:6px}
.login-card>p{text-align:center;color:#6c7a83;margin-top:0;margin-bottom:24px}
.login-card form{display:grid;gap:16px}
.top-actions{display:flex;gap:8px;align-items:center}
.top-btn{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.28)}
.admin-create{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:10px}
.admin-create label{min-width:260px}
.credentials{margin:14px 0;padding:16px;border:1px solid #b8d8c5;background:#eef8f1;border-radius:9px;line-height:1.8}
.credentials small{display:block;color:#5d6c64;margin-top:4px}
.small-btn{padding:7px 10px;font-size:12px;margin-right:5px}
.history-tools{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.history-tools label{min-width:130px}
.row-actions{display:flex;gap:5px}
@media(max-width:600px){
  .topbar{display:flex;gap:10px;justify-content:space-between;align-items:center}
  .topbar h1{font-size:22px}
  .topbar p{font-size:12px}
  .top-actions{flex-direction:column;align-items:stretch}
  .top-btn{padding:7px 10px}
}

.password-form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.password-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.password-form{grid-template-columns:1fr}}

/* ===== AJUSTE DO HISTÓRICO ===== */

/* Botões Editar e Apagar sempre lado a lado */
.row-actions{
  display:flex;
  flex-direction:row;
  gap:5px;
  align-items:center;
  flex-wrap:nowrap;
}

.row-actions .btn{
  margin:0;
}

/* Ferramentas do Histórico */
.history-tools{
  display:flex;
  gap:10px;
  align-items:flex-end;
  flex-wrap:wrap;
}

.history-tools label{
  min-width:130px;
}

/* ===== CELULAR ===== */
@media(max-width:600px){

  .history-tools{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    align-items:end;
  }

  .history-tools label{
    min-width:0;
    width:100%;
  }

  .history-tools .btn{
    width:100%;
    white-space:nowrap;
  }

  /* Limpar período fica ao lado dos controles */
  #clearPeriodBtn{
    align-self:end;
  }

  /* L/P por ativo ocupa uma posição própria */
  #groupedBtn{
    align-self:end;
  }

  /* De e Até ficam lado a lado */
  #periodStart,
  #periodEnd{
    width:100%;
  }

  /* Ordenação ocupa uma célula */
  #sortHistory{
    width:100%;
  }

  /* Botões das ações da tabela */
  .row-actions{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:5px;
  }

  .row-actions .small-btn{
    margin-right:0;
    padding:7px 9px;
  }
}

/* Navegação principal */
.main-navigation{
  display:flex;
  gap:10px;
  margin:0 0 20px 0;
}

.main-navigation .btn{
  flex:0 0 auto;
}

/* No celular continuam lado a lado */
@media(max-width:600px){
  .main-navigation{
    display:flex;
    flex-direction:row;
    gap:8px;
  }

  .main-navigation .btn{
    flex:1;
    padding:11px 8px;
    font-size:13px;
  }
}