/* Tema compartilhado do painel Razor/Bootstrap. Carregado após site.css.
   Tokens semânticos também atendem componentes legados e modais no body. */
.emitto-panel {
  --emitto-navy: var(--primary);
  --emitto-navy-dark: var(--sidebar);
  --emitto-azul: var(--secondary);
  --emitto-azul-dark: var(--primary);
  --emitto-azul-claro: var(--secondary-soft);
  --emitto-teal: var(--secondary);
  --emitto-teal-dark: var(--primary);
  --emitto-gelo: var(--background);
  --emitto-cinza: var(--muted-foreground);
  --emitto-border: var(--border);
  --bs-body-font-family: var(--font-sans);
  --bs-body-color: var(--foreground);
  --bs-body-bg: var(--background);
  --bs-border-color: var(--border);
  --bs-border-radius: var(--radius);
  --bs-border-radius-lg: var(--radius);
  --bs-border-radius-xl: var(--radius);
  --bs-border-radius-xxl: var(--radius);
  --bs-link-color: var(--secondary);
  --bs-link-hover-color: var(--primary);
  font-family: var(--font-sans);
  background: var(--background);
  color: var(--foreground);
}
.emitto-panel :is(h1,h2,h3,h4,h5,h6,.card-header,.fw-nunito,.topbar-title,.dash-card .fs-5,.money-display) {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -.025em;
}
.emitto-panel :is(.money-display,.table,.dash-card) { font-variant-numeric: tabular-nums; }
.emitto-panel .emitto-sidebar { background: var(--sidebar); transition-duration: 160ms; }
.emitto-panel .brand { min-height: 80px; border-color: var(--sidebar-border); }
.emitto-panel .brand img { object-fit: contain; background: transparent; padding: 0; }
.emitto-panel .brand :is(b, b em) { color: var(--sidebar-foreground); }
.emitto-panel .brand small { color: var(--sidebar-muted); }
.emitto-panel :is(.sidebar-group-label,.sidebar-footer .info small) { color: var(--sidebar-muted); }
.emitto-panel .sidebar-link { color: var(--sidebar-muted); padding-top: 10px; padding-bottom: 10px; transition-duration: 160ms; }
.emitto-panel .sidebar-link:is(:hover,.active) { background: var(--sidebar-accent); color: var(--sidebar-foreground); border-left-color: var(--secondary); }
.emitto-panel .sidebar-link .ico { font-size: 1rem; width: 22px; }
.emitto-panel .sidebar-footer { border-color: var(--sidebar-border); }
.emitto-panel .avatar-circle { background: var(--sidebar-accent); }
.emitto-panel .avatar-circle.has-logo { background: var(--card); }
.emitto-panel .sidebar-backdrop { background: var(--overlay); }
.emitto-panel .emitto-topbar { display: flex; min-height: 64px; background: var(--card); padding: .8rem 1.5rem; }
.emitto-panel .topbar-title { font-size: 1rem; overflow-wrap: anywhere; }
.emitto-panel .topbar-context { font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; color: var(--secondary); background: var(--secondary-soft); padding: .3rem .5rem; border-radius: var(--radius); }
.emitto-panel .emitto-main { padding-inline: 1.5rem; }
.emitto-panel .page-header { padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.emitto-panel .page-header h5 { font-size: 1.35rem; }
.emitto-panel :is(.card,.modal-content,.dropdown-menu,.accordion-item,.list-group,.alert,.fiscal-summary,.fiscal-cancel-warning,.dash-icon,.btn,.badge) { border-radius: var(--radius); }
.emitto-panel :is(.card,.modal-content,.dropdown-menu) { border: 1px solid var(--border); background: var(--card); box-shadow: var(--card-shadow); }
.emitto-panel :is(.card-header,.modal-header,.modal-footer,.card-footer) { border-color: var(--border); }
.emitto-panel .card-header { padding: .9rem 1rem; }
.emitto-panel .dash-card { border-top: 3px solid var(--c, var(--secondary)); }
.emitto-panel .dash-card::after { content: none; }
.emitto-panel .dash-card:hover { transform: none; box-shadow: var(--card-shadow); }
.emitto-panel :is(.card-navy,.card-azul) { --c: var(--secondary); }
.emitto-panel :is(.card-green,.card-teal) { --c: var(--positive); }
.emitto-panel .card-red { --c: var(--coral); }
.emitto-panel .card-amber { --c: var(--warning); }
.emitto-panel .btn { font-weight: 600; transition: background-color 160ms, border-color 160ms, transform 160ms; }
/* Coral escurecido nas ações para contraste do texto claro. */
.emitto-panel :is(.btn-primary,.btn-emitto) { background: var(--coral-action) !important; border-color: var(--coral-action) !important; color: var(--card) !important; }
.emitto-panel :is(.btn-primary,.btn-emitto):hover { background: var(--foreground) !important; border-color: var(--foreground) !important; }
.emitto-panel .btn-success { background: var(--positive) !important; border-color: var(--positive) !important; }
.emitto-panel :is(.btn-outline-primary,.btn-emitto-outline) { --bs-btn-color: var(--secondary); --bs-btn-border-color: var(--secondary); --bs-btn-hover-bg: var(--secondary); --bs-btn-hover-border-color: var(--secondary); --bs-btn-active-bg: var(--primary); --bs-btn-active-border-color: var(--primary); color: var(--secondary); }
.emitto-panel :is(.btn-outline-primary,.btn-emitto-outline):hover { background: var(--secondary); color: var(--card); }
.emitto-panel .btn-danger { --bs-btn-bg: var(--coral-action); --bs-btn-border-color: var(--coral-action); }
.emitto-panel :is(.form-control,.form-select,.input-group-text) { border-color: var(--border); border-radius: var(--radius); color: var(--foreground); }
.emitto-panel :is(.form-control,.form-select) { background-color: var(--card); }
.emitto-panel :is(.form-control,.form-select):disabled { background-color: var(--muted); }
.emitto-panel :is(.form-control,.form-select):focus { border-color: var(--secondary); box-shadow: 0 0 0 .2rem var(--secondary-soft); }
.emitto-panel .form-label { color: var(--foreground); font-weight: 600; }
.emitto-panel .form-check-input:checked { background-color: var(--secondary); border-color: var(--secondary); }
.emitto-panel :is(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--secondary); outline-offset: 3px; }
.emitto-panel .table { --bs-table-color: var(--foreground); --bs-table-bg: var(--card); --bs-table-border-color: var(--border); --bs-table-hover-bg: var(--muted); --bs-table-striped-bg: var(--muted); }
.emitto-panel .table thead th { background: var(--muted); color: var(--muted-foreground); border-bottom: 1px solid var(--border); padding-block: .8rem; }
.emitto-panel .table td { vertical-align: middle; }
.emitto-panel :is(.text-muted,.text-secondary,.fiscal-cancel-counter) { color: var(--muted-foreground) !important; }
.emitto-panel .text-primary { color: var(--secondary) !important; }
.emitto-panel .text-success { color: var(--positive) !important; }
.emitto-panel .text-danger { color: var(--coral-action) !important; }
.emitto-panel .bg-primary { background-color: var(--secondary) !important; }
.emitto-panel .bg-success { background-color: var(--positive) !important; }
.emitto-panel .bg-danger { background-color: var(--coral-action) !important; }
.emitto-panel :is(.bg-light,.item-row,.fiscal-summary,.input-group-text) { background: var(--muted) !important; }
.emitto-panel :is(.bg-primary,.bg-info).bg-opacity-10 { background: var(--secondary-soft) !important; }
.emitto-panel .bg-success:is(.bg-opacity-10,.bg-opacity-15) { background: var(--positive-soft) !important; }
.emitto-panel .bg-danger.bg-opacity-10 { background: var(--coral-soft) !important; }
.emitto-panel :is(.alert-success,.badge-autorizada,.badge-recebido,.badge-pago,.badge-producao) { background: var(--positive-soft); color: var(--positive); }
.emitto-panel :is(.alert-danger,.badge-cancelada,.badge-cancelado,.badge-erro,.badge-vencido) { background: var(--coral-soft); color: var(--coral-action); }
.emitto-panel :is(.alert-warning,.badge-pendente,.badge-homologacao) { background: var(--warning-soft); color: var(--warning); }
.emitto-panel :is(.alert-info,.badge-aberto,.badge-enviada) { background: var(--secondary-soft); color: var(--secondary); border-color: var(--border); }
.emitto-panel .badge-estornado { background: var(--muted); color: var(--muted-foreground); }
.emitto-panel .badge { font-weight: 700; letter-spacing: .025em; }
.emitto-panel :is(.nav-tabs,.nav-pills) { gap: .25rem; }
.emitto-panel .nav-link { color: var(--secondary); }
.emitto-panel .nav-tabs .nav-link.active { color: var(--primary); background: var(--card); border-color: var(--border) var(--border) var(--card); }
.emitto-panel .nav-pills .nav-link.active { background: var(--secondary); color: var(--card); }
.emitto-panel .page-link { color: var(--secondary); background: var(--card); border-color: var(--border); }
.emitto-panel .active > .page-link { background: var(--secondary); color: var(--card); }
.emitto-panel :is(.footer,.fiscal-action-bar) { background: var(--card); }
/* Componentes específicos com CSS local nas views. */
.emitto-panel :is(.nfce-pdv-total,.nfce-pagamento-row,#status-fechamento-nfce) { border-radius: var(--radius); border-color: var(--border); }
.emitto-panel .nfce-pdv-total { background: var(--card); }
.emitto-panel .nfce-pdv-total .valor { font-family: var(--font-display); color: var(--foreground); }
.emitto-panel .nfce-pdv-total .label { color: var(--muted-foreground); }
.emitto-panel .nfce-pdv-total.falta { background: var(--warning-soft); }
.emitto-panel .nfce-pdv-total.falta .valor { color: var(--warning); }
.emitto-panel .nfce-pdv-total.troco { background: var(--positive-soft); }
.emitto-panel .nfce-pdv-total:is(.pago,.troco) .valor { color: var(--positive); }
.emitto-panel .nfce-pagamento-row { background: var(--muted); }
@media (min-width: 992px) { .emitto-panel #sidebarToggleBtn { display: none; } }
@media (max-width: 575.98px) {
  .emitto-panel .emitto-main { padding-inline: .85rem; }
  .emitto-panel .emitto-topbar { padding-inline: .85rem; }
  .emitto-panel .topbar-context { display: none; }
  .emitto-panel .page-header > :is(div,form) { max-width: 100%; flex-wrap: wrap; }
  .emitto-panel .row > .col-6:has(> .dash-card) { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .emitto-panel *, .emitto-panel *::before, .emitto-panel *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.emitto-panel .empresa-sticky-actions { background: var(--card); border-color: var(--border); }
.emitto-panel .card.border-producao { border-color: var(--warning); }
.emitto-panel .xml-selection-target:hover { background: var(--secondary-soft); }
.emitto-panel .xml-selection-target:has(.form-check-input:disabled) { background: transparent; }
.emitto-panel .dropdown-item:is(:hover,:focus) { background: var(--muted); color: var(--foreground); }
.emitto-panel .dropdown-item.active { background: var(--secondary); color: var(--card); }
.emitto-panel .accordion-button:not(.collapsed) { background: var(--secondary-soft); color: var(--primary); }
.emitto-panel .btn-outline-secondary { --bs-btn-color: var(--muted-foreground); --bs-btn-border-color: var(--border); --bs-btn-hover-bg: var(--muted); --bs-btn-hover-color: var(--foreground); --bs-btn-hover-border-color: var(--secondary); }
