/* Sistema Liberty Contabilidade — estilos globais */
:root {
  --dp-primary:  #024AA9;
  --dp-navy:     #0D2A4A;
  --dp-dark:     #373738;
  --dp-muted:    #8DA5A9;
  --dp-hover:    #023a87;
}

body { font-family: 'Segoe UI', system-ui, sans-serif; background: #f0f4f8; color: var(--dp-dark); }

/* Navbar */
.navbar-dp         { background: var(--dp-primary); }
.navbar-brand-text { font-size: .95rem; font-weight: 700; letter-spacing: .3px; }

/* Cards */
.card { border-radius: 8px; }
.card-header { border-radius: 8px 8px 0 0 !important; padding: .6rem 1rem; }

/* List group competências */
.list-group-item-action:hover { background: #e3eaf8; }
.list-group-item { border-left: none; border-right: none; }
.list-group-item:first-child { border-top: none; }

/* AG Grid header fixas */
.ag-theme-alpine .ag-header-cell.fixed-col { background: var(--dp-navy) !important; color: #fff !important; }

/* Tabela admin */
.table thead th { font-size: .82rem; font-weight: 600; letter-spacing: .3px; color: var(--dp-dark); }
.table tbody td { font-size: .88rem; }

/* Badges */
.badge { font-size: .75rem; }

/* Input focus */
.form-control:focus, .form-select:focus {
  border-color: var(--dp-primary);
  box-shadow: 0 0 0 .2rem rgba(2,74,169,.18);
}

/* Botões dp */
.btn-dp       { background: var(--dp-primary); color: #fff; border: none; }
.btn-dp:hover { background: var(--dp-hover);   color: #fff; }
.btn-dp-light       { background: var(--dp-navy); color: #fff; border: none; }
.btn-dp-light:hover { background: var(--dp-hover); color: #fff; }

/* Lista competências com scroll */
.lista-comps-scroll { max-height: 400px; overflow-y: auto; }

/* Cores de fundo utilitárias */
.bg-dp-primary { background: var(--dp-primary) !important; }
.bg-dp-navy    { background: var(--dp-navy)    !important; }
.bg-dp-dark    { background: var(--dp-dark)    !important; }
.bg-dp-muted   { background: var(--dp-muted)   !important; }

/* Inputs de busca com largura fixa */
.inp-busca-sm { width: 200px; }

/* Toast */
#toast-msg { min-width: 220px; }

/* Ícones de módulo */
.icon-dp-primary { color: var(--dp-primary); }
.icon-dp-navy    { color: var(--dp-navy); }
.icon-dp-muted   { color: var(--dp-muted); }
.icon-modulo-dp  { color: var(--dp-primary); }
.text-dp-primary   { color: var(--dp-primary); }
.modal-header-dp   { background: var(--dp-primary); padding: .75rem 1rem; }
.textarea-resize-v { resize: vertical; }
.home-com-badge    { background: #E8F0FB; color: var(--dp-primary); font-size: .68rem; }
.home-com-new      { font-size: .65rem; }
.home-com-dt       { font-size: .78rem; }
.com-conteudo      { white-space: pre-wrap; line-height: 1.7; font-size: .95rem; min-height: 40px; }

/* Módulo cards (dentro dos modais de departamento) */
.modulo-card { transition: transform .15s, box-shadow .15s; cursor: pointer; }
.modulo-card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1rem rgba(2,74,169,.18) !important; }

/* Home — departamentos */
.dept-card { transition: transform .18s, box-shadow .18s; text-decoration: none; color: inherit; }
.dept-card:hover { transform: translateY(-4px); box-shadow: 0 .75rem 1.5rem rgba(2,74,169,.2) !important; color: inherit; }
.dept-icon     { font-size: 3rem; }
.dept-icon-svg { width: 52px; height: 52px; filter: brightness(0) invert(1); }
.dept-badge { font-size: .72rem; letter-spacing: .4px; }
.dept-header-dp      { background: var(--dp-primary); }
.dept-header-contabil{ background: var(--dp-navy); }
.dept-header-fiscal  { background: var(--dp-dark); }
.dept-badge-dp       { background: var(--dp-primary); }
.dept-badge-contabil { background: var(--dp-navy); }
.dept-badge-fiscal      { background: var(--dp-dark); }
.dept-header-societario { background: #0F766E; }
.dept-badge-societario  { background: #0F766E; }
.home-title             { color: var(--dp-primary); }

/* Departamento bloqueado (sem permissão) */
.dept-card-locked { cursor: not-allowed; opacity: .55; }
.dept-card-locked:hover { transform: none !important; box-shadow: none !important; }
.dept-header-locked { background: #adb5bd !important; }

/* CND por empresa */
.inp-busca-cnd { max-width: 320px; }
.toast-corner  { z-index: 9999; }

/* Scrollbar fina */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: var(--dp-muted); border-radius: 3px; }
