:root{
  --jbe-primary:#2F80ED;
  --jbe-primary-hover:#1F6FD6;
  --jbe-primary-dark:#163F8C;
  --jbe-sidebar:#15356F;
  --jbe-sidebar-2:#1D4EAA;
  --jbe-bg:#F6F9FC;
  --jbe-surface:#FFFFFF;
  --jbe-surface-2:#F9FBFE;
  --jbe-border:#D9E4F2;
  --jbe-text:#17324D;
  --jbe-muted:#6B7C93;
  --jbe-success:#169B62;
  --jbe-success-bg:#EDF9F2;
  --jbe-success-bd:#B8E7CC;
  --jbe-warning:#D99216;
  --jbe-warning-bg:#FFF8E8;
  --jbe-warning-bd:#F4D487;
  --jbe-danger:#C94141;
  --jbe-danger-bg:#FDF1F1;
  --jbe-danger-bd:#F1C5C5;
  --jbe-info:#2F80ED;
  --jbe-info-bg:#EEF5FF;
  --jbe-info-bd:#C8DCF9;
  --jbe-radius-lg:18px;
  --jbe-radius-md:12px;
  --jbe-radius-sm:10px;
  --jbe-shadow:0 12px 30px rgba(22,63,140,.08);
  --jbe-shadow-soft:0 8px 22px rgba(22,63,140,.06);
}

