/* /Controls/BaixaParcelasMobile.razor.rz.scp.css */
/* ═══ Celular (Controls/BaixaParcelasMobile — Venda, OS, Assinatura, Contrato): cartões no estilo loja + filtros escondidos ═══ */
/* .app-content-body (MainLayout) não rola: a própria tela ocupa a área e rola por dentro */
.bpm[b-a695to49nc] {
    flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    display: flex; flex-direction: column; gap: 8px; padding: 8px 10px calc(16px + env(safe-area-inset-bottom, 0px));
}
.bpm > *[b-a695to49nc] { flex-shrink: 0; }
.bpm-topo[b-a695to49nc] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bpm-titulo[b-a695to49nc] { font-size: 16px; font-weight: 600; color: var(--content-title, var(--text-dark)); }
.bpm-titulo i[b-a695to49nc] { color: var(--nav-icon); margin-right: 4px; }

.bpm-btn[b-a695to49nc] {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 8px 14px; font-size: 13px; border-radius: 6px;
    border: 1px solid var(--content-header-border); background: var(--content-header-bg); color: var(--text-dark);
}
.bpm-btn:disabled[b-a695to49nc] { opacity: 0.45; }
.bpm-btn.ativo[b-a695to49nc] { border-color: #1E88E5; color: #1E88E5; }
.bpm-btn.bpm-principal[b-a695to49nc] { background: #1E88E5; border-color: #1E88E5; color: #fff; font-weight: 600; }

.bpm-filtros[b-a695to49nc] {
    display: flex; flex-direction: column; gap: 4px; padding: 10px 12px 12px;
    border: 1px solid var(--content-header-border); border-radius: 8px; background: var(--content-header-bg);
}
/* os campos de filtro vêm da tela (outro escopo de CSS) → ::deep */
.bpm-filtros[b-a695to49nc]  .form-field-label { margin-top: 6px; }
.bpm-filtros[b-a695to49nc]  .form-field-input, .bpm-filtros[b-a695to49nc]  .form-field-select { width: 100%; }
.bpm-chips[b-a695to49nc] { display: flex; flex-wrap: wrap; gap: 6px; }
.bpm-chip[b-a695to49nc] {
    padding: 6px 12px; font-size: 13px; border-radius: 16px;
    border: 1px solid var(--content-header-border); background: transparent; color: var(--text-dark);
}
.bpm-chip.ativo[b-a695to49nc] { background: #1E88E5; border-color: #1E88E5; color: #fff; }
.bpm-filtros-acoes[b-a695to49nc] { display: flex; gap: 8px; margin-top: 10px; }
.bpm-filtros-acoes .bpm-btn[b-a695to49nc], .bpm-filtros-acoes[b-a695to49nc]  .bpm-btn { flex: 1 1 0; }

.bpm-resumo[b-a695to49nc] { padding: 2px 2px 0; }
.bpm-resumo-nome[b-a695to49nc] { font-size: 13px; font-weight: 600; color: #1E88E5; text-transform: uppercase; }
.bpm-resumo-valores[b-a695to49nc] { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--text-med); }

/* Cartão da parcela (como o anúncio da loja: título, valor grande, linha pequena, botões) */
.bpm-lista[b-a695to49nc] { display: flex; flex-direction: column; gap: 8px; }
.bpm-card[b-a695to49nc] {
    padding: 12px; border-radius: 8px; background: var(--content-header-bg);
    border: 1px solid var(--content-header-border); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.bpm-card-topo[b-a695to49nc] { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.bpm-card-titulo[b-a695to49nc] { min-width: 0; }
.bpm-parcela[b-a695to49nc] { font-size: 15px; font-weight: 600; color: var(--text-dark); }
.bpm-subtitulo[b-a695to49nc] { font-size: 13px; color: var(--text-dark); }
.bpm-venc[b-a695to49nc] { font-size: 12px; color: var(--text-med); margin-top: 2px; }
.bpm-valor[b-a695to49nc] { font-size: 22px; font-weight: 700; color: #00A650; margin-top: 6px; }
.bpm-valor.atrasada[b-a695to49nc] { color: #e53935; }
.bpm-detalhe[b-a695to49nc] { font-size: 12px; color: var(--text-med); }
.bpm-acoes[b-a695to49nc] { display: flex; gap: 8px; margin-top: 10px; }
.bpm-acoes .bpm-btn[b-a695to49nc] { flex: 1 1 0; }

.bpm-pagas[b-a695to49nc] { margin-top: 10px; border-top: 1px solid var(--content-header-border); padding-top: 6px; }
.bpm-paga[b-a695to49nc] {
    display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 0;
    border-bottom: 1px dashed var(--content-header-border); font-size: 13px; color: var(--text-dark);
}
.bpm-paga:last-child[b-a695to49nc] { border-bottom: 0; }
.bpm-paga-acoes[b-a695to49nc] { display: flex; gap: 2px; flex-shrink: 0; }
.bpm-paga-acoes .btn-icon[b-a695to49nc] { font-size: 16px; padding: 4px 6px; }

.bpm-vazio[b-a695to49nc] { padding: 28px 12px; text-align: center; color: var(--text-med); }
.bpm-paginacao[b-a695to49nc] { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--text-med); }
/* /Controls/ClienteCadastroEtapas.razor.rz.scp.css */
/* Cadastro de cliente em páginas, tela cheia no celular */
.cce-tela[b-iu47aake6f] {
    position: fixed; inset: 0; z-index: 1060;
    display: flex; flex-direction: column;
    background: var(--background, #fff);
}
.cce-topo[b-iu47aake6f] {
    display: flex; align-items: center; gap: 8px;
    padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 6px;
    font-size: 17px; font-weight: 600; color: var(--text-dark);
}
.cce-icone[b-iu47aake6f] { border: 0; background: transparent; color: var(--text-dark); font-size: 20px; padding: 2px 6px 2px 0; }

.cce-etapas[b-iu47aake6f] { display: flex; gap: 4px; padding: 4px 16px 8px; border-bottom: 1px solid var(--content-header-border); }
.cce-etapas button[b-iu47aake6f] {
    flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px;
    border: 0; background: transparent; color: var(--text-med); font-size: 10px; padding: 2px 0;
}
.cce-etapas b[b-iu47aake6f] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 50%; font-size: 11px;
    background: var(--content-header-border); color: var(--text-dark);
}
.cce-etapas span[b-iu47aake6f] { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cce-etapas .ativa[b-iu47aake6f] { color: #1E88E5; font-weight: 600; }
.cce-etapas .ativa b[b-iu47aake6f] { background: #1E88E5; color: #fff; }
.cce-etapas .feita b[b-iu47aake6f] { background: rgba(30, 136, 229, 0.25); color: #1E88E5; }

.cce-corpo[b-iu47aake6f] { flex: 1 1 auto; overflow-y: auto; padding: 8px 16px 16px; }
.cce-corpo[b-iu47aake6f]  .form-field { margin-bottom: 6px; }
.cce-2col[b-iu47aake6f] { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cce-cidade[b-iu47aake6f] { display: grid; grid-template-columns: 1fr 70px; gap: 8px; }
.cce-logradouro[b-iu47aake6f] { display: grid; grid-template-columns: 1fr 80px; gap: 8px; }
.cce-subtitulo[b-iu47aake6f] { margin: 10px 0 2px; font-size: 13px; font-weight: 600; color: var(--text-dark); border-bottom: 1px solid var(--content-header-border); }

.cce-foto-linha[b-iu47aake6f] { display: flex; align-items: center; gap: 12px; margin: 8px 0; }
.cce-foto[b-iu47aake6f] {
    width: 84px; height: 84px; border-radius: 50%; overflow: hidden; flex: 0 0 auto;
    display: flex; align-items: center; justify-content: center; background: #1E88E5; color: #fff; font-size: 2.2rem;
}
.cce-foto img[b-iu47aake6f] { width: 100%; height: 100%; object-fit: cover; }
.cce-btn-foto[b-iu47aake6f] {
    display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 6px; cursor: pointer;
    border: 1px solid var(--content-header-border); color: #1E88E5; font-size: 13px; margin: 0;
}

.cce-sugestoes[b-iu47aake6f] {
    position: absolute; left: 0; right: 0; z-index: 5; max-height: 200px; overflow-y: auto;
    border: 1px solid var(--content-header-border); border-radius: 4px; background: var(--background, #fff);
}
.cce-sugestoes button[b-iu47aake6f] { display: block; width: 100%; text-align: left; padding: 8px 10px; border: 0; background: transparent; color: var(--text-dark); }

.cce-resumo[b-iu47aake6f] {
    margin-top: 10px; padding: 10px 12px; border-radius: 6px;
    border: 1px solid var(--content-header-border); background: var(--content-header-bg);
    display: flex; flex-direction: column; gap: 6px;
}
.cce-resumo span[b-iu47aake6f] { display: block; font-size: 10px; font-weight: 600; color: var(--text-med); }
.cce-resumo strong[b-iu47aake6f] { font-size: 13px; color: var(--text-dark); font-weight: 500; }

.cce-rodape[b-iu47aake6f] {
    display: flex; gap: 10px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--content-header-border); background: var(--content-header-bg);
}
.cce-btn[b-iu47aake6f], .cce-btn-sec[b-iu47aake6f] {
    flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 11px 12px; border-radius: 6px; font-size: 14px; font-weight: 600;
}
.cce-btn[b-iu47aake6f] { border: 0; background: #1E88E5; color: #fff; }
.cce-btn-sec[b-iu47aake6f] { border: 1px solid var(--content-header-border); background: transparent; color: var(--text-dark); }
.cce-btn:disabled[b-iu47aake6f], .cce-btn-sec:disabled[b-iu47aake6f] { opacity: 0.5; }

/* Computador: janela central em vez de tela cheia */
@media (min-width: 769px) {
    .cce-tela[b-iu47aake6f] {
        inset: 5vh auto auto 50%; transform: translateX(-50%);
        width: min(720px, 94vw); height: 90vh;
        border-radius: 8px; border: 1px solid var(--content-header-border);
        box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.45), 0 10px 30px rgba(0, 0, 0, 0.35);
    }
    .cce-topo[b-iu47aake6f] { padding-top: 12px; }
    .cce-rodape[b-iu47aake6f] { border-radius: 0 0 8px 8px; }
}
/* /Controls/FormDate.razor.rz.scp.css */
.fd-wrap[b-xzvizz0wpa] { position: relative; }
.fd-wrap > .form-field-input[b-xzvizz0wpa] { flex: 1 1 auto; min-width: 0; }
.fd-btn[b-xzvizz0wpa] {
    flex: 0 0 auto; height: 100%; min-height: 31px; padding: 0 10px;
    border: 1px solid var(--content-header-border); border-radius: 4px;
    background: transparent; color: var(--nav-icon, #1E88E5); cursor: pointer;
}
.fd-btn:disabled[b-xzvizz0wpa] { opacity: 0.45; cursor: default; }
/* fica embaixo do botão (o calendário abre ancorado ali), mas invisível */
.fd-picker[b-xzvizz0wpa] { position: absolute; right: 0; bottom: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; border: 0; padding: 0; }
/* /Controls/FormPagePanel.razor.rz.scp.css */
/* Espelha Controls/FormPagePanel.xaml (WPF): Grid com linhas Auto, Estrela, Auto —
   cabeçalho, conteúdo (rola sozinho) e rodapé de botões, preenchendo toda a altura
   disponível do conteúdo. */

.form-panel[b-rx73z3zqs1] {
  /* Preenche .app-content-body (position:relative) por posicionamento absoluto —
       mais confiável que flex-grow numa cadeia flex aninhada (o corpo não rolava
       de forma consistente com flex:1/height:0 em todos os casos). */
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: var(--background);
}

.form-panel-header[b-rx73z3zqs1] {
  flex: 0 0 auto;
  padding: 0.65rem 1.25rem;
  background: var(--content-header-bg);
  border-bottom: 1px solid var(--content-header-border);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--content-title);
}

.form-panel-toolbar[b-rx73z3zqs1] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.4rem 0.75rem;
  background: var(--content-header-bg);
  border-bottom: 1px solid var(--content-header-border);
}

.form-panel-body[b-rx73z3zqs1] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: auto;
  padding: 0.3rem 1.05rem;
}

.form-panel-footer[b-rx73z3zqs1] {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.65rem 1.25rem;
  background: var(--content-header-bg);
  border-top: 1px solid var(--content-header-border);
}
/* /Controls/ListPagePanel.razor.rz.scp.css */
/* Espelha Controls/ListPagePanel.xaml (WPF): Grid com linhas Auto, Auto, Estrela, Auto —
   cabeçalho, toolbar, corpo (rola sozinho) e rodapé fixos, preenchendo toda a altura
   disponível do conteúdo. */

.list-panel[b-q7qpdhjomm] {
    /* Preenche .app-content-body (position:relative) por posicionamento absoluto —
       mais confiável que flex-grow numa cadeia flex aninhada (o corpo não rolava
       de forma consistente com flex:1/height:0 em todos os casos). */
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    background: var(--background);
}

.list-panel-header[b-q7qpdhjomm] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 1rem;
    background: var(--content-header-bg);
    border-bottom: 1px solid var(--content-header-border);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--content-title);
}

.list-panel-header i[b-q7qpdhjomm] {
    color: var(--nav-icon, #1565C0);
    font-size: 1.1rem;
}

.list-panel-toolbar[b-q7qpdhjomm] {
    flex: 0 0 auto;
    padding: 0.5rem 0.75rem;
    background: var(--content-header-bg);
    border-bottom: 1px solid var(--content-header-border);
}

.list-panel-body[b-q7qpdhjomm] {
    flex: 1 1 auto;
    min-height: 0;
    /* Sem moldura: a tabela encosta nas bordas do painel. O respiro vem do padding
       das células das pontas + do cabeçalho (regras ::deep abaixo). O scroll fica
       no .table-responsive interno (não aqui), pra o cabeçalho fixo (position:sticky)
       ter um contêiner de rolagem com altura definida onde "colar". */
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* A grade é quem rola — flex item de altura limitada. */
.list-panel-body[b-q7qpdhjomm]  > .table-responsive {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

/* Conteúdo que não é tabela (cards de totais, alertas) mantém o respiro antigo. */
.list-panel-body[b-q7qpdhjomm]  > *:not(.table-responsive):not(table) {
    flex: 0 0 auto;
    padding: 0.75rem 1rem 0;
}

/* Respiro nas bordas da tabela: células das pontas afastam do painel; cabeçalho um pouco mais alto. */
.list-panel-body[b-q7qpdhjomm]  table > * > tr > th:first-child,
.list-panel-body[b-q7qpdhjomm]  table > * > tr > td:first-child {
    padding-left: 1rem;
}

.list-panel-body[b-q7qpdhjomm]  table > * > tr > th:last-child,
.list-panel-body[b-q7qpdhjomm]  table > * > tr > td:last-child {
    padding-right: 1rem;
}

.list-panel-body[b-q7qpdhjomm]  table > thead > tr > th {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.list-panel-footer[b-q7qpdhjomm] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.4rem 0.75rem;
    background: var(--content-header-bg);
    border-top: 1px solid var(--content-header-border);
    font-size: 0.75rem;
    color: var(--text-med);
    flex-wrap: wrap;
}

.list-panel-pager[b-q7qpdhjomm] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--text-dark);
    font-size: 0.8125rem;
}
/* /Controls/TabControl.razor.rz.scp.css */
.tabctl[b-wrttmbx88g] {
  flex: 1 1 auto;
  height: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  /* Fura o padding lateral do .form-panel-body (0 1.05rem) pra faixa de abas e
     painéis irem de ponta a ponta, sem a faixa vazia nas laterais. */
  margin-left: -1.05rem;
  margin-right: -1.05rem;
}

.tabctl-strip[b-wrttmbx88g] {
  flex: 0 0 auto;
  display: flex;
  overflow-x: auto;
  background: var(--content-header-bg);
  border-bottom: 1px solid var(--content-header-border);
}

.tabctl-tab[b-wrttmbx88g] {
  flex: 0 0 auto;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0.55rem 0.9rem;
  font-size: 0.75rem;
  color: var(--text-med);
  white-space: nowrap;
}

.tabctl-tab:hover[b-wrttmbx88g] {
  background: var(--content-header-border);
}

.tabctl-tab.active[b-wrttmbx88g] {
  border-bottom-color: var(--primary, #90caf9);
  color: var(--text-dark);
  font-weight: 600;
}

.tabctl-content[b-wrttmbx88g] {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
/* /Controls/TabPage.razor.rz.scp.css */
.tabctl-pane[b-5mr2les3ex] {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 1rem 1.05rem;
  background: var(--content-header-bg);
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Espelha Views/Home/MainWindow.xaml (grid de 4 linhas: header/aviso/body/footer).
   Responsivo: sidebar vira gaveta < 861px (o WPF, janela fixa, não precisava disso).

   Tema Claro/Escuro/Noturno: mesmo esquema de Resources/Themes/{Light,Dark,Night}Theme.xaml
   (WPF) — só que via variáveis CSS em vez de ResourceDictionary trocado em runtime.
   .theme-dark/.theme-night são aplicadas em .app-shell por WebThemeService (equivalente do
   ThemeManager do WPF); a classe base sem modificador é sempre o tema Claro (default). */

.cert-aviso[b-m2ihkwx72n] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 16px;
    color: #fff;
    font-size: 12px;
    flex-shrink: 0;
}
.cert-aviso-vencendo[b-m2ihkwx72n] { background: #FB8C00; }
.cert-aviso-vencido[b-m2ihkwx72n] { background: #E53935; }
.cert-aviso .btn[b-m2ihkwx72n] {
    text-decoration: underline;
    font-weight: 600;
    color: #fff;
    background: transparent;
    border: none;
    padding: 0;
}
.cert-aviso .btn:hover[b-m2ihkwx72n] { color: #fff; opacity: .85; }

.app-shell[b-m2ihkwx72n] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
    font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;

    --primary: #90CAF9;
    --primary-dark: #1E88E5;
    --background: #F5F5F5;
    --sidebar-bg: #E3F2FD;
    --sidebar-header-1: #1E88E5;
    --sidebar-header-2: #1565C0;
    --header-text: #1A237E;
    --header-subtext: #5C6BC0;
    --user-card-bg: #FFFFFF;
    --user-card-text: #1A237E;
    --nav-text: #1A237E;
    --nav-icon: #1565C0;
    --nav-chevron: #7986CB;
    --content-title: #1A237E;
    --content-header-bg: #FFFFFF;
    --content-header-border: #E0E0E0;
    --empty-icon: #BBDEFB;
    --empty-text: #90A4AE;
    --footer-text: #1A237E;
    --footer-version: #5C6BC0;
    --text-dark: #212121;
    --text-med: #616161;
    --table-head-bg: #E9EEF4;
    --table-stripe: #F2F4F7;
    --table-row-hover: #DCE7F5;

    background: var(--background);
    color: var(--text-dark);
}

.app-shell.theme-dark[b-m2ihkwx72n] {
    --primary: #1565C0;
    --primary-dark: #0D47A1;
    --background: #1E1E1E;
    --sidebar-bg: #2D2D30;
    --sidebar-header-1: #0D47A1;
    --sidebar-header-2: #082060;
    --header-text: #E0E0E0;
    --header-subtext: #90A4AE;
    --user-card-bg: #3C3C3C;
    --user-card-text: #90CAF9;
    --nav-text: #BBDEFB;
    --nav-icon: #64B5F6;
    --nav-chevron: #546E7A;
    --content-title: #E0E0E0;
    --content-header-bg: #2D2D30;
    --content-header-border: #3D3D3D;
    --empty-icon: #37474F;
    --empty-text: #546E7A;
    --footer-text: #90CAF9;
    --footer-version: #546E7A;
    --text-dark: #E0E0E0;
    --text-med: #B0B0B0;
    --table-head-bg: #37373D;
    --table-stripe: #262629;
    --table-row-hover: #3A4656;
}

.app-shell.theme-night[b-m2ihkwx72n] {
    --primary: #0A1628;
    --primary-dark: #051020;
    --background: #080C10;
    --sidebar-bg: #0D1117;
    --sidebar-header-1: #0D1B2A;
    --sidebar-header-2: #061020;
    --header-text: #8CAABA;
    --header-subtext: #3D5A6E;
    --user-card-bg: #111B27;
    --user-card-text: #4FC3F7;
    --nav-text: #5C7B8A;
    --nav-icon: #2E7396;
    --nav-chevron: #1E3A4A;
    --content-title: #8CAABA;
    --content-header-bg: #0D1117;
    --content-header-border: #1A2B38;
    --empty-icon: #1A2B38;
    --empty-text: #2B3E4D;
    --footer-text: #3D5A6E;
    --footer-version: #2B3E4D;
    --text-dark: #8CAABA;
    --text-med: #546E7A;
    --table-head-bg: #14212D;
    --table-stripe: #0B1219;
    --table-row-hover: #16283A;
}

/* ── Header ───────────────────────────────────────────────────────── */
.app-header[b-m2ihkwx72n] {
    height: 50px;
    flex: 0 0 auto;
    background: var(--primary);
    display: flex;
    align-items: center;
    padding: 0 0.75rem;
    gap: 0.5rem;
}

.mobile-toggle[b-m2ihkwx72n] {
    display: none;
    background: transparent;
    border: none;
    color: var(--header-text);
    font-size: 1.2rem;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    flex: 0 0 auto;
}

.app-header-brand[b-m2ihkwx72n] {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand-deco[b-m2ihkwx72n] {
    color: var(--header-subtext);
    font-size: 0.8125rem;
}

.brand-nome[b-m2ihkwx72n] {
    color: var(--header-text);
    font-size: 0.9375rem;
    font-weight: 600;
}

.app-header-right[b-m2ihkwx72n] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.header-icon-btn[b-m2ihkwx72n] {
    background: transparent;
    border: none;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: var(--header-text);
}

.header-icon-btn:hover[b-m2ihkwx72n] {
    background: rgba(255, 255, 255, 0.25);
}

.user-card[b-m2ihkwx72n] {
    margin-left: 0.25rem;
}

.user-card-btn[b-m2ihkwx72n] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--user-card-bg);
    border: none;
    border-radius: 8px;
    padding: 0.25rem 0.5rem 0.25rem 0.25rem;
    box-shadow: 0 1px 6px rgba(144, 202, 249, 0.4);
    color: var(--user-card-text);
}

.user-avatar[b-m2ihkwx72n] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}

.user-avatar-fallback[b-m2ihkwx72n] {
    background: var(--primary-dark);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
}

.user-nome[b-m2ihkwx72n] {
    font-size: 0.75rem;
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Body: sidebar + conteúdo ─────────────────────────────────────── */
.app-body[b-m2ihkwx72n] {
    flex: 1 1 auto;
    display: flex;
    min-height: 0;
    overflow: hidden;
    position: relative;
}

.app-sidebar[b-m2ihkwx72n] {
    flex: 0 0 auto;
    width: 220px;
    display: flex;
    flex-direction: column;
    background: var(--sidebar-bg);
    border-right: 1px solid rgba(0, 0, 0, 0.12);
    transition: width 0.15s ease;
    overflow: hidden;
}

.app-sidebar.collapsed[b-m2ihkwx72n] {
    width: 56px;
}

.app-content[b-m2ihkwx72n] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--background);
}

.app-breadcrumb[b-m2ihkwx72n] {
    height: 42px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0 1.25rem;
    background: var(--content-header-bg);
    border-bottom: 1px solid var(--content-header-border);
}

.breadcrumb-link[b-m2ihkwx72n] {
    background: none;
    border: none;
    padding: 0;
    color: var(--header-subtext);
    font-size: 0.8125rem;
    cursor: pointer;
}

.breadcrumb-link:hover[b-m2ihkwx72n] {
    text-decoration: underline;
}

.breadcrumb-sep[b-m2ihkwx72n] {
    color: var(--text-med);
    font-size: 0.8125rem;
}

.breadcrumb-current[b-m2ihkwx72n] {
    color: var(--content-title);
    font-size: 0.875rem;
    font-weight: 600;
}

.app-content-body[b-m2ihkwx72n] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: var(--text-dark);
    /* âncora para .list-panel/.form-panel (position:absolute; inset:0) — ver
       Controls/ListPagePanel.razor.css / FormPagePanel.razor.css. */
    position: relative;
}

/* ── Footer ───────────────────────────────────────────────────────── */
.app-footer[b-m2ihkwx72n] {
    height: 22px;
    flex: 0 0 auto;
    background: var(--primary);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.75rem;
    font-size: 0.625rem;
    color: var(--footer-text);
}

.app-footer-version[b-m2ihkwx72n] {
    color: var(--footer-version);
}

/* ── Responsivo: sidebar vira gaveta sobreposta ──────────────────── */
.sidebar-backdrop[b-m2ihkwx72n] {
    display: none;
}

@media (max-width: 860px) {
    .mobile-toggle[b-m2ihkwx72n] {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .app-sidebar[b-m2ihkwx72n] {
        position: fixed;
        top: 50px;
        bottom: 22px;
        left: 0;
        width: 250px !important;
        z-index: 1050;
        transform: translateX(-100%);
        transition: transform 0.2s ease;
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2);
    }

    .app-sidebar.mobile-open[b-m2ihkwx72n] {
        transform: translateX(0);
    }

    .sidebar-backdrop[b-m2ihkwx72n] {
        display: block;
        position: fixed;
        top: 50px;
        bottom: 22px;
        left: 0;
        right: 0;
        background: rgba(0, 0, 0, 0.35);
        z-index: 1040;
    }

    .user-nome[b-m2ihkwx72n] {
        max-width: 5rem;
    }
}

/* Aviso do Painel de Cobrança (link 155) — mesma tarja do certificado, em azul */
.cobranca-aviso[b-m2ihkwx72n] { background: #2A78D6; }
/* /Layout/NavMenu.razor.rz.scp.css */
/* Espelha o cabeçalho da sidebar (SidebarHeaderBrush, logo, TextoCaixa) de MainWindow.xaml. */

.sidebar-header[b-b0cbhkd5u3] {
    background: linear-gradient(90deg, var(--sidebar-header-1, #1E88E5) 0%, var(--sidebar-header-2, #1565C0) 100%);
    padding: 0.4rem 0.4rem 0.6rem;
}

.sidebar-toggle[b-b0cbhkd5u3] {
    display: block;
    margin-left: auto;
    background: transparent;
    border: none;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 6px;
}

.sidebar-toggle:hover[b-b0cbhkd5u3] {
    background: rgba(255, 255, 255, 0.15);
}

.sidebar-logo[b-b0cbhkd5u3] {
    height: 90px;
    margin: 0.25rem 0.5rem 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sidebar-logo img[b-b0cbhkd5u3] {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.sidebar-logo-fallback[b-b0cbhkd5u3] {
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
    text-align: center;
}

.sidebar-caixa[b-b0cbhkd5u3] {
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 600;
    text-align: center;
    padding-bottom: 0.4rem;
}

.sidebar-menu[b-b0cbhkd5u3] {
    padding: 0.4rem;
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    min-height: 0;
}

.sidebar-empty[b-b0cbhkd5u3] {
    color: #7986CB;
    font-size: 0.75rem;
    padding: 0.5rem;
    margin: 0;
}
/* /Pages/Cobranca/PainelCobranca.razor.rz.scp.css */
/* Painel de Cobrança (link 155) — chips de contadores, cabeçalho de grupo e prazo clicável. */
.painel-chip[b-2p3tkgkofw] {
    display: inline-block;
    padding: 0.2rem 0.75rem;
    border-radius: 1rem;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
}

.painel-grupo td[b-2p3tkgkofw] {
    background: var(--background, #f5f5f5);
    font-size: 0.85rem;
}

.painel-grupo-aguardando td[b-2p3tkgkofw] {
    background: rgba(255, 109, 0, 0.18);
    color: #e65100;
}

.painel-prazo[b-2p3tkgkofw] {
    background: transparent;
    border: none;
    padding: 0;
    font-weight: 600;
    cursor: pointer;
}

.painel-prazo:hover[b-2p3tkgkofw] {
    text-decoration: underline;
}
/* /Pages/Despesas/ResumoAnualDespesas.razor.rz.scp.css */
/* Resumo Anual de Despesas — tabela Grupo, Sub-grupo e Utilidade por mês */
.resumo-wrap[b-swjbtbrxxl] {
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
}

.resumo-tabela[b-swjbtbrxxl] {
    font-size: 0.82rem;
    white-space: nowrap;
}

.resumo-tabela thead th[b-swjbtbrxxl] {
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    position: sticky;
    top: 0;
    z-index: 1;
}

.resumo-tabela td.text-end[b-swjbtbrxxl],
.resumo-tabela th.text-end[b-swjbtbrxxl] {
    font-variant-numeric: tabular-nums;
    min-width: 5.5rem;
}

.col-centro[b-swjbtbrxxl] {
    min-width: 16rem;
}

.seta[b-swjbtbrxxl] {
    display: inline-block;
    width: 1rem;
    font-size: 0.7rem;
    color: var(--bs-secondary-color);
}

.icone[b-swjbtbrxxl] {
    color: var(--primary, #1E88E5);
}

tr.clicavel[b-swjbtbrxxl] {
    cursor: pointer;
}

tr.clicavel:hover td[b-swjbtbrxxl] {
    background: rgba(30, 136, 229, 0.08);
}

tr.nivel-0 td[b-swjbtbrxxl] {
    font-weight: 600;
}

tr.nivel-2 td[b-swjbtbrxxl] {
    color: var(--bs-secondary-color);
}

/* coluna TOTAL em destaque */
.col-total[b-swjbtbrxxl] {
    background: rgba(30, 136, 229, 0.13) !important;
    font-weight: 700;
    color: var(--primary, #1E88E5);
}

tr.total-geral td[b-swjbtbrxxl] {
    font-weight: 700;
    background: var(--bs-tertiary-bg);
    border-top: 2px solid var(--bs-border-color);
}
/* /Pages/Estoque/Banners.razor.rz.scp.css */
/* Tela cheia: barra de modelo/produtos em cima e o editor ocupando o resto (layout flexível) */
.bn-tela[b-hvud16pihn] { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 8px 16px 12px; gap: 4px; }
.bn-tela > *[b-hvud16pihn] { flex-shrink: 0; }
.bn-cabecalho[b-hvud16pihn] { font-size: 15px; font-weight: 600; color: var(--content-title, var(--text-dark)); padding-bottom: 4px; }
.bn-cabecalho i[b-hvud16pihn] { color: var(--nav-icon); margin-right: 6px; }
.bn-linha[b-hvud16pihn] { display: flex; flex-wrap: wrap; gap: 0 12px; align-items: flex-end; }
.bn-campo[b-hvud16pihn] { flex: 1 1 220px; min-width: 0; max-width: 320px; }
.bn-busca[b-hvud16pihn] { max-width: 380px; }
.bn-botoes[b-hvud16pihn] { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 0.65rem; }
.bn-chips[b-hvud16pihn] { flex: 1 1 300px; display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 0.65rem; max-height: 72px; overflow-y: auto; align-items: center; }
.bn-chip[b-hvud16pihn] {
    display: inline-flex; align-items: center; max-width: 260px; border-radius: 14px; padding: 2px 4px 2px 10px;
    border: 1px solid var(--content-header-border); background: var(--content-header-bg);
}
.bn-chip.ativo[b-hvud16pihn] { border-color: #1E88E5; box-shadow: 0 0 0 1px #1E88E5; }
.bn-chip button[b-hvud16pihn] { border: 0; background: transparent; color: var(--text-dark); font-size: 12px; padding: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bn-chip .bn-x[b-hvud16pihn] { color: #e53935; padding: 0 4px; margin-left: 4px; }
.bn-editor[b-hvud16pihn] { flex: 1 1 auto; min-height: 560px; }
/* /Pages/Estoque/Etiquetas.razor.rz.scp.css */
/* Layout flexível: campos quebram de linha sozinhos, nada de coluna fixa sobrando */
.et-linha[b-ixj88e1hnl] { display: flex; flex-wrap: wrap; gap: 0 12px; align-items: flex-end; }
.et-campo[b-ixj88e1hnl] { flex: 1 1 140px; min-width: 0; }
.et-grow[b-ixj88e1hnl] { flex: 1 1 260px; min-width: 0; }
.et-grow-2[b-ixj88e1hnl] { flex: 2 1 320px; min-width: 0; }
.et-resumo[b-ixj88e1hnl] { flex: 1 1 200px; padding-bottom: 0.65rem; font-size: 12px; font-weight: 600; color: var(--nav-icon, #1E88E5); }
.et-dica[b-ixj88e1hnl] { flex: 3 1 300px; padding-bottom: 0.65rem; font-size: 11px; color: var(--text-med); }
.et-checks[b-ixj88e1hnl] { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 6px 0 4px; }
.et-tabela[b-ixj88e1hnl] { margin-top: 6px; border: 1px solid var(--content-header-border); border-radius: 4px; max-height: 360px; overflow: auto; }
.et-tabela th[b-ixj88e1hnl] { font-size: 10px; font-weight: 600; color: var(--text-med); white-space: nowrap; position: sticky; top: 0; background: var(--content-header-bg); z-index: 1; }
.et-tabela td[b-ixj88e1hnl] { font-size: 12px; }
.et-tabela .form-field-input[b-ixj88e1hnl] { padding-top: 2px; padding-bottom: 2px; }
.et-acoes[b-ixj88e1hnl] { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.et-check-linha[b-ixj88e1hnl] { padding-bottom: 0.65rem; align-self: flex-end; }
/* /Pages/Estoque/MinhaLoja.razor.rz.scp.css */
/* Minha loja: totais compactos clicáveis + galeria de cartões (mesmo visual do ExtJS/WPF) */
.ml-chips[b-bl8z6q5ptq] { display: flex; flex-wrap: wrap; gap: 8px; }
.ml-chip[b-bl8z6q5ptq] { cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 8px 14px; border: 1px solid var(--content-header-border, #cfd8e3); border-radius: 10px; background: var(--content-header-bg, #fff); flex: 1 1 130px; min-width: 130px; transition: all .15s; }
.ml-chip:hover[b-bl8z6q5ptq] { border-color: #154360; box-shadow: 0 2px 8px rgba(21,67,96,.15); }
.ml-chip .ic[b-bl8z6q5ptq] { font-size: 24px; line-height: 1; }
.ml-chip .n[b-bl8z6q5ptq] { font-size: 22px; font-weight: bold; color: var(--text-dark, #154360); line-height: 24px; }
.ml-chip .l[b-bl8z6q5ptq] { font-size: 12px; color: var(--text-med, #556); line-height: 14px; }
.ml-chip.ml-ativo[b-bl8z6q5ptq] { background: #154360; border-color: #154360; }
.ml-chip.ml-ativo .n[b-bl8z6q5ptq], .ml-chip.ml-ativo .l[b-bl8z6q5ptq] { color: #fff; }

.ml-galeria[b-bl8z6q5ptq] { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.ml-card[b-bl8z6q5ptq] { border: 1px solid var(--content-header-border, #dbe3ec); border-radius: 12px; background: var(--content-header-bg, #fff); overflow: hidden; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.06); transition: box-shadow .15s, transform .15s; display: flex; flex-direction: column; }
.ml-card:hover[b-bl8z6q5ptq] { box-shadow: 0 6px 16px rgba(21,67,96,.2); transform: translateY(-2px); }
.ml-foto[b-bl8z6q5ptq] { position: relative; height: 170px; background: var(--background, #f3f6f9); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ml-foto img[b-bl8z6q5ptq] { max-width: 100%; max-height: 100%; object-fit: contain; }
.ml-semfoto[b-bl8z6q5ptq] { text-align: center; color: #9aa7b4; font-size: 32px; line-height: 30px; }
.ml-semfoto small[b-bl8z6q5ptq] { font-size: 11px; }
.ml-tag[b-bl8z6q5ptq] { position: absolute; left: 8px; top: 8px; font-size: 11px; font-weight: bold; color: #7d5a00; background: #ffe9a8; border-radius: 10px; padding: 0 8px; }
.ml-sit[b-bl8z6q5ptq] { position: absolute; right: 8px; bottom: 8px; font-size: 10px; font-weight: bold; border-radius: 10px; padding: 1px 8px; color: #fff; }
.ml-on[b-bl8z6q5ptq] { background: #1e8449; }
.ml-off[b-bl8z6q5ptq] { background: #8a96a3; }
.ml-corpo[b-bl8z6q5ptq] { padding: 10px 12px 12px 12px; display: flex; flex-direction: column; flex: 1; }
.ml-cod[b-bl8z6q5ptq] { display: inline-block; align-self: flex-start; font-size: 11px; font-weight: bold; color: #1e8449; background: #e5f5ea; border-radius: 6px; padding: 1px 8px; }
.ml-cat[b-bl8z6q5ptq] { margin-top: 6px; font-size: 10px; font-weight: bold; letter-spacing: .5px; color: #b9770e; }
.ml-nome[b-bl8z6q5ptq] { font-size: 13px; font-weight: bold; color: var(--text-dark, #1c2833); line-height: 17px; height: 51px; overflow: hidden; margin-top: 2px; }
.ml-marca[b-bl8z6q5ptq] { font-size: 12px; color: #2471a3; margin-top: 4px; height: 16px; overflow: hidden; }
.ml-preco[b-bl8z6q5ptq] { margin-top: 4px; font-size: 15px; color: var(--text-dark, #1c2833); min-height: 36px; }
.ml-preco small[b-bl8z6q5ptq] { color: var(--text-med, #6b7886); font-size: 11px; font-weight: normal; }
.ml-acoes[b-bl8z6q5ptq] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: auto; padding-top: 8px; }
.ml-estq[b-bl8z6q5ptq] { margin-left: auto; font-size: 11px; border-radius: 14px; padding: 3px 8px; white-space: nowrap; }
.ml-estq-ok[b-bl8z6q5ptq] { background: #e5f5ea; color: #1e6f3c; }
.ml-estq-zero[b-bl8z6q5ptq] { background: #fdecea; color: #a93226; }
.ml-secao[b-bl8z6q5ptq] { font-weight: bold; color: var(--text-dark, #154360); border-bottom: 1px solid var(--content-header-border, #cfd8e3); padding-bottom: 3px; margin-top: 6px; }
.ml-miniatura[b-bl8z6q5ptq] { width: 128px; height: 96px; border: 1px dashed #99bce8; background: var(--background, #f4f7fb); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ml-miniatura img[b-bl8z6q5ptq] { max-width: 100%; max-height: 100%; object-fit: cover; }
.ml-previa[b-bl8z6q5ptq] { box-shadow: 0 1px 4px rgba(0,0,0,.08); }
/* /Pages/Estoque/Produtos.razor.rz.scp.css */
/* Lista de sugestões dos campos type-ahead (Fornecedor / NCM / CEST / Tributação).
   Equivalente ao dropdown do ComboBox editável do WPF (FormSearchComboBoxStyle). */
.typeahead-list[b-oj7euy0uys] {
    border: 1px solid var(--bs-border-color, #ccc);
    border-radius: 4px;
    max-height: 200px;
    overflow: auto;
    margin-top: 2px;
    background: var(--bs-body-bg, #fff);
    position: relative;
    z-index: 5;
}
/* /Pages/Faturamento/ParcelamentosExternos.razor.rz.scp.css */
/* Layout flexível: filtros e campos quebram de linha sozinhos */
.pe-toolbar[b-hu6a5makj2] { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.pe-busca[b-hu6a5makj2] { flex: 1 1 260px; min-width: 0; }
.pe-status[b-hu6a5makj2] { flex: 0 0 160px; }
.pe-linha[b-hu6a5makj2] { display: flex; flex-wrap: wrap; gap: 0 12px; align-items: flex-end; }
.pe-campo[b-hu6a5makj2] { flex: 1 1 150px; min-width: 0; }
.pe-campo-2[b-hu6a5makj2] { flex: 2 1 260px; min-width: 0; }
.pe-fieldset[b-hu6a5makj2] { border: 0; margin: 0; padding: 0; min-width: 0; }
.pe-leitura[b-hu6a5makj2] { background: var(--content-header-bg); opacity: 0.9; }
.pe-parcelas[b-hu6a5makj2] { border: 1px solid var(--content-header-border); border-radius: 4px; max-height: 320px; overflow: auto; }
.pe-parcelas th[b-hu6a5makj2] { font-size: 10px; font-weight: 600; color: var(--text-med); position: sticky; top: 0; background: var(--content-header-bg); }
.pe-parcelas td[b-hu6a5makj2] { font-size: 12px; }
/* /Pages/Faturamento/Vendas.razor.rz.scp.css */
/* Vendas (web) — mesmas medidas/cores da Views/Faturamento/VendaView.xaml (WPF).
   Cores do tema: --content-header-bg / --content-header-border / --text-dark / --text-med / --nav-icon. */

/* ── Toolbar da lista: Nova Venda | busca (*) | status 200px ── */
.vd-toolbar-lista[b-77ns4vg9wn] {
    display: grid;
    grid-template-columns: auto 1fr 200px;
    gap: 12px;
    align-items: center;
}

/* Botão de toolbar (ToolbarButtonStyle): contorno discreto, ícone + texto */
.vd-btn-toolbar[b-77ns4vg9wn] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    font-size: 12px;
    color: var(--text-dark);
    background: transparent;
    border: 1px solid var(--content-header-border);
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
}
.vd-btn-toolbar:hover:not(:disabled)[b-77ns4vg9wn] { background: rgba(30, 136, 229, 0.08); }
.vd-btn-toolbar:disabled[b-77ns4vg9wn] { opacity: 0.45; cursor: default; }
.vd-btn-icone[b-77ns4vg9wn] { padding: 5px 9px; }
/* botão alinhado com a linha de inputs de um FormField (label em cima) */
.vd-btn-campo[b-77ns4vg9wn] { margin-bottom: 4px; align-self: end; }

.vd-pedido[b-77ns4vg9wn] { margin-left: 20px; font-size: 12px; color: var(--text-med); }

/* ── Lista ── */
.vd-grid-lista th[b-77ns4vg9wn] {
    font-size: 10px;
    font-weight: 600;
    color: var(--text-med);
    white-space: nowrap;
}
.vd-grid-lista td[b-77ns4vg9wn] { font-size: 12px; }
/* Larguras fixas em todas as colunas menos CLIENTE, que estica e ocupa o resto (Width="*" no WPF) */
.vd-grid-lista[b-77ns4vg9wn] { table-layout: fixed; width: 100%; min-width: 760px; }
.vd-grid-lista .vd-cliente[b-77ns4vg9wn] { white-space: normal; word-break: break-word; }
.vd-grid-lista th.vd-th-2linhas[b-77ns4vg9wn] { white-space: normal !important; line-height: 1.15; }
.vd-grid-lista .vd-acao[b-77ns4vg9wn] { margin-right: 0; padding: 2px 4px; }

/* Ações da linha (GridActionButtonStyle) */
.vd-acao[b-77ns4vg9wn] {
    background: transparent;
    border: 0;
    padding: 2px 5px;
    margin-right: 4px;
    font-size: 14px;
    color: var(--nav-icon);
    cursor: pointer;
    line-height: 1;
}
.vd-acao:disabled[b-77ns4vg9wn] { opacity: 0.35; cursor: default; }
.vd-nf[b-77ns4vg9wn] { font-family: "Segoe UI", system-ui, sans-serif; font-weight: 700; font-size: 11px; margin-right: 0; }

.vd-menu[b-77ns4vg9wn] { position: absolute; right: 0; left: auto; top: 100%; z-index: 1060; }

/* ── Formulário ── */
.vd-form[b-77ns4vg9wn] { display: flex; flex-direction: column; padding: 8px 12px 24px; }

/* Espaçamento compacto entre os campos do formulário (o .form-field global tem 0.65rem embaixo) */
.vd-form[b-77ns4vg9wn]  .form-field { margin-bottom: 4px; }
.vd-form[b-77ns4vg9wn]  .form-field-label { margin-top: 2px; }

/* FormSectionStyle + FormSeparatorStyle */
.vd-secao[b-77ns4vg9wn] {
    font-size: 13px;
    font-weight: 600;
    color: var(--content-title, var(--text-dark));
    padding-bottom: 4px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--content-header-border);
}

/* Linha: Data (180px) + Venda À Vista + Venda Externa */
.vd-linha-dados[b-77ns4vg9wn] { display: flex; align-items: end; gap: 24px; margin: 0; }
.vd-check[b-77ns4vg9wn] { margin-bottom: 4px; align-self: end; }

/* Caixa com fundo de cabeçalho (Border ContentHeaderBg, CornerRadius 4, Padding 10,8) */
.vd-box[b-77ns4vg9wn] {
    background: var(--content-header-bg);
    border: 1px solid var(--content-header-border);
    border-radius: 4px;
    padding: 8px 10px;
    margin: 4px 0 6px;
    min-width: 0;
}
.vd-box[b-77ns4vg9wn]  .form-field { margin-bottom: 0; }

/* Produtos: linha 1 QTDE(80) | PRODUTO(*) | GRADE | DEPÓSITO ; linha 2 4 colunas iguais | MR | Inserir */
.vd-produto-l1[b-77ns4vg9wn] { display: grid; gap: 8px; align-items: end; }
.vd-produto-l2[b-77ns4vg9wn] { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr auto auto; gap: 8px; align-items: end; margin-top: 6px; }
.vd-produto-l2 .vd-check[b-77ns4vg9wn], .vd-produto-l2 .vd-btn-campo[b-77ns4vg9wn] { margin-bottom: 0; }

.vd-somente-leitura[b-77ns4vg9wn] { background: var(--content-header-bg); opacity: 0.9; }

/* Grades do formulário (DataGrid com cabeçalho 10px SemiBold, borda 1px, MaxHeight via style) */
.vd-grid[b-77ns4vg9wn] {
    overflow: auto;
    border: 1px solid var(--content-header-border);
    background: var(--surface, transparent);
}
.vd-grid th[b-77ns4vg9wn] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--content-header-bg);
    font-size: 10px;
    font-weight: 600;
    color: var(--text-med);
    white-space: nowrap;
}
.vd-grid td[b-77ns4vg9wn] { font-size: 12px; }

/* Totais colados embaixo da grade de produtos (BorderThickness 1,0,1,1) */
.vd-totais[b-77ns4vg9wn] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--content-header-bg);
    border: 1px solid var(--content-header-border);
    border-top: 0;
    padding: 6px 8px;
    margin-bottom: 8px;
    text-align: center;
}
.vd-totais span[b-77ns4vg9wn] { display: block; font-size: 10px; font-weight: 600; color: var(--text-med); }
.vd-totais strong[b-77ns4vg9wn] { font-size: 13px; color: var(--text-dark); }

/* Desconto geral: label | input 140px | R$ | % | Aplicar */
.vd-desconto-geral[b-77ns4vg9wn] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.vd-desconto-geral > .form-field-label[b-77ns4vg9wn] { margin-right: 4px; }
.vd-chip[b-77ns4vg9wn] {
    padding: 4px 12px;
    font-size: 12px;
    border: 1px solid var(--content-header-border);
    border-radius: 12px;
    background: transparent;
    color: var(--text-dark);
    cursor: pointer;
}
.vd-chip.ativo[b-77ns4vg9wn] { background: #1E88E5; border-color: #1E88E5; color: #fff; }

/* Observações (*) | Ficha (180px) */
.vd-obs-ficha[b-77ns4vg9wn] { display: grid; grid-template-columns: 1fr 180px; gap: 12px; margin: 0; }

/* Pagamento: 4 colunas iguais | Gravar */
.vd-pagamento[b-77ns4vg9wn] { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr auto; gap: 12px; align-items: end; }
.vd-pagamento .vd-btn-campo[b-77ns4vg9wn] { margin-bottom: 0; }

/* Parcelamento em 2 linhas de 4 colunas:
   Entrada | Valor 1ª | Data 1ª | Total parcelamento
   Plano de pagamento | Vencimento | botões (ocupam 2 colunas) */
.vd-parcelamento[b-77ns4vg9wn] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px 12px; align-items: end; }
.vd-parcelamento .vd-btn-campo[b-77ns4vg9wn] { margin-bottom: 0; grid-column: span 2; }

/* Edição restrita — vencimentos: Parcela (120) | Valor (120) | data (160) */
.vd-vencimento[b-77ns4vg9wn] { display: grid; grid-template-columns: 120px 120px 160px; align-items: center; font-size: 12px; margin: 2px 0; }

.vd-sugestoes[b-77ns4vg9wn] { z-index: 1050; max-height: 12rem; overflow-y: auto; }

/* Telas estreitas: as linhas em grade quebram em coluna única */
@media (max-width: 900px) {
    .vd-toolbar-lista[b-77ns4vg9wn], .vd-produto-l1[b-77ns4vg9wn], .vd-produto-l2[b-77ns4vg9wn], .vd-pagamento[b-77ns4vg9wn], .vd-parcelamento[b-77ns4vg9wn], .vd-obs-ficha[b-77ns4vg9wn] {
        grid-template-columns: 1fr !important;
    }
}

/* ═══ Venda no celular (etapas: cliente → produtos → pagamento) ═══ */
.vdm-etapas[b-77ns4vg9wn] { display: flex; gap: 6px; margin-bottom: 8px; }
.vdm-etapas button[b-77ns4vg9wn] {
    flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 6px 4px; font-size: 12px; color: var(--text-med);
    background: transparent; border: 1px solid var(--content-header-border); border-radius: 16px;
}
.vdm-etapas b[b-77ns4vg9wn] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 18px; height: 18px; border-radius: 50%; font-size: 11px;
    background: var(--content-header-border); color: var(--text-dark);
}
.vdm-etapas button.ativa[b-77ns4vg9wn] { color: #1E88E5; border-color: #1E88E5; font-weight: 600; }
.vdm-etapas button.ativa b[b-77ns4vg9wn] { background: #1E88E5; color: #fff; }

.vdm-btn-principal[b-77ns4vg9wn] {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 10px 18px; font-size: 14px; font-weight: 600;
    color: #fff; background: #1E88E5; border: 0; border-radius: 6px;
}
.vdm-btn-principal:disabled[b-77ns4vg9wn] { opacity: 0.45; }
.vd-form > .vdm-btn-principal[b-77ns4vg9wn] { margin-top: 12px; width: 100%; }

.vdm-produtos[b-77ns4vg9wn] { display: flex; flex-direction: column; gap: 8px; padding-bottom: 72px; }
.vdm-busca[b-77ns4vg9wn] {
    position: sticky; top: 0; z-index: 2;
    display: flex; align-items: center; gap: 8px;
    padding: 8px 12px; border-radius: 20px;
    background: var(--content-header-bg); border: 1px solid var(--content-header-border);
}
.vdm-busca i[b-77ns4vg9wn] { color: var(--text-med); }
.vdm-busca input[b-77ns4vg9wn] { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text-dark); font-size: 15px; }

/* Lista estilo loja: foto à esquerda, nome em até 2 linhas, preço grande */
.vdm-lista[b-77ns4vg9wn] { display: flex; flex-direction: column; border: 1px solid var(--content-header-border); border-radius: 6px; overflow: hidden; }
.vdm-item[b-77ns4vg9wn] {
    position: relative; display: flex; gap: 12px; padding: 12px;
    border-bottom: 1px solid var(--content-header-border); cursor: pointer;
}
.vdm-item:last-of-type[b-77ns4vg9wn] { border-bottom: 0; }
.vdm-item:active[b-77ns4vg9wn] { background: rgba(30, 136, 229, 0.08); }
.vdm-foto[b-77ns4vg9wn] {
    flex: 0 0 84px; width: 84px; height: 84px; border-radius: 6px; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    background: var(--content-header-bg, #fff); color: var(--text-med, #9e9e9e); font-size: 30px;
    border: 1px solid var(--content-header-border, #e0e0e0);
}
.vdm-foto img[b-77ns4vg9wn] { width: 100%; height: 100%; object-fit: contain; }
.vdm-info[b-77ns4vg9wn] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.vdm-nome[b-77ns4vg9wn] {
    font-size: 14px; color: var(--text-dark); line-height: 1.25;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.vdm-codigo[b-77ns4vg9wn], .vdm-saldo[b-77ns4vg9wn] { font-size: 11px; color: var(--text-med); }
.vdm-preco[b-77ns4vg9wn] { font-size: 20px; font-weight: 400; color: var(--text-dark); margin-top: 2px; }
.vdm-avista[b-77ns4vg9wn] { font-size: 12px; color: #00A650; }
.vdm-badge[b-77ns4vg9wn] {
    position: absolute; top: 8px; right: 8px; min-width: 24px; padding: 2px 7px;
    border-radius: 12px; background: #1E88E5; color: #fff; font-size: 11px; font-weight: 600; text-align: center;
}
.vdm-vazio[b-77ns4vg9wn] { padding: 24px; text-align: center; color: var(--text-med); }
.vdm-mais[b-77ns4vg9wn] { padding: 12px; border: 0; background: transparent; color: #1E88E5; font-weight: 600; }

/* Barra do carrinho fixa embaixo */
.vdm-carrinho[b-77ns4vg9wn] {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    background: var(--content-header-bg); border-top: 1px solid var(--content-header-border);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
}
.vdm-carrinho span[b-77ns4vg9wn] { display: block; font-size: 11px; color: var(--text-med); }
.vdm-carrinho strong[b-77ns4vg9wn] { font-size: 17px; color: var(--text-dark); }

/* Painel do produto escolhido, sobe de baixo */
.vdm-sheet-fundo[b-77ns4vg9wn] { position: fixed; inset: 0; z-index: 1050; background: rgba(0, 0, 0, 0.45); }
.vdm-sheet[b-77ns4vg9wn] {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1051;
    max-height: 88vh; overflow-y: auto;
    padding: 14px 16px 84px; border-radius: 14px 14px 0 0;
    background: var(--background, #fff);
}
.vdm-sheet-topo[b-77ns4vg9wn] { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 8px; }
.vdm-fechar[b-77ns4vg9wn] { border: 0; background: transparent; color: var(--text-med); font-size: 18px; padding: 2px 4px; }
.vdm-qtd[b-77ns4vg9wn] { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; }
.vdm-qtd button[b-77ns4vg9wn] {
    flex: 0 0 44px; height: 40px; border-radius: 6px; font-size: 18px;
    border: 1px solid var(--content-header-border); background: transparent; color: #1E88E5;
}
.vdm-qtd input[b-77ns4vg9wn] { flex: 1 1 auto; height: 40px; font-size: 16px; }
.vdm-sheet-linha[b-77ns4vg9wn] { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.vdm-sheet-rodape[b-77ns4vg9wn] { z-index: 1052; }
/* Celular, etapa Pagamento: totais sem a grade de produtos em cima */
.vd-totais.vd-totais-solo[b-77ns4vg9wn] { border-top: 1px solid var(--content-header-border); border-radius: 4px; }
/* Celular: desconto geral numa linha só — rótulo em cima, campo estica, R$ | % | Aplicar */
.vdm-desconto .vdm-desconto-label[b-77ns4vg9wn] { flex: 0 0 100%; margin: 0; }
.vd-desconto-geral.vdm-desconto[b-77ns4vg9wn] { flex-wrap: wrap; gap: 4px 6px; }
.vdm-desconto input[b-77ns4vg9wn] { flex: 1 1 0; min-width: 60px; width: 0 !important; }
.vdm-desconto .vd-chip[b-77ns4vg9wn] { flex: 0 0 auto; padding: 4px 9px; }
.vdm-desconto .vd-btn-toolbar[b-77ns4vg9wn] { flex: 0 0 auto; margin-left: 0 !important; padding: 5px 9px; }
/* Celular: depósitos como opções tocáveis com o saldo de cada um */
.vdm-depositos[b-77ns4vg9wn] { display: flex; flex-direction: column; gap: 6px; margin-bottom: 6px; }
.vdm-deposito[b-77ns4vg9wn] {
    display: flex; justify-content: space-between; align-items: center; gap: 8px;
    padding: 9px 12px; border-radius: 6px; font-size: 13px; text-align: left;
    border: 1px solid var(--content-header-border); background: transparent; color: var(--text-dark);
}
.vdm-deposito.ativo[b-77ns4vg9wn] { border-color: #1E88E5; background: rgba(30, 136, 229, 0.10); }
.vdm-deposito strong[b-77ns4vg9wn] { font-size: 14px; }
/* Celular, etapa Revisar: itens escolhidos, compactos, com ações à direita */
.vdm-item-revisao[b-77ns4vg9wn] { cursor: default; align-items: center; padding: 10px 12px; }
.vdm-foto-p[b-77ns4vg9wn] { flex-basis: 56px; width: 56px; height: 56px; font-size: 22px; }
.vdm-preco-p[b-77ns4vg9wn] { font-size: 16px; font-weight: 600; }
.vdm-tag[b-77ns4vg9wn] { margin-left: 6px; padding: 0 5px; border-radius: 3px; font-size: 10px; background: #FF9800; color: #fff; }
.vdm-acoes[b-77ns4vg9wn] { display: flex; flex-direction: column; gap: 6px; }
.vdm-acoes button[b-77ns4vg9wn] {
    width: 38px; height: 34px; border-radius: 6px; font-size: 16px;
    border: 1px solid var(--content-header-border); background: transparent; color: #2196F3;
}
.vdm-acoes button.text-danger[b-77ns4vg9wn] { color: #F44336 !important; }
.vdm-etapas button[b-77ns4vg9wn] { font-size: 11px; gap: 4px; }
/* Celular: botão e tela do leitor de código de barras / QR code */
.vdm-btn-scan[b-77ns4vg9wn] { flex: 0 0 auto; border: 0; background: transparent; color: #1E88E5; font-size: 20px; padding: 0 2px; line-height: 1; }
.vdm-scanner[b-77ns4vg9wn] {
    position: fixed; inset: 0; z-index: 1070;
    display: flex; flex-direction: column; background: #000;
}
.vdm-scanner-topo[b-77ns4vg9wn] {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: calc(12px + env(safe-area-inset-top, 0px)) 16px 12px; color: #fff; font-size: 14px;
}
.vdm-scanner-topo .vdm-fechar[b-77ns4vg9wn] { color: #fff; font-size: 22px; }
.vdm-leitor[b-77ns4vg9wn] { flex: 1 1 auto; width: 100%; overflow: hidden; }
.vdm-leitor[b-77ns4vg9wn]  video { width: 100% !important; height: 100% !important; object-fit: cover; }
.vdm-scanner-erro[b-77ns4vg9wn] { padding: 16px; color: #ffb4a9; font-size: 14px; text-align: center; }
/* /Pages/Home.razor.rz.scp.css */
.home-empty[b-e71b75lsr1] {
    height: 100%;
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--empty-text, #90A4AE);
    text-align: center;
}

.home-empty i[b-e71b75lsr1] {
    font-size: 4rem;
    color: var(--empty-icon, #BBDEFB);
}

.home-empty p[b-e71b75lsr1] {
    margin-top: 1rem;
    font-size: 1rem;
}

.home-page[b-e71b75lsr1] {
    padding: 1rem;
}

.home-title[b-e71b75lsr1] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-dark, #212121);
    margin: 0;
}

.home-loading[b-e71b75lsr1] {
    text-align: center;
    margin: 2.5rem 0;
    color: var(--text-med, #616161);
}

/* ── Cards coloridos (Totais do dia / cards de contrato da Funerária) ── */
.home-stat-card[b-e71b75lsr1] {
    border-radius: 8px;
    height: 90px;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
}
.home-stat-blue[b-e71b75lsr1] { background: #64B5F6; }
.home-stat-green[b-e71b75lsr1] { background: #81C784; }
.home-stat-red[b-e71b75lsr1] { background: #E57373; }
.home-stat-orange[b-e71b75lsr1] { background: #FFB74D; }

.home-stat-value[b-e71b75lsr1] {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
}
.home-stat-value-sm[b-e71b75lsr1] {
    font-size: 20px;
}
.home-stat-label[b-e71b75lsr1] {
    font-size: 11px;
    margin-top: 4px;
}
.home-stat-icon[b-e71b75lsr1] {
    font-size: 44px;
    color: rgba(255, 255, 255, 0.3);
}

/* ── Grade de widgets (equivalente ao WrapPanel + WidgetWidthConverter do WPF):
   1 coluna abaixo de 900px, 2 colunas de 900 a 1500px, 3 colunas acima disso.
   "Totais do dia" sempre ocupa a linha inteira, os demais widgets é que dividem
   colunas entre si — mesmo comportamento do WidgetWidthConverter (chave "totais"
   sempre recebe a largura total do container). ── */
.home-widgets-wrap[b-e71b75lsr1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.home-widget-item[b-e71b75lsr1] {
    flex: 1 1 100%;
    min-width: 0;
}
.home-widget-item-full[b-e71b75lsr1] {
    flex-basis: 100%;
}
@media (min-width: 900px) {
    .home-widget-item:not(.home-widget-item-full)[b-e71b75lsr1] {
        flex: 1 1 calc(50% - 0.5rem);
    }
}
@media (min-width: 1500px) {
    .home-widget-item:not(.home-widget-item-full)[b-e71b75lsr1] {
        flex: 1 1 calc(33.333% - 0.5rem);
    }
}

/* ── Cards de widget (gráfico / listas) ── */
.home-widget-card[b-e71b75lsr1] {
    background: var(--content-header-bg, #fff);
    border-radius: 8px;
    padding: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}
.home-widget-title[b-e71b75lsr1] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark, #212121);
    margin-bottom: 8px;
}
.home-widget-empty[b-e71b75lsr1] {
    font-style: italic;
    color: var(--text-med, #616161);
    margin: 0;
}
.home-list-row[b-e71b75lsr1] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 4px 0;
    color: var(--text-dark, #212121);
}
.home-list-value[b-e71b75lsr1] {
    font-weight: 600;
    white-space: nowrap;
}
.home-text-red[b-e71b75lsr1] { color: #E57373; }
.home-text-orange[b-e71b75lsr1] { color: #FFB74D; }

/* ── Painel "Personalizar" (slide-out à direita) ── */
.home-personalizar-backdrop[b-e71b75lsr1] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}
.home-personalizar-panel[b-e71b75lsr1] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(300px, 100vw);
    background: var(--content-header-bg, #fff);
    box-shadow: -4px 0 14px rgba(0, 0, 0, 0.2);
    padding: 16px;
    z-index: 1041;
    overflow-y: auto;
}
.home-personalizar-row[b-e71b75lsr1] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    color: var(--text-dark, #212121);
}

/* ── Card de anel de percentual (Funerária) ── */
.home-ring-card[b-e71b75lsr1] {
    background: var(--content-header-bg, #fff);
    border-radius: 8px;
    padding: 14px 10px;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}
.home-ring-value[b-e71b75lsr1] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-dark, #212121);
}
.home-ring-label[b-e71b75lsr1] {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-med, #616161);
    margin-top: 2px;
}
/* /Pages/LinkPlaceholder.razor.rz.scp.css */
.placeholder-box[b-vs7i6l4wmw] {
    height: 100%;
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--empty-text, #90A4AE);
    text-align: center;
}

.placeholder-box i[b-vs7i6l4wmw] {
    font-size: 3.5rem;
    color: var(--empty-icon, #BBDEFB);
}

.placeholder-box p[b-vs7i6l4wmw] {
    margin-top: 1rem;
    font-size: 1rem;
}
/* /Pages/Login.razor.rz.scp.css */
/* Espelha Views/Auth/LoginWindow.xaml (WPF) + Resources/Colors.xaml + Resources/Styles.xaml
   (LoginBgBrush, LoginCardBrush, LoginTextBoxStyle, LoginPasswordBoxStyle, LoginButtonStyle). */

.login-bg[b-rozfupqmk4] {
    position: relative;
    min-height: 100vh;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 2rem 1rem;
    font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
    /* LoginBgBrush: diagonal #0D1B2A -> #0A3D62 -> #1B5E20 */
    background: linear-gradient(135deg, #0D1B2A 0%, #0A3D62 50%, #1B5E20 100%);
}

.login-blob[b-rozfupqmk4] {
    position: absolute;
    border-radius: 50%;
    opacity: 0.05;
    pointer-events: none;
}

.login-blob-blue[b-rozfupqmk4] {
    width: 350px;
    height: 350px;
    left: -80px;
    bottom: -80px;
    background: #2196F3;
}

.login-blob-green[b-rozfupqmk4] {
    width: 250px;
    height: 250px;
    right: -60px;
    top: -60px;
    background: #4CAF50;
}

.login-card[b-rozfupqmk4] {
    position: relative;
    width: min(820px, 100%);
    border-radius: 20px;
    /* LoginCardBrush: gradiente verde->azul, ~30% opacidade, sobre o fundo escuro */
    background: linear-gradient(180deg, rgba(76, 175, 80, 0.3) 0%, rgba(33, 150, 243, 0.3) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
}

.login-brand[b-rozfupqmk4], .login-form[b-rozfupqmk4] {
    flex: 1 1 320px;
    padding: 2.25rem 2.5rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.login-brand[b-rozfupqmk4] {
    align-items: center;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.login-brand h1[b-rozfupqmk4] {
    margin: 0;
    font-size: 2.375rem;
    font-weight: 700;
    color: #fff;
}

.login-brand-sub[b-rozfupqmk4] {
    margin: 0.6rem 0 0;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.87);
}

.login-brand-dev[b-rozfupqmk4] {
    margin: 0.4rem 0 0;
    font-size: 0.6875rem;
    color: rgba(255, 255, 255, 0.6);
}

.login-brand-downloads[b-rozfupqmk4] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.login-brand-download[b-rozfupqmk4] {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    font-size: 0.8rem;
    color: #fff;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
}

.login-brand-download:hover[b-rozfupqmk4] {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.login-form h2[b-rozfupqmk4] {
    margin: 0 0 1.5rem;
    font-size: 1.375rem;
    font-weight: 700;
    color: #fff;
}

.login-field[b-rozfupqmk4] {
    width: 100%;
    margin-bottom: 1rem;
}

.login-field label[b-rozfupqmk4] {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.6);
}

.login-input[b-rozfupqmk4] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    color: #fff;
    font-size: 0.875rem;
    padding: 0.4rem 0.25rem;
    outline: none;
}

.login-input:focus[b-rozfupqmk4] {
    border-bottom-color: #90CAF9;
}

.login-input[b-rozfupqmk4]::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.login-error[b-rozfupqmk4] {
    margin: 0.6rem 0 0;
    color: #EF5350;
    font-size: 0.6875rem;
}

.login-btn[b-rozfupqmk4] {
    margin-top: 1.25rem;
    width: 100%;
    background: #fff;
    color: #0D47A1;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    border-radius: 24px;
    padding: 0.6rem 0;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(13, 71, 161, 0.25);
    transition: background-color .15s ease;
}

.login-btn:hover:not(:disabled)[b-rozfupqmk4] { background: #E3F2FD; }
.login-btn:active:not(:disabled)[b-rozfupqmk4] { background: #BBDEFB; }
.login-btn:disabled[b-rozfupqmk4] { opacity: 0.55; cursor: default; }

.login-loading[b-rozfupqmk4] {
    margin: 0.6rem 0 0;
    text-align: center;
    color: rgba(255, 255, 255, 0.67);
    font-size: 0.6875rem;
}

.login-version[b-rozfupqmk4] {
    position: absolute;
    right: 0.75rem;
    bottom: 0.5rem;
    color: rgba(255, 255, 255, 0.27);
    font-size: 0.625rem;
}

@media (max-width: 700px) {
    .login-brand[b-rozfupqmk4] {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
}
/* /Shared/MenuCheckNode.razor.rz.scp.css */
.menu-check-node[b-oxvtdzpm56] {
    display: block;
}

.menu-check-item[b-oxvtdzpm56] {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .15rem .25rem;
    margin: .05rem 0;
    font-size: .8rem;
    line-height: 1.2;
    cursor: pointer;
}

.menu-check-item input[b-oxvtdzpm56] {
    flex: 0 0 auto;
}

.menu-check-children[b-oxvtdzpm56] {
    padding-left: 1.35rem;
}
/* /Shared/SidebarMenuNode.razor.rz.scp.css */
/* Espelha o Border colorido do ícone + Button (NavItemStyle) do MenuNodeTemplate (WPF). */

.nav-node-btn[b-r4mttjuhjz] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: transparent;
    border: none;
    color: var(--nav-text, #1A237E);
    padding: 0.45rem 0.6rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.8125rem;
    text-align: left;
}

.nav-node-btn:hover[b-r4mttjuhjz] {
    /* Mesmo azul translúcido do NavItemStyle (WPF, IsMouseOver: #221E88E5) — funciona em
       qualquer tema, ao contrário de um branco/cinza fixo que só combina com tema claro. */
    background: rgba(30, 136, 229, 0.13);
}

.nav-node-btn.active[b-r4mttjuhjz] {
    /* Mesmo destaque do NavItemStyle (WPF, IsSelected: fundo #331E88E5 + borda esquerda azul),
       independente de tema — usa a cor de destaque, não branco sólido. */
    background: rgba(30, 136, 229, 0.2);
    box-shadow: inset 3px 0 0 #1E88E5;
    font-weight: 600;
}

.nav-node-icon[b-r4mttjuhjz] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    background: rgba(30, 136, 229, 0.13);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nav-icon, #1565C0);
    font-size: 0.8rem;
}

.nav-node-chevron[b-r4mttjuhjz] {
    flex: 0 0 auto;
    font-size: 0.6rem;
    color: var(--nav-chevron, #7986CB);
    width: 0.7rem;
}

.nav-node-label[b-r4mttjuhjz] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-node-children[b-r4mttjuhjz] {
    margin-left: 0.9rem;
    /* Cinza neutro translúcido em vez de preto fixo — preto a 8% some no tema escuro/noturno. */
    border-left: 1px solid rgba(128, 128, 128, 0.25);
    padding-left: 0.15rem;
}
