/* Identidade GAPPER no admin (django-jazzmin).
   Pra trocar as cores, mude so as variaveis abaixo. */
:root {
  --gapper-azul: #001d6b;          /* azul-marinho da logo: header, menu, botoes */
  --gapper-azul-escuro: #00144d;   /* menu lateral */
  --gapper-azul-medio: #12307e;    /* hover de botao */
  --gapper-destaque: #4c7bd9;      /* azul claro: item ativo, links, foco */
  --gapper-destaque-suave: #e8eefb;
  --gapper-grafite: #3a4150;       /* texto e botoes secundarios */
  --gapper-fundo: #f4f6fa;         /* fundo das areas de conteudo */
  --gapper-texto-claro: #e6eaf2;   /* texto sobre o azul */
  --gapper-borda: #dde3ee;
}

/* ---------- estrutura ---------- */
body, .content-wrapper, .login-page { background-color: var(--gapper-fundo) !important; color: var(--gapper-grafite); }
/* barra superior (AdminLTE 4: .app-header) */
.app-header.navbar { background-color: var(--gapper-azul) !important; border-bottom: 0 !important; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
.app-header .nav-link { color: var(--gapper-texto-claro) !important; font-weight: 500; }
.app-header .nav-link:hover { color: #fff !important; }
.app-header .form-control-navbar { background: rgba(255,255,255,.12) !important; border-color: transparent !important; color: #fff !important; }
.app-header .form-control-navbar::placeholder { color: rgba(230,234,242,.75); }
.app-header .btn-navbar { background: rgba(255,255,255,.12) !important; color: var(--gapper-texto-claro) !important; border: 0; }
/* menu lateral */
.app-sidebar, .sidebar-dark-primary { background-color: var(--gapper-azul-escuro) !important; }
.sidebar-brand { background-color: var(--gapper-azul) !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; }
.brand-link .brand-image { width: 36px; height: 36px; max-height: 36px !important; }
.brand-link { background-color: var(--gapper-azul) !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; }
.brand-link .brand-text { color: #fff !important; font-weight: 600 !important; letter-spacing: .04em; }
.brand-link .brand-image { background: transparent; box-shadow: none !important; }
.sidebar .user-panel { border-bottom-color: rgba(255,255,255,.08) !important; }
.sidebar .user-panel a, .sidebar .nav-header { color: var(--gapper-texto-claro) !important; }
.sidebar-dark-primary .nav-sidebar .nav-link { color: #c9d2e6 !important; }
.sidebar-dark-primary .nav-sidebar .nav-link:hover { background-color: rgba(76,123,217,.18) !important; color: #fff !important; }
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar .nav-treeview > .nav-item > .nav-link.active {
  background-color: var(--gapper-destaque) !important; color: #fff !important; box-shadow: none !important;
}
.nav-sidebar .nav-header { text-transform: uppercase; font-size: .72rem; letter-spacing: .08em; opacity: .75; }
.main-footer { background: #fff; color: #8a93a6; border-top: 1px solid var(--gapper-borda); }

/* ---------- conteudo ---------- */
a { color: var(--gapper-azul-medio); }
a:hover { color: var(--gapper-destaque); }
.content-header h1, .content-header h3 { color: var(--gapper-azul); font-weight: 600; }
.card { border: 1px solid var(--gapper-borda); box-shadow: 0 1px 2px rgba(0,29,107,.05); }
.card-header { background-color: #fff; border-bottom: 1px solid var(--gapper-borda); }
.card-primary.card-outline, .card-outline { border-top: 3px solid var(--gapper-azul) !important; }
.table thead th, #result_list thead th { color: var(--gapper-grafite); border-bottom: 2px solid var(--gapper-borda); }
#result_list tbody tr:hover { background-color: var(--gapper-destaque-suave); }
.breadcrumb-item a { color: var(--gapper-destaque); }

/* ---------- botoes e formularios ---------- */
.btn-primary, .btn-success, .bg-primary {
  background-color: var(--gapper-azul) !important; border-color: var(--gapper-azul) !important; color: #fff !important;
}
.btn-primary:hover, .btn-success:hover { background-color: var(--gapper-azul-medio) !important; border-color: var(--gapper-azul-medio) !important; }
.btn-info { background-color: var(--gapper-destaque) !important; border-color: var(--gapper-destaque) !important; color: #fff !important; }
.btn-outline-primary { color: var(--gapper-azul) !important; border-color: var(--gapper-azul) !important; }
.btn-outline-primary:hover { background-color: var(--gapper-azul) !important; color: #fff !important; }
.page-item.active .page-link { background-color: var(--gapper-azul); border-color: var(--gapper-azul); }
.page-link { color: var(--gapper-azul-medio); }
.form-control:focus, .select2-container--focus .select2-selection, .select2-container--open .select2-selection {
  border-color: var(--gapper-destaque) !important; box-shadow: 0 0 0 .15rem rgba(76,123,217,.2) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--gapper-destaque) !important;
}
/* navegacao por data (2024 / 2025 / 2026) */
.date-hierarchy .btn, .btn-group > .btn.btn-primary { background-color: var(--gapper-azul) !important; }

/* Linhas com varios campos (fieldsets com tupla, ex: Cliente + Data):
   grade com ate 2 pares rotulo|campo por linha; um 3o campo desce pra
   linha de baixo, alinhado com os rotulos (coluna de 25%). */
.form-group > .row:has(> .fieldBox) {
  display: grid; grid-template-columns: 25% minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center; column-gap: 12px; row-gap: 10px; margin: 0;
}
.fieldBox .related-widget-wrapper .select2-container { min-width: 160px !important; flex: 1 1 160px !important; }
.form-group > .row:has(> .fieldBox) > * { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; }
.form-group > .row:has(> .fieldBox) > label { margin: 0; white-space: nowrap; }
.fieldBox .select2-container { width: 100% !important; min-width: 0; }
/* sem espaco, os icones (editar/adicionar/apagar/ver) descem pra baixo do campo */
.fieldBox .related-widget-wrapper { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; min-width: 0; }
.fieldBox .related-widget-wrapper > select, .fieldBox .related-widget-wrapper > .select2-container { flex: 1 1 auto; }
.fieldBox input.vDateField, .fieldBox select { max-width: 100%; }
@media (max-width: 992px) { .form-group > .row:has(> .fieldBox) { grid-template-columns: 1fr; } }

/* Painel: o grupo "Relatorios" vira os atalhos do topo; esconde o cartao
   gerado automaticamente (que mostraria botoes "Modificar" nos links). */
.dashboard .card:has(a[href*="/admin/relatorios/"]) { display: none; }
.related-widget-wrapper-link { opacity: .7; }
.related-widget-wrapper-link:hover { opacity: 1; }

/* ---------- login ---------- */
.login-logo img, .login-box .login-logo img { max-height: 120px; }
.login-box .card { border-top: 4px solid var(--gapper-azul) !important; }

/* ---------- painel inicial: atalhos de relatorio ---------- */
.gapper-atalhos { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-bottom: 18px; }
.gapper-atalhos a {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 8px;
  background: #fff; border: 1px solid var(--gapper-borda); color: var(--gapper-azul); font-weight: 600;
  text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
.gapper-atalhos a:hover { border-color: var(--gapper-destaque); box-shadow: 0 2px 8px rgba(0,29,107,.08); }
.gapper-atalhos i { font-size: 1.35rem; width: 36px; height: 36px; display: grid; place-items: center;
  border-radius: 8px; background: var(--gapper-destaque-suave); color: var(--gapper-azul); }
.gapper-atalhos small { display: block; font-weight: 400; color: #7a8396; }

/* ---------- avisos (mensagens do admin) ---------- */
.alert-info { background-color: var(--gapper-destaque-suave) !important; border-color: #c9d6f2 !important; color: var(--gapper-azul) !important; }
.alert-success { background-color: #e7f5ee !important; border-color: #bfe3cf !important; color: #14532d !important; }

/* status editavel na lista (ex: "Pronta para corte") sem cortar o texto */
#result_list td select { min-width: 175px; }