html,body{
  font-family:"Intro","Segoe UI",Tahoma,Arial,sans-serif !important;
  background:var(--jbe-bg) !important;
  color:var(--jbe-text) !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body{font-size:13px !important;line-height:1.45 !important}
*
,*::before
,*::after{box-sizing:border-box}
p,li,td,th,label,input,select,textarea,button,a,span,div,h1,h2,h3,h4,h5,h6,small,strong{font-family:inherit}

small,.small,.muted,.text-muted,.note,.help-text,.section-sub,.card-note,.legend,.meta,.hint,.hint-text,.obs,.caixa-texto small{font-size:11px !important;color:var(--jbe-muted) !important}
h1,.h1,.page-head .title,.title,.page-title{font-size:20px !important;font-weight:700 !important;letter-spacing:-.02em;color:inherit}
h2,.h2,.section-title,.topbar h5,.card-title,.titulo-secao{font-size:17px !important;font-weight:700 !important;letter-spacing:-.01em}
h3,.h3,.bloco-titulo,.card-subtitle,.doc-title{font-size:15px !important;font-weight:700 !important}
.money,.card-number,.valor,.valor-total,.total-geral,.total-value,.total-amount,.stat-value,.v,.amount,.preco,.kpi-value,.resumo-valor,strong.valor{
  font-size:16px !important;font-weight:700 !important;font-variant-numeric:tabular-nums;color:var(--jbe-text);text-align:right;
}

.wrap,.content-inner,.container-fluid,.container{max-width:1380px}
.page-head,.topbar,.hero-card,.banner-top,.cabecalho-pagina,.hero,.hero-clean,.topbar-clean{
  background:linear-gradient(135deg,var(--jbe-primary-dark) 0%, var(--jbe-primary) 100%) !important;
  color:#fff !important;border-radius:20px !important;box-shadow:var(--jbe-shadow) !important
}
.page-head .sub,.topbar .subtop,.subtitle,.page-head .muted,.hero .sub,.hero-clean .sub{color:rgba(255,255,255,.84) !important}

.card,.cardx,.card-custom,.bloco,.panel,.panel-card,.stat-card,.list-shell,.caixa,.widget,.table-card,.resumo-card,.box,.content-card,.section-box,.metric-card,.summary-card,.chart-card,.alert-card,.quick-card{
  background:var(--jbe-surface) !important;border:1px solid var(--jbe-border) !important;border-radius:16px !important;box-shadow:var(--jbe-shadow-soft) !important
}
.bloco-titulo,.list-head,.table thead th,.table-light th,.table-header,.section-head,.card-header,table thead th,th{
  background:#F1F6FD !important;color:var(--jbe-primary-dark) !important;border-bottom:1px solid var(--jbe-border) !important;font-size:11px !important;text-transform:uppercase !important;letter-spacing:.35px !important
}

.table,table{--bs-table-bg:transparent;border-collapse:collapse}
.table>:not(caption)>*>*, table td, table th{border-color:var(--jbe-border) !important}
.table tbody td, table td{font-size:12px !important;color:var(--jbe-text) !important;background:#fff}
.table tbody tr:nth-child(even) td, table tbody tr:nth-child(even) td{background:#FBFDFF !important}
.table tbody tr:hover td,.list-row:hover{background:#F3F8FF !important}
.list-row{border-bottom:1px solid var(--jbe-border) !important}
.item-title{font-weight:600 !important;color:var(--jbe-text) !important}

.form-control,.form-select,.inp,input[type="text"],input[type="email"],input[type="number"],input[type="date"],input[type="password"],input[type="search"],input[type="time"],select,textarea{
  min-height:42px;border:1px solid var(--jbe-border) !important;border-radius:12px !important;background:#fff !important;color:var(--jbe-text) !important;box-shadow:none !important;font-size:12px !important
}
textarea.form-control,textarea{min-height:96px}
.form-control::placeholder,textarea::placeholder,input::placeholder{color:#95A4B8 !important}
.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{border-color:#8CB7F7 !important;box-shadow:0 0 0 .18rem rgba(47,128,237,.12) !important}
label,.label,.form-label{font-size:12px !important;font-weight:600 !important;color:var(--jbe-muted) !important}

.btn,.btn-navy,.btn-primary,.btn-soft,.btn-danger-soft,.btn-secondary,.btn-outline-primary,.btn-success,.btn-warning,.btn-danger,.btn-info,.btn-light,.btn-outline-secondary,.btn-outline-light{
  border-radius:12px !important;font-weight:700 !important;font-size:12px !important;min-height:38px;padding:.6rem .95rem;box-shadow:none !important
}
.btn-primary,.btn-navy,.btn-confirmar,.btn-salvar,.btn-emitir,.btn-main{background:var(--jbe-primary) !important;border-color:var(--jbe-primary) !important;color:#fff !important}
.btn-primary:hover,.btn-navy:hover,.btn-confirmar:hover,.btn-salvar:hover,.btn-emitir:hover,.btn-main:hover{background:var(--jbe-primary-hover) !important;border-color:var(--jbe-primary-hover) !important}
.btn-success{background:var(--jbe-success) !important;border-color:var(--jbe-success) !important;color:#fff !important}
.btn-soft,.btn-secondary,.btn-outline-primary,.btn-light,.btn-outline-secondary{background:#fff !important;color:var(--jbe-primary-dark) !important;border:1px solid var(--jbe-border) !important}
.btn-soft:hover,.btn-secondary:hover,.btn-outline-primary:hover,.btn-light:hover,.btn-outline-secondary:hover{background:#F4F8FD !important;color:var(--jbe-primary-hover) !important;border-color:#C6D5E8 !important}
.btn-danger,.btn-danger-soft{background:var(--jbe-danger) !important;color:#fff !important;border:1px solid var(--jbe-danger) !important}
.btn-warning{background:var(--jbe-warning) !important;color:#fff !important;border:1px solid var(--jbe-warning) !important}

.alert,.jbe-inline-alert{border-radius:14px !important;padding:12px 14px !important;border:1px solid transparent !important;font-size:12px !important;font-weight:600 !important;display:flex;align-items:flex-start;gap:10px}
.alert-success,.badge-success,.status-paid,.estado-pago,.pago,.sucesso{background:var(--jbe-success-bg) !important;color:var(--jbe-success) !important;border-color:var(--jbe-success-bd) !important}
.alert-warning,.badge-warning,.status-pending,.estado-pendente,.pendente,.warning,.alerta{background:var(--jbe-warning-bg) !important;color:var(--jbe-warning) !important;border-color:var(--jbe-warning-bd) !important}
.alert-danger,.badge-danger,.status-cancelled,.estado-anulado,.anulado,.erro,.divida-atraso{background:var(--jbe-danger-bg) !important;color:var(--jbe-danger) !important;border-color:var(--jbe-danger-bd) !important}
.alert-info,.badge-info,.chip,.badge-neutral,.informacao{background:var(--jbe-info-bg) !important;color:var(--jbe-info) !important;border-color:var(--jbe-info-bd) !important}
.badge,.pill,.chip{font-size:11px !important;font-weight:700 !important;border-radius:999px !important;padding:.4rem .65rem}

.sidebar{background:linear-gradient(180deg,var(--jbe-sidebar) 0%, #0F234A 100%) !important}
.sidebar a.menu-link{color:#E5EDFF !important;font-weight:600 !important}
.sidebar a.menu-link:hover,.sidebar a.menu-link.active{background:rgba(255,255,255,.12) !important;color:#fff !important}
.menu-group-title{color:rgba(255,255,255,.65) !important}
.logout-btn,.sidebar .btn,.sidebar .btn-outline-light{border-radius:12px !important}

hr,.dropdown-divider,.sidebar-divider,.border,.border-top,.border-bottom,.border-start,.border-end{border-color:var(--jbe-border) !important;opacity:1}
.text-secondary,.text-muted,.muted,.section-sub,.doc-info td:first-child,.empresa-info,.codigo-linha,.fiscal-linha{color:var(--jbe-muted) !important}
.text-primary,a,.link-primary{color:var(--jbe-primary)}
a:hover,.link-primary:hover{color:var(--jbe-primary-hover)}

.totais tr.total-geral td,.table .total-geral td,.resumo-total,.kpi-primary,.total-box-final{background:var(--jbe-primary-dark) !important;color:#fff !important}
.print-actions .btn-print{background:var(--jbe-primary) !important;border-radius:12px !important}

.jbe-money,.valor-monetario,[data-money],.money,.valor,.valor-total,.total-geral,.preco,.amount{text-align:right !important;font-variant-numeric:tabular-nums}
.jbe-money.positivo,.positivo,.valor-positivo{color:var(--jbe-success) !important}
.jbe-money.negativo,.negativo,.valor-negativo{color:var(--jbe-danger) !important}
.jbe-back-row{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin:0 0 14px}
.jbe-back-btn{display:inline-flex;align-items:center;gap:8px;background:#fff !important;color:var(--jbe-primary-dark) !important;border:1px solid var(--jbe-border) !important;border-radius:12px !important;padding:9px 14px !important;text-decoration:none !important;font-size:12px !important;font-weight:700 !important;box-shadow:var(--jbe-shadow-soft) !important}
.jbe-back-btn:hover{background:#F4F8FD !important;color:var(--jbe-primary-hover) !important}
.jbe-toast-wrap{position:fixed;top:18px;right:18px;z-index:9999;display:grid;gap:10px;max-width:min(420px,calc(100vw - 24px))}
.jbe-toast{border-radius:14px;padding:12px 14px;border:1px solid transparent;box-shadow:var(--jbe-shadow);background:#fff;font-size:12px;font-weight:600;display:flex;align-items:flex-start;gap:10px}
.jbe-toast i{font-size:16px;line-height:1.1;margin-top:1px}
.jbe-toast.success{background:var(--jbe-success-bg);color:var(--jbe-success);border-color:var(--jbe-success-bd)}
.jbe-toast.warning{background:var(--jbe-warning-bg);color:var(--jbe-warning);border-color:var(--jbe-warning-bd)}
.jbe-toast.error{background:var(--jbe-danger-bg);color:var(--jbe-danger);border-color:var(--jbe-danger-bd)}
.jbe-toast.info{background:var(--jbe-info-bg);color:var(--jbe-info);border-color:var(--jbe-info-bd)}
.jbe-noah-mark{position:fixed;right:16px;bottom:12px;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(47,128,237,.16);box-shadow:0 8px 24px rgba(15,35,74,.10);font-size:11px;color:rgba(22,63,140,.78);letter-spacing:.10em;font-weight:700;pointer-events:none;z-index:999;user-select:none}.jbe-noah-mark .jbe-noah-label{font-family:"Intro","Segoe UI",Tahoma,Arial,sans-serif !important;text-transform:uppercase}

.jbe-document-page,.page.document-page{background:#fff !important;color:var(--jbe-text) !important}
.jbe-document-page .document-title,.jbe-document-page .title,.page.document-page .title{color:var(--jbe-primary-dark) !important}
.jbe-document-page table thead th,.page.document-page table thead th{background:var(--jbe-primary-dark) !important;color:#fff !important}
.jbe-document-page .doc-total,.page.document-page .doc-total{background:#F4F8FD !important;color:var(--jbe-primary-dark) !important;font-weight:700}

@media print{
  html,body{background:#fff !important}
  .card,.cardx,.card-custom,.bloco,.caixa,.panel,.widget{box-shadow:none !important}
  .jbe-toast-wrap,.jbe-noah-mark,.jbe-back-row{display:none !important}
}


/* Modal/caixa informativa JBE */
.jbe-modal-backdrop{position:fixed;inset:0;background:rgba(11,45,74,.38);backdrop-filter:blur(2px);z-index:1055;display:flex;align-items:center;justify-content:center;padding:18px}
.jbe-modal{width:min(520px,calc(100vw - 24px));background:#fff;border-radius:22px;box-shadow:0 28px 70px rgba(11,45,74,.22);border:1px solid rgba(11,45,74,.08);overflow:hidden}
.jbe-modal-head{display:flex;align-items:center;gap:12px;padding:18px 20px;background:linear-gradient(135deg,#0b2d4a,#123d63);color:#fff}
.jbe-modal-brand{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;letter-spacing:.8px;flex:0 0 46px}
.jbe-modal-brand i{font-size:20px}
.jbe-modal-title-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}
.jbe-modal-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.jbe-modal-title{font-size:17px;font-weight:800;line-height:1.2;margin:0}
.jbe-modal-close{margin-left:auto;border:none;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
.jbe-modal-body{padding:20px 20px 12px 20px;color:#15324b}
.jbe-modal-message{font-size:13px;line-height:1.7;font-weight:600;white-space:pre-line}
.jbe-modal-foot{padding:0 20px 20px 20px;display:flex;justify-content:flex-end;gap:10px}
.jbe-modal-btn{border:none;border-radius:12px;padding:10px 16px;font-size:12px;font-weight:700;cursor:pointer;background:#0b2d4a;color:#fff;box-shadow:0 10px 24px rgba(11,45,74,.18)}
.jbe-modal-btn:hover{filter:brightness(1.03)}
.jbe-modal-btn.secondary{background:#eef3f8 !important;color:#123d63 !important;box-shadow:none !important;border:1px solid rgba(11,45,74,.10)}
.jbe-modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.jbe-modal-field{display:flex;flex-direction:column;gap:6px}
.jbe-modal-field label{font-size:11px;font-weight:700;color:#3c556d}
.jbe-modal-field input,.jbe-modal-field select,.jbe-modal-field textarea{width:100%;border:1px solid #d8e2ec;border-radius:12px;padding:10px 12px;font-size:12px;font-family:Intro,"Segoe UI",Tahoma,Arial,sans-serif;background:#fff;color:#15324b}
.jbe-modal-note{margin-top:8px;font-size:11px;color:#617487;line-height:1.5}
.jbe-modal-highlight{background:#f6f9fc;border:1px solid #e2eaf2;border-radius:14px;padding:10px 12px;margin-top:10px}
@media (max-width: 640px){.jbe-modal-form-grid{grid-template-columns:1fr}}
.jbe-modal-backdrop[data-kind="warning"] .jbe-modal-head{background:linear-gradient(135deg,#8a5a00,#a86d00)}
.jbe-modal-backdrop[data-kind="warning"] .jbe-modal-btn{background:#8a5a00;box-shadow:0 10px 24px rgba(138,90,0,.18)}
.jbe-modal-backdrop[data-kind="error"] .jbe-modal-head{background:linear-gradient(135deg,#7a1f2a,#a32938)}
.jbe-modal-backdrop[data-kind="error"] .jbe-modal-btn{background:#7a1f2a;box-shadow:0 10px 24px rgba(122,31,42,.18)}
.jbe-modal-backdrop[data-kind="info"] .jbe-modal-head{background:linear-gradient(135deg,#0b2d4a,#123d63)}
@media print{.jbe-modal-backdrop{display:none !important}}
