/* _content/SgtrackERP.Web/Components/Account/Pages/ForgotPassword.razor.rz.scp.css */
/* estilos em AuthLayout.razor.css e app.css */
/* _content/SgtrackERP.Web/Components/Account/Pages/Login.razor.rz.scp.css */
/* estilos em AuthLayout.razor.css e app.css */
/* _content/SgtrackERP.Web/Components/Account/Pages/Manage/ChangePassword.razor.rz.scp.css */
/* Lista de requisitos da senha — mesma aparência da tela de primeiro acesso
   (PrimeiroAcesso.razor.css), para o usuário reconhecer o padrão nas duas. */
.senha-requisitos[b-vd1f97dp46] {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0.9rem 0;
}

    .senha-requisitos li[b-vd1f97dp46] {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.82rem;
        line-height: 1.6;
        color: #8a919a;
        transition: color 0.15s ease;
    }

        .senha-requisitos li i[b-vd1f97dp46] {
            font-size: 0.7rem;
        }

        .senha-requisitos li.requisito-ok[b-vd1f97dp46] {
            color: #198754;
        }
/* _content/SgtrackERP.Web/Components/Account/Pages/Manage/Email.razor.rz.scp.css */
/* O EmailInput rotula "E-mail" por conta própria e não expõe parâmetro para mudar isso.
   Aqui o campo precisa se chamar "Novo e-mail", então o label externo é da página e o
   interno do componente fica oculto — em vez de alterar um componente compartilhado.
   O 'div >' é essencial: sem ele o seletor pegaria também o label externo, que é
   filho direto de .novo-email-campo, e o campo ficaria sem rótulo nenhum. */
.novo-email-campo[b-c8h9rvf8sx]  div > .form-label {
    display: none;
}
/* _content/SgtrackERP.Web/Components/Account/Pages/PrimeiroAcesso.razor.rz.scp.css */
/* Demais estilos vêm de AuthLayout.razor.css e app.css, como na página de Login. */

.senha-requisitos[b-v1vbnqq2dc] {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem 0;
}

    .senha-requisitos li[b-v1vbnqq2dc] {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.82rem;
        line-height: 1.6;
        color: #8a919a;
        transition: color 0.15s ease;
    }

        .senha-requisitos li i[b-v1vbnqq2dc] {
            font-size: 0.7rem;
        }

        .senha-requisitos li.requisito-ok[b-v1vbnqq2dc] {
            color: #198754;
        }
/* _content/SgtrackERP.Web/Components/Account/Pages/ResetPassword.razor.rz.scp.css */
/* Estilos movidos para Components/Shared/ */
/* _content/SgtrackERP.Web/Components/Account/Shared/ManageNavMenu.razor.rz.scp.css */
/* nav-pills puro pinta o item ativo com o --bs-primary do Bootstrap (#0d6efd), que não é o
   azul do sistema. Aqui os itens seguem o --sg-primary.

   ::deep é obrigatório: o <a class="nav-link"> vem do componente NavLink, e o CSS isolado só
   marca os elementos deste componente (o <ul> e o <li>). Sem ele o seletor viraria
   .nav-link[b-xxx] e não casaria com nada — mesmo padrão do NavMenu.razor.css.

   Sem !important: .nav-item[b-xxx] .nav-link.active tem mais especificidade que o
   .nav-pills .nav-link.active do Bootstrap. */
.nav-item[b-scmeei365x]  .nav-link {
    color: var(--sg-primary);
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
}

    /* :not(.active) porque o item selecionado tem fundo sólido — sem isso ele clarearia
       ao passar o mouse. */
    .nav-item[b-scmeei365x]  .nav-link:hover:not(.active) {
        background-color: rgba(40, 82, 163, 0.08);
        color: var(--sg-primary-dark);
    }

    .nav-item[b-scmeei365x]  .nav-link.active {
        background-color: var(--sg-primary);
        color: #fff;
    }
/* _content/SgtrackERP.Web/Components/Layout/AuthLayout.razor.rz.scp.css */
*[b-jwl7tfpir2] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

.auth-background[b-jwl7tfpir2] {
    height: var(--sg-full-h);
    background: linear-gradient( 135deg, #051c38, #132c4f, #1f3f7a, #2852A3, #1f3f7a, #132c4f, #0b1726 );
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-container[b-jwl7tfpir2] {
    width: 100%;
    display: flex;
    justify-content: center;
}

.auth-card[b-jwl7tfpir2] {
    width: 500px;
    min-height: 510px;
    background-color: white;
    border-radius: 20px;
    padding: 40px 50px;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.6);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position:relative;
}

.auth-logo[b-jwl7tfpir2] {
    width: 250px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 2rem auto;
    display: block;
}

.auth-body[b-jwl7tfpir2] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

[b-jwl7tfpir2] .login-titulo {
    padding-top: 0 !important;
    text-align: center;
    color: #17305c;
    margin-bottom: 1.75rem;
}

/* Botão primário das páginas de autenticação */
[b-jwl7tfpir2] button[type="submit"] {
    margin-top: 10px;
    padding: 12px;
    border-radius: var(--sg-radius-md);
    border: none;
    cursor: pointer;
    background: linear-gradient(90deg, var(--sg-primary-dark), var(--sg-primary-mid), var(--sg-primary));
    color: white;
    font-weight: 500;
    transition: var(--sg-transition);
}

    [b-jwl7tfpir2] button[type="submit"]:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
    }
/* _content/SgtrackERP.Web/Components/Layout/ListarLayout.razor.rz.scp.css */
/* Escopado no ListarLayout de propósito: .page-header, .page-toolbar e .page-search
   vêm do app.css, que os compartilha com o CadastroLayout. Os ajustes abaixo valem
   só para as telas de listagem. */

/* ── Celular: cabeçalho em coluna ──
   Em linha, a busca de 280px fixos mais o filtro e o botão Novo passam da largura da
   tela. Aqui o título vai para cima, a busca fica sozinha na linha seguinte e os
   botões (filtro, extras, Novo) dividem a linha de baixo. */
@media (max-width: 640.98px) {
    .page-header[b-s2615l1qes] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.6rem;
    }

    /* A toolbar continua em linha (padrão do app.css); o wrap é o que permite a
       quebra provocada pela busca logo abaixo. Se os botões não couberem — o caso
       do ProspeccaoIndex, com quatro — eles caem para mais uma linha em vez de
       estourar a largura. */
    .page-toolbar[b-s2615l1qes] {
        flex-wrap: wrap;
        row-gap: 0.6rem;
    }

    /* flex-basis 100% ocupa a linha inteira e empurra o resto para baixo. */
    .page-search[b-s2615l1qes] {
        flex: 0 0 100%;
        width: 100%;
    }
}
/* _content/SgtrackERP.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-0z9s5l1tlb] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-0z9s5l1tlb] {
    flex: 1;
    min-width: 0;
}

.content-body[b-0z9s5l1tlb] {
    padding-top: 1.1rem;
    padding-bottom: 1.875rem;
}

/* ── Page loader ──────────────────────────────────────────────────── */
.content[b-0z9s5l1tlb] {
    position: relative;
    z-index: 1; /* stacking context: confina Leaflet (z-800) abaixo do top-row (z-900) */
}

.sg-page-loader[b-0z9s5l1tlb] {
    position: absolute;
    inset: 0;
    z-index: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255);
}

.sg-page-loader--hidden[b-0z9s5l1tlb] {
    display: none;
}

.sg-page-loader__spinner[b-0z9s5l1tlb] {
    width: 44px;
    height: 44px;
    border: 4px solid #e5e7eb;
    border-top-color: #2852A3;
    border-radius: 50%;
    animation: sg-layout-spin-b-0z9s5l1tlb 0.7s linear infinite;
}

@keyframes sg-layout-spin-b-0z9s5l1tlb {
    to { transform: rotate(360deg); }
}

.sidebar[b-0z9s5l1tlb] {
    background-image: linear-gradient(180deg, #052767 0%, #0a4fb3 100%);
}

.top-row[b-0z9s5l1tlb] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-start;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-0z9s5l1tlb]  a, .top-row[b-0z9s5l1tlb]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-0z9s5l1tlb]  a:hover, .top-row[b-0z9s5l1tlb]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-0z9s5l1tlb]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* Header: área de ações à direita */
.header-actions[b-0z9s5l1tlb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

/* Botão de notificação */
.header-btn[b-0z9s5l1tlb] {
    position: relative;
    background: none;
    border: none;
    color: #555;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.15s;
    font-size: 1.2rem;
    padding-top: 5%;
}

    .header-btn:hover[b-0z9s5l1tlb] {
        background-color: rgba(0,0,0,0.06);
        color: #111;
    }

.notif-badge[b-0z9s5l1tlb] {
    position: absolute;
    top: 2px;
    right: 2px;
    background: #e53e3e;
    color: white;
    font-size: 0.6rem;
    font-weight: 700;
    min-width: 1rem;
    height: 1rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.2rem;
    line-height: 1;
    pointer-events: none;
}

.sidebar-toggle-btn[b-0z9s5l1tlb] {
    font-size: 1.35rem;
    flex-shrink: 0;
    padding-top: 0;
}

/* Separador visual entre notificação e usuário */
.header-actions[b-0z9s5l1tlb]::before {
    display: none;
}

/* Dropdown wrapper */
.user-dropdown[b-0z9s5l1tlb] {
    position: relative;
}

    .user-dropdown[open] .user-chevron[b-0z9s5l1tlb] {
        transform: rotate(180deg);
    }

/* Summary: remove marcador padrão */
.header-user[b-0z9s5l1tlb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.6rem 0.25rem 0.25rem;
    border-radius: 2rem;
    cursor: pointer;
    list-style: none;
    transition: background-color 0.15s;
    margin-left: 0.25rem;
    user-select: none;
}

    .header-user[b-0z9s5l1tlb]::-webkit-details-marker { display: none; }

    .header-user:hover[b-0z9s5l1tlb] {
        background-color: rgba(0,0,0,0.06);
    }

.user-avatar[b-0z9s5l1tlb] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: var(--sg-primary);
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.03em;
}

.user-name[b-0z9s5l1tlb] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #222;
    white-space: nowrap;
}

.user-chevron[b-0z9s5l1tlb] {
    font-size: 0.65rem;
    color: #888;
    transition: transform 0.2s ease;
}

/* Menu dropdown */
.user-dropdown-menu[b-0z9s5l1tlb] {
    position: absolute;
    right: 0;
    top: calc(100% + 0.4rem);
    min-width: 160px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    padding: 0.35rem 0;
    z-index: 100;
}

.user-dropdown-item[b-0z9s5l1tlb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.55rem 1rem;
    font-size: 0.875rem;
    color: #374151;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.12s;
    white-space: nowrap;
    margin-left: 0 !important;
}

    .user-dropdown-item:hover[b-0z9s5l1tlb] {
        background-color: #f3f4f6;
        color: #111;
        text-decoration: none;
    }

.user-dropdown-logout[b-0z9s5l1tlb] {
    color: #dc2626;
}

    .user-dropdown-logout:hover[b-0z9s5l1tlb] {
        background-color: #fef2f2;
        color: #b91c1c;
    }

.user-dropdown-divider[b-0z9s5l1tlb] {
    height: 1px;
    background-color: #e5e7eb;
    margin: 0.25rem 0;
}

.user-dropdown-form[b-0z9s5l1tlb] {
    display: contents;
}

@media (max-width: 640.98px) {
    .top-row[b-0z9s5l1tlb] {
        display: none;
    }
}

@media (min-width: 641px) {
    .page[b-0z9s5l1tlb] {
        flex-direction: row;
        min-height: var(--sg-full-h);
    }

    /* Faixa de fundo da sidebar que cobre toda a altura da página,
       mesmo quando o conteúdo ultrapassa 100vh */
        .page[b-0z9s5l1tlb]::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 250px;
            background: #052767;
            z-index: 0;
            pointer-events: none;
            transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }

    .sidebar[b-0z9s5l1tlb] {
        width: 250px;
        height: var(--sg-full-h);
        position: sticky;
        top: 0;
        z-index: 1;
        background: transparent;
        overflow: hidden;
        transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        flex-shrink: 0;
    }

    /* Regras do estado fechado (html.sidebar-fechada) estão em app.css:
       a classe fica no <html> — aplicada antes do paint — e CSS escopado
       não alcança elementos fora do componente. */

    .top-row[b-0z9s5l1tlb] {
        position: sticky;
        top: 0;
        z-index: 900;
    }

        .top-row.auth[b-0z9s5l1tlb]  a:first-child {
            flex: 1;
            text-align: right;
            width: 0;
        }

    .top-row[b-0z9s5l1tlb], article[b-0z9s5l1tlb] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-0z9s5l1tlb] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-0z9s5l1tlb] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/SgtrackERP.Web/Components/Layout/NavMenu.razor.rz.scp.css */
nav[b-7l5iijef0n] {
    padding-top: 0.5rem;
}

.navbar-toggler[b-7l5iijef0n] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}


.top-row[b-7l5iijef0n] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
    padding-left: 0 !important;
    display: flex;
    align-items: center;
}

    .top-row .container-fluid[b-7l5iijef0n] {
        justify-content: center;
        display: flex;
        align-items: center;
        padding: 0;
        height: 100%;
    }

.navbar-brand[b-7l5iijef0n] {
    font-family: 'Rokkitt', serif;
    font-size: 1.9rem;
    font-weight: 400;
    color: white !important;
    letter-spacing: 0.5px;
    margin: 0 auto;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
    height: 100%;
}

/* Ícones Bootstrap Icons inline */
.bi[b-7l5iijef0n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    font-size: 1rem;
    line-height: 1;
    margin-right: 0.65rem;
    flex-shrink: 0;
    transition: margin-right 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Nav item padrão */
.nav-item[b-7l5iijef0n] {
    font-size: 0.9rem;
    padding-bottom: 0.25rem;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transition: padding 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

    .nav-item:first-of-type[b-7l5iijef0n] {
        padding-top: 0.5rem;
    }

    .nav-item:last-of-type[b-7l5iijef0n] {
        padding-bottom: 0.2rem;
    }

    .nav-item[b-7l5iijef0n]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        height: 2.5rem;
        display: flex;
        align-items: center;
        width: 100%;
        padding-left: 2rem;
        transition: padding-left 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .nav-item[b-7l5iijef0n]  a.active {
        background-color: rgba(255,255,255,0.37);
        border-radius: 4px;
        color: white;
    }

    .nav-item[b-7l5iijef0n]  .nav-link:hover {
        background-color: rgba(255,255,255,0.1);
        color: white;
    }

/* Subitens (dentro de módulo) */
.nav-subitem[b-7l5iijef0n] {
    padding-bottom: 0.1rem;
}

    .nav-subitem[b-7l5iijef0n]  .nav-link {
        padding-left: 2rem;
        font-size: 0.85rem;
        height: 2.5rem;
        color: #b8b8b8;
    }

    .nav-subitem[b-7l5iijef0n]  a.active {
        background-color: rgba(255,255,255,0.25);
        color: white;
    }

    .nav-subitem[b-7l5iijef0n]  .nav-link:hover {
        background-color: rgba(255,255,255,0.08);
        color: white;
    }

/* Grupo de módulo */
.nav-group[b-7l5iijef0n] {
    margin-bottom: 0.25rem;
    transition: margin 0.25s ease;
}

.nav-group-header:hover[b-7l5iijef0n] {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-group-header[b-7l5iijef0n] {
    display: flex;
    align-items: center;
    list-style: none;
    color: white;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.75rem 2rem 0.35rem 1rem;
    cursor: pointer;
    user-select: none;
    text-decoration: none;
    transition: padding 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

    .nav-group-header[b-7l5iijef0n]::after {
        content: "›";
        margin-left: auto;
        font-size: 1rem;
        font-weight: 300;
        opacity: 0.5;
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
        transform: rotate(90deg);
    }

/* Seta vira quando fechado */
.nav-group:not(.open) .nav-group-header[b-7l5iijef0n]::after {
    transform: rotate(0deg);
}

/* Início não tem subitens, não precisa de seta */
.nav-group--inicio .nav-group-header[b-7l5iijef0n]::after {
    display: none;
}

/* Animação via grid-template-rows (0fr → 1fr) em vez de max-height fixo:
   sempre expande até a altura real do conteúdo, não importa quantos itens
   o módulo tenha — elimina a necessidade de "adivinhar" um teto em pixels
   (e o corte silencioso de itens quando um módulo cresce além do teto). */
.nav-group-items[b-7l5iijef0n] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-group.open .nav-group-items[b-7l5iijef0n] {
    grid-template-rows: 1fr;
}

.nav-group-items-inner[b-7l5iijef0n] {
    overflow: hidden;
    min-height: 0;
}

.nav-group.open .nav-group-items-inner[b-7l5iijef0n] {
    padding-bottom: 0.5rem;
}

/* Subitens */
.nav-subitem[b-7l5iijef0n] {
    padding-bottom: 0.1rem;
}

    .nav-subitem[b-7l5iijef0n]  .nav-link {
        font-size: 0.875rem;
        height: 2.4rem;
        color: rgba(255,255,255,0.65);
        transition: color 0.25s, background-color 0.25s, border-color 0.25s;
    }

    .nav-subitem[b-7l5iijef0n]  a.active {
        background-color: rgba(255,255,255,0.1);
        color: white;        
        border-left-color: rgba(0, 140, 255, 0.8);
    }

    .nav-subitem[b-7l5iijef0n]  .nav-link:hover {
        background-color: rgba(255,255,255,0.06);
        color: rgba(255,255,255,0.9);
        width: 100%;
    }

/* Transição suave dos textos no colapso/expansão do sidebar.
   Estas transições regem a ABERTURA; o fechamento é definido
   em app.css sob html.sidebar-fechada. */
.nav-group-text[b-7l5iijef0n],
.nav-item-text[b-7l5iijef0n] {
    margin-top: 0.12rem;
    overflow: hidden;
    white-space: nowrap;
    max-width: 200px;
    transition: max-width 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s ease 0.08s;
}

.brand-sg[b-7l5iijef0n] {
    overflow: hidden;
    max-width: 160px;
    transition: max-width 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s ease 0.08s;
}

.brand-logo-full[b-7l5iijef0n] {
    display: block;
    height: 100px;
    width: auto;
    object-fit: contain;
}

.brand-icon[b-7l5iijef0n] {
    display: block;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-width 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.1s ease;
}

.brand-logo-icon[b-7l5iijef0n] {
    height: 33px;
    width: auto;
    object-fit: contain;
}

/* Seção de usuário mobile */
.nav-mobile-user[b-7l5iijef0n] {
    display: none;
}

.nav-mobile-user-divider[b-7l5iijef0n] {
    height: 1px;
    background-color: rgba(255,255,255,0.15);
    margin: 0.5rem 1.5rem;
}

.nav-mobile-user-info[b-7l5iijef0n] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 1.5rem 0.25rem;
}

.nav-mobile-avatar[b-7l5iijef0n] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.2);
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.03em;
}

.nav-mobile-name[b-7l5iijef0n] {
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(255,255,255,0.85);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nav-mobile-logout-form[b-7l5iijef0n] {
    display: contents;
}

.nav-mobile-logout-btn[b-7l5iijef0n] {
    color: rgba(255,180,180,0.9) !important;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
}

    .nav-mobile-logout-btn:hover[b-7l5iijef0n] {
        color: #ffaaaa !important;
    }

@media (max-width: 640.98px) {
    .nav-mobile-user[b-7l5iijef0n] {
        display: block;
        padding-bottom: 0.5rem;
    }
}

/* Scrollable */
.nav-scrollable[b-7l5iijef0n] {
    display: none;
}

/* .menu-open vem do MenuAberto (NavMenu.razor:27). A regra anterior era
   .navbar-toggler:checked ~ .nav-scrollable, do tempo em que o toggler era um
   <input type="checkbox"> — o <button> de hoje nunca casa :checked, e o menu
   ficava preso em display: none abaixo de 641px. */
.nav-scrollable.menu-open[b-7l5iijef0n] {
    display: block;
}


@media (min-width: 641px) {
    .navbar-toggler[b-7l5iijef0n] {
        display: none;
    }

    .nav-scrollable[b-7l5iijef0n] {
        display: block;
        height: calc(var(--sg-full-h) - 3.5rem);
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,0.15) transparent;
    }

        .nav-scrollable:hover[b-7l5iijef0n] {
            scrollbar-color: rgba(255,255,255,0.3) transparent;
        }

        /* Webkit (Chrome, Edge, Safari) */
        .nav-scrollable[b-7l5iijef0n]::-webkit-scrollbar {
            width: 4px;
        }

        .nav-scrollable[b-7l5iijef0n]::-webkit-scrollbar-track {
            background: transparent;
        }

        .nav-scrollable[b-7l5iijef0n]::-webkit-scrollbar-thumb {
            background-color: rgba(255,255,255,0.15);
            border-radius: 4px;
        }

        .nav-scrollable:hover[b-7l5iijef0n]::-webkit-scrollbar-thumb {
            background-color: rgba(255,255,255,0.3);
        }
}
/* _content/SgtrackERP.Web/Components/Layout/RelatorioLayout.razor.rz.scp.css */
/* ── Página ──────────────────────────────────────────── */

.relatorio-page[b-usfi67wh7u] {
    
}

/* ── Cabeçalho ───────────────────────────────────────── */

.relatorio-header[b-usfi67wh7u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.relatorio-titulo-h[b-usfi67wh7u] {
    margin: 0;
    line-height: 1.2;
}

.relatorio-header-acoes[b-usfi67wh7u] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* ── Botão e dropdown de download ────────────────────── */

.relatorio-download-wrapper[b-usfi67wh7u] {
    position: relative;
}

.btn-relatorio-download[b-usfi67wh7u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: white;
    color: #374151;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.15s;
}

    .btn-relatorio-download:hover[b-usfi67wh7u] {
        border-color: var(--sg-primary, #2852A3);
        background: var(--sg-primary);
        color: white;
    }

.relatorio-download-dropdown[b-usfi67wh7u] {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    min-width: 130px;
    z-index: 1000;
    padding: 0.3rem 0;
}

.relatorio-download-item[b-usfi67wh7u] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem 1rem;
    background: none;
    border: none;
    font-size: 0.85rem;
    color: #374151;
    cursor: pointer;
    text-align: left;
    transition: background 0.12s;
}

.relatorio-download-item:hover[b-usfi67wh7u] {
    background: #f5f7ff;
    color: var(--sg-primary, #2852A3);
}

/* ── Botão e dropdown de colunas ─────────────────────── */

.relatorio-colunas-wrapper[b-usfi67wh7u] {
    position: relative;
}

.btn-relatorio-colunas[b-usfi67wh7u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: white;
    color: #374151;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.15s;
}

    .btn-relatorio-colunas:hover[b-usfi67wh7u],
    .btn-relatorio-colunas.active[b-usfi67wh7u] {
        border-color: var(--sg-primary, #2852A3);
        background: var(--sg-primary);
        color: white;
    }

.relatorio-colunas-dropdown[b-usfi67wh7u] {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    min-width: 225px;
    z-index: 1000;
    padding: 0.4rem 0;
}

.relatorio-colunas-header[b-usfi67wh7u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3rem 0.9rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 0.2rem;
}

.relatorio-colunas-acoes[b-usfi67wh7u] {
    display: flex;
    gap: 0.3rem;
    align-items: center;
    font-weight: 400;
}

.relatorio-colunas-link[b-usfi67wh7u] {
    cursor: pointer;
    color: var(--sg-primary, #2852A3);
}

    .relatorio-colunas-link:hover[b-usfi67wh7u] {
        text-decoration: underline;
    }

.relatorio-coluna-item[b-usfi67wh7u] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.28rem 0.9rem;
    font-size: 0.82rem;
    cursor: pointer;
    user-select: none;
    color: #374151;
    transition: background 0.1s;
    margin: 0;
}

    .relatorio-coluna-item:hover[b-usfi67wh7u] {
        background: #f5f7ff;
    }

    .relatorio-coluna-item input[type=checkbox][b-usfi67wh7u] {
        width: 14px;
        height: 14px;
        cursor: pointer;
        accent-color: var(--sg-primary, #2852A3);
        flex-shrink: 0;
    }

.relatorio-colunas-footer[b-usfi67wh7u] {
    display: flex;
    justify-content: flex-end;
    gap: 0.4rem;
    padding: 0.4rem 0.7rem 0.35rem;
    border-top: 1px solid #f3f4f6;
    margin-top: 0.2rem;
}

.relatorio-colunas-btn-aplicar[b-usfi67wh7u] {
    padding: 0.22rem 0.8rem;
    font-size: 0.78rem;
    background: var(--sg-primary, #2852A3);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: filter 0.12s;
}

    .relatorio-colunas-btn-aplicar:hover[b-usfi67wh7u] {
        filter: brightness(0.9);
    }

.relatorio-colunas-btn-cancelar[b-usfi67wh7u] {
    padding: 0.22rem 0.8rem;
    font-size: 0.78rem;
    background: transparent;
    color: #6b7280;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.12s;
}

    .relatorio-colunas-btn-cancelar:hover[b-usfi67wh7u] {
        background: #f5f5f5;
    }

/* ── Barra de filtros ────────────────────────────────── */

[b-usfi67wh7u] .relatorio-filtros {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding: 0.65rem 0.65rem 0.65rem 1rem;
}

[b-usfi67wh7u] .relatorio-filtros > [class*="col-"] {
    flex-shrink: 0;
    min-width: 80px;
}

[b-usfi67wh7u] .filtro-campo-buscar {
    display: flex;
    align-items: flex-end;
}


[b-usfi67wh7u] .btn-relatorio-buscar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(2.25rem + 2px);
    height: calc(2.05rem + 2px);
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: white;
    color: #374151;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.15s;
}

    [b-usfi67wh7u] .btn-relatorio-buscar:hover {
        border-color: var(--sg-primary, #2852A3);
        color: var(--sg-primary, #2852A3);
        background: #eff3fb;
    }

/* ── Resumo ──────────────────────────────────────── */

[b-usfi67wh7u] .relatorio-resumo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
    padding: 0.5rem 1rem;
    font-size: 0.72rem;
    background: var(--bg-card, #fff);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

[b-usfi67wh7u] .relatorio-sep {
    color: #9ca3af;
}
/* _content/SgtrackERP.Web/Components/Modules/Alertas/CadastroAlertas.razor.rz.scp.css */
/* Abas da tela. A contagem no rótulo existe para o usuário ver onde há cadastro sem precisar
   abrir aba por aba — três das quatro costumam estar vazias em cliente novo. */
.alr-abas[b-mgezss5s24] {
    margin-bottom: 0;
    border-bottom: 1px solid #dee2e6;
}

.alr-abas .nav-link[b-mgezss5s24] {
    color: #4b5563;
    font-size: 0.9rem;
    border: 1px solid transparent;
}

.alr-abas .nav-link.active[b-mgezss5s24] {
    color: #2852A3;
    font-weight: 600;
}

/* O corpo continua a aba: mesma borda, sem a régua de cima, para não cortar a aba ativa. */
.alr-aba-corpo[b-mgezss5s24] {
    border: 1px solid #dee2e6;
    border-top: 0;
    border-radius: 0 0 0.375rem 0.375rem;
    background: #fff;
    padding: 1rem;
}

/* Texto de apoio de cada aba. */
.alr-ajuda[b-mgezss5s24] {
    font-size: 0.82rem;
    color: #6b7280;
    margin: 0 0 0.9rem;
}

/* Linha de inclusão, separada da tabela por uma régua. */
.alr-nova[b-mgezss5s24] {
    padding-bottom: 0.9rem;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid #e5e7eb;
}

/* Alinha a caixa de seleção com os campos da mesma linha, que têm rótulo em cima. */
.alr-check[b-mgezss5s24] {
    padding-bottom: 0.45rem;
}

.alr-table td[b-mgezss5s24] {
    vertical-align: middle;
}

/* Bolinha de gravidade — mesma escala do painel de ocorrências: vermelho, laranja, âmbar,
   cinza-azulado. A cor é o único sinal de gravidade na lista. */
.alr-badge[b-mgezss5s24] {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.alr-nivel-1[b-mgezss5s24] { background: #b31b1b; }
.alr-nivel-2[b-mgezss5s24] { background: #ea580c; }
.alr-nivel-3[b-mgezss5s24] { background: #d19c00; }
.alr-nivel-4[b-mgezss5s24] { background: #64748b; }
/* _content/SgtrackERP.Web/Components/Modules/Balizador/GrupoCercas/CadastroGrupoCercas.razor.rz.scp.css */
/* ── Mapa ───────────────────────────────────────────────────── */
.gc-mapa[b-i0oc3kdaqn] {
    width: 100%;
    height: 380px;
}

/* ── Listas de cercas ───────────────────────────────────────── */
/* Altura fixa com rolagem própria: a busca traz até 200 cercas e um grupo chega a 311.
   Sem isso a página inteira vira uma rolagem só e o mapa some da vista. */
.gc-lista[b-i0oc3kdaqn] {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.375rem;
    max-height: 280px;
    overflow-y: auto;
    background: var(--bs-body-bg, #fff);
}

.gc-lista--alta[b-i0oc3kdaqn] {
    max-height: 330px;
}

.gc-vazio[b-i0oc3kdaqn] {
    padding: 1rem;
    text-align: center;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.875rem;
}

.gc-item[b-i0oc3kdaqn] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.65rem;
    border-bottom: 1px solid var(--bs-border-color-translucent, #e9ecef);
    cursor: pointer;
    font-size: 0.875rem;
}

.gc-item:last-child[b-i0oc3kdaqn] {
    border-bottom: none;
}

.gc-item:hover[b-i0oc3kdaqn] {
    background: var(--bs-tertiary-bg, #f8f9fa);
}

/* Já está no grupo: continua visível, para o usuário perceber que aquela busca já foi
   aproveitada, em vez de sumir da lista e parecer que a busca falhou. */
.gc-item--usado[b-i0oc3kdaqn] {
    opacity: 0.55;
    cursor: default;
}

.gc-item-nome[b-i0oc3kdaqn] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Reordenação ────────────────────────────────────────────── */
.gc-item--sel[b-i0oc3kdaqn] {
    cursor: grab;
}

.gc-item--arrastando[b-i0oc3kdaqn] {
    opacity: 0.4;
    background: var(--bs-tertiary-bg, #f1f3f5);
}

.gc-ordem[b-i0oc3kdaqn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 20px;
    border-radius: 10px;
    background: var(--bs-tertiary-bg, #e9ecef);
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.75rem;
    font-weight: 600;
}

.table-responsive[b-i0oc3kdaqn] {
    padding-top: 25px;
}
/* _content/SgtrackERP.Web/Components/Modules/Balizador/PontoBalizador/CadastroPontoBalizador.razor.rz.scp.css */
/* ── Mapa ──────────────────────────────────────────────────── */
.baliz-mapa[b-mxiy1opbye] {
    width: 100%;
    height: 550px;
    border-radius: 0 0 8px 8px;
}

/* ── Grupo de radio buttons ─────────────────────────────────── */
.baliz-radio-group[b-mxiy1opbye] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

/* ── Campo de ícone ─────────────────────────────────────────── */
/* O preview fica colado à esquerda do select, como um input-group, para o usuário ver o
   desenho sem abrir a lista — "Bandeira", "Bandeira verde" e "Bandeira vermelha" só se
   distinguem pela cor. */
.baliz-icone-campo[b-mxiy1opbye] {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
}

.baliz-icone-select[b-mxiy1opbye] {
    flex: 1 1 auto;
    min-width: 0;
}

.baliz-icone-preview[b-mxiy1opbye] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 39px;
    height: 39px;
    font-size: 1.1rem;
}

/* Alertas fica ao lado de campos de 38px (form-control / mc-field). Sem esta altura,
   o grupo colava no label e a linha ficava desalinhada em relação aos vizinhos. */
.baliz-alertas-group[b-mxiy1opbye] {
    min-height: 38px;
    align-items: center;
}

.baliz-radio-opt[b-mxiy1opbye] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: #374151;
    user-select: none;
}

.baliz-radio-opt input[type="radio"][b-mxiy1opbye] {
    accent-color: var(--sg-primary);
    width: 15px;
    height: 15px;
    cursor: pointer;
    flex-shrink: 0;
}
/* _content/SgtrackERP.Web/Components/Modules/Balizador/RelatoriosBalizador/RelNivelInfracao.razor.rz.scp.css */
/* Botão de ação na tabela */
.traj-btn-opcao[b-noipyrj6d4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    font-size: .8125rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.traj-btn-opcao:hover[b-noipyrj6d4] { background: var(--sg-primary, #2852A3); color: #fff; }

/* Multi-select placas */
.rv-placa-input-row[b-noipyrj6d4] { display: flex; gap: 0.35rem; align-items: flex-end; }
.rv-placa-select-wrap[b-noipyrj6d4] { flex: 1; min-width: 0; }
.rv-add-btn[b-noipyrj6d4] { width: calc(2.375rem + 2px); height: calc(2.1rem + 2px); flex-shrink: 0; }
.rv-add-btn:disabled[b-noipyrj6d4] { width: calc(2.375rem + 2px); height: calc(2.1rem + 2px); flex-shrink: 0; }

.rv-placas-selecionadas[b-noipyrj6d4] {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 0.4rem; padding: 0.65rem 1rem;
}
.rv-placas-selecionadas-label[b-noipyrj6d4] {
    font-size: 0.78rem; font-weight: 600; color: #6b7280;
    margin-right: 0.15rem; white-space: nowrap;
}
.rv-placa-tag[b-noipyrj6d4] {
    display: inline-flex; align-items: center; gap: 0.25rem;
    padding: 0.15rem 0.5rem 0.15rem 0.6rem;
    background: #eff6ff; border: 1px solid #2563eb;
    border-radius: 999px; font-size: 0.75rem; font-weight: 500; color: #2563eb;
}
.rv-placa-tag-remove[b-noipyrj6d4] {
    display: flex; align-items: center; justify-content: center;
    background: none; border: none; padding: 0; color: #2563eb;
    cursor: pointer; font-size: 0.85rem; line-height: 1; opacity: 0.7;
    transition: opacity 0.15s;
}
.rv-placa-tag-remove:hover[b-noipyrj6d4] { opacity: 1; }

/* Tabela */
.ni-table th[b-noipyrj6d4], .ni-table td[b-noipyrj6d4] { vertical-align: middle; font-size: .72rem; }

.ni-row-clicavel[b-noipyrj6d4] { cursor: pointer; }
.ni-row-clicavel:hover[b-noipyrj6d4] { background-color: #f8faff; }

/* Justificativa truncada na tabela */
.ni-justificativa[b-noipyrj6d4] {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #6b7280;
    font-size: .82rem;
    white-space: wrap;
}

/* Badge de nível de infração */
.ni-badge[b-noipyrj6d4] {
    display: inline-block;
    padding: .3rem .9rem;
    border-radius: 50px;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .02em;
    white-space: nowrap;
}
.ni-badge--leve[b-noipyrj6d4]     { background: #16a34a; color: #fff; }
.ni-badge--moderado[b-noipyrj6d4] { background: #f2cb07; color: #fff; -webkit-text-stroke: 1px #b57c05; paint-order: stroke fill; }
.ni-badge--média[b-noipyrj6d4]      { background: #f2cb07; color: #fff; -webkit-text-stroke: 1px #b57c05; paint-order: stroke fill; }
.ni-badge--grave[b-noipyrj6d4]    { background: #dc2626; color: #fff; }
.ni-badge--gravíssima[b-noipyrj6d4] { background: #991b1b; color: #fff; }

/* Modal de detalhe */
.ni-modal-backdrop[b-noipyrj6d4] { background: rgba(0, 0, 0, .45); }

.ni-detalhe-label[b-noipyrj6d4] {
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
    margin-bottom: .15rem;
}
.ni-detalhe-valor[b-noipyrj6d4] {
    font-size: .9rem;
    font-weight: 500;
    color: #111827;
}
/* _content/SgtrackERP.Web/Components/Modules/Balizador/RelatoriosBalizador/RelPassagemNivel.razor.rz.scp.css */
/* Botão de mapa */
.traj-btn-opcao[b-qi5y38dlfq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    font-size: .8125rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.traj-btn-opcao:hover[b-qi5y38dlfq] { background: var(--sg-primary, #2852A3); color: #fff; }

/* Tabela */
.pn-table th[b-qi5y38dlfq], .pn-table td[b-qi5y38dlfq] { vertical-align: middle; font-size: .75rem; }

/* Velocidade excedida */
.pn-vel-excedida[b-qi5y38dlfq] { color: #b91c1c; }

/* Modal de mapa */
.pn-modal-backdrop[b-qi5y38dlfq] { background: rgba(0, 0, 0, .45); }

/* Filtro Limite? */
.pn-filtro-limite[b-qi5y38dlfq] { display: flex; flex-direction: column; }
.pn-filtro-limite .form-check-input[b-qi5y38dlfq] { margin-top: .35rem; }
/* _content/SgtrackERP.Web/Components/Modules/Cadastros/Contrato/CadastroContrato.razor.rz.scp.css */
/* ── Lista de serviços adicionados ── */

.servico-list[b-i5xiw49wzh] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.servico-card[b-i5xiw49wzh] {
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    background: #fff;
}

/* Cabeçalho do card */
.servico-card-header[b-i5xiw49wzh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    border-radius: 0.5rem 0.5rem 0 0;
}

.servico-card-title[b-i5xiw49wzh] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--sg-primary-dark, #1a3a5c);
    display: flex;
    align-items: center;
}

.servico-card-meta[b-i5xiw49wzh] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}

/* Badges de resumo no cabeçalho */
.servico-badge[b-i5xiw49wzh] {
    display: inline-flex;
    align-items: center;
    font-size: 0.78rem;
    padding: 0.2rem 0.6rem;
    border-radius: 50px;
    background: #e8edf8;
    color: var(--sg-primary-dark, #1a3a5c);
    white-space: nowrap;
}

.servico-badge-valor[b-i5xiw49wzh] {
    background: #eaf4fb;
    color: #1a6a9a;
}

.servico-badge-total[b-i5xiw49wzh] {
    background: #e6f4ee;
    color: #1a6a3a;
    font-weight: 600;
}

/* Corpo do card */
.servico-card-body[b-i5xiw49wzh] {
    padding: 1rem;
}

/* Tabela de placas */
.servico-table[b-i5xiw49wzh] {
    font-size: 0.875rem;
    border-radius: 0.375rem;
    overflow: hidden;
    border: 1px solid #e9ecef;
    margin-top: 0.25rem;
    width: 45.5%;
}

    .servico-table thead tr[b-i5xiw49wzh] {
        background: var(--sg-primary);
    }

.servico-table thead th[b-i5xiw49wzh] {
    font-size: 0.78rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

.servico-table tbody td[b-i5xiw49wzh] {
    padding: 0.45rem 0.75rem;
    vertical-align: middle;
    border-color: #f1f5f9;
}

.servico-table tbody tr:last-child td[b-i5xiw49wzh] {
    border-bottom: none;
}

/* Rodapé com total */
.servico-table-total td[b-i5xiw49wzh] {
    padding: 0.5rem 0.75rem;
    background: #edf4fa;
    border-top: 2px solid #e2e8f0 !important;
    font-size: 0.875rem;
}

/* _content/SgtrackERP.Web/Components/Modules/Cadastros/Contrato/ContratoIndex.razor.rz.scp.css */
/* Botão de baixar o contrato — mesmo visual "pill" dos badges de status de Boletos e CTeOS
   (fundo escuro sólido, ícone branco), só que clicável. Cores por estado — ver EstadoContrato
   em ContratoIndex.razor.cs:
     cinza    = indisponível (sem versão gerada, ou arquivo não encontrado em disco), desabilitado
     amarelo  = pendente de assinatura (enviado, aguardando uma ou as duas partes)
     verde    = assinado pelas duas partes
     vermelho = erro no envio, recusado ou cancelado — clicável, abre o motivo em vez de baixar */
.btn-baixar-contrato[b-e70fd2ubjk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 999px;
    color: #fff;
    font-size: 0.875rem;
    cursor: pointer;
    padding: 0;
    transition: filter 0.15s;
}

    .btn-baixar-contrato:hover:not(:disabled)[b-e70fd2ubjk] {
        filter: brightness(0.9);
    }

    .btn-baixar-contrato:disabled[b-e70fd2ubjk] {
        cursor: not-allowed;
    }

.btn-baixar-contrato-indisponivel[b-e70fd2ubjk] {
    background-color: #adb5bd;
}

.btn-baixar-contrato-pendente[b-e70fd2ubjk] {
    background-color: #b8860b;
}

.btn-baixar-contrato-assinado[b-e70fd2ubjk] {
    background-color: #27a15f;
}

.btn-baixar-contrato-problema[b-e70fd2ubjk] {
    background-color: #d44848;
}
/* _content/SgtrackERP.Web/Components/Modules/Cadastros/Perfil/CadastroPerfil.razor.rz.scp.css */
/* ── Árvore de permissões ── */

.perm-secao[b-glwykad94p] {
    transition: background 0.15s;
}

.perm-secao--border[b-glwykad94p] {
    border-bottom: 1px solid #f0f2f5;
}

/* Linha genérica (seção ou sub-item) */
.perm-row[b-glwykad94p] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 1.25rem;
    cursor: default;
    transition: background 0.15s;
}

    .perm-row:hover[b-glwykad94p] {
        background: var(--sg-background);
    }

/* Sub-itens — fundo levemente diferente e indentação */
.perm-row--sub[b-glwykad94p] {
    padding-left: 3rem;
    background: var(--sg-background);
}

    .perm-row--sub:hover[b-glwykad94p] {
        background: #e6eafc;
    }

/* Botão [+] / [−] */
.perm-toggle[b-glwykad94p] {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border: 1px solid #d0d7e3;
    border-radius: 4px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.7rem;
    color: var(--sg-primary);
    padding: 0;
    transition: background 0.15s, border-color 0.15s;
    line-height: 1;
}

.perm-toggle:hover:not(:disabled)[b-glwykad94p] {
    background: #e8edf8;
    border-color: var(--sg-primary);
}

.perm-toggle:disabled[b-glwykad94p] {
    cursor: default;
}

/* Versão "fantasma" — ocupa espaço para alinhar itens sem toggle */
.perm-toggle--ghost[b-glwykad94p] {
    background: transparent;
    border-color: transparent;
    pointer-events: none;
}

/* Checkbox */
.perm-check[b-glwykad94p] {
    flex-shrink: 0;
    cursor: pointer;
    width: 1rem;
    height: 1rem;
}

/* Nome do item */
.perm-nome[b-glwykad94p] {
    font-size: 0.875rem;
    color: #374151;
    user-select: none;
}

.perm-nome--secao[b-glwykad94p] {
    font-weight: 600;
    color: var(--sg-primary-dark);
}

/* Área dos sub-itens */
.perm-subitens[b-glwykad94p] {
    border-top: 1px solid #f0f2f5;
}
/* _content/SgtrackERP.Web/Components/Modules/Cadastros/Prospeccao/CadastroProspeccao.razor.rz.scp.css */
/* ── Header da seção de histórico ─────────────────────────────── */
.prosp-hist-header[b-mdr1fvigxo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ── Linha do tempo ────────────────────────────────────────────── */
.prosp-timeline[b-mdr1fvigxo] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.prosp-timeline-item[b-mdr1fvigxo] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid #f1f3f5;
    position: relative;
}

.prosp-timeline-item:last-child[b-mdr1fvigxo] {
    border-bottom: none;
}

.prosp-tl-dot[b-mdr1fvigxo] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #adb5bd;
    margin-top: 1rem;
    flex-shrink: 0;
}

/* Ícone circular */
.prosp-tl-icon[b-mdr1fvigxo] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1rem;
    color: #fff;
}

.prosp-icon-atendida[b-mdr1fvigxo]     { background: #0d6efd; }
.prosp-icon-nao-atendida[b-mdr1fvigxo] { background: #6c757d; }
.prosp-icon-whatsapp[b-mdr1fvigxo]     { background: #25d366; }
.prosp-icon-reuniao[b-mdr1fvigxo]      { background: #6f42c1; }
.prosp-icon-proposta[b-mdr1fvigxo]     { background: #f5bf1d; }
.prosp-icon-interesse[b-mdr1fvigxo]    { background: #dc3545; }
.prosp-icon-email[b-mdr1fvigxo]        { background: #0ea5e9; }

/* Corpo central */
.prosp-tl-body[b-mdr1fvigxo] {
    flex: 1;
    min-width: 0;
}

.prosp-tl-meta[b-mdr1fvigxo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.2rem;
}

.prosp-tl-date[b-mdr1fvigxo] {
    font-weight: 600;
    font-size: 0.82rem;
}

.prosp-tl-user[b-mdr1fvigxo] {
    font-size: 0.82rem;
    color: #6c757d;
}

/* Badge */
.prosp-tl-badge[b-mdr1fvigxo] {
    margin-left: auto;
    padding: 0.15rem 0.55rem;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 600;
}

.prosp-badge-proxima[b-mdr1fvigxo]  { background: #fff3cd; color: #856404; }
.prosp-badge-concluida[b-mdr1fvigxo] { background: #e9ecef; color: #6c757d; }

.prosp-tl-title[b-mdr1fvigxo] {
    font-weight: 600;
    font-size: 0.88rem;
    margin-bottom: 0.15rem;
}

.prosp-tl-obs[b-mdr1fvigxo] {
    font-size: 0.8rem;
    color: #495057;
}

/* Botões Editar / Excluir na interação */
.prosp-tl-actions[b-mdr1fvigxo] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: auto;
    padding-top: 0.5rem;
}

.text-decoration-underline[b-mdr1fvigxo] {
    font-size: 0.8rem !important;
}

/* Coluna lateral (próxima ação / retorno + ações) */
.prosp-tl-aside[b-mdr1fvigxo] {
    display: flex;
    flex-direction: column;
    font-size: 0.78rem;
    color: #6c757d;
    text-align: right;
    flex-shrink: 0;
    min-width: 190px;
    padding-top: 0.15rem;
}

.prosp-tl-aside div[b-mdr1fvigxo] { margin-bottom: 0.1rem; }

.prosp-tl-aside-label[b-mdr1fvigxo] {
    color: #495057;
    font-weight: 500;
}

/* Botão "Carregar mais" */
.prosp-load-more[b-mdr1fvigxo] {
    width: 100%;
    margin-top: 0.75rem;
    border: 1px solid #dee2e6;
    background: #fff;
    color: #495057;
    font-size: 0.85rem;
    padding: 0.5rem;
    border-radius: 6px;
}

.prosp-load-more:hover[b-mdr1fvigxo] { background: #f8f9fa; }

/* Formulário de primeiro contato (modo novo) */
.prosp-interacao-form[b-mdr1fvigxo] {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    padding: 1rem;
}

/* ── Resumo do Lead ────────────────────────────────────────────── */
.prosp-resumo-row[b-mdr1fvigxo] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f1f3f5;
    font-size: 0.875rem;
}

.prosp-resumo-row:last-child[b-mdr1fvigxo] { border-bottom: none; }

.prosp-resumo-label[b-mdr1fvigxo] {
    width: 170px;
    flex-shrink: 0;
    color: #6c757d;
}

.prosp-resumo-value[b-mdr1fvigxo] { font-weight: 500; }

.prosp-resumo-badge[b-mdr1fvigxo] {
    display: inline-block;
    padding: 0.15rem 0.7rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.prosp-resumo-badge-ativo[b-mdr1fvigxo]   { background: #e7f1ff; color: #0d6efd; }
.prosp-resumo-badge-inativo[b-mdr1fvigxo] { background: #e9ecef; color: #6c757d; }

/* ── Funil comercial ───────────────────────────────────────────── */
.prosp-funil[b-mdr1fvigxo] {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin: 1rem 0 1.5rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    padding-top: 0.3rem;
    isolation: isolate;
}

.prosp-funil-step[b-mdr1fvigxo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
    min-width: 68px;
}

/* Linha conectora à esquerda de cada step */
.prosp-funil-step[b-mdr1fvigxo]::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 50%;
    left: -50%;
    height: 2px;
    background: #dee2e6;
    z-index: 0;
}

.prosp-funil-step:first-child[b-mdr1fvigxo]::before { display: none; }

.prosp-funil-step--done[b-mdr1fvigxo]::before,
.prosp-funil-step--active[b-mdr1fvigxo]::before { background: #0d6efd; }

/* Círculo */
.prosp-funil-circle[b-mdr1fvigxo] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.88rem;
    position: relative;
    z-index: 1;
    border: 2px solid #dee2e6;
    background: #fff;
    color: #adb5bd;
    transition: box-shadow 0.15s;
}

.prosp-funil-step--done .prosp-funil-circle[b-mdr1fvigxo] {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

.prosp-funil-step--active .prosp-funil-circle[b-mdr1fvigxo] {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.18);
}

/* Rótulo */
.prosp-funil-label[b-mdr1fvigxo] {
    font-size: 0.7rem;
    text-align: center;
    margin-top: 0.45rem;
    color: #6c757d;
    line-height: 1.25;
    max-width: 78px;
}

.prosp-funil-step--done .prosp-funil-label[b-mdr1fvigxo]   { color: #0d6efd; }
.prosp-funil-step--active .prosp-funil-label[b-mdr1fvigxo] { color: #0d6efd; font-weight: 600; }

.prosp-funil-step--ganho .prosp-funil-circle[b-mdr1fvigxo] {
    background: #198754;
    border-color: #198754;
    color: #fff;
}
.prosp-funil-step--ganho[b-mdr1fvigxo]::before { background: #0d6efd; }
.prosp-funil-step--ganho .prosp-funil-label[b-mdr1fvigxo] { color: #198754; font-weight: 600; }

.prosp-funil-step--perdido .prosp-funil-circle[b-mdr1fvigxo] {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
}
.prosp-funil-step--perdido[b-mdr1fvigxo]::before { background: #0d6efd; }
.prosp-funil-step--perdido .prosp-funil-label[b-mdr1fvigxo] { color: #dc3545; font-weight: 600; }

.prosp-funil-step--conclusao .prosp-funil-circle[b-mdr1fvigxo] {
    border-style: dashed;
    border-color: #ced4da;
    color: #ced4da;
}
.prosp-funil-step--conclusao .prosp-funil-label[b-mdr1fvigxo] { color: #ced4da; }

/* ── Serviços de interesse ─────────────────────────────────────── */
.prosp-servico-input-row[b-mdr1fvigxo] {
    display: flex;
    gap: 0.35rem;
    align-items: flex-end;
}

.prosp-servico-select-wrap[b-mdr1fvigxo] {
    flex: 1;
    min-width: 0;
}

.prosp-servicos-selecionados[b-mdr1fvigxo] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: #f8f9fa;
    border-radius: 0.375rem;
}

.prosp-servicos-label[b-mdr1fvigxo] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #6c757d;
    margin-right: 0.15rem;
    white-space: nowrap;
}

.prosp-chip[b-mdr1fvigxo] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: #e7f1ff;
    color: #0d6efd;
    border-radius: 999px;
    padding: 0.2rem 0.6rem 0.2rem 0.75rem;
    font-size: 0.78rem;
    font-weight: 500;
}

.prosp-chip-remove[b-mdr1fvigxo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    opacity: 0.6;
    cursor: pointer;
    font-size: 0.65rem;
    line-height: 1;
}

.prosp-chip-remove:hover[b-mdr1fvigxo] { opacity: 1; }

/* ── Upload de proposta ────────────────────────────────────────── */
.prosp-proposta-drop[b-mdr1fvigxo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    padding: 2rem 1rem;
    border: 2px dashed #dee2e6;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    text-align: center;
}

.prosp-proposta-drop:hover[b-mdr1fvigxo] {
    border-color: #0d6efd;
    background: #f0f6ff;
}

/* ── Modal ─────────────────────────────────────────────────────── */
.prosp-modal-overlay[b-mdr1fvigxo] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prosp-modal[b-mdr1fvigxo] {
    background: #fff;
    border-radius: 0.6rem;
    width: 580px;
    max-width: 95vw;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
    display: flex;
    flex-direction: column;
}

.prosp-modal-sm[b-mdr1fvigxo] {
    width: 420px;
}

.prosp-modal-header[b-mdr1fvigxo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #dee2e6;
}

.prosp-modal-body[b-mdr1fvigxo] {
    padding: 1.25rem;
    flex: 1;
}

.prosp-modal-footer[b-mdr1fvigxo] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1.25rem;
    border-top: 1px solid #dee2e6;
}

.ssm-add-btn[b-mdr1fvigxo] {
    width: var(--sg-input-h);
    height: var(--sg-input-h);
}

.serv-interesse[b-mdr1fvigxo] {
    padding-top: 15px;
}
/* _content/SgtrackERP.Web/Components/Modules/Cadastros/Prospeccao/ProspeccaoIndex.razor.rz.scp.css */
.excel-dropdown-wrapper[b-k6f01cbd69] {
    position: relative;
    display: inline-block;
}

.excel-dropdown[b-k6f01cbd69] {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    z-index: 1000;
    min-width: 170px;
    padding: 0.25rem 0;
}

.excel-dropdown-item[b-k6f01cbd69] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.9rem;
    font-size: 0.875rem;
    color: #212529;
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s;
    margin: 0;
}

    .excel-dropdown-item:hover[b-k6f01cbd69] {
        background: #f8f9fa;
    }

.prosp-estagio[b-k6f01cbd69] {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.prosp-estagio-novo[b-k6f01cbd69] {
    background: #e9ecef;
    color: #495057;
}

.prosp-estagio-andamento[b-k6f01cbd69] {
    background: #cce5ff;
    color: #004085;
}

.prosp-estagio-quente[b-k6f01cbd69] {
    background: #fff3cd;
    color: #856404;
}

.prosp-estagio-ganho[b-k6f01cbd69] {
    background: #d4edda;
    color: #155724;
}

.prosp-estagio-perdido[b-k6f01cbd69] {
    background: #f8d7da;
    color: #721c24;
}

.summary-card[b-k6f01cbd69] {
    cursor: pointer;
}

/* ── Disparo de WhatsApp em massa ───────────────────────────────── */

.disparo-coluna[b-k6f01cbd69] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.disparo-manual[b-k6f01cbd69] {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 0.55rem 0.6rem;
    margin-bottom: 0.65rem;
}

.disparo-vazio[b-k6f01cbd69] {
    border: 1px dashed #ced4da;
    border-radius: 8px;
    padding: 2.5rem 1rem;
    text-align: center;
    color: #6c757d;
    font-size: 0.85rem;
}

.disparo-lista[b-k6f01cbd69] {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    max-height: 340px;
    overflow-y: auto;
}

.disparo-item[b-k6f01cbd69] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #f1f3f5;
}

    .disparo-item:last-child[b-k6f01cbd69] {
        border-bottom: none;
    }

    .disparo-item:hover[b-k6f01cbd69] {
        background: #f8f9fa;
    }

.disparo-item-invalido[b-k6f01cbd69] {
    background: #fff9f9;
    opacity: 0.75;
}

.disparo-item-dados[b-k6f01cbd69] {
    min-width: 0;
    flex: 1;
}

.disparo-item-nome[b-k6f01cbd69] {
    font-size: 0.85rem;
    font-weight: 500;
    color: #212529;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.disparo-item-tel[b-k6f01cbd69] {
    font-size: 0.75rem;
    color: #6c757d;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.badge-disparo[b-k6f01cbd69] {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 600;
    white-space: nowrap;
}

.badge-disparo-novo[b-k6f01cbd69] {
    background: #d4edda;
    color: #155724;
}

.badge-disparo-existente[b-k6f01cbd69] {
    background: #cce5ff;
    color: #004085;
}

.badge-disparo-erro[b-k6f01cbd69] {
    background: #f8d7da;
    color: #721c24;
}

.badge-disparo-recebido[b-k6f01cbd69] {
    background: #fff3cd;
    color: #856404;
}

.disparo-textarea[b-k6f01cbd69] {
    min-height: 190px;
    resize: vertical;
}

.disparo-preview-titulo[b-k6f01cbd69] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6c757d;
    margin-bottom: 0.3rem;
}

/* Balão no estilo do WhatsApp para o usuário conferir como a mensagem chega */
.disparo-preview-balao[b-k6f01cbd69] {
    background: #dcf8c6;
    border-radius: 8px 8px 8px 0;
    padding: 0.55rem 0.75rem;
    font-size: 0.82rem;
    color: #212529;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 160px;
    overflow-y: auto;
}

.disparo-resumo[b-k6f01cbd69] {
    background: #f1f6ff;
    border: 1px solid #cfe0ff;
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    font-size: 0.78rem;
    color: #274b8a;
}

.disparo-progresso[b-k6f01cbd69] {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 0.65rem 0.85rem;
}
/* _content/SgtrackERP.Web/Components/Modules/Cadastros/Veiculo/VeiculoIndex.razor.rz.scp.css */
.btn-vincular[b-sbwoazcye1] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.45rem;
    border-radius: 20px;
    border: none;
    background-color: #dce8f8;
    color: var(--sg-primary);
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--sg-transition), color var(--sg-transition);
}

.btn-vincular:hover[b-sbwoazcye1] {
    background-color: var(--sg-primary);
    color: #fff;
}

th.col-vincular[b-sbwoazcye1],
td.col-vincular[b-sbwoazcye1] {
    width: 1%;
    white-space: nowrap;
}
/* _content/SgtrackERP.Web/Components/Modules/Cameras/AoVivo.razor.rz.scp.css */
/* ── Grid de câmeras ─────────────────────────────────── */

.av-grid[b-i1xlcid4y4] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

@media (max-width: 576px) {
    .av-grid[b-i1xlcid4y4] { grid-template-columns: 1fr; }
}

/* ── Container de câmera ─────────────────────────────── */

.av-camera[b-i1xlcid4y4] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}

.av-camera-feed[b-i1xlcid4y4] {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.av-camera-icon[b-i1xlcid4y4] {
    font-size: 3rem;
    color: rgba(255,255,255,.15);
}

.av-camera-video[b-i1xlcid4y4] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #1a1a1a;
}

/* ── Badge AO VIVO ───────────────────────────────────── */

.av-badge-live[b-i1xlcid4y4] {
    position: absolute;
    top: .6rem;
    left: .6rem;
    background: #dc2626;
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .08em;
    padding: .15rem .45rem;
    border-radius: 3px;
    animation: av-pulse-b-i1xlcid4y4 1.6s ease-in-out infinite;
}

@keyframes av-pulse-b-i1xlcid4y4 {
    0%, 100% { opacity: 1;   }
    50%       { opacity: .4;  }
}

/* ── Badge canal ─────────────────────────────────────── */

.av-badge-canal[b-i1xlcid4y4] {
    position: absolute;
    top: .6rem;
    right: .6rem;
    background: rgba(0,0,0,.55);
    color: #e5e7eb;
    font-size: .7rem;
    font-weight: 600;
    padding: .15rem .45rem;
    border-radius: 3px;
}

/* ── Rodapé do container ─────────────────────────────── */

.av-camera-footer[b-i1xlcid4y4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem .75rem;
    font-size: .82rem;
    color: #374151;
}

.av-camera-placa[b-i1xlcid4y4] {
    font-weight: 600;
}

.av-camera-equip[b-i1xlcid4y4] {
    color: #6b7280;
    font-size: .78rem;
}
/* _content/SgtrackERP.Web/Components/Modules/Cameras/RelEvidencia.razor.rz.scp.css */
/* ── Filtros ─────────────────────────────────────────── */

.ev-placa-row[b-lb7ufk7frk] {
    display: flex;
    gap: 0.35rem;
    align-items: flex-end;
}

.ev-placa-select[b-lb7ufk7frk] {
    flex: 1;
    min-width: 0;
}

.ev-add-btn[b-lb7ufk7frk] {
    width: calc(2.375rem + 2px);
    height: calc(2.1rem + 2px);
    flex-shrink: 0;
}

.ev-check-wrap[b-lb7ufk7frk] {
    display: flex;
    align-items: center;
    height: calc(2.03rem + 2px);
    margin-right: 0.7rem;
}

/* ── Placas selecionadas ─────────────────────────────── */

.ev-placas-selecionadas[b-lb7ufk7frk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
}

.ev-placas-label[b-lb7ufk7frk] {
    font-size: .8rem;
    font-weight: 600;
    color: #6b7280;
}

.ev-placa-tag[b-lb7ufk7frk] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: .15rem .5rem;
    border-radius: 999px;
    background: #e0e7ff;
    color: #3730a3;
    font-size: .78rem;
    font-weight: 500;
    white-space: nowrap;
}

.ev-placa-tag-remove[b-lb7ufk7frk] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    font-size: .75rem;
    transition: opacity 0.15s;
}

.ev-placa-tag-remove:hover[b-lb7ufk7frk] {
    opacity: 1;
}

/* ── Resumo ──────────────────────────────────────────── */

.ev-resumo[b-lb7ufk7frk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
    padding: 0.65rem 1rem;
    font-size: .85rem;
    color: #374151;
}

.ev-num[b-lb7ufk7frk] {
    color: var(--sg-primary, #2852A3);
    font-weight: 600;
}

/* ── Grid de cards ───────────────────────────────────── */

.ev-grid[b-lb7ufk7frk] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

@media (max-width: 992px) {
    .ev-grid[b-lb7ufk7frk] { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 576px) {
    .ev-grid[b-lb7ufk7frk] { grid-template-columns: 1fr; }
}

/* ── Card ────────────────────────────────────────────── */

.ev-card[b-lb7ufk7frk] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
    cursor: pointer;
    transition: box-shadow .15s;
}

.ev-card:hover[b-lb7ufk7frk] {
    box-shadow: 0 4px 14px rgba(0,0,0,.13);
}

.ev-card-img[b-lb7ufk7frk] {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #2b2b2b;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ev-card-img-icon[b-lb7ufk7frk] {
    font-size: 2.5rem;
    color: rgba(255,255,255,.25);
}

.ev-card-img-foto[b-lb7ufk7frk] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ev-card-body[b-lb7ufk7frk] {
    padding: .65rem .75rem;
}

.ev-card-row[b-lb7ufk7frk] {
    margin: 0 0 .2rem;
    font-size: .82rem;
    color: #374151;
}

.ev-card-row:last-child[b-lb7ufk7frk] {
    margin-bottom: 0;
}

.ev-card-label[b-lb7ufk7frk] {
    color: #6b7280;
}

.ev-card-evento[b-lb7ufk7frk] {
    color: var(--sg-primary, #2852A3);
}

.form-check-input[b-lb7ufk7frk] {
    margin-top: 0 !important;
}

/* ── Modal de detalhes ───────────────────────────────── */

.ev-modal-backdrop[b-lb7ufk7frk] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.ev-modal[b-lb7ufk7frk] {
    background: #fff;
    border-radius: 8px;
    width: 90%;
    max-width: 720px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0,0,0,.2);
}

.ev-modal-header[b-lb7ufk7frk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem 1rem;
    border-bottom: 1px solid #dee2e6;
    flex-shrink: 0;
}

.ev-modal-titulo[b-lb7ufk7frk] {
    font-weight: 700;
    font-size: .9rem;
    color: #374151;
    letter-spacing: .04em;
}

.ev-modal-body[b-lb7ufk7frk] {
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ev-modal-info[b-lb7ufk7frk] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .3rem .75rem;
    font-size: .85rem;
    color: #374151;
}

.ev-modal-info-item[b-lb7ufk7frk] {
    min-width: 0;
}

.ev-modal-label[b-lb7ufk7frk] {
    color: #6b7280;
    font-weight: 500;
    margin-right: .2rem;
}

.ev-modal-just-form[b-lb7ufk7frk] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: .75rem;
    background: #f8f9fa;
    border-radius: 6px;
    border: 1px solid #dee2e6;
}

.ev-modal-just-footer[b-lb7ufk7frk] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}

.ev-modal-gallery[b-lb7ufk7frk] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem;
}

.ev-modal-media-item[b-lb7ufk7frk] {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 4px;
    background: #2b2b2b;
    display: block;
}

.ev-modal-footer[b-lb7ufk7frk] {
    padding: .65rem 1rem;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    flex-shrink: 0;
}
/* _content/SgtrackERP.Web/Components/Modules/Cameras/RelFadiga.razor.rz.scp.css */
/* Table font size */

[b-kjjf1g1g0k] .list-table tbody td {
    font-size: 0.7rem;
}
[b-kjjf1g1g0k] .list-table thead th {
    font-size: 0.69rem;
}

/* Fatigue level badges */
.fa-nivel[b-kjjf1g1g0k] {
    display: inline-block;
    padding: .15rem .55rem;
    border-radius: 4px;
    font-size: .75rem;
    font-weight: 700;
    white-space: nowrap;
}

.fa-nivel-alto[b-kjjf1g1g0k]  { background: #f8d7da; color: #842029; }
.fa-nivel-médio[b-kjjf1g1g0k] { background: #fff3cd; color: #856404; }
.fa-nivel-baixo[b-kjjf1g1g0k] { background: #d4edda; color: #155724; }

/* Justify button */
.fa-btn-justificar[b-kjjf1g1g0k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    font-size: .8125rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

.fa-btn-justificar:hover[b-kjjf1g1g0k] {
    background: var(--sg-primary, #2852A3);
    color: #fff;
}

/* Justification modal */
.fa-modal-backdrop[b-kjjf1g1g0k] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fa-modal[b-kjjf1g1g0k] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    width: 100%;
    max-width: 480px;
    overflow: hidden;
}

.fa-modal-header[b-kjjf1g1g0k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem 1rem;
    border-bottom: 1px solid #dee2e6;
}

.fa-modal-title[b-kjjf1g1g0k] {
    margin: 0;
    font-size: .95rem;
    font-weight: 600;
}

.fa-modal-info[b-kjjf1g1g0k] {
    padding: .5rem 1rem;
    background: #f8f9fa;
    font-size: .82rem;
    border-bottom: 1px solid #dee2e6;
}

.fa-modal-body[b-kjjf1g1g0k] {
    padding: 1rem;
}

.fa-modal-footer[b-kjjf1g1g0k] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    padding: .75rem 1rem;
    border-top: 1px solid #dee2e6;
}
/* _content/SgtrackERP.Web/Components/Modules/Cameras/RelGravacoes.razor.rz.scp.css */
/* ── Ações ───────────────────────────────────────────── */

.gr-acoes[b-qvhoun4ec1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
}

.gr-btn-acao[b-qvhoun4ec1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    font-size: .95rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

.gr-btn-acao:hover[b-qvhoun4ec1] {
    background: var(--sg-primary, #2852A3);
    color: #fff;
}

/* ── Estado da linha (download) ─────────────────────── */

.gr-linha-baixando[b-qvhoun4ec1] {
    background-color: rgba(255, 193, 7, .12);
}

.gr-linha-baixada[b-qvhoun4ec1] {
    background-color: rgba(25, 135, 84, .08);
}

/* ── Player modal ────────────────────────────────────── */

.gr-player-backdrop[b-qvhoun4ec1] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.gr-player-modal[b-qvhoun4ec1] {
    background: #1a1a1a;
    border-radius: 8px;
    width: 90%;
    max-width: 860px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0,0,0,.4);
    overflow: hidden;
}

.gr-player-header[b-qvhoun4ec1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .6rem 1rem;
    background: #111;
}

.gr-player-titulo[b-qvhoun4ec1] {
    font-size: .82rem;
    font-weight: 600;
    color: #e5e7eb;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gr-player-header .btn-close[b-qvhoun4ec1] {
    filter: invert(1);
    flex-shrink: 0;
}

.gr-player-body[b-qvhoun4ec1] {
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gr-player-video[b-qvhoun4ec1] {
    width: 100%;
    max-height: 72vh;
    display: block;
}

/* ── Recorte do vídeo no player ────────────────────────────────────────────
   Barra de duas alças para escolher o trecho a baixar. Fica sobre o fundo
   escuro do player, por isso os tons claros. */

.gr-recorte[b-qvhoun4ec1] {
    padding: 0.75rem 1rem 0.9rem;
    background: rgba(255, 255, 255, 0.06);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.gr-recorte-titulo[b-qvhoun4ec1] {
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.6rem;
}

.gr-recorte-dica[b-qvhoun4ec1] {
    font-weight: 400;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.55);
    margin-left: 0.5rem;
}

/* Duas faixas empilhadas no mesmo espaço: o HTML não tem range de dois valores.
   Os inputs ficam transparentes; o que se vê é a trilha desenhada abaixo. */
.gr-range[b-qvhoun4ec1] {
    position: relative;
    height: 26px;
    margin-bottom: 0.5rem;
}

.gr-range-trilha[b-qvhoun4ec1],
.gr-range-selecao[b-qvhoun4ec1] {
    position: absolute;
    top: 11px;
    height: 4px;
    border-radius: 2px;
    pointer-events: none;
}

.gr-range-trilha[b-qvhoun4ec1] {
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.25);
}

.gr-range-selecao[b-qvhoun4ec1] {
    left: var(--ini);
    right: calc(100% - var(--fim));
    background: var(--sg-primary, #0d6efd);
}

.gr-range-input[b-qvhoun4ec1] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 26px;
    margin: 0;
    background: none;
    appearance: none;
    -webkit-appearance: none;
    pointer-events: none; /* só as alças recebem o clique */
}

.gr-range-input[b-qvhoun4ec1]::-webkit-slider-thumb {
    -webkit-appearance: none;
    pointer-events: auto;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--sg-primary, #0d6efd);
    cursor: pointer;
}

.gr-range-input[b-qvhoun4ec1]::-moz-range-thumb {
    pointer-events: auto;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--sg-primary, #0d6efd);
    cursor: pointer;
}

.gr-recorte-rodape[b-qvhoun4ec1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.gr-recorte-marcas[b-qvhoun4ec1] {
    color: #fff;
    font-size: 0.85rem;
    font-family: var(--bs-font-monospace);
}

.gr-recorte-acoes[b-qvhoun4ec1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.gr-modal-fundo[b-qvhoun4ec1] {
    background: rgba(0, 0, 0, 0.45);
}

/* ── Trechos recortados de uma gravação ───────────────────────────────────── */

.gr-trechos[b-qvhoun4ec1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.3rem;
}

.gr-trecho[b-qvhoun4ec1] {
    border: 1px solid #dee2e6;
    background: #f8f9fa;
    border-radius: 0.375rem;
    padding: 0.05rem 0.4rem;
    font-size: 0.72rem;
    color: var(--sg-primary-dark);
    cursor: pointer;
    white-space: nowrap;
}

.gr-trecho:hover[b-qvhoun4ec1] {
    background: #f5f7ff;
}
/* _content/SgtrackERP.Web/Components/Modules/Cameras/RelTotalizador.razor.rz.scp.css */
/* ── Filtros dropdown ─────────────────────────────── */

.to-filtros-wrapper[b-f63qgx72ic] {
    position: relative;
}

.to-filtros-btn[b-f63qgx72ic] {
    text-align: left;
    cursor: pointer;
}

.to-filtros-placeholder[b-f63qgx72ic] {
    color: #9ca3af;
}

.to-filtros-overlay[b-f63qgx72ic] {
    position: fixed;
    inset: 0;
    z-index: 99;
}

.to-filtros-dropdown[b-f63qgx72ic] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,.10);
    z-index: 100;
    padding: .25rem 0;
}

.to-filtros-item[b-f63qgx72ic] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem .75rem;
    cursor: pointer;
    font-size: .82rem;
    user-select: none;
}

.to-filtros-item:hover[b-f63qgx72ic] {
    background: #f3f4f6;
}

/* ── Seleção de placa ─────────────────────────────── */

.ev-placa-row[b-f63qgx72ic] {
    display: flex;
    gap: 0.35rem;
    align-items: flex-end;
}

.ev-placa-select[b-f63qgx72ic] {
    flex: 1;
    min-width: 0;
}

.ev-add-btn[b-f63qgx72ic] {
    width: calc(2.375rem + 2px);
    height: calc(2.1rem + 2px);
    flex-shrink: 0;
}

/* ── Placas selecionadas ─────────────────────────────── */

.to-placas-selecionadas[b-f63qgx72ic] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    padding: .5rem 1rem;
}

.to-placas-label[b-f63qgx72ic] {
    font-size: .8rem;
    font-weight: 600;
    color: #6b7280;
}

.to-placa-tag[b-f63qgx72ic] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .15rem .5rem;
    border-radius: 999px;
    background: #e0e7ff;
    color: #3730a3;
    font-size: .78rem;
    font-weight: 500;
    white-space: nowrap;
}

.to-placa-tag-remove[b-f63qgx72ic] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    font-size: .75rem;
    transition: opacity 0.15s;
}

.to-placa-tag-remove:hover[b-f63qgx72ic] {
    opacity: 1;
}

/* ── Tabela ──────────────────────────────────────────── */

.to-table-wrapper[b-f63qgx72ic] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

[b-f63qgx72ic] .to-table-wrapper .list-table thead th,
[b-f63qgx72ic] .to-table-wrapper .list-table tbody td {
    font-size: 0.69rem;
    white-space: nowrap;
    padding: .25rem .4rem;
}

/* ── Contadores ──────────────────────────────────────── */

.to-count-nz[b-f63qgx72ic] {
    color: var(--sg-primary, #2852A3);
    font-weight: 600;
}

.to-count-z[b-f63qgx72ic] {
    color: #d1d5db;
}

/* ── Célula clicável (drill-down) e botão + Info ─────── */

.to-count-click[b-f63qgx72ic] {
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.to-btn-info[b-f63qgx72ic] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    cursor: pointer;
}

.to-btn-info:hover[b-f63qgx72ic] {
    background: var(--sg-primary, #2852A3);
    color: #fff;
}

/* ── Modais (parâmetros e evidências) ────────────────── */

.to-modal-backdrop[b-f63qgx72ic] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.to-modal[b-f63qgx72ic] {
    background: #fff;
    border-radius: 8px;
    width: 92%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0,0,0,.35);
    max-height: 88vh;
}

.to-modal-parametros[b-f63qgx72ic] { max-width: 720px; }
.to-modal-evidencias[b-f63qgx72ic] { max-width: 1000px; }

.to-modal-header[b-f63qgx72ic] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.to-modal-titulo[b-f63qgx72ic] {
    font-weight: 600;
    font-size: .92rem;
}

.to-modal-acoes[b-f63qgx72ic] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.to-modal-body[b-f63qgx72ic] {
    padding: 1rem;
    overflow-y: auto;
}

.to-modal-footer[b-f63qgx72ic] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    padding: .7rem 1rem;
    border-top: 1px solid #e5e7eb;
}

/* ── Grupos de parâmetros ────────────────────────────── */

.to-param-grupo + .to-param-grupo[b-f63qgx72ic] { margin-top: 1rem; }

.to-param-grupo-titulo[b-f63qgx72ic] {
    font-weight: 600;
    font-size: .85rem;
    margin-bottom: .5rem;
    color: var(--sg-primary, #2852A3);
}

.to-param-grid[b-f63qgx72ic] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem .8rem;
}

.to-param-grid label[b-f63qgx72ic] {
    font-size: .78rem;
    color: #374151;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.to-param-mensagem[b-f63qgx72ic] {
    margin-top: .8rem;
    font-size: .82rem;
    color: var(--sg-primary, #2852A3);
}

/* ── Cards de evidência ──────────────────────────────── */

.to-evidencias-grid[b-f63qgx72ic] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: .8rem;
}

.to-evidencia-card[b-f63qgx72ic] {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.to-evidencia-thumb[b-f63qgx72ic] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 130px;
    object-fit: cover;
    background: #1f2937;
    color: rgba(255,255,255,.6);
    font-size: 2rem;
    text-decoration: none;
}

img.to-evidencia-thumb[b-f63qgx72ic] { object-fit: cover; }

.to-evidencia-info[b-f63qgx72ic] {
    padding: .5rem .6rem;
    font-size: .78rem;
    color: #374151;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.to-evidencia-tipo[b-f63qgx72ic] { font-weight: 600; }

.to-evidencia-just[b-f63qgx72ic] {
    color: #15803d;
    font-weight: 600;
}

/* ── Cores de gravidade (células do grid e Nível no modal) ─ */

.to-sev-leve[b-f63qgx72ic]       { background: #1f8a3b; }
.to-sev-media[b-f63qgx72ic]      { background: #d4a017; }
.to-sev-grave[b-f63qgx72ic]      { background: #c0504d; }
.to-sev-gravissima[b-f63qgx72ic] { background: #8c1c13; }

.to-sev-leve span[b-f63qgx72ic], .to-sev-media span[b-f63qgx72ic], .to-sev-grave span[b-f63qgx72ic], .to-sev-gravissima span[b-f63qgx72ic],
td.to-sev-leve[b-f63qgx72ic], td.to-sev-media[b-f63qgx72ic], td.to-sev-grave[b-f63qgx72ic], td.to-sev-gravissima[b-f63qgx72ic] {
    color: #fff !important;
    font-weight: 600;
}

/* ── Tabela detalhada de evidências ──────────────────── */

.to-modal-evidencias[b-f63qgx72ic] { max-width: 1280px; }

.to-evidencias-tabela-wrap[b-f63qgx72ic] {
    overflow-x: auto;
}

.to-evidencias-tabela[b-f63qgx72ic] {
    font-size: .78rem;
    min-width: 1100px;
}

.to-evidencias-tabela th[b-f63qgx72ic] {
    background: var(--sg-primary, #2852A3);
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
}

.to-evidencia-imgs[b-f63qgx72ic] {
    display: flex;
    gap: .3rem;
}

.to-evidencia-img[b-f63qgx72ic] {
    width: 110px;
    height: 70px;
    object-fit: cover;
    border-radius: 3px;
    border: 1px solid #e5e7eb;
}

.to-evidencia-video-player[b-f63qgx72ic] {
    width: 160px;
    max-height: 90px;
    background: #000;
    border-radius: 3px;
}

.to-modal-justificar[b-f63qgx72ic] { max-width: 480px; }
/* _content/SgtrackERP.Web/Components/Modules/Cameras/TesteConexao.razor.rz.scp.css */
.tc-page[b-pc2o4s967i] {
    padding: 1.5rem;
}

.tc-layout[b-pc2o4s967i] {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 1.5rem;
}

@media (max-width: 768px) {
    .tc-layout[b-pc2o4s967i] { grid-template-columns: 1fr; }
}

.tc-lista-scroll[b-pc2o4s967i] {
    max-height: 65vh;
    overflow-y: auto;
}

.tc-badge[b-pc2o4s967i] {
    display: inline-block;
    padding: .35rem .7rem;
    border-radius: 4px;
    font-size: .85rem;
    font-weight: 600;
    color: #fff;
}

.tc-badge-cinza[b-pc2o4s967i]   { background: #6c757d; }
.tc-badge-verde[b-pc2o4s967i]   { background: #198754; }
.tc-badge-amarelo[b-pc2o4s967i] { background: #ffc107; color: #212529; }

.tc-video-wrap[b-pc2o4s967i] {
    width: 480px;
    max-width: 100%;
}

.tc-video[b-pc2o4s967i] {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #1a1a1a;
}

.tc-evidencia-card[b-pc2o4s967i] {
    width: 220px;
}

.tc-evidencia-thumb[b-pc2o4s967i] {
    height: 140px;
    object-fit: cover;
}
/* _content/SgtrackERP.Web/Components/Modules/Chamados/CadastroChamado.razor.rz.scp.css */
/* ── Wrapper do editor ───────────────────────────────────────────────────── */
.chm-editor-wrapper[b-2y6id2gb98] {
    border: 0.8px solid #ced4da;
    border-radius: .375rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #e2e8f0;
}

.chm-editor-invalido[b-2y6id2gb98] {
    border-color: #dc3545;
}

.chm-editor-feedback[b-2y6id2gb98] {
    font-size: .875em;
    color: #dc3545;
    margin-top: .25rem;
}

/* ── Área de texto do Quill ─────────────────────────────────────────────── */
.chm-editor-wrapper .ql-container[b-2y6id2gb98] {
    order: 1;
    border: none;
    background: white;
    color: black;
    font-size: .9rem;
    min-height: 200px;
}

.chm-editor-wrapper .ql-editor[b-2y6id2gb98] {
    min-height: 200px;
    padding: 1rem;
}

.chm-editor-wrapper .ql-editor.ql-blank[b-2y6id2gb98]::before {
    color: #64748b;
    font-style: normal;
}

/* ── Toolbar no fundo ───────────────────────────────────────────────────── */
.chm-editor-wrapper .ql-toolbar[b-2y6id2gb98] {
    order: 2;
    border: none;
    border-top: 1px solid #374151;
    background: #1e1e2e;
    padding: .5rem .75rem;
}

.chm-editor-wrapper .ql-toolbar .ql-stroke[b-2y6id2gb98] {
    stroke: #94a3b8;
}

.chm-editor-wrapper .ql-toolbar .ql-fill[b-2y6id2gb98] {
    fill: #94a3b8;
}

.chm-editor-wrapper .ql-toolbar .ql-picker[b-2y6id2gb98] {
    color: #94a3b8;
}

.chm-editor-wrapper .ql-toolbar button:hover .ql-stroke[b-2y6id2gb98],
.chm-editor-wrapper .ql-toolbar button.ql-active .ql-stroke[b-2y6id2gb98] {
    stroke: #fff;
}

.chm-editor-wrapper .ql-toolbar button:hover .ql-fill[b-2y6id2gb98],
.chm-editor-wrapper .ql-toolbar button.ql-active .ql-fill[b-2y6id2gb98] {
    fill: #fff;
}

.chm-editor-wrapper .ql-toolbar .ql-picker-label:hover[b-2y6id2gb98],
.chm-editor-wrapper .ql-toolbar .ql-picker-label.ql-active[b-2y6id2gb98] {
    color: #fff;
}

.chm-editor-wrapper .ql-picker-options[b-2y6id2gb98] {
    background: #2d2d3f;
    border-color: #374151;
    color: #e2e8f0;
}

/* ── Seção de Anexos ────────────────────────────────────────────────────── */
.chm-anexo-label[b-2y6id2gb98] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem .9rem;
    border: 1px dashed #adb5bd;
    border-radius: .375rem;
    font-size: .875rem;
    color: #495057;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}

.chm-anexo-label:hover[b-2y6id2gb98] {
    border-color: var(--sg-primary, #2852A3);
    color: var(--sg-primary, #2852A3);
}

.chm-file-input[b-2y6id2gb98] {
    display: none;
}

.chm-anexo-hint[b-2y6id2gb98] {
    font-size: .78rem;
    color: #6b7280;
    margin-top: .35rem;
}

.chm-anexo-lista[b-2y6id2gb98] {
    list-style: none;
    padding: 0;
    margin: .75rem 0 0;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.chm-anexo-item[b-2y6id2gb98] {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: .375rem;
    padding: .4rem .75rem;
    font-size: .84rem;
}

.chm-anexo-icon[b-2y6id2gb98] {
    font-size: 1rem;
    flex-shrink: 0;
    color: dimgray;
}

.chm-anexo-nome[b-2y6id2gb98] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #212529;
}

.chm-anexo-tamanho[b-2y6id2gb98] {
    color: #6b7280;
    font-size: .77rem;
    white-space: nowrap;
    flex-shrink: 0;
}

.chm-anexo-remover[b-2y6id2gb98] {
    background: none;
    border: none;
    padding: 0 .1rem;
    color: #6b7280;
    cursor: pointer;
    line-height: 1;
    font-size: 1rem;
    flex-shrink: 0;
    transition: color .15s;
}

.chm-anexo-remover:hover[b-2y6id2gb98] {
    color: #dc3545;
}
/* _content/SgtrackERP.Web/Components/Modules/Chamados/ChamadosIndex.razor.rz.scp.css */
/* Linha atrasada */
.chm-atrasado[b-hzm2pl9977] { background-color: #ffdad3 !important; }
.chm-atrasado:hover[b-hzm2pl9977] { background-color: #fee2e2 !important; }

/* Badge base */
.chm-badge[b-hzm2pl9977] {
    display: inline-block;
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
}

/* Status */
.chm-status--aguardando[b-hzm2pl9977]      { background: #e9ecef; color: #495057; }
.chm-status--respondido[b-hzm2pl9977]      { background: #cce5ff; color: #004085; }
.chm-status--finalizado[b-hzm2pl9977]      { background: #d4edda; color: #155724; }
.chm-status--desenvolvimento[b-hzm2pl9977] { background: #fff3cd; color: #856404; }
.chm-status--aguardando-setor[b-hzm2pl9977] { background: #e8d5f5; color: #6f42c1; }

/* Prioridade */
.chm-prio--alta[b-hzm2pl9977]  { background: #f8d7da; color: #842029; }
.chm-prio--media[b-hzm2pl9977] { background: #fff3cd; color: #856404; }
.chm-prio--baixa[b-hzm2pl9977] { background: #d4edda; color: #155724; }

/* Coluna assunto */
.chm-assunto[b-hzm2pl9977] {
    max-width: 240px;
}
/* _content/SgtrackERP.Web/Components/Modules/Chamados/DepartamentosChamado.razor.rz.scp.css */
/* Texto de apoio das duas seções. */
.dep-ajuda[b-668fbhsv3f] {
    font-size: 0.82rem;
    color: #6b7280;
    margin: 0 0 0.9rem;
}

/* Linha de inclusão, separada da tabela logo abaixo. */
.dep-nova[b-668fbhsv3f] {
    margin-bottom: 1rem;
}

.dep-table td[b-668fbhsv3f] {
    vertical-align: middle;
}
/* _content/SgtrackERP.Web/Components/Modules/Chamados/EditarChamado.razor.rz.scp.css */
/* ── Wrapper geral ───────────────────────────────────────────────────────── */
.chm-ev-wrapper[b-dqneb6ceoo] {
    padding: 1rem 1rem;
}

/* ── Cabeçalho ───────────────────────────────────────────────────────────── */
.chm-ev-header[b-dqneb6ceoo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.chm-ev-titulo[b-dqneb6ceoo] {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
}

.chm-ev-protocolo[b-dqneb6ceoo] {
    color: var(--sg-primary, #2852A3);
    font-weight: 700;
}

.chm-ev-dash[b-dqneb6ceoo] {
    color: #9ca3af;
}

.chm-ev-acoes[b-dqneb6ceoo] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-shrink: 0;
}

/* ── Dropdown opções ─────────────────────────────────────────────────────── */
.chm-ev-opcoes-wrapper[b-dqneb6ceoo] {
    position: relative;
}

.chm-ev-opcoes-dropdown[b-dqneb6ceoo] {
    position: absolute;
    top: calc(100% + .35rem);
    right: 0;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    z-index: 1050;
    min-width: 200px;
    padding: .25rem 0;
}

.chm-ev-opcoes-item[b-dqneb6ceoo] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: .5rem .9rem;
    font-size: .875rem;
    color: #212529;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    transition: background .12s;
}

.chm-ev-opcoes-item:hover[b-dqneb6ceoo] {
    background: #f8f9fa;
}

.chm-ev-opcoes-perigo[b-dqneb6ceoo] {
    color: #dc3545;
}

.chm-ev-opcoes-perigo:hover[b-dqneb6ceoo] {
    background: #fff5f5;
}

/* ── Corpo: duas colunas ─────────────────────────────────────────────────── */
.chm-ev-body[b-dqneb6ceoo] {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}

.chm-ev-mensagens[b-dqneb6ceoo] {
    flex: 2;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

.chm-ev-info[b-dqneb6ceoo] {
    flex: 0 0 340px;
    position: sticky;
    top: 1rem;
}

/* ── Cartão de mensagem ──────────────────────────────────────────────────── */
.chm-ev-msg[b-dqneb6ceoo] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: .5rem;
    padding: 1rem 1.25rem;
}

.chm-ev-msg--sistema[b-dqneb6ceoo] {
    background: #f9fafb;
    border-color: #e5e7eb;
}

.chm-ev-msg--sistema .chm-ev-msg-autor[b-dqneb6ceoo] {
    color: #6b7280;
}

.chm-ev-msg--sistema .chm-ev-msg-body[b-dqneb6ceoo] {
    color: #6b7280;
    font-style: italic;
    font-size: .875rem;
}

.chm-ev-msg-header[b-dqneb6ceoo] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .6rem;
}

.chm-ev-msg-autor-grupo[b-dqneb6ceoo] {
    display: flex;
    align-items: baseline;
    gap: .4rem;
}

.chm-ev-msg-autor[b-dqneb6ceoo] {
    font-size: .875rem;
    color: #111827;
}

.chm-ev-msg-depto[b-dqneb6ceoo] {
    font-size: .72rem;
    color: #9ca3af;
}

.chm-ev-msg-data[b-dqneb6ceoo] {
    font-size: .78rem;
    color: #9ca3af;
}

.chm-ev-msg-body[b-dqneb6ceoo] {
    font-size: .9rem;
    color: #374151;
    line-height: 1.6;
}

.chm-ev-msg-body p[b-dqneb6ceoo] { margin-bottom: .4rem; }
.chm-ev-msg-body p:last-child[b-dqneb6ceoo] { margin-bottom: 0; }

/* ── Anexos na mensagem ──────────────────────────────────────────────────── */
.chm-ev-msg-anexos[b-dqneb6ceoo] {
    margin-top: .75rem;
    padding-top: .65rem;
    border-top: 1px solid #f0f0f0;
}

.chm-ev-msg-anexos-titulo[b-dqneb6ceoo] {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #9ca3af;
    margin-bottom: .35rem;
}

.chm-ev-msg-anexo-item[b-dqneb6ceoo] {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .84rem;
    color: #374151;
    padding: .2rem 0;
}

/* ── Nova resposta ───────────────────────────────────────────────────────── */
.chm-ev-nova-resposta[b-dqneb6ceoo] {
    border-color: var(--sg-primary, #2852A3);
    border-width: 1.5px;
}

/* ── Editor de resposta ──────────────────────────────────────────────────── */
.chm-ev-resposta-acoes[b-dqneb6ceoo] {
    display: flex;
    gap: .5rem;
}

.chm-editor-invalido[b-dqneb6ceoo] {
    border-color: #dc3545 !important;
}

.chm-editor-feedback[b-dqneb6ceoo] {
    font-size: .875em;
    color: #dc3545;
    margin-top: .25rem;
}

/* ── Mensagem: ação (status / transferência) ─────────────────────────────── */
.chm-ev-msg--acao[b-dqneb6ceoo] {
    background: #f8f9fa;
    border-color: #dee2e6;
}

.chm-ev-msg-acao-titulo[b-dqneb6ceoo] {
    font-size: .875rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: .5rem;
}

.chm-ev-msg-motivo[b-dqneb6ceoo] {
    font-size: .84rem;
    color: #6b7280;
    margin-top: .4rem;
}

.chm-ev-msg-acao-autor[b-dqneb6ceoo] {
    font-size: .75rem;
    color: #9ca3af;
    margin-top: .5rem;
}

/* ── Mensagem: finalização ───────────────────────────────────────────────── */
.chm-ev-msg--finalizacao[b-dqneb6ceoo] {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.chm-ev-msg-finalizado-label[b-dqneb6ceoo] {
    font-size: .8rem;
    font-weight: bold;
    color: #15803d;
    letter-spacing: .01em;
    margin-bottom: .3rem;
}

/* ── Badges de status (scoped — redefinidos aqui) ────────────────────────── */
.chm-badge[b-dqneb6ceoo] {
    display: inline-block;
    padding: .2em .55em;
    font-size: .75rem;
    font-weight: 600;
    border-radius: .375rem;
    line-height: 1.4;
    white-space: nowrap;
}

.chm-status--aguardando[b-dqneb6ceoo]       { background: #fef9c3; color: #854d0e; }
.chm-status--respondido[b-dqneb6ceoo]       { background: #dbeafe; color: #1e40af; }
.chm-status--finalizado[b-dqneb6ceoo]       { background: #dcfce7; color: #166534; }
.chm-status--desenvolvimento[b-dqneb6ceoo]  { background: #ede9fe; color: #5b21b6; }
.chm-status--aguardando-setor[b-dqneb6ceoo] { background: #ffedd5; color: #9a3412; }

/* ── Painel de informações ───────────────────────────────────────────────── */
.chm-ev-info-card[b-dqneb6ceoo] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: .5rem;
    padding: .25rem 0;
}

.chm-ev-info-item[b-dqneb6ceoo] {
    display: flex;
    gap: .4rem;
    padding: .55rem 1rem;
    font-size: .875rem;
    flex-wrap: wrap;
}

.chm-ev-info-label[b-dqneb6ceoo] {
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
}

.chm-ev-info-valor[b-dqneb6ceoo] {
    color: #6b7280;
}

/* ── Modal backdrop ──────────────────────────────────────────────────────── */
.chm-ev-backdrop[b-dqneb6ceoo] {
    background: rgba(0, 0, 0, .45);
}

/* ── Quill editor (reutilizado) ──────────────────────────────────────────── */
.chm-editor-wrapper[b-dqneb6ceoo] {
    border: 1px solid #ced4da;
    border-radius: .375rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #e2e8f0;
    margin-bottom: 1rem;
}

.chm-editor-wrapper .ql-container[b-dqneb6ceoo] {
    order: 1;
    border: none;
    background: white;
    color: black;
    font-size: .9rem;
    min-height: 150px;
}

.chm-editor-wrapper .ql-editor[b-dqneb6ceoo] {
    min-height: 150px;
    padding: 1rem;
}

.chm-editor-wrapper .ql-editor.ql-blank[b-dqneb6ceoo]::before {
    color: #64748b;
    font-style: normal;
}

.chm-editor-wrapper .ql-toolbar[b-dqneb6ceoo] {
    order: 2;
    border: none;
    border-top: 1px solid #374151;
    background: #1e1e2e;
    padding: .5rem .75rem;
}

.chm-editor-wrapper .ql-toolbar .ql-stroke[b-dqneb6ceoo] { stroke: #94a3b8; }
.chm-editor-wrapper .ql-toolbar .ql-fill[b-dqneb6ceoo]   { fill:  #94a3b8; }
.chm-editor-wrapper .ql-toolbar .ql-picker[b-dqneb6ceoo]  { color: #94a3b8; }

.chm-editor-wrapper .ql-toolbar button:hover .ql-stroke[b-dqneb6ceoo],
.chm-editor-wrapper .ql-toolbar button.ql-active .ql-stroke[b-dqneb6ceoo] { stroke: #fff; }

.chm-editor-wrapper .ql-toolbar button:hover .ql-fill[b-dqneb6ceoo],
.chm-editor-wrapper .ql-toolbar button.ql-active .ql-fill[b-dqneb6ceoo]   { fill: #fff; }

.chm-editor-wrapper .ql-toolbar .ql-picker-label:hover[b-dqneb6ceoo],
.chm-editor-wrapper .ql-toolbar .ql-picker-label.ql-active[b-dqneb6ceoo]  { color: #fff; }

.chm-editor-wrapper .ql-picker-options[b-dqneb6ceoo] {
    background: #2d2d3f;
    border-color: #374151;
    color: #e2e8f0;
}
/* _content/SgtrackERP.Web/Components/Modules/Checklist/GerarChecklist/CadastroRelatorio.razor.rz.scp.css */
/* ── Perguntas ─────────────────────────────────────── */

.pergunta-card[b-4akszmakfr] {
    transition: opacity 0.15s;
}

.pergunta-card-arrastando[b-4akszmakfr] {
    opacity: 0.4;
}

/* Linha indicadora de onde a pergunta arrastada vai ser encaixada — sem
   altura/espaço nenhum enquanto não está ativa, só abre espaço quando visível */
.linha-insercao[b-4akszmakfr] {
    height: 0;
    margin-bottom: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: height 0.12s ease, margin-bottom 0.12s ease;
}

    .linha-insercao[b-4akszmakfr]::before {
        content: "";
        display: block;
        width: 100%;
        height: 3px;
        border-radius: 2px;
        background: transparent;
        flex-shrink: 0;
    }

.linha-insercao-visivel[b-4akszmakfr] {
    height: 14px;
    margin-bottom: 0.75rem;
}

    .linha-insercao-visivel[b-4akszmakfr]::before {
        background: var(--sg-primary, #2852A3);
    }

.pergunta-header[b-4akszmakfr] {
    justify-content: space-between;
}

.pergunta-acoes[b-4akszmakfr] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.btn-icone-pergunta[b-4akszmakfr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: none;
    background: transparent;
    color: #6b7280;
    font-size: 0.78rem;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
}

    .btn-icone-pergunta:hover[b-4akszmakfr] {
        background: #f1f5f9;
        color: var(--sg-primary, #2852A3);
    }

.btn-icone-excluir:hover:not(:disabled)[b-4akszmakfr] {
    background: #f1f5f9;
    color: var(--sg-primary, #2852A3);
}

.btn-icone-pergunta:disabled[b-4akszmakfr] {
    opacity: 0.4;
    cursor: not-allowed;
}

.pergunta-handle[b-4akszmakfr] {
    cursor: grab;
}

    .pergunta-handle:active[b-4akszmakfr] {
        cursor: grabbing;
    }

/* Sempre ativo (não só durante o arrasto) para não depender do round-trip do
   Blazor Server — sem isso, arrastar para baixo passa por cima de texto
   selecionável (labels, inputs) antes da classe "arrastando" ser aplicada,
   e o navegador inicia uma seleção de texto nativa que quebra o mouseenter. */
.perguntas-wrapper[b-4akszmakfr],
.perguntas-wrapper *[b-4akszmakfr] {
    user-select: none;
}

.perguntas-wrapper-arrastando[b-4akszmakfr],
.perguntas-wrapper-arrastando *[b-4akszmakfr] {
    cursor: grabbing !important;
}

.pergunta-adicionar-wrapper[b-4akszmakfr] {
    display: flex;
    justify-content: center;
    margin-bottom: 1.25rem;
}

/* ── Opções ────────────────────────────────────────── */

.opcoes-lista[b-4akszmakfr] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.opcao-linha[b-4akszmakfr] {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
}

.opcao-nivel-stripe[b-4akszmakfr] {
    width: 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.opcao-nivel-critico[b-4akszmakfr]     { background: var(--sg-danger, #dc3545); }
.opcao-nivel-alto[b-4akszmakfr]        { background: #f59505; }
.opcao-nivel-baixo[b-4akszmakfr]       { background: #ffe605; }
.opcao-nivel-na[b-4akszmakfr]          { background: var(--sg-primary); }

.opcao-linha .form-control[b-4akszmakfr] {
    flex: 1;
    min-width: 0;
}

.opcao-linha .form-select[b-4akszmakfr] {
    width: 160px;
    flex-shrink: 0;
}

.btn-link-adicionar[b-4akszmakfr] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: none;
    border: none;
    padding: 0;
    color: var(--sg-primary, #2852A3);
    font-size: 0.85rem;
    text-decoration: underline;
    cursor: pointer;
    padding-top: 0.5rem;
}

    .btn-link-adicionar:hover[b-4akszmakfr] {
        color: var(--sg-primary-mid, #22488a);
    }

.btn-remover-opcao[b-4akszmakfr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    border-radius: 6px;
    border: 1.5px solid #dee2e6;
    background: transparent;
    color: #6b7280;
    cursor: pointer;
    flex-shrink: 0;
}

    .btn-remover-opcao:hover:not(:disabled)[b-4akszmakfr] {
        background: #f1f5f9;
        border-color: var(--sg-primary, #2852A3);
        color: var(--sg-primary, #2852A3);
    }

    .btn-remover-opcao:disabled[b-4akszmakfr] {
        opacity: 0.4;
        cursor: not-allowed;
    }

/* Modal de criação de momento */
.chk-modal-overlay[b-4akszmakfr] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chk-modal[b-4akszmakfr] {
    background: #fff;
    border-radius: 0.6rem;
    width: 580px;
    max-width: 95vw;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
    display: flex;
    flex-direction: column;
}

.chk-modal-sm[b-4akszmakfr] {
    width: 420px;
}

.chk-modal-header[b-4akszmakfr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #dee2e6;
}

.chk-modal-body[b-4akszmakfr] {
    padding: 1.25rem;
    flex: 1;
}

.chk-modal-footer[b-4akszmakfr] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1.25rem;
    border-top: 1px solid #dee2e6;
}
/* _content/SgtrackERP.Web/Components/Modules/Checklist/PreencherChecklist/RespostaChecklist.razor.rz.scp.css */
/* ── Dados gerais (modo visualização) ─────────────────── */

.campo-readonly[b-li6ed8qqmn] {
    display: flex;
    align-items: center;
    height: calc(1.5em + 0.5rem + 2px);
    padding: 0 0.68rem;
    background: #f8fafc;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    white-space: nowrap;
    line-height: 1.5;
}

/* ── Perguntas ─────────────────────────────────────── */

.resposta-pergunta-texto[b-li6ed8qqmn] {
    font-weight: 600;
    color: var(--sg-primary-dark, #132c4f);
    margin-bottom: 0.75rem;
}

.resposta-opcoes[b-li6ed8qqmn] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.resposta-opcao[b-li6ed8qqmn] {
    display: flex;
    align-items: stretch;
    gap: 0.65rem;
}

/* Listra vertical de nível crítico — mesmas cores do cadastro do checklist */
.opcao-nivel-stripe[b-li6ed8qqmn] {
    width: 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.opcao-nivel-critico[b-li6ed8qqmn] { background: var(--sg-danger, #dc3545); }
.opcao-nivel-alto[b-li6ed8qqmn]    { background: #f59505; }
.opcao-nivel-baixo[b-li6ed8qqmn]   { background: #ffe605; }
.opcao-nivel-na[b-li6ed8qqmn]      { background: var(--sg-primary); }

.resposta-opcao-conteudo[b-li6ed8qqmn] {
    flex: 1;
    min-width: 0;
    padding: 0.5rem 0;
}

.resposta-opcao-label[b-li6ed8qqmn] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
    margin: 0;
}

    .resposta-opcao-label .form-check-input[b-li6ed8qqmn] {
        margin: 0;
        flex-shrink: 0;
    }

/* ── Anexos ────────────────────────────────────────── */

.resposta-anexos[b-li6ed8qqmn] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.resposta-anexo-thumb[b-li6ed8qqmn] {
    position: relative;
    width: 80px;
    height: 80px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    flex-shrink: 0;
    cursor: pointer;
}

    .resposta-anexo-thumb img[b-li6ed8qqmn] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.resposta-anexo-remover[b-li6ed8qqmn] {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1.5px solid #fff;
    background: var(--sg-danger, #dc3545);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    line-height: 1;
    padding: 0;
    cursor: pointer;
}

.resposta-anexo-add[b-li6ed8qqmn] {
    width: 80px;
    height: 80px;
    border-radius: 6px;
    border: 1.5px dashed #ccd2da;
    background: #f8fafc;
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    cursor: pointer;
    flex-shrink: 0;
}

    .resposta-anexo-add:hover[b-li6ed8qqmn] {
        border-color: var(--sg-primary, #2852A3);
        color: var(--sg-primary, #2852A3);
    }

/* ── Visualizador de imagem em tela cheia ────────────── */

/* <dialog>+showModal renderiza na "top layer" do navegador — a única forma de
   ficar acima do top-row, já que .content (MainLayout.razor.css) tem um z-index
   local que confina qualquer overlay comum (mesmo com z-index alto) abaixo dele. */
.resposta-imagem-dialog[b-li6ed8qqmn] {
    position: fixed;
    inset: 0;
    border: none;
    margin: 0;
    padding: 2rem;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    cursor: zoom-out;
    outline: none;
}

    .resposta-imagem-dialog[b-li6ed8qqmn]::backdrop {
        background: rgba(0, 0, 0, 0.75);
    }

    /* Tamanho real quando cabe na tela; reduz proporcionalmente (sem cortar)
       quando a imagem é maior que a área visível — nunca precisa de scroll. */
    .resposta-imagem-dialog img[b-li6ed8qqmn] {
        display: block;
        width: auto;
        height: auto;
        max-width: 90%;
        max-height: 90%;
        margin: 0;
        border-radius: 6px;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
        cursor: default;
    }

.resposta-imagem-fechar[b-li6ed8qqmn] {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    cursor: pointer;
}

    .resposta-imagem-fechar:hover[b-li6ed8qqmn] {
        background: rgba(255, 255, 255, 0.3);
    }
/* _content/SgtrackERP.Web/Components/Modules/ControleJornada/BancoHoras/BancoHoras.razor.rz.scp.css */
/* Filtros, tabela e botões vêm de RelatorioLayout.razor.css e app.css. */

/* ── Resumo (mesma estrutura do jm-resumo, em JornadaMotorista) ── */

.bh-resumo[b-z8cnlvwcc6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    justify-content: space-between
}

.bh-resumo-item[b-z8cnlvwcc6] {
    display: flex;
    flex-direction: column;
    min-width: 80px;
}

.bh-resumo-label[b-z8cnlvwcc6] {
    font-size: 0.65rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.bh-resumo-valor[b-z8cnlvwcc6] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #111827;
}

/* ── Linha clicável ── */

.bh-row[b-z8cnlvwcc6] {
    cursor: pointer;
}

/* ── Modal de baixa ── */

.bh-modal-overlay[b-z8cnlvwcc6] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bh-modal[b-z8cnlvwcc6] {
    background: #fff;
    border-radius: 0.6rem;
    width: 640px;
    max-width: 95vw;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
    display: flex;
    flex-direction: column;
}

.bh-modal-header[b-z8cnlvwcc6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #dee2e6;
}

.bh-modal-body[b-z8cnlvwcc6] {
    padding: 1.25rem;
    flex: 1;
}

.bh-modal-footer[b-z8cnlvwcc6] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.85rem 1.25rem;
    border-top: 1px solid #dee2e6;
}
/* _content/SgtrackERP.Web/Components/Modules/ControleJornada/ComandosJornada/ComandosJornada.razor.rz.scp.css */
/* Estilos de filtros, tabela e resumo vêm de RelatorioLayout.razor.css e app.css. */

.list-table th[b-jyl17fibaw],
.list-table td[b-jyl17fibaw] {
    vertical-align: middle;
}
/* _content/SgtrackERP.Web/Components/Modules/ControleJornada/JornadaLombador/EditarJornada.razor.rz.scp.css */
/* ── Linha de intervalo (Início / Fim + botão remover) ── */
.ej-intervalo-row[b-g0qobm8vd4] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.ej-intervalo-row:last-child[b-g0qobm8vd4] {
    margin-bottom: 0;
}

.ej-intervalo-campo[b-g0qobm8vd4] {
    display: flex;
    flex-direction: column;
}

.ej-intervalo-campo input[type="time"][b-g0qobm8vd4] {
    width: 9rem;
}

/* ── Botão + no cabeçalho da seção ── */
.ej-btn-add[b-g0qobm8vd4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid #bfdbfe;
    border-radius: 0.375rem;
    background: #eff6ff;
    color: #1e40af;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s;
    flex-shrink: 0;
}

.ej-btn-add:hover[b-g0qobm8vd4] {
    background: #dbeafe;
    border-color: #93c5fd;
}

/* ── Botão × para remover intervalo ── */
.ej-btn-remove[b-g0qobm8vd4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0.25rem;
    color: #9ca3af;
    font-size: 0.85rem;
    cursor: pointer;
    flex-shrink: 0;
    align-self: flex-end;
    margin-bottom: 0.3rem;
}

.ej-btn-remove:hover[b-g0qobm8vd4] {
    color: red;
}
/* _content/SgtrackERP.Web/Components/Modules/ControleJornada/JornadaLombador/JornadaLombador.razor.rz.scp.css */
/* ── Modal Adicionar: modos e campos ── */
.jl-add-modos[b-qkzso1okx8] {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.jl-add-campos[b-qkzso1okx8] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.jl-add-datas[b-qkzso1okx8] {
    display: flex;
    gap: 0.75rem;
}

    .jl-add-datas[b-qkzso1okx8]  > div {
        flex: 1;
        min-width: 0;
    }

/* ── Dropdown Excel (template / importação) ── */
.jl-excel-wrapper[b-qkzso1okx8] {
    position: relative;
}

.jl-btn-excel[b-qkzso1okx8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: white;
    color: #374151;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.15s;
}

    .jl-btn-excel:hover[b-qkzso1okx8],
    .jl-btn-excel.active[b-qkzso1okx8] {
        border-color: var(--sg-primary, #2852A3);
        background: var(--sg-primary);
        color: white;
    }

.jl-excel-dropdown[b-qkzso1okx8] {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    min-width: 170px;
    z-index: 1000;
    padding: 0.3rem 0;
}

.jl-excel-dropdown-item[b-qkzso1okx8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem 1rem;
    background: none;
    border: none;
    font-size: 0.85rem;
    color: #374151;
    cursor: pointer;
    text-align: left;
    transition: background 0.12s;
    margin: 0;
}

    .jl-excel-dropdown-item:hover[b-qkzso1okx8] {
        background: #f5f7ff;
        color: var(--sg-primary, #2852A3);
    }

/* ── Resumo ── */
.jl-resumo[b-qkzso1okx8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.jl-resumo-item[b-qkzso1okx8] {
    display: flex;
    flex-direction: column;
    min-width: 80px;
}

.jl-resumo-label[b-qkzso1okx8] {
    font-size: 0.65rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.jl-resumo-valor[b-qkzso1okx8] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #111827;
}

/* ── Data com dia da semana ── */
.jl-data-dia[b-qkzso1okx8] {
    display: block;
    font-size: 0.7rem;
    white-space: nowrap;
}

.jl-data-semana[b-qkzso1okx8] {
    display: block;
    font-size: 0.78rem;
    color: #6b7280;
}

/* ── Tabela ── */
.jl-table-scroll[b-qkzso1okx8] {
    overflow-x: auto;
}

.jl-table th[b-qkzso1okx8] {
    font-size: 0.6rem;
    white-space: wrap;
}

.jl-row td[b-qkzso1okx8] {
    font-size: 0.71rem;
    vertical-align: top;
}

/* ── Total + pills de intervalo ── */
.jl-intervalo-total[b-qkzso1okx8] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
}

.jl-pills[b-qkzso1okx8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.33rem;
    margin-top: 0.25rem;
}

.jl-pill[b-qkzso1okx8] {
    display: inline-block;
    background: #dbeafe;
    color: #1e40af;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    font-size: 0.7rem;
    padding: 0.15rem 0.5rem;
    white-space: nowrap;
}

/* ── Botões de ação ── */
.jl-table td:has(.jl-btn-editar)[b-qkzso1okx8],
.jl-table td:has(.jl-btn-excluir)[b-qkzso1okx8] {
    padding-left: 0.15rem;
    padding-right: 0.15rem;
}

.jl-btn-editar[b-qkzso1okx8],
.jl-btn-excluir[b-qkzso1okx8] {
    border: none;
    border-radius: 0.375rem;
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    cursor: pointer;
    transition: opacity 0.15s;
}

.jl-btn-editar:hover[b-qkzso1okx8],
.jl-btn-excluir:hover[b-qkzso1okx8] {
    opacity: 0.8;
}

.jl-btn-editar[b-qkzso1okx8] {
    background: #dbeafe;
    color: #1e40af;
    }

.jl-btn-excluir[b-qkzso1okx8] {
    background: #fee2e2;
    color: #b91c1c;
}
/* _content/SgtrackERP.Web/Components/Modules/ControleJornada/JornadaMotorista/EditarJornada.razor.rz.scp.css */
/* ── Linha de intervalo (Início / Fim + botão remover) ── */
.ej-intervalo-row[b-yoaf9isk59] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.ej-intervalo-row:last-child[b-yoaf9isk59] {
    margin-bottom: 0;
}

.ej-intervalo-campo[b-yoaf9isk59] {
    display: flex;
    flex-direction: column;
}

.ej-intervalo-campo input[type="time"][b-yoaf9isk59] {
    width: 9rem;
}

/* ── Botão + no cabeçalho da seção ── */
.ej-btn-add[b-yoaf9isk59] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid #bfdbfe;
    border-radius: 0.375rem;
    background: #eff6ff;
    color: #1e40af;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s;
    flex-shrink: 0;
}

.ej-btn-add:hover[b-yoaf9isk59] {
    background: #dbeafe;
    border-color: #93c5fd;
}

/* ── Botão × para remover intervalo ── */
.ej-btn-remove[b-yoaf9isk59] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0.25rem;
    color: #9ca3af;
    font-size: 0.85rem;
    cursor: pointer;
    flex-shrink: 0;
    align-self: flex-end;
    margin-bottom: 0.3rem;
}

.ej-btn-remove:hover[b-yoaf9isk59] {
    color: red;
}
/* _content/SgtrackERP.Web/Components/Modules/ControleJornada/JornadaMotorista/JornadaMotorista.razor.rz.scp.css */
/* ── Dropdown Excel (template / importação) ── */
.jm-excel-wrapper[b-lhpwrt29o3] {
    position: relative;
}

.jm-btn-excel[b-lhpwrt29o3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: white;
    color: #374151;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.15s;
}

    .jm-btn-excel:hover[b-lhpwrt29o3],
    .jm-btn-excel.active[b-lhpwrt29o3] {
        border-color: var(--sg-primary, #2852A3);
        background: var(--sg-primary);
        color: white;
    }

.jm-excel-dropdown[b-lhpwrt29o3] {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    min-width: 170px;
    z-index: 1000;
    padding: 0.3rem 0;
}

.jm-excel-dropdown-item[b-lhpwrt29o3] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem 1rem;
    background: none;
    border: none;
    font-size: 0.85rem;
    color: #374151;
    cursor: pointer;
    text-align: left;
    transition: background 0.12s;
    margin: 0;
}

    .jm-excel-dropdown-item:hover[b-lhpwrt29o3] {
        background: #f5f7ff;
        color: var(--sg-primary, #2852A3);
    }

/* ── Resumo ── */
.jm-resumo[b-lhpwrt29o3] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.jm-resumo-item[b-lhpwrt29o3] {
    display: flex;
    flex-direction: column;
    min-width: 80px;
}

.jm-resumo-label[b-lhpwrt29o3] {
    font-size: 0.65rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.jm-resumo-valor[b-lhpwrt29o3] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #111827;
}

/* ── Data com dia da semana ── */
.jm-data-dia[b-lhpwrt29o3] {
    display: block;
    font-size: 0.7rem;
    white-space: nowrap;
}

.jm-data-semana[b-lhpwrt29o3] {
    display: block;
    font-size: 0.78rem;
    color: #6b7280;
}

/* ── Tabela ── */
.jm-table-scroll[b-lhpwrt29o3] {
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.1) transparent;
}

.jm-table th[b-lhpwrt29o3] {
    font-size: 0.6rem;
    white-space: wrap;
}

.jm-row td[b-lhpwrt29o3] {
    font-size: 0.71rem;
    vertical-align: top;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

/* ── Total + pills de intervalo ── */
.jm-intervalo-total[b-lhpwrt29o3] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
}

/* ── Pills de intervalo ── */
.jm-pills[b-lhpwrt29o3] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.33rem;
    margin-top: 0.25rem;
}

.jm-pill[b-lhpwrt29o3] {
    display: inline-block;
    background: #dbeafe;
    color: #1e40af;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    font-size: 0.7rem;
    padding: 0.15rem 0.5rem;
    white-space: nowrap;
}

.jm-pill-vazio[b-lhpwrt29o3] {
    font-size: 0.75rem;
    color: #9ca3af;
}

/* ── Botões de ação ── */
.jm-table td:has(.jm-btn-editar)[b-lhpwrt29o3],
.jm-table td:has(.jm-btn-excluir)[b-lhpwrt29o3] {
    padding-left: 0.15rem;
    padding-right: 0.15rem;
}

.jm-btn-editar[b-lhpwrt29o3],
.jm-btn-excluir[b-lhpwrt29o3] {
    border: none;
    border-radius: 0.375rem;
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    cursor: pointer;
    transition: opacity 0.15s;
}

.jm-btn-editar:hover[b-lhpwrt29o3],
.jm-btn-excluir:hover[b-lhpwrt29o3] {
    opacity: 0.8;
}

.jm-btn-editar[b-lhpwrt29o3] {
    background: #dbeafe;
    color: #1e40af;
}

.jm-btn-excluir[b-lhpwrt29o3] {
    background: #fee2e2;
    color: #b91c1c;
}
/* _content/SgtrackERP.Web/Components/Modules/ControleJornada/JornadaResumida/JornadaResumida.razor.rz.scp.css */
/* Filtros, resumo, tabela e botões vêm de RelatorioLayout.razor.css e app.css. */

.list-table th[b-5xmuf3wnpb],
.list-table td[b-5xmuf3wnpb] {
    vertical-align: middle;
}
/* _content/SgtrackERP.Web/Components/Modules/ControleJornada/RelTotalizador/RelTotalizador.razor.rz.scp.css */
/* Filtros, resumo, tabela e botões vêm de RelatorioLayout.razor.css e app.css. */

.list-table th[b-t6s7ukfmib],
.list-table td[b-t6s7ukfmib] {
    vertical-align: middle;
}

/* ── Select + botão de adicionar (mesmo padrão de RelDeslocamentosParadas) ── */

.rt-motorista-input-row[b-t6s7ukfmib] {
    display: flex;
    gap: 0.4rem;
    align-items: flex-end;
}

.rt-motorista-select-wrap[b-t6s7ukfmib] {
    flex: 1;
    min-width: 0;
}

.rt-add-btn[b-t6s7ukfmib] {
    flex-shrink: 0;
    margin-bottom: 0;
    align-self: flex-end;
}

    .rt-add-btn:disabled[b-t6s7ukfmib] {
        cursor: not-allowed;
    }

/* ── Seção de motoristas selecionados ── */

.rt-motoristas-selecionados[b-t6s7ukfmib] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
}

.rt-motoristas-label[b-t6s7ukfmib] {
    font-size: 0.82rem;
    color: #6c757d;
    font-weight: 500;
    white-space: nowrap;
}

.rt-motorista-tag[b-t6s7ukfmib] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.5rem 0.25rem 0.65rem;
    background-color: #f7f8fc;
    color: var(--sg-primary);
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 500;
}

.rt-motorista-tag-remove[b-t6s7ukfmib] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    background: none;
    color: inherit;
    border-radius: 50%;
    font-size: 0.85rem;
    cursor: pointer;
    line-height: 1;
    transition: background-color 0.15s, color 0.15s;
}

    .rt-motorista-tag-remove:hover[b-t6s7ukfmib] {
        background-color: currentColor;
        color: #fff;
    }
/* _content/SgtrackERP.Web/Components/Modules/CTeOS/CTeOS/CadastroCteos.razor.rz.scp.css */
/* ── Abas de tributação ─────────────────────────────── */

.trib-nav[b-iz9r6czc0v] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.875rem 1rem;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.trib-tab-btn[b-iz9r6czc0v] {
    padding: 0.3rem 1.1rem;
    border-radius: 20px;
    border: 1px solid #dee2e6;
    background: #fff;
    color: #6c757d;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    line-height: 1.6;
}

    .trib-tab-btn:hover[b-iz9r6czc0v] {
        background: #e9ecef;
        color: var(--sg-primary-mid);
        border-color: var(--sg-primary-mid);
    }

    .trib-tab-btn.ativo[b-iz9r6czc0v] {
        background: var(--sg-primary-mid);
        color: #fff;
        border-color: var(--sg-primary-mid);
        box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    }

.trib-content[b-iz9r6czc0v] {
    padding: 1.25rem;
}
/* _content/SgtrackERP.Web/Components/Modules/CTeOS/CTeOS/CteosIndex.razor.rz.scp.css */
/* ── Tabela ────────────────────────────────────────── */

/* Rola por dentro quando as 11 colunas não cabem. Em tela larga a tabela continua
   ocupando 100% e a barra não aparece. */
.cteos-table-wrap[b-v51yzig472] {
    overflow-x: auto;
}

.cteos-table[b-v51yzig472] { table-layout: fixed; width: 100%; font-size: 0.7rem; }

    .cteos-table thead th[b-v51yzig472] {
        font-size: 0.7rem;
        text-align: left;
    }

/* table-layout: fixed — as larguras somam 100% no cenário com a coluna Cliente
   (perfil que escolhe cliente), que é o de mais colunas. Coluna sem width declarada
   fica com sobra ~zero e o texto vaza por cima da vizinha. */
.col-cod[b-v51yzig472]    { width: 6%; }
.col-num[b-v51yzig472]    { width: 6%; white-space: normal; word-break: break-word;}
.col-nome[b-v51yzig472]   { width: 13%; white-space: normal; word-break: break-word; }
.col-doc[b-v51yzig472]    { width: 11%; white-space: nowrap; }
.col-valor[b-v51yzig472]  { width: 7%; white-space: nowrap; }
.col-data[b-v51yzig472]   { width: 8%; }
.col-prot[b-v51yzig472]   { width: 9%; word-break: break-word; }
.col-status[b-v51yzig472] { width: 9%;}
.col-acoes[b-v51yzig472]  { width: 9%; }

/* Celular: sem um piso de largura o table-layout: fixed só espreme as colunas até
   o texto virar uma letra por linha, e não há o que rolar. Com o min-width as
   porcentagens acima passam a resolver contra 1150px e a barra aparece. */
@media (max-width: 640.98px) {
    .cteos-table[b-v51yzig472] {
        min-width: 1150px;
    }
}


/* ── Dropdown de downloads na toolbar (mesmo padrão do Excel em ProspeccaoIndex) ── */

.cteos-download-wrapper[b-v51yzig472] {
    position: relative;
    display: inline-block;
}

.cteos-download-dropdown[b-v51yzig472] {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    z-index: 1000;
    min-width: 190px;
    padding: 0.25rem 0;
}

.cteos-download-item[b-v51yzig472] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.9rem;
    font-size: 0.875rem;
    color: #212529;
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s;
    margin: 0;
    white-space: nowrap;
}

    .cteos-download-item:hover[b-v51yzig472] {
        background: #f8f9fa;
    }

.badge-status[b-v51yzig472] {
    font-size: 0.77rem !important;
}

.list-table td[b-v51yzig472] {
    font-size: 0.75rem !important;
}

.prot-cell[b-v51yzig472] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Ações ─────────────────────────────────────────── */

.acoes-cteos[b-v51yzig472] {
    display: grid;
    grid-template-columns: repeat(2, 30px);
    gap: 0.25rem;
}

.btn-acao[b-v51yzig472] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: transparent;
    color: #6c757d;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    padding: 0;
}

    .btn-acao:hover[b-v51yzig472] {
        background: #f1f3f5;
        color: var(--sg-primary-mid);
        border-color: #adb5bd;
    }

.btn-acao-pdf:hover[b-v51yzig472] {
    background: #fff0f0;
    color: #e53935;
    border-color: #e53935;
}

.btn-acao-xml:hover[b-v51yzig472] {
    background: #e8f5e9;
    color: #2e7d32;
    border-color: #2e7d32;
}

.btn-acao-danger:hover[b-v51yzig472] {
    background: #fdecea;
    color: var(--sg-danger, #dc3545);
    border-color: var(--sg-danger, #dc3545);
}

/* ── Status ────────────────────────────────────────── */

.badge-status[b-v51yzig472] {
    display: inline-block;
    font-weight: 600;
    padding: 0.1em 0.95em;
    border-radius: 999px;
    border: none;
}

.badge-status-aprovado[b-v51yzig472] {
    background-color: #27a15f;
    color: #fff;
}

.badge-status-rejeitado[b-v51yzig472] {
    background-color: #d44848;
    color: #fff;
}

.badge-status-processando[b-v51yzig472] {
    background-color: #b8860b;
    color: #fff;
}

.badge-status-cancelado[b-v51yzig472] {
    background-color: #6c757d;
    color: #fff;
}

/* Nota migrada do Monitriip: cinza claro, para diferenciar do "Cancelado" (cinza escuro) sem
   competir visualmente com os status reais da SEFAZ — não é um status, é a origem do documento. */
.badge-status-neutro[b-v51yzig472] {
    background-color: #e9ecef;
    color: #495057;
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardAbastecimento.razor.rz.scp.css */
/* ── Layout ── */

.abs-content-body[b-94yi37lf6p] {
    margin-bottom: -1.3rem;
}

.abs-wrapper[b-94yi37lf6p] {
    display: flex;
    gap: 1rem;
    align-items: stretch;    
}

/* ── Lista (esquerda) ── */
.abs-left[b-94yi37lf6p] {
    width: 380px;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.abs-section-title[b-94yi37lf6p] {
    padding: 0.65rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.abs-table-wrap[b-94yi37lf6p] {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.1) transparent;
}

.abs-table[b-94yi37lf6p] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.845rem;
}

.abs-table thead th[b-94yi37lf6p] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f9fafb;
    padding: 0.45rem 0.75rem;
    text-align: left;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.abs-table tbody tr[b-94yi37lf6p] {
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.1s;
}

.abs-table tbody tr:last-child[b-94yi37lf6p] { border-bottom: none; }
.abs-table tbody tr:hover[b-94yi37lf6p]      { background: #f0f5fa; }

.abs-table tbody td[b-94yi37lf6p] {
    padding: 0.45rem 0.75rem;
    color: #374151;
    vertical-align: middle;
}

.abs-col-placa[b-94yi37lf6p]  { font-size: 0.80rem; font-weight: 600; }
.abs-col-data[b-94yi37lf6p]   { white-space: nowrap; color: #6b7280; font-size: 0.8rem; }
.abs-col-litros[b-94yi37lf6p] { text-align: left; color: #2852A3; font-weight: 600; white-space: nowrap; }

/* ── Carrossel (direita, filho direto do wrapper) ── */
.abs-carousel-track[b-94yi37lf6p] {
    flex: 1;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1rem;
}

/* ── Card de veículo ── */
.abs-card[b-94yi37lf6p] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.abs-card-header[b-94yi37lf6p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.abs-placa-badge[b-94yi37lf6p] {
    font-family: monospace;
    font-size: 0.98rem;
    font-weight: 700;
    padding: 0.3rem 0.65rem;
    border-radius: 0.35rem;
    letter-spacing: 0.04em;
}

.abs-badge--green[b-94yi37lf6p] {
    background: #f0fdf4;
    color: #15803d;
    border: 1.5px solid #86efac;
}

.abs-badge--red[b-94yi37lf6p] {
    background: #fff1f1;
    color: #b31b1b;
    border: 1.5px solid #fca5a5;
}

.abs-consumo-esperado[b-94yi37lf6p] {
    font-size: 0.78rem;
    color: #9ca3af;
    font-weight: 500;
}

.abs-consumo[b-94yi37lf6p] {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
}

.abs-consumo--green[b-94yi37lf6p] { color: #15803d; }
.abs-consumo--red[b-94yi37lf6p]   { color: #b31b1b; }

.abs-divider[b-94yi37lf6p] {
    height: 1px;
    background: #f3f4f6;
}

.abs-info-row[b-94yi37lf6p] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.abs-info-label[b-94yi37lf6p] {
    font-size: 0.72rem;
    color: #9ca3af;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.abs-info-value[b-94yi37lf6p] {
    font-size: 0.845rem;
    color: #374151;
}

.abs-alerta[b-94yi37lf6p] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 0.35rem;
    padding: 0.4rem 0.6rem;
    line-height: 1.4;
}

.abs-alerta i[b-94yi37lf6p] { font-size: 0.85rem; flex-shrink: 0; margin-top: 1px; }

.abs-sem-viagem[b-94yi37lf6p] {
    font-size: 0.8rem;
    color: #9ca3af;
    font-style: italic;
}


/* ── Dots ── */
.abs-dots[b-94yi37lf6p] {
    display: flex;
    justify-content: right;
    gap: 0.5rem;
    padding-top: 1.5rem;
}

.abs-dot[b-94yi37lf6p] {
    width: 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d1d5db;
    cursor: pointer;
    transition: background 0.2s;
}

.abs-dot--ativo[b-94yi37lf6p] { background: #2852A3; }

/* ── Responsivo ── */
@media (max-width: 1100px) {
    .abs-wrapper[b-94yi37lf6p] { flex-direction: column; }
    .abs-left[b-94yi37lf6p]    { width: 100%; max-height: 280px; }
}

@media (max-width: 700px) {
    /* Em coluna única as duas linhas de 1fr não bastam para os quatro cards: os dois
       últimos caíam em linhas implícitas de altura diferente. */
    .abs-carousel-track[b-94yi37lf6p] {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardBalanca.razor.rz.scp.css */
/* ── Layout principal ── */
/* Altura fixada pela soma dos 3 gráficos: 3 × 170px (chart) + espaçamentos em rem */
.bal-layout[b-xqj73supr9] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ── Lista de carregamentos (esquerda) ── */
.bal-left[b-xqj73supr9] {
    flex: 3;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: auto;
    height: calc(3 * 182px + 10.13rem);
}


.bal-table-wrap[b-xqj73supr9] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.1) transparent;
}

.bal-table[b-xqj73supr9] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.845rem;
}

.bal-table thead th[b-xqj73supr9] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f9fafb;
    padding: 0.5rem 0.75rem;
    text-align: left;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.bal-table tbody tr[b-xqj73supr9] {
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.1s;
}

.bal-table tbody tr:last-child[b-xqj73supr9] { border-bottom: none; }
.bal-table tbody tr:hover[b-xqj73supr9]      { background: #f0f5fa; }

.bal-table tbody td[b-xqj73supr9] {
    padding: 0.5rem 0.75rem;
    color: #374151;
    vertical-align: middle;
}

/* Linha com excesso de peso */
.bal-row--excesso[b-xqj73supr9]       { background: #fce8e8 !important; }
.bal-row--excesso:hover[b-xqj73supr9] { background: #fcd7d7 !important; }

/* Linha abre o relatório de Balança da placa naquele dia */
.bal-row--clicavel[b-xqj73supr9] { cursor: pointer; }

/* ── Gráficos (direita) ── */
.bal-right[b-xqj73supr9] {
    flex: 2;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.bal-chart-card[b-xqj73supr9] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem 0.25rem;
}

.bal-chart-title[b-xqj73supr9] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem;
}

.bal-chart-dica[b-xqj73supr9] {
    font-size: 0.7rem;
    font-weight: 400;
    color: #9ca3af;
}

/* Os elementos do gráfico são criados pelo apexcharts via JS, fora do alcance do
   escopo do componente — por isso ::deep a partir do card, que é markup do Blazor. */
.bal-chart-card[b-xqj73supr9]  .apexcharts-bar-area,
.bal-chart-card[b-xqj73supr9]  .apexcharts-marker,
.bal-chart-card[b-xqj73supr9]  .apexcharts-series-markers {
    cursor: pointer;
}

@media (max-width: 1100px) {
    .bal-layout[b-xqj73supr9] { flex-direction: column; }
}

/* ── Celular: coluna única ──
   A lista tem altura fixa casada com os três gráficos da direita (calc acima). Uma vez
   empilhada essa referência não existe mais, e 3 × 182px viram meia tela de rolagem
   antes do primeiro gráfico — aqui ela passa a rolar por dentro. */
@media (max-width: 640.98px) {
    .bal-left[b-xqj73supr9] {
        height: auto;
        max-height: 60vh;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardCameras.razor.rz.scp.css */
/* ── Wrapper ── */
.cam-wrapper[b-23s1f16r9o] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ── Loading ── */
.cam-loading[b-23s1f16r9o] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4rem 0;
}

/* ── Cards (shared) ── */
.cam-card[b-23s1f16r9o] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.85rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cam-card-icon[b-23s1f16r9o] {
    width: 40px;
    height: 40px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.cam-icon-blue[b-23s1f16r9o]   { background: #eff6ff; color: #2852A3; }
.cam-icon-red[b-23s1f16r9o]    { background: #fff1f1; color: #b31b1b; }
.cam-icon-green[b-23s1f16r9o]  { background: #f0fdf4; color: #15803d; }
.cam-icon-orange[b-23s1f16r9o] { background: #fff7ed; color: #c2410c; }
.cam-icon-purple[b-23s1f16r9o] { background: #f5f3ff; color: #7c3aed; }

.cam-card-value[b-23s1f16r9o] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 0.15rem;
    white-space: nowrap;
}

.cam-card-value--alerta[b-23s1f16r9o] { color: #b31b1b; }
.cam-card-value--green[b-23s1f16r9o]  { color: #15803d; }
.cam-card-value--string[b-23s1f16r9o] { font-size: 1rem; }

.cam-card-label[b-23s1f16r9o] {
    font-size: 0.75rem;
    color: #6b7280;
    line-height: 1.3;
}

/* ── Chart card (shared) ── */
.cam-chart-card[b-23s1f16r9o] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.875rem 1rem 0.25rem;
    display: flex;
    flex-direction: column;
}

.cam-chart-title[b-23s1f16r9o] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
    flex-shrink: 0;
}

/* ── Table card (shared) ── */
.cam-table-card[b-23s1f16r9o] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
    flex-direction: column;
}

.cam-table-title[b-23s1f16r9o] {
    padding: 0.6rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.cam-title-icon[b-23s1f16r9o]        { font-size: 0.85rem; }
.cam-title-icon--red[b-23s1f16r9o]   { color: #b31b1b; }
.cam-title-icon--blue[b-23s1f16r9o]  { color: #2852A3; }

.cam-table-wrap[b-23s1f16r9o] {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.1) transparent;
}

.cam-table[b-23s1f16r9o] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.845rem;
}

.cam-table thead th[b-23s1f16r9o] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f9fafb;
    padding: 0.5rem 0.75rem;
    text-align: left;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.cam-th-right[b-23s1f16r9o] { text-align: right; }

.cam-table tbody tr[b-23s1f16r9o] {
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.1s;
}

.cam-table tbody tr:last-child[b-23s1f16r9o] { border-bottom: none; }
.cam-table tbody tr:hover[b-23s1f16r9o]      { background: #f0f5fa; }

.cam-table tbody td[b-23s1f16r9o] {
    padding: 0.5rem 0.75rem;
    color: #374151;
    vertical-align: middle;
}

.cam-col-rank[b-23s1f16r9o]  { font-size: 0.72rem; font-weight: 700; color: #9ca3af; margin-right: 0.3rem; }
.cam-col-count[b-23s1f16r9o] { font-weight: 600; color: #2852A3; white-space: nowrap; }
.cam-col-placa[b-23s1f16r9o] { font-family: monospace; font-size: 0.82rem; font-weight: 500; }
.cam-col-data[b-23s1f16r9o]  { white-space: nowrap; color: #6b7280; font-size: 0.8rem; }

/* Cards preenchem a altura da coluna (igual ao gráfico ao lado) */
.cam-admin-left .cam-card[b-23s1f16r9o],
.cam-user-left  .cam-card[b-23s1f16r9o] { flex: 1; }

/* ── Admin: linha superior ── */
.cam-admin-top[b-23s1f16r9o] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.cam-admin-left[b-23s1f16r9o] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex-shrink: 0;
    width: 240px;
}

.cam-admin-top-chart[b-23s1f16r9o] { flex: 1; min-width: 0; }

/* ── Admin: linha inferior ── */
.cam-admin-bottom[b-23s1f16r9o] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.cam-vinculo-col[b-23s1f16r9o]      { flex: 1.5; min-width: 0; display: flex; flex-direction: column; gap: 1.3rem; }
.cam-admin-table-card[b-23s1f16r9o] { flex: 1.5; min-width: 0; }

/* ── User/Operador: linha superior ── */
.cam-user-top[b-23s1f16r9o] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.cam-user-left[b-23s1f16r9o] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex-shrink: 0;
    width: 215px;
}

.cam-user-top-chart[b-23s1f16r9o] { flex: 1; min-width: 0; }

/* ── User/Operador: linha inferior ── */
.cam-user-bottom[b-23s1f16r9o] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.cam-eventos-card[b-23s1f16r9o] { flex: 2; min-width: 0; }
.cam-rank-card[b-23s1f16r9o]    { flex: 1; min-width: 0; background: #fff; border: 1px solid #e5e7eb; border-radius: 0.5rem; overflow: hidden; display: flex; flex-direction: column; }

/* ── Responsivo ── */
@media (max-width: 1100px) {
    .cam-admin-top[b-23s1f16r9o]    { flex-direction: column; }
    .cam-admin-bottom[b-23s1f16r9o] { flex-direction: column; }
    .cam-user-top[b-23s1f16r9o]     { flex-direction: column; }
    .cam-user-bottom[b-23s1f16r9o]  { flex-direction: column; }
    .cam-admin-left[b-23s1f16r9o],
    .cam-user-left[b-23s1f16r9o]    { width: 100%; flex-direction: row; flex-wrap: wrap; }
    .cam-card[b-23s1f16r9o]         { flex: 1; min-width: 180px; }
}

/* ── Celular: coluna única ──
   O media query de 1100px acima devolve as colunas de cards para linha (row + wrap);
   em tela de celular elas voltam a empilhar, e os painéis largos ocupam a linha toda. */
@media (max-width: 640.98px) {
    .cam-admin-left[b-23s1f16r9o],
    .cam-user-left[b-23s1f16r9o] {
        flex-direction: column;
    }

    /* Vence o `.cam-admin-left .cam-card { flex: 1 }` lá de cima, que tem a mesma
       especificidade de dois níveis. */
    .cam-admin-left .cam-card[b-23s1f16r9o],
    .cam-user-left .cam-card[b-23s1f16r9o] {
        flex: 0 0 auto;
        min-width: 0;
    }

    .cam-vinculo-col[b-23s1f16r9o],
    .cam-admin-table-card[b-23s1f16r9o],
    .cam-eventos-card[b-23s1f16r9o],
    .cam-rank-card[b-23s1f16r9o] {
        width: 100%;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardChamados.razor.rz.scp.css */
/* ── Cards ── */

.dash-wrapper[b-9tg4i3vy7i] {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
}


.cha-cards[b-9tg4i3vy7i] {
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
    margin-top: 0.4rem;
    margin-bottom: 1rem;
}

.cha-card[b-9tg4i3vy7i] {
    flex: 1;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.cha-card-icon[b-9tg4i3vy7i] {
    width: 44px;
    height: 44px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.cha-icon-blue[b-9tg4i3vy7i]   { background: #eff6ff; color: #2852A3; }
.cha-icon-orange[b-9tg4i3vy7i] { background: #fff7ed; color: #c2410c; }
.cha-icon-red[b-9tg4i3vy7i]    { background: #fff1f1; color: #b31b1b; }

.cha-card-value[b-9tg4i3vy7i] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 0.2rem;
}

.cha-card-value--alerta[b-9tg4i3vy7i] { color: #b31b1b; }

.cha-card-label[b-9tg4i3vy7i] {
    font-size: 0.78rem;
    color: #6b7280;
    white-space: nowrap;
}

/* ── Gráficos ── */
.cha-charts-row[b-9tg4i3vy7i] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1rem;
}

.cha-chart-card[b-9tg4i3vy7i] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    min-width: 0;
}

.cha-chart-donut[b-9tg4i3vy7i]  { flex: 1; }
.cha-chart-barras[b-9tg4i3vy7i] { flex: 2; }

.cha-chart-title[b-9tg4i3vy7i] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
}

/* ── Tabela ── */
.cha-table-card[b-9tg4i3vy7i] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
}

.cha-table-subtitle[b-9tg4i3vy7i] {
    font-size: 0.75rem;
    font-weight: 400;
    color: #9ca3af;
}

.cha-row--atrasado[b-9tg4i3vy7i] { background: #fce3e3; }

.cha-venc-atrasado[b-9tg4i3vy7i] {
    color: #b31b1b;
    font-weight: 600;
}

/* ── Badges de prioridade ── */
.cha-badge[b-9tg4i3vy7i] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.cha-badge--alta[b-9tg4i3vy7i]  { background: #fff1f1; color: #b31b1b; border: 1px solid #fca5a5; }
.cha-badge--media[b-9tg4i3vy7i] { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.cha-badge--baixa[b-9tg4i3vy7i] { background: #f0fdf4; color: #15803d; border: 1px solid #86efac; }

/* ── Abertos por setor ── */
.cha-chart-setor[b-9tg4i3vy7i] { margin-bottom: 1rem; }

.cha-chart-dica[b-9tg4i3vy7i] {
    font-size: 0.72rem;
    font-weight: 400;
    color: #9ca3af;
    margin-left: 0.4rem;
}

/* ── Tabela: cabeçalho com filtros, colunas ordenáveis e linha que abre o chamado ── */
.cha-grid-cab[b-9tg4i3vy7i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.cha-grid-titulo[b-9tg4i3vy7i] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
}

.cha-grid-filtros[b-9tg4i3vy7i] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.cha-grid-filtros .form-select[b-9tg4i3vy7i] {
    width: auto;
    min-width: 11rem;
}

.cha-th-ordenavel[b-9tg4i3vy7i] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.cha-th-ordenavel .bi[b-9tg4i3vy7i] {
    font-size: 0.75rem;
    margin-left: 0.2rem;
}

.cha-row--clicavel[b-9tg4i3vy7i] { cursor: pointer; }
.cha-row--clicavel:hover[b-9tg4i3vy7i] { background: #f3f4f6; }
.cha-row--atrasado.cha-row--clicavel:hover[b-9tg4i3vy7i] { background: #f9d4d4; }

.cha-status[b-9tg4i3vy7i] {
    font-size: 0.8rem;
    color: #4b5563;
    white-space: nowrap;
}

/* Celular: cada filtro numa linha inteira. */
@media (max-width: 640.98px) {
    .cha-grid-filtros .form-select[b-9tg4i3vy7i] {
        min-width: 0;
        flex: 1 1 100%;
    }
}

/* ── Responsivo ── */
@media (max-width: 900px) {
    .cha-cards[b-9tg4i3vy7i]      { flex-wrap: wrap; }
    .cha-charts-row[b-9tg4i3vy7i] { flex-direction: column; }
}

/* ── Celular: coluna única ──
   Em 900px os cards só ganham wrap, então em tela de celular ficavam dois a dois. */
@media (max-width: 640.98px) {
    .cha-cards[b-9tg4i3vy7i] {
        flex-direction: column;
    }

    /* Ocupando a largura toda, o rótulo cabe em mais de uma linha em vez de vazar. */
    .cha-card-label[b-9tg4i3vy7i] {
        white-space: normal;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardComercial.razor.rz.scp.css */
/* ── Layout principal ── */
.com-layout[b-gyi5ejcjsc] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ── Top row: painel esquerdo + gráficos ── */
.com-top-row[b-gyi5ejcjsc] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

/* ── Painel esquerdo: dois grupos de cards + card largo ── */
.com-left[b-gyi5ejcjsc] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex-shrink: 0;
}

.com-cards-row[b-gyi5ejcjsc] {
    display: flex;
    gap: 1rem;
}

.com-cards-col[b-gyi5ejcjsc] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.com-group-label[b-gyi5ejcjsc] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9ca3af;
    margin: 0 0 0.1rem;
}

.com-card[b-gyi5ejcjsc] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.85rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 185px;
}

.com-card-icon[b-gyi5ejcjsc] {
    width: 40px;
    height: 40px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.com-icon-blue[b-gyi5ejcjsc]   { background: #eff6ff; color: #2852A3; }
.com-icon-orange[b-gyi5ejcjsc] { background: #fff7ed; color: #c2410c; }

.com-card-value[b-gyi5ejcjsc] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 0.15rem;
    white-space: nowrap;
}

.com-card-value--mes[b-gyi5ejcjsc]    { color: #15803d; }
.com-card-value--alerta[b-gyi5ejcjsc] { color: #c2410c; }

.com-card-label[b-gyi5ejcjsc] {
    font-size: 0.75rem;
    color: #6b7280;
}

/* Card largo: Veículos sem contrato */
.com-wide-card[b-gyi5ejcjsc] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.85rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

/* ── Gráficos à direita ── */
.com-right[b-gyi5ejcjsc] {
    flex: 1;
    min-width: 0;
    display: flex;
    gap: 1rem;
    align-self: flex-end;
}

.com-chart-card[b-gyi5ejcjsc] {
    flex: 1;
    min-width: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
}

.com-chart-title[b-gyi5ejcjsc] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
    flex-shrink: 0;
}

/* ── Linha inferior: gráficos ── */
.com-bottom-row[b-gyi5ejcjsc] {
    display: flex;
    gap: 1rem;
}

.com-bottom-bar[b-gyi5ejcjsc] { flex: 1; min-width: 0; }
.com-bottom-map[b-gyi5ejcjsc] { flex: 1; min-width: 0; }

@media (max-width: 1100px) {
    .com-top-row[b-gyi5ejcjsc]    { flex-direction: column; }
    .com-right[b-gyi5ejcjsc]      { flex-direction: column; }
    .com-bottom-row[b-gyi5ejcjsc] { flex-direction: column; }
}

/* ── Celular: coluna única ──
   .com-cards-row não tinha regra de tela estreita. O align-self: flex-end da coluna
   direita também sai: empilhada, ela precisa ocupar a largura toda. */
@media (max-width: 640.98px) {
    .com-cards-row[b-gyi5ejcjsc] {
        flex-direction: column;
    }

    .com-left[b-gyi5ejcjsc] {
        width: 100%;
    }

    .com-right[b-gyi5ejcjsc] {
        align-self: stretch;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardCteos.razor.rz.scp.css */
/* ── Layout: cards à esquerda, gráfico à direita; tabela em seção própria ── */

/* stretch (e não flex-start) faz a coluna de cards acompanhar a altura do gráfico. */
.cte-dash-row[b-vink1dc3mj] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    margin-top: 0.4rem;
}

.cte-cards[b-vink1dc3mj] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 0 0 260px;
}

/* Os quatro cards dividem igualmente a altura definida pelo gráfico. */
.cte-cards .cte-card[b-vink1dc3mj] {
    flex: 1;
}

/* O gráfico ocupa o restante da largura da linha. */
.cte-chart-card[b-vink1dc3mj] {
    flex: 1;
}

/* Em telas estreitas os cards passam a ficar acima, lado a lado. */
@media (max-width: 992px) {
    .cte-dash-row[b-vink1dc3mj] {
        flex-direction: column;
    }

    .cte-cards[b-vink1dc3mj] {
        flex: 1 1 auto;
        flex-direction: row;
        flex-wrap: wrap;
    }

        .cte-cards .cte-card[b-vink1dc3mj] {
            flex: 1 1 200px;
        }
}

/* ── Cards ── */

.cte-card[b-vink1dc3mj] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.cte-card-icon[b-vink1dc3mj] {
    width: 44px;
    height: 44px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.cte-icon-blue[b-vink1dc3mj] { background: #eff6ff; color: #2852A3; }

.cte-card-value[b-vink1dc3mj] {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.1;
    color: #111827;
}

.cte-card-label[b-vink1dc3mj] {
    font-size: 0.78rem;
    color: #6b7280;
}

/* ── Gráfico e tabela ── */

.cte-chart-card[b-vink1dc3mj],
.cte-tabela-card[b-vink1dc3mj] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    min-width: 0;
}

/* Seção própria, abaixo da linha de cards + gráfico. */
.cte-tabela-card[b-vink1dc3mj] {
    margin-top: 1rem;
    padding-bottom: 0.25rem;
}

/* Cancelado: cinza (o app.css só traz verde, vermelho e amarelo). */
.cte-status-cancelado[b-vink1dc3mj] {
    color: #4b5563;
    background-color: #e5e7eb;
}

/* Carta de correção: azul — é um evento do documento, não um status de aprovação,
   então não divide cor com Aprovado/Rejeitado/Cancelado. */
.cte-status-carta[b-vink1dc3mj] {
    color: #2852A3;
    background-color: #eff6ff;
}

.cte-chart-title[b-vink1dc3mj] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.75rem;
}

/* ── Celular: coluna única ──
   O media query de 992px acima devolve os cards para linha (row + wrap), então em
   tela de celular eles apareciam dois a dois. Aqui voltam a empilhar. */
@media (max-width: 640.98px) {
    .cte-cards[b-vink1dc3mj] {
        flex-direction: column;
    }

        .cte-cards .cte-card[b-vink1dc3mj] {
            flex: 0 0 auto;
        }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardEstoque.razor.rz.scp.css */
/* ── Cards ── */
.est-cards[b-1sf49o79xa] {
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
    margin-top: 0.4rem;
    margin-bottom: 1rem;
}

.est-card[b-1sf49o79xa] {
    flex: 1;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.est-card-icon[b-1sf49o79xa] {
    width: 44px;
    height: 44px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.est-icon-blue[b-1sf49o79xa]   { background: #eff6ff; color: #2852A3; }
.est-icon-orange[b-1sf49o79xa] { background: #fff7ed; color: #c2410c; }
.est-icon-red[b-1sf49o79xa]    { background: #fff1f1; color: #b31b1b; }
.est-icon-purple[b-1sf49o79xa] { background: #f5f3ff; color: #7e22ce; }

.est-card-value[b-1sf49o79xa] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 0.2rem;
    font-variant-numeric: tabular-nums;
}

.est-card-value--alerta[b-1sf49o79xa] { color: #b31b1b; }

.est-card-label[b-1sf49o79xa] {
    font-size: 0.78rem;
    color: #6b7280;
    white-space: nowrap;
}

.est-card-alerta[b-1sf49o79xa] {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #b31b1b;
    white-space: nowrap;
}

/* ── Gráficos ── */
.est-charts-row[b-1sf49o79xa] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1rem;
}

.est-chart-card[b-1sf49o79xa] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    min-width: 0;
}

.est-chart-donut[b-1sf49o79xa]  { flex: 1; }
.est-chart-barras[b-1sf49o79xa] { flex: 2; }
.est-chart-local[b-1sf49o79xa]  { margin-bottom: 1rem; }

.est-chart-title[b-1sf49o79xa] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
}

.est-chart-dica[b-1sf49o79xa] {
    font-size: 0.72rem;
    font-weight: 400;
    color: #9ca3af;
    margin-left: 0.4rem;
}

.est-sem-grafico[b-1sf49o79xa] {
    font-size: 0.85rem;
    color: #9ca3af;
    padding: 2rem 0;
    text-align: center;
    margin: 0;
}

/* ── Tabelas ── */
.est-table-card[b-1sf49o79xa] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
    margin-bottom: 1rem;
}

.est-table-conserto[b-1sf49o79xa] { margin-bottom: 0; }

.est-table-cab[b-1sf49o79xa] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.est-table-titulo[b-1sf49o79xa] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
}

.est-table-subtitle[b-1sf49o79xa] {
    font-size: 0.75rem;
    font-weight: 400;
    color: #9ca3af;
    margin-left: 0.4rem;
}

.est-row--clicavel[b-1sf49o79xa] { cursor: pointer; }
.est-row--clicavel:hover[b-1sf49o79xa] { background: #f3f4f6; }

.est-row--atrasado[b-1sf49o79xa] { background: #fce3e3; }
.est-row--atrasado.est-row--clicavel:hover[b-1sf49o79xa] { background: #f9d4d4; }

.est-venc-atrasado[b-1sf49o79xa] {
    color: #b31b1b;
    font-weight: 600;
}

.est-falta[b-1sf49o79xa] {
    color: #b31b1b;
    font-weight: 600;
}

/* ── Estoque ainda sem movimento ── */
.est-vazio[b-1sf49o79xa] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.5rem 1.5rem;
}

.est-vazio p[b-1sf49o79xa] {
    margin: 0;
    font-size: 0.9rem;
    color: #6b7280;
    max-width: 70ch;
}

.est-vazio-titulo[b-1sf49o79xa] {
    font-size: 0.95rem !important;
    font-weight: 600;
    color: #374151 !important;
    margin-bottom: 0.35rem !important;
}

/* ── Responsivo ── */
@media (max-width: 900px) {
    .est-cards[b-1sf49o79xa]      { flex-wrap: wrap; }
    .est-charts-row[b-1sf49o79xa] { flex-direction: column; }
}

@media (max-width: 640.98px) {
    .est-cards[b-1sf49o79xa] { flex-direction: column; }

    /* Ocupando a largura toda, o rótulo cabe em mais de uma linha em vez de vazar. */
    .est-card-label[b-1sf49o79xa] { white-space: normal; }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardFinanceiro.razor.rz.scp.css */
/* ── Cards ── */
.fin-cards[b-gz4unarf0x] {
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
    margin-top: 0.4rem;
    margin-bottom: 1rem;
}

.fin-card[b-gz4unarf0x] {
    flex: 1;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
    container-type: inline-size;
}

.fin-card-icon[b-gz4unarf0x] {
    width: 44px;
    height: 44px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.fin-icon-blue[b-gz4unarf0x]   { background: #eff6ff; color: #2852A3; }
.fin-icon-green[b-gz4unarf0x]  { background: #f0fdf4; color: #15803d; }
.fin-icon-orange[b-gz4unarf0x] { background: #fff7ed; color: #c2410c; }
.fin-icon-red[b-gz4unarf0x]    { background: #fff1f1; color: #b31b1b; }

.fin-card-value[b-gz4unarf0x] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 0.2rem;
    white-space: nowrap;
}

.fin-card-value--alerta[b-gz4unarf0x]   { color: #b31b1b; }
.fin-card-value--positivo[b-gz4unarf0x] { color: #15803d; }

.fin-card-label[b-gz4unarf0x] {
    font-size: 0.78rem;
    color: #6b7280;
}

/* ── Charts row ── */
.fin-charts-row[b-gz4unarf0x] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 0.6rem;
}

.fin-chart-card[b-gz4unarf0x] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
}

.fin-chart-donut[b-gz4unarf0x] { flex: 1; min-width: 0; }
.fin-chart-linha[b-gz4unarf0x] { flex: 2; min-width: 0; }

.fin-chart-title[b-gz4unarf0x] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
}

@media (max-width: 900px) {
    .fin-cards[b-gz4unarf0x]      { flex-wrap: wrap; }
    .fin-charts-row[b-gz4unarf0x] { flex-direction: column; }
}

@media (max-width: 1366px) {
    .fin-card-value[b-gz4unarf0x] {
        font-size: 1.2rem;
    }
}

/* ── Celular: coluna única ──
   Em 900px os cards só ganham wrap, então em tela de celular ficavam dois a dois. */
@media (max-width: 640.98px) {
    .fin-cards[b-gz4unarf0x] {
        flex-direction: column;
    }

    /* Valores monetários longos quebram em vez de estourar o card. */
    .fin-card-value[b-gz4unarf0x] {
        white-space: normal;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardMonitriip.razor.rz.scp.css */
/* ── Layout: duas colunas ── */

/* stretch: a coluna da direita acompanha a altura da esquerda, que é definida
   pelos cards + as 15 linhas de retornos. O mapa absorve a sobra (flex: 1). */
.mon-row[b-843oian7rm] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    margin-top: 0.4rem;
}

.mon-col[b-843oian7rm] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
    min-width: 0;
}

@media (max-width: 1200px) {
    .mon-row[b-843oian7rm] {
        flex-direction: column;
    }

    /* Empilhado, a coluna deixa de ter altura de referência: o max-height: 50% da
       tabela não resolve e o mapa fica sem espaço livre para absorver. Aqui o mapa
       volta a ter altura própria e a tabela deixa de ser limitada a metade. */
    .mon-mapa-painel[b-843oian7rm]     { flex: 0 0 auto; height: 60vh; }
    .mon-veiculos-painel[b-843oian7rm] { max-height: none; }
}

/* ── Cards ── */

.mon-cards[b-843oian7rm] {
    display: flex;
    gap: 1rem;
}

.mon-card[b-843oian7rm] {
    flex: 1;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.mon-card-icon[b-843oian7rm] {
    width: 44px;
    height: 44px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
    background: #eff6ff;
    color: #2852A3;
}

.mon-card-value[b-843oian7rm] {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.1;
    color: #111827;
}

.mon-card-label[b-843oian7rm] {
    font-size: 0.78rem;
    color: #6b7280;
}

/* ── Painéis ── */

.mon-painel[b-843oian7rm] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;    
    min-width: 0;
}

.mon-antt[b-843oian7rm] {
    padding: 1rem 1.25rem;
}

.mon-painel-titulo[b-843oian7rm] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.75rem;
}

/* O mapa fica com todo o espaço que a tabela de veículos não usar, então cresce
   quando há poucos veículos e encolhe quando a tabela chega ao teto dela. */
.mon-mapa-painel[b-843oian7rm] {
    padding: 0;
    overflow: hidden;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
}

/* O id é exigido pelo _sgLoc, e com ele vem o #sgtrack-loc-map { height: 600px }
   do app.css, de que a tela de Localização depende. Um id sozinho (1,0,0) vence
   uma classe com escopo (0,2,0), então a div ficava com 600px fixos e o painel
   cortava a sobra. Id + classe + escopo (1,2,0) reverte isso só aqui.

   O preenchimento é por flex, não por height: 100% — percentual exigiria que o
   painel tivesse altura definida antes, e é justamente essa dependência de ordem
   que fazia o mapa se medir errado. */
#sgtrack-loc-map.mon-mapa[b-843oian7rm] {
    flex: 1 1 auto;
    height: auto;
    width: 100%;
    min-height: 0;
}

/* ── Listas ── */

/* Retornos: altura pelo conteúdo (as 15 linhas), com as mensagens inteiras. */
.mon-lista-antt[b-843oian7rm] {
    overflow: visible;
}

/* Veículos: altura pelo conteúdo, até metade da coluna — daí em diante rola por
   dentro. Vindo depois do mapa, que absorve o espaço livre, a tabela encosta na
   margem inferior da seção. O max-height resolve contra .mon-col, cuja altura vem
   do align-items: stretch de .mon-row (a coluna da esquerda é quem a define); no
   empilhado essa referência some, e o media query lá em cima trata o caso. O
   min-height: 0 é necessário para um item flex poder encolher abaixo do conteúdo
   e rolar. */
.mon-veiculos-painel[b-843oian7rm] {
    flex: 0 1 auto;
    max-height: 50%;
    min-height: 0;
    overflow-y: auto;
}

/* As tabelas usam a aparência padrão (.table .list-table, em app.css).
   Abaixo ficam apenas os ajustes de largura e comportamento próprios da tela. */

.mon-col-cod[b-843oian7rm]    { width: 14%; }
.mon-col-placa[b-843oian7rm]  { width: 22%; }
.mon-col-data[b-843oian7rm]   { width: 26%; }
.mon-col-status[b-843oian7rm] { width: 12%; justify-items: center; justify-content: center;}

/* Cabeçalho fixo: a lista de veículos rola dentro do painel. */
.mon-veiculos-painel thead th[b-843oian7rm] {
    position: sticky;
    top: 0;
    z-index: 1;
}

/* Linha de preenchimento: mantém a altura da linha padrão sem exibir conteúdo. */
.mon-linha-vazia td[b-843oian7rm] {
    height: 2.45rem;
}

/* O hover e o cursor da linha já vêm de .list-table tbody tr. */
.mon-linha--ativa[b-843oian7rm] {
    background: #eff6ff;
}

/* ── Ponto de status (mesmas cores da tela de Localização) ── */

.mon-dot[b-843oian7rm] {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.mon-dot-ligado[b-843oian7rm]    { background: #16a34a; }
.mon-dot-desligado[b-843oian7rm] { background: #dc2626; }
.mon-dot-sem-info[b-843oian7rm]  { background: #9ca3af; }

/* Retorno vindo de TB_RetornoErroMonitriip: só o código muda de cor, para a
   lista distinguir erro de sucesso sem depender de uma coluna a mais. */
.mon-retorno-erro .mon-col-cod[b-843oian7rm] {
    color: #dc3545;
    font-weight: 600;
}

/* ── Celular: coluna única ──
   .mon-cards não tinha regra de tela estreita: os quatro cards dividiam a largura
   do celular entre si. O mapa também encolhe, senão sozinho toma mais de meia tela. */
@media (max-width: 640.98px) {
    .mon-cards[b-843oian7rm] {
        flex-direction: column;
    }

    .mon-card[b-843oian7rm] {
        flex: 0 0 auto;
    }

    .mon-mapa-painel[b-843oian7rm] {
        height: 45vh;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardOcorrencias.razor.rz.scp.css */
/* Mesma linguagem visual do dashboard de estoque: cartões de ação em cima, gráficos no meio,
   tabela embaixo. */

/* ── Cards ── */
.ocr-cards[b-erlzbct4z8] {
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
    margin-top: 0.4rem;
    margin-bottom: 1rem;
}

.ocr-card[b-erlzbct4z8] {
    flex: 1;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.ocr-card--clicavel[b-erlzbct4z8] { cursor: pointer; }
.ocr-card--clicavel:hover[b-erlzbct4z8] { border-color: #2852A3; }

.ocr-card-icon[b-erlzbct4z8] {
    width: 44px;
    height: 44px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.ocr-icon-blue[b-erlzbct4z8]  { background: #eff6ff; color: #2852A3; }
.ocr-icon-red[b-erlzbct4z8]   { background: #fff1f1; color: #b31b1b; }
.ocr-icon-green[b-erlzbct4z8] { background: #f0fdf4; color: #15803d; }

.ocr-card-value[b-erlzbct4z8] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 0.2rem;
    font-variant-numeric: tabular-nums;
}

.ocr-card-value--alerta[b-erlzbct4z8] { color: #b31b1b; }

.ocr-card-label[b-erlzbct4z8] {
    font-size: 0.78rem;
    color: #6b7280;
    white-space: nowrap;
}

.ocr-card-nota[b-erlzbct4z8] {
    display: block;
    font-size: 0.72rem;
    color: #9ca3af;
    white-space: nowrap;
}

/* ── Gráficos ── */
.ocr-charts-row[b-erlzbct4z8] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1rem;
}

.ocr-chart-card[b-erlzbct4z8] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    min-width: 0;
}

.ocr-chart-donut[b-erlzbct4z8]  { flex: 1; }
.ocr-chart-barras[b-erlzbct4z8] { flex: 2; }

.ocr-chart-title[b-erlzbct4z8] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
}

.ocr-chart-dica[b-erlzbct4z8] {
    font-size: 0.72rem;
    font-weight: 400;
    color: #9ca3af;
    margin-left: 0.4rem;
}

.ocr-sem-grafico[b-erlzbct4z8] {
    font-size: 0.85rem;
    color: #9ca3af;
    padding: 2rem 0;
    text-align: center;
    margin: 0;
}

/* ── Tabela ── */
.ocr-table-card[b-erlzbct4z8] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
}

.ocr-table-cab[b-erlzbct4z8] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.ocr-table-titulo[b-erlzbct4z8] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
}

.ocr-table-subtitle[b-erlzbct4z8] {
    font-size: 0.75rem;
    font-weight: 400;
    color: #9ca3af;
    margin-left: 0.4rem;
}

.ocr-row--clicavel[b-erlzbct4z8] { cursor: pointer; }
.ocr-row--clicavel:hover[b-erlzbct4z8] { background: #f3f4f6; }

.ocr-aberta[b-erlzbct4z8] {
    color: #b31b1b;
    font-weight: 600;
}

/* ── Sem ocorrência ── */
.ocr-vazio[b-erlzbct4z8] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.5rem;
}

.ocr-vazio p[b-erlzbct4z8] {
    margin: 0;
    font-size: 0.9rem;
    color: #6b7280;
    max-width: 70ch;
}

.ocr-vazio-titulo[b-erlzbct4z8] {
    font-size: 0.95rem !important;
    font-weight: 600;
    color: #374151 !important;
    margin-bottom: 0.35rem !important;
}

/* ── Responsivo ── */
@media (max-width: 900px) {
    .ocr-cards[b-erlzbct4z8]      { flex-wrap: wrap; }
    .ocr-charts-row[b-erlzbct4z8] { flex-direction: column; }
}

@media (max-width: 640.98px) {
    .ocr-cards[b-erlzbct4z8] { flex-direction: column; }

    /* Ocupando a largura toda, o rótulo cabe em mais de uma linha em vez de vazar. */
    .ocr-card-label[b-erlzbct4z8],
    .ocr-card-nota[b-erlzbct4z8] { white-space: normal; }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardProspeccao.razor.rz.scp.css */
/* ── Layout principal ── */
.prosp-layout[b-ic6tmyakq9] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    margin-top: 0.4rem;
}

/* ── Coluna esquerda: cards empilhados ── */
.prosp-left[b-ic6tmyakq9] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex-shrink: 0;
    width: 215px;
}

.prosp-card[b-ic6tmyakq9] {
    flex: 1;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.85rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.prosp-card-icon[b-ic6tmyakq9] {
    width: 40px;
    height: 40px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.prosp-icon-blue[b-ic6tmyakq9]   { background: #eff6ff; color: #2852A3; }
.prosp-icon-red[b-ic6tmyakq9]    { background: #fff1f1; color: #b31b1b; }
.prosp-icon-green[b-ic6tmyakq9]  { background: #f0fdf4; color: #15803d; }
.prosp-icon-purple[b-ic6tmyakq9] { background: #f5f3ff; color: #7c3aed; }

.prosp-card-value[b-ic6tmyakq9] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 0.15rem;
}

.prosp-card-value--alerta[b-ic6tmyakq9] { color: #b31b1b; }
.prosp-card-value--green[b-ic6tmyakq9]  { color: #15803d; }

.prosp-card-label[b-ic6tmyakq9] {
    font-size: 0.75rem;
    color: #6b7280;
    line-height: 1.3;
}

/* ── Coluna direita: gráfico + tabela ── */
.prosp-right[b-ic6tmyakq9] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ── Linha dos dois gráficos ── */
.prosp-charts-row[b-ic6tmyakq9] {
    display: flex;
    gap: 1rem;
}

.prosp-chart-bar[b-ic6tmyakq9]   { flex: 2; min-width: 0; }
.prosp-chart-donut[b-ic6tmyakq9] { flex: 1; min-width: 0; }

/* ── Chart card ── */
.prosp-chart-card[b-ic6tmyakq9] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1rem 0.3rem 1rem;
}

.prosp-chart-title[b-ic6tmyakq9] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
}

/* ── Table card ── */
.prosp-table-card[b-ic6tmyakq9] {
    flex: 1;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: 380px;
    overflow-y: auto;
}

.prosp-table-header[b-ic6tmyakq9] {
    padding: 0.65rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.prosp-table-header .bi[b-ic6tmyakq9] {
    color: #6b7280;
}

.prosp-table-wrap[b-ic6tmyakq9] {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.1) transparent;
}

.prosp-table[b-ic6tmyakq9] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.845rem;
}

.prosp-table thead th[b-ic6tmyakq9] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f9fafb;
    padding: 0.55rem 1rem;
    text-align: left;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.prosp-table tbody tr[b-ic6tmyakq9] {
    transition: background 0.1s;
}

.prosp-table tbody tr:last-child[b-ic6tmyakq9] { border-bottom: none; }
.prosp-table tbody tr:hover[b-ic6tmyakq9]      { background: #f0f5fa; cursor: pointer; }

.prosp-table tbody td[b-ic6tmyakq9] {
    padding: 0.55rem 1rem;
    color: #374151;
    vertical-align: middle;
}

.prosp-table .prosp-col-lead[b-ic6tmyakq9]  { font-weight: 500; color: #111827; }
.prosp-table .prosp-col-data[b-ic6tmyakq9]  { white-space: nowrap; color: #111827; font-size: 0.8rem; }

/* Linha vencida */
.prosp-row--vencida[b-ic6tmyakq9]             { background: #fce3e3 !important; }
.prosp-row--vencida:hover[b-ic6tmyakq9]       { background: #fcd7d7 !important; }

@media (max-width: 900px) {
    .prosp-layout[b-ic6tmyakq9] { flex-direction: column; }
    .prosp-left[b-ic6tmyakq9]   { width: 100%; flex-direction: row; flex-wrap: wrap; }
    .prosp-card[b-ic6tmyakq9]   { flex: 1; min-width: 160px; }
}

/* ── Celular: coluna única ──
   O media query de 900px acima devolve os cards para linha (row + wrap). Aqui eles
   empilham de novo, e a linha de gráficos — que ainda não tinha regra — também. */
@media (max-width: 640.98px) {
    .prosp-left[b-ic6tmyakq9] {
        flex-direction: column;
    }

    .prosp-card[b-ic6tmyakq9] {
        flex: 0 0 auto;
        min-width: 0;
    }

    .prosp-charts-row[b-ic6tmyakq9] {
        flex-direction: column;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Dashboards/DashboardRastreamento.razor.rz.scp.css */

/* ── Loading ── */
.dash-loading[b-1lofltwgwq] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4rem 0;
}

/* ── Group label ── */
.dash-group-label[b-1lofltwgwq] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9ca3af;
    margin: 0 0 0.65rem;
}

/* ── Cards ── */
.dash-cards[b-1lofltwgwq] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    margin-top: 0.6rem;
}

.dash-card[b-1lofltwgwq] {
    flex: 1;
    min-width: 180px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.dash-card-icon[b-1lofltwgwq] {
    width: 44px;
    height: 44px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.dash-icon-blue[b-1lofltwgwq]   { background: #eff6ff; color: #2852A3; }
.dash-icon-purple[b-1lofltwgwq] { background: #f5f3ff; color: #7c3aed; }
.dash-icon-green[b-1lofltwgwq]  { background: #f0fdf4; color: #15803d; }
.dash-icon-orange[b-1lofltwgwq] { background: #fff7ed; color: #c2410c; }
.dash-icon-red[b-1lofltwgwq]    { background: #fff1f1; color: #b31b1b; }

.dash-card-value[b-1lofltwgwq] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 0.2rem;
}

.dash-card-value--mes[b-1lofltwgwq]    { color: #15803d; }
.dash-card-value--alerta[b-1lofltwgwq] { color: #b31b1b; }

.dash-card-label[b-1lofltwgwq] {
    font-size: 0.78rem;
    color: #6b7280;
}

/* ── Admin: layout principal ── */
.dash-admin-layout[b-1lofltwgwq] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
}

/* Faixa de cima: cards + gráfico de comunicação */
.dash-admin-top-row[b-1lofltwgwq] {
    display: flex;
    gap: 1.25rem;
    align-items: stretch;
}

.dash-admin-top-row > .dash-chart-card[b-1lofltwgwq] {
    flex: 1;
    min-width: 0;
    margin-top: 1.755rem;
    margin-bottom: 0;
}

/* Linha das duas colunas de cards */
.dash-admin-cols-row[b-1lofltwgwq] {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    flex-shrink: 0;
}

.dash-admin-col[b-1lofltwgwq] {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 0.6rem;
}

.dash-admin-col-cards[b-1lofltwgwq] {
    display: flex;
    flex-direction: column;
    gap: 1.04rem;
}

.dash-admin-col .dash-group-label[b-1lofltwgwq] {
    margin-bottom: 0.1rem;
}

.dash-admin-col .dash-card[b-1lofltwgwq] {
    flex: none;
    min-width: 185px;
}

/* ── Lista: clientes sem comunicação ── */
.dash-alert-card[b-1lofltwgwq] {
    flex: 2;
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
}

.dash-alert-header[b-1lofltwgwq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.dash-alert-header .bi[b-1lofltwgwq] {
    color: #b31b1b;
    font-size: 0.9rem;
}

.dash-alert-list[b-1lofltwgwq] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0.3rem 0.2rem 0.5rem 0.2rem;
}

.dash-alert-item[b-1lofltwgwq] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0 1rem;
    border-bottom: 1px solid #f3f4f6;
}

.dash-alert-item:last-child[b-1lofltwgwq] { border-bottom: none; }

.dash-alert-rank[b-1lofltwgwq] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #9ca3af;
    width: 16px;
    text-align: center;
    flex-shrink: 0;
}

.dash-alert-info[b-1lofltwgwq] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.dash-alert-nome[b-1lofltwgwq] {
    font-size: 0.75rem;
    font-weight: 500;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-alert-bar-wrap[b-1lofltwgwq] {
    height: 5px;
    background: #f3f4f6;
    border-radius: 99px;
    overflow: hidden;
}

.dash-alert-bar[b-1lofltwgwq] {
    height: 100%;
    background: #b31b1b;
    border-radius: 99px;
    min-width: 4px;
}

.dash-alert-count[b-1lofltwgwq] {
    font-size: 0.875rem;
    font-weight: 700;
    color: #b31b1b;
    flex-shrink: 0;
}

.dash-alert-total[b-1lofltwgwq] {
    font-size: 0.75rem;
    font-weight: 400;
    color: #9ca3af;
}

/* ── Faixa de baixo: lista + gráficos donut ── */
.dash-admin-bottom-row[b-1lofltwgwq] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.dash-admin-bottom-row .dash-chart-card[b-1lofltwgwq] {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}

/* ── Chart cards (geral) ── */
.dash-chart-card[b-1lofltwgwq] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    flex: 1;
    min-width: 240px;
    margin-bottom: 1rem;
}

.dash-chart-title[b-1lofltwgwq] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.25rem;
}

.dash-chart-dica[b-1lofltwgwq] {
    font-size: 0.7rem;
    font-weight: 400;
    color: #9ca3af;
    margin-left: 0.4rem;
}

.dash-chart-card[b-1lofltwgwq]  .apexcharts-bar-area {
    cursor: pointer;
}

.dash-chart-title-lista[b-1lofltwgwq] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    padding: 1rem 1rem 0.2rem 1rem;
    margin: 0 !important;
}

/* ── Body row: tabela + mapa ── */
.dash-body-row[b-1lofltwgwq] {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    align-items: stretch;
    height: calc(100vh - 200px); /* teto: altura visível descontando header + cards */
    min-height: 380px;
}

/* ── Tabela de veículos ── */
.dash-table-section[b-1lofltwgwq] {
    flex: 1;
    min-width: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.dash-table-wrap[b-1lofltwgwq] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.12) transparent;
}

.dash-veiculo-table[b-1lofltwgwq] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.75rem;
}

.dash-veiculo-table thead th[b-1lofltwgwq] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f9fafb;
    padding: 0.6rem 1rem;
    text-align: left;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.dash-veiculo-table tbody tr[b-1lofltwgwq] {
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    transition: background 0.12s;
}

.dash-veiculo-table tbody tr:last-child[b-1lofltwgwq] { border-bottom: none; }
.dash-veiculo-table tbody tr:hover[b-1lofltwgwq]      { background: #f9fafb; }
.dash-row--ativo[b-1lofltwgwq]                        { background: #eff6ff !important; }

.dash-veiculo-table tbody td[b-1lofltwgwq] {
    padding: 0.55rem 1rem;
    color: #374151;
    vertical-align: middle;
}

/* Larguras individuais das colunas (definidas no th de cada uma) */
.dash-colw-status[b-1lofltwgwq]    { width: 7%; }
.dash-colw-placa[b-1lofltwgwq]     { width: 20% }
.dash-colw-data[b-1lofltwgwq]      { width: 22%; }
.dash-colw-motorista[b-1lofltwgwq] { width: auto; } /* ocupa o restante */

.dash-col-status[b-1lofltwgwq] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.dash-col-placa[b-1lofltwgwq] { font-weight: 600; color: #111827; white-space: nowrap; }
.dash-col-data[b-1lofltwgwq]  { white-space: nowrap; color: #6b7280; font-size: 0.8rem; }

/* ── Ignition indicator ── */
.dash-ign-dot[b-1lofltwgwq] {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dash-ign-dot--on[b-1lofltwgwq]  { background: #22c55e; }
.dash-ign-dot--off[b-1lofltwgwq] { background: #ef4444; }

.dash-ign-label--on[b-1lofltwgwq] {
    font-size: 0.78rem;
    font-weight: 500;
    color: #15803d;
    white-space: nowrap;
}

.dash-ign-label--off[b-1lofltwgwq] {
    font-size: 0.78rem;
    font-weight: 500;
    color: #6b7280;
    white-space: nowrap;
}

/* ── Map ── */
.dash-map-section[b-1lofltwgwq] {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
}

.dash-map-wrap[b-1lofltwgwq] {
    flex: 1;
    min-height: 380px;
}

#dash-map[b-1lofltwgwq] {
    width: 100%;
    height: 100%;
    min-height: 380px;
    display: block;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .dash-admin-top-row[b-1lofltwgwq]      { flex-direction: column; }
    .dash-admin-bottom-row[b-1lofltwgwq]   { flex-direction: column; }
    .dash-admin-col .dash-card[b-1lofltwgwq] { min-width: 0; width: 100%; }
    .dash-admin-top-row > .dash-chart-card[b-1lofltwgwq] { margin-top: 0; }
}

@media (max-width: 768px) {
    .dash-body-row[b-1lofltwgwq]         { flex-direction: column; height: auto; min-height: unset; }
    .dash-table-section[b-1lofltwgwq]    { flex: none; height: 300px; }
    .dash-map-section[b-1lofltwgwq]      { flex: none; height: 300px; }
}

/* ── Celular: coluna única ──
   .dash-cards só tinha wrap e .dash-admin-cols-row não tinha regra nenhuma: em tela
   de celular os cards ficavam dois a dois. As duas seções da linha de baixo também
   encolhem, senão tabela + mapa ocupam 600px só de altura. */
@media (max-width: 640.98px) {
    .dash-cards[b-1lofltwgwq] {
        flex-direction: column;
    }

    .dash-card[b-1lofltwgwq] {
        flex: 0 0 auto;
        min-width: 0;
    }

    .dash-admin-cols-row[b-1lofltwgwq] {
        flex-direction: column;
    }

    .dash-admin-col .dash-card[b-1lofltwgwq] {
        min-width: 0;
    }

    .dash-table-section[b-1lofltwgwq],
    .dash-map-section[b-1lofltwgwq] {
        height: 260px;
    }
}
/* _content/SgtrackERP.Web/Components/Modules/Estoque/ConfiguracoesEstoque.razor.rz.scp.css */
/* Texto de apoio das seções. */
.cfg-ajuda[b-fh1n7i8rp1] {
    font-size: 0.82rem;
    color: #6b7280;
    margin: 0 0 0.9rem;
}

/* Linhas de inclusão, separadas da tabela logo abaixo. */
.cfg-nova[b-fh1n7i8rp1] {
    margin-bottom: 1rem;
}

.cfg-table td[b-fh1n7i8rp1] {
    vertical-align: middle;
}
/* _content/SgtrackERP.Web/Components/Modules/Estoque/EquipamentosEstoque.razor.rz.scp.css */
.estoque-condicao[b-i5bql5tzkf] {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

/* 1 Novo, 2 Usado, 3 Aguardando triagem, 4 Em conserto, 5 Sem reparo */
.estoque-condicao-1[b-i5bql5tzkf] { background: #e7f6ec; color: #1e7b3c; }
.estoque-condicao-2[b-i5bql5tzkf] { background: #e8f0fb; color: #2456a6; }
.estoque-condicao-3[b-i5bql5tzkf] { background: #fff4e0; color: #9a5b00; }
.estoque-condicao-4[b-i5bql5tzkf] { background: #f3e8fb; color: #6b2fa0; }
.estoque-condicao-5[b-i5bql5tzkf] { background: #fde8e8; color: #b42318; }

.eq-card-ativo[b-i5bql5tzkf] {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: -2px;
}

.eq-atrasados[b-i5bql5tzkf] {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #b42318;
}

.eq-atrasado[b-i5bql5tzkf] {
    color: #b42318;
}

.eq-acoes[b-i5bql5tzkf] {
    display: flex;
    gap: 0.35rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.eq-acoes .btn[b-i5bql5tzkf] {
    white-space: nowrap;
}

.eq-backdrop[b-i5bql5tzkf] {
    background: rgba(0, 0, 0, .45);
}

.eq-ajuda[b-i5bql5tzkf] {
    font-size: 0.85rem;
    color: #6c757d;
    margin-bottom: 0.75rem;
}

.eq-alvo[b-i5bql5tzkf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.6rem 0.8rem;
    margin-bottom: 1rem;
    border: 1px solid #e3e6ea;
    border-radius: 0.5rem;
    background: #f8f9fa;
}

.eq-busca-lista[b-i5bql5tzkf] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-height: 320px;
    overflow-y: auto;
}

.eq-busca-item[b-i5bql5tzkf] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #e3e6ea;
    border-radius: 0.4rem;
    background: #fff;
    text-align: left;
}

.eq-busca-item:hover:not(:disabled)[b-i5bql5tzkf] {
    border-color: var(--bs-primary, #0d6efd);
    background: #f4f8ff;
}

.eq-busca-item:disabled[b-i5bql5tzkf] {
    opacity: 0.6;
    cursor: not-allowed;
}
/* _content/SgtrackERP.Web/Components/Modules/Estoque/EstoqueItensIndex.razor.rz.scp.css */
/* Item livre no central abaixo do ponto de reposição. */
.est-row--minimo[b-xi8deo586o] {
    background: #fff7ed;
}

.est-badge[b-xi8deo586o] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    white-space: nowrap;
}

.est-badge--minimo[b-xi8deo586o] {
    background: #fff1f1;
    color: #b31b1b;
    border: 1px solid #fca5a5;
}
/* _content/SgtrackERP.Web/Components/Modules/Estoque/NovaMovimentacao.razor.rz.scp.css */
/* Explicação do ajuste de inventário. */
.mov-ajuda[b-esunr1oir7] {
    font-size: 0.82rem;
    color: #6b7280;
    margin: 0 0 0.9rem;
}

/* Linha de inclusão, separada da tabela de itens logo abaixo. */
.mov-nova[b-esunr1oir7] {
    margin-bottom: 1rem;
}
/* _content/SgtrackERP.Web/Components/Modules/Estoque/SaldosEstoque.razor.rz.scp.css */
.estoque-condicao[b-7diy0ch2yx] {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

/* 1 Novo, 2 Usado, 3 Aguardando triagem */
.estoque-condicao-1[b-7diy0ch2yx] { background: #e7f6ec; color: #1e7b3c; }
.estoque-condicao-2[b-7diy0ch2yx] { background: #e8f0fb; color: #2456a6; }
.estoque-condicao-3[b-7diy0ch2yx] { background: #fff4e0; color: #9a5b00; }
/* _content/SgtrackERP.Web/Components/Modules/Financeiro/Boletos/BoletoIndex.razor.rz.scp.css */
.linha-clicavel[b-h9wgrj5xj5] {
    cursor: pointer;
}

.acoes-boleto[b-h9wgrj5xj5] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
    max-width: 98px;
}

.btn-acao[b-h9wgrj5xj5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: transparent;
    color: #6c757d;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    padding: 0;
}

    .btn-acao:hover[b-h9wgrj5xj5] {
        background: #f1f3f5;
        color: var(--sg-primary-mid);
        border-color: #adb5bd;
    }

    /* Botão inativo (boleto já pago): precisa parecer inativo, senão o usuário
       clica e acha que a tela travou. */
    .btn-acao:disabled[b-h9wgrj5xj5] {
        opacity: 0.45;
        cursor: not-allowed;
    }

        .btn-acao:disabled:hover[b-h9wgrj5xj5] {
            background: transparent;
            color: #6c757d;
            border-color: #dee2e6;
        }

.btn-acao-whatsapp:hover[b-h9wgrj5xj5] {
    background: #e8f5e9;
    color: #25d366;
    border-color: #25d366;
}

.btn-acao-success:hover[b-h9wgrj5xj5] {
    background: #f0fdf4;
    color: #166534;
    border-color: #86efac;
}

.btn-acao-pdf:hover[b-h9wgrj5xj5] {
    background: #fff0f0;
    color: #e53935;
    border-color: #e53935;
}

/* Baixar o comprovante do cliente: vermelho já em repouso, não só no hover — é a ação que
   o financeiro procura na linha quando o boleto está em análise pendente. */
.btn-acao-comprovante[b-h9wgrj5xj5] {
    color: #e53935;
    border-color: #e53935;
}

    .btn-acao-comprovante:hover[b-h9wgrj5xj5] {
        background: #fff0f0;
        color: #e53935;
        border-color: #e53935;
    }

.btn-acao-danger:hover[b-h9wgrj5xj5] {
    background: #fdecea;
    color: var(--sg-danger, #dc3545);
    border-color: var(--sg-danger, #dc3545);
}

.boleto-legenda[b-h9wgrj5xj5] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    font-size: 0.8rem;
    color: #6b7280;
    margin-bottom: 0.75rem;
}

.boleto-legenda-label[b-h9wgrj5xj5] {
    font-weight: 600;
    color: #4b5563;
    margin-right: 0.1rem;
}

.boleto-legenda-badge[b-h9wgrj5xj5] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    padding: 0;
    margin: 0;
    box-shadow: 0 0 0 1.5px rgba(0,0,0,0.18);
    flex-shrink: 0;
}

.descricao-col[b-h9wgrj5xj5] {
    max-width: 220px;
    white-space: normal;
    word-break: break-word;
}

.badge-status[b-h9wgrj5xj5] {
    display: inline-block;
    font-weight: 600;
    padding: 0.1em 0.95em;
    border-radius: 999px;
    margin-top: 4px;
    border: none;
}

.badge-status-em-aberto[b-h9wgrj5xj5] {
    background-color: #405abd;
    color: #fff;
}

.badge-status-recebido[b-h9wgrj5xj5] {
    background-color: #27a15f;
    color: #fff;
}

.badge-status-atrasado[b-h9wgrj5xj5] {
    background-color: #d44848;
    color: #fff;
}

.badge-status-cancelado[b-h9wgrj5xj5] {
    background-color: #a1a1a1;
    color: #fff;
}

/* Blocos de texto do modal de comprovante: observação do cliente e parecer do financeiro. */
.comprovante-texto[b-h9wgrj5xj5] {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 0.5rem 0.65rem;
    font-size: 0.85rem;
    color: #495057;
    white-space: pre-wrap;
    word-break: break-word;
}

.comprovante-arquivo[b-h9wgrj5xj5] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Comprovante anexado pelo cliente, à espera da conferência do financeiro. */
.badge-status-analise-pendente[b-h9wgrj5xj5] {
    background-color: #c373eb;
    color: #fff;
}

.badge-status-em-processamento[b-h9wgrj5xj5] {
    background-color: #F2C94C;
    color: #3d3d3c;
}

.col-cliente[b-h9wgrj5xj5]{
    width: 23%;
}

.col-empresa[b-h9wgrj5xj5] {
    width: 15%;
}
.col-emissao[b-h9wgrj5xj5] {
    width: 8%;
}
.col-vencimento[b-h9wgrj5xj5] {
    width: 11%;
}
.col-valor[b-h9wgrj5xj5] {
    width: 10%;
}
.col-referencia[b-h9wgrj5xj5] {
    width: 23%;
}

.col-acoes[b-h9wgrj5xj5] {
    width: 10%;
}

/* Sem a coluna Empresa (perfil não administrador), a largura dela é redistribuída
   entre Cliente e Referência, em vez de sobrar espaço no fim da tabela. */
.sem-empresa .col-cliente[b-h9wgrj5xj5] {
    width: 30%;
}

.sem-empresa .col-referencia[b-h9wgrj5xj5] {
    width: 31%;
}

/* "De" e "Até" lado a lado nos filtros de período. O min-width das colunas é o que alarga
   o dropdown do filtro: ele é shrink-to-fit, então empurrar o conteúdo basta — o
   .filter-dropdown do app.css, que vale para todas as listagens, fica intacto. */
.filtro-datas[b-h9wgrj5xj5] {
    display: flex;
    gap: 0.5rem;
}

.filtro-data-campo[b-h9wgrj5xj5] {
    flex: 1 1 0;
    min-width: 9.5rem;
}
/* _content/SgtrackERP.Web/Components/Modules/Financeiro/Boletos/GerarBoleto.razor.rz.scp.css */
.form-hint[b-u8ywdejvq4] {
    font-size: 0.78rem;
    color: #c2185b;
    margin-top: 0.25rem;
}
/* _content/SgtrackERP.Web/Components/Modules/Financeiro/Faturamento/FaturamentoIndex.razor.rz.scp.css */
/* ── Page ─────────────────────────────────────────── */

.faturamento-page[b-okn8el3qya] {
    padding-top: 0.6rem;
}

/* ── Header ─────────────────────────────────────────── */

.faturamento-header[b-okn8el3qya] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.btn-nao-faturavel[b-okn8el3qya] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 1rem;
    border: 1.5px solid #f59e0b;
    border-radius: 8px;
    background: #fffbeb;
    color: #b45309;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}

    .btn-nao-faturavel:hover[b-okn8el3qya] {
        background: #fef3c7;
        box-shadow: 0 2px 8px rgba(245,158,11,0.2);
    }

/* ── Transitions ───────────────────────────────────── */

@keyframes fadeSlideIn-b-okn8el3qya {
    from { opacity: 0; transform: translateX(-6px); }
    to   { opacity: 1; transform: translateX(0); }
}

.painel-acao[b-okn8el3qya] {
    animation: fadeSlideIn-b-okn8el3qya 0.2s ease both;
}

/* ── Control panel ─────────────────────────────────── */

.form-section-body[b-okn8el3qya] {
    width: 100%;
    min-width: 0;
}

.acoes-row[b-okn8el3qya] {
    margin-top: 0.2rem;
}

.campo-readonly[b-okn8el3qya] {
    display: flex;
    align-items: center;
    height: calc(1.5em + 0.5rem + 2px);
    padding: 0 0.68rem;
    background: #f8fafc;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    white-space: nowrap;
    line-height: 1.5;
}

.painel-acao .btn-sm[b-okn8el3qya] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: calc(1.5em + 0.5rem + 2px);
    font-size: 0.875rem;
    padding: 0 0.75rem;
}

.filtro-select[b-okn8el3qya] {
    min-width: 160px;
}

/* Sobrescreve "main .form-select" (app.css) que quebra a altura do form-select-sm do Bootstrap */
.form-select.form-select-sm[b-okn8el3qya] {
    height: calc(1.5em + 0.5rem + 2px);
    font-size: 0.875rem;
    padding: 0.25rem 2.25rem 0.25rem 0.5rem;
    min-height: unset;
}

.btn-filter[b-okn8el3qya] {
    height: calc(1.5em + 0.5rem + 2px);
    font-size: 0.875rem;
    padding: 0 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ── Buttons ─────────────────────────────────────────── */

.btn-faturamento[b-okn8el3qya] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    height: calc(1.5em + 0.5rem + 2px);
    padding: 0 1rem;
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
    flex-shrink: 0;
}

    .btn-faturamento:disabled[b-okn8el3qya] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.btn-faturamento-primary[b-okn8el3qya] {
    background: var(--sg-primary, #2852A3);
    color: white;
}

    .btn-faturamento-primary:hover:not(:disabled)[b-okn8el3qya] {
        background: var(--sg-primary-mid, #22488a);
        box-shadow: 0 3px 10px rgba(40,82,163,0.3);
    }

.btn-faturamento-outline[b-okn8el3qya] {
    background: transparent;
    color: var(--sg-primary, #2852A3);
    border: 1.5px solid var(--sg-primary, #2852A3);
}

    .btn-faturamento-outline:hover:not(:disabled)[b-okn8el3qya] {
        background: #eff3fb;
    }

.btn-faturamento-success[b-okn8el3qya] {
    background: var(--sg-success, #198754);
    color: white;
}

    .btn-faturamento-success:hover:not(:disabled)[b-okn8el3qya] {
        background: #157347;
        box-shadow: 0 3px 10px rgba(25,135,84,0.25);
    }

/* ── Summary bar ─────────────────────────────────────── */

.form-resumo[b-okn8el3qya] {
    display: flex;
    flex-direction: row !important;
    align-items: stretch;
    background: white;
    border-radius: var(--sg-radius-md, 10px);
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.resumo-item[b-okn8el3qya] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.5rem;
}

.resumo-sep[b-okn8el3qya] {
    width: 1px;
    background: #f1f5f9;
    margin: 0.75rem 0;
    flex-shrink: 0;
}

.resumo-icone[b-okn8el3qya] {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    background: #eff3fb;
    color: var(--sg-primary, #2852A3);
}

.resumo-icone-blue[b-okn8el3qya] { background: #eff3fb; color: var(--sg-primary, #2852A3); }
.resumo-icone-green[b-okn8el3qya] { background: #f0fdf4; color: var(--sg-success, #198754); }

.resumo-texto[b-okn8el3qya] {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

.resumo-label[b-okn8el3qya] {
    font-size: 0.73rem;
    color: #6b7280;
    font-weight: 500;
    white-space: nowrap;
}

.resumo-valor[b-okn8el3qya] {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--sg-primary-dark, #132c4f);
    line-height: 1.2;
}

.resumo-valor-blue[b-okn8el3qya]  { color: var(--sg-primary, #2852A3); }
.resumo-valor-green[b-okn8el3qya] { color: var(--sg-success, #198754); }

/* ── Table ─────────────────────────────────────────── */
.contratos-table[b-okn8el3qya] { width: 100%; table-layout: fixed; }
.contratos-table .col-check[b-okn8el3qya] { width: 5%; }
.contratos-table .col-status[b-okn8el3qya] { width: 11%; }

.col-cliente[b-okn8el3qya] {
    width: 18%;
    white-space: normal;
    word-break: break-word;
}

.col-descrition[b-okn8el3qya] {
    width: 20%;
    white-space: normal;
    word-break: break-word;
    font-size: 0.75rem;
}

/* Valor Bruto, Valor Líquido, Vencimento, Banco */
.contratos-table th:nth-child(4)[b-okn8el3qya],
.contratos-table td:nth-child(4)[b-okn8el3qya] {
    width: 10%;
    font-size: 0.75rem
}

.contratos-table th:nth-child(5)[b-okn8el3qya],
.contratos-table td:nth-child(5)[b-okn8el3qya] {
    width: 10%;
    font-size: 0.75rem
}

.contratos-table th:nth-child(6)[b-okn8el3qya],
.contratos-table td:nth-child(6)[b-okn8el3qya] {
    width: 10%;
    font-size: 0.75rem
}

.contratos-table th:nth-child(7)[b-okn8el3qya],
.contratos-table td:nth-child(7)[b-okn8el3qya] {
    width: 9%;
    font-size: 0.75rem
}

.contratos-table th[b-okn8el3qya] {
    font-size: 0.68rem !important;
    white-space: normal;
    word-break: break-word;
    padding-right: 0.75rem;
}

.contratos-table thead .form-check-input[b-okn8el3qya] {
    width: 0.9rem;
    height: 0.9rem;
}

.cli-nome[b-okn8el3qya] {
    display: block;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--sg-primary-dark, #132c4f);
}

.col-valor[b-okn8el3qya] {
    font-weight: 500;
    font-size: 0.75rem;
    white-space: nowrap;
}

.col-status[b-okn8el3qya] {
    width: 10%;
}

.contrato-row[b-okn8el3qya] {
    transition: background 0.1s;
}
    .contrato-row:hover[b-okn8el3qya] {
        background: #e1ecf5;
    }

.contrato-row-sel[b-okn8el3qya] {
    background: #e1ecf5 !important;
}

/* Linha de detalhes expandida */
.detalhe-row td[b-okn8el3qya] {
    background: #e1ecf5;
    border-top: none !important;
    border-left: 3px solid var(--sg-primary, #2852A3) !important;
    padding: 0.6rem 1rem 0.75rem 3.25rem;
}

.detalhe-titulo[b-okn8el3qya] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1e3a5f;
    margin-bottom: 0.4rem;
}

.detalhe-lista[b-okn8el3qya] {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.detalhe-linha[b-okn8el3qya] {
    display: flex;
    gap: 0.3rem;
    font-size: 0.82rem;
    color: #1e293b;
    align-items: baseline;
}

.detalhe-label[b-okn8el3qya] {
    font-weight: 600;
    white-space: nowrap;
    color: #1e3a5f;
}

.detalhe-valor[b-okn8el3qya] {
    font-weight: 400;
    color: #1e293b;
}

.detalhe-erros[b-okn8el3qya] {
    margin-top: 0.6rem;
    padding: 0.5rem 0.75rem;
    background: #fef2f2;
    border-left: 3px solid var(--sg-danger, #dc3545);
    border-radius: 4px;
}

.detalhe-erros-titulo[b-okn8el3qya] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--sg-danger, #dc3545);
    margin-bottom: 0.25rem;
}

.detalhe-erros-lista[b-okn8el3qya] {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.8rem;
    color: #991b1b;
}

    .detalhe-erros-lista li[b-okn8el3qya] {
        margin-bottom: 0.1rem;
    }

/* ── Status icons ──────────────────────────────────── */

.status-row[b-okn8el3qya] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.status-icone[b-okn8el3qya] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: 1.5px solid;
    background: transparent;
    font-size: 0.78rem;
    cursor: default;
    flex-shrink: 0;
    padding: 0;
}

.status-ok[b-okn8el3qya] {
    border-color: #86efac;
    color: var(--sg-success, #198754);
    background: #f0fdf4;
}

.status-pendente[b-okn8el3qya] {
    border-color: #fcd34d;
    color: #b45309;
    background: #fffbeb;
}

.status-erro[b-okn8el3qya] {
    border-color: #fca5a5;
    color: var(--sg-danger, #dc3545);
    background: #fef2f2;
}

.status-na[b-okn8el3qya] {
    border-color: #e9ecef;
    color: #dee2e6;
    background: transparent;
}

.status-nao-gerado[b-okn8el3qya] {
    border-color: #9ca3af;
    color: #4b5563;
    background: #f3f4f6;
}

.status-alerta[b-okn8el3qya] {
    border-color: var(--sg-danger, #dc3545);
    color: var(--sg-danger, #dc3545);
    background: #fef2f2;
    font-size: 0.8rem;
}

    .status-alerta:hover[b-okn8el3qya] {
        background: #fee2e2;
    }

/* Botão expandir */
.btn-expandir[b-okn8el3qya] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: 1.5px solid #dee2e6;
    background: transparent;
    color: #6b7280;
    font-size: 0.78rem;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4,0,0.2,1);
    flex-shrink: 0;
    padding: 0;
}

    .btn-expandir:hover[b-okn8el3qya] {
        background: #f1f5f9;
        color: var(--sg-primary, #2852A3);
        border-color: var(--sg-primary, #2852A3);
    }

.btn-expandir-aberto[b-okn8el3qya] {
    background: var(--sg-primary, #2852A3) !important;
    color: white !important;
    border-color: var(--sg-primary, #2852A3) !important;
    transform: rotate(45deg);
}

/* Estado vazio */
.icone-vazio[b-okn8el3qya] {
    display: block;
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
    opacity: 0.35;
}
/* _content/SgtrackERP.Web/Components/Modules/Financeiro/Faturamento/NaoFaturaveisIndex.razor.rz.scp.css */

.nao-faturavel-page[b-84yxtlroy1] {
    padding-top: 0.6rem;
    width: 100%;
}

/* ── Header ──────────────────────────────────────────── */

.nao-faturavel-header[b-84yxtlroy1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.bi[b-84yxtlroy1] {
    color: var(--sg-primary, #2852A3);
}

.btn-voltar[b-84yxtlroy1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    padding: 0;
    border: 1.5px solid var(--sg-primary, #2852A3);
    border-radius: 50%;
    background: white;
    color: #374151;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    flex-shrink: 0;
}

    .btn-voltar:hover[b-84yxtlroy1] {
        border-color: var(--sg-primary, #2852A3);
        color: var(--sg-primary, #2852A3);
        background: #eff3fb;
    }

.nao-faturavel-titulo[b-84yxtlroy1] {
    margin: 0;
    line-height: 1.2;
}

.nao-faturavel-empresa[b-84yxtlroy1] {
    font-size: 0.82rem;
    color: #6b7280;
    font-weight: 400;
}

/* ── Table ───────────────────────────────────────────── */

.nao-faturavel-table[b-84yxtlroy1] {
    width: 100%;
    table-layout: fixed;
}

.nao-faturavel-table .col-icone[b-84yxtlroy1] {
    width: 8%;
    text-align: center;
}

.nao-faturavel-table .col-mensagem[b-84yxtlroy1] {
    width: 50%;
}

.nao-faturavel-table .col-cliente[b-84yxtlroy1] {
    width: 25%;
    white-space: normal;
    word-break: break-word;
}

.nao-faturavel-table .col-contrato[b-84yxtlroy1] {
    width: 17%;
    white-space: normal;
    word-break: break-word;
}


/* ── Icons ───────────────────────────────────────────── */

.icone-erro[b-84yxtlroy1] {
    color: var(--sg-danger, #dc3545);
    font-size: 1.3rem;
}

.icone-alerta[b-84yxtlroy1] {
    color: #f59e0b;
    font-size: 1.3rem;
}
/* _content/SgtrackERP.Web/Components/Modules/Financeiro/NotasFiscais/GerarNotaFiscal.razor.rz.scp.css */
/* Campos calculados / read-only com aparência visual distinta */
.form-control:disabled[b-6nqm84gpoe] {
    background-color: #f8f9fa;
    color: #495057;
    border-color: #dee2e6;
    cursor: default;
    opacity: 1;
}
/* _content/SgtrackERP.Web/Components/Modules/Financeiro/NotasFiscais/NotaFiscalIndex.razor.rz.scp.css */
.acoes-nf[b-92k93dqz25] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
    max-width: 98px;
}

.btn-acao[b-92k93dqz25] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: transparent;
    color: #6c757d;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    padding: 0;
}

    .btn-acao:hover[b-92k93dqz25] {
        background: #f1f3f5;
        color: var(--sg-primary-mid);
        border-color: #adb5bd;
    }

.btn-acao-whatsapp:hover[b-92k93dqz25] {
    background: #e8f5e9;
    color: #25d366;
    border-color: #25d366;
}

.btn-acao-pdf:hover[b-92k93dqz25] {
    background: #fff0f0;
    color: #e53935;
    border-color: #e53935;
}

.btn-acao-xml:hover[b-92k93dqz25] {
    background: #e8f5e9;
    color: #2e7d32;
    border-color: #2e7d32;
}

.btn-acao-danger:hover[b-92k93dqz25] {
    background: #fdecea;
    color: var(--sg-danger, #dc3545);
    border-color: var(--sg-danger, #dc3545);
}

.badge-status[b-92k93dqz25] {
    display: inline-block;
    font-weight: 600;
    padding: 0.1em 0.95em;
    border-radius: 999px;
    border: none;
}

.badge-status-aprovada[b-92k93dqz25] {
    background-color: #27a15f;
    color: #fff;
}

.badge-status-recusada[b-92k93dqz25] {
    background-color: #d44848;
    color: #fff;
}

.badge-status-cancelada[b-92k93dqz25] {
    background-color: #a1a1a1;
    color: #fff;
}

/* _content/SgtrackERP.Web/Components/Modules/Geral/AcompanhamentoAvisos.razor.rz.scp.css */
.acv-fundo[b-75wdregx3n] {
    background: rgba(9, 22, 44, .55);
    backdrop-filter: blur(2px);
}

.acv-content[b-75wdregx3n] {
    border: none;
    border-radius: var(--sg-radius-md);
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(9, 22, 44, .28);
}

/* ── Cabeçalho ───────────────────────────────────────────── */

.acv-header[b-75wdregx3n] {
    background: linear-gradient(135deg, var(--sg-primary-dark) 0%, var(--sg-primary) 100%);
    color: #fff;
    border: none;
    padding: .7rem 1rem;
}

.acv-header .modal-title[b-75wdregx3n] {
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .2px;
}

.acv-header-acoes[b-75wdregx3n] {
    display: flex;
    gap: .25rem;
}

.acv-btn-icone[b-75wdregx3n] {
    background: rgba(255, 255, 255, .12);
    border: none;
    color: #fff;
    width: 30px;
    height: 30px;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background var(--sg-transition);
}

.acv-btn-icone:hover:not(:disabled)[b-75wdregx3n] { background: rgba(255, 255, 255, .26); }
.acv-btn-icone:disabled[b-75wdregx3n] { opacity: .45; }

/* ── Abas ────────────────────────────────────────────────── */

.acv-abas[b-75wdregx3n] {
    display: flex;
    gap: 0;
    margin: 0;
    padding: 0 .75rem;
    list-style: none;
    background: #fff;
    border-bottom: 1px solid #e3e8ef;
}

.acv-abas button[b-75wdregx3n] {
    background: none;
    border: none;
    border-bottom: 2.5px solid transparent;
    padding: .6rem .9rem;
    font-size: .84rem;
    font-weight: 500;
    color: #64748b;
    transition: color var(--sg-transition), border-color var(--sg-transition);
}

.acv-abas button:hover[b-75wdregx3n] { color: var(--sg-primary); }

.acv-abas button.ativa[b-75wdregx3n] {
    color: var(--sg-primary-titles);
    border-bottom-color: var(--sg-primary);
    font-weight: 600;
}

.acv-badge[b-75wdregx3n] {
    display: inline-block;
    min-width: 20px;
    padding: .05rem .35rem;
    margin-left: .3rem;
    border-radius: var(--sg-radius-pill);
    background: #e8edf5;
    color: var(--sg-primary-titles);
    font-size: .72rem;
    font-weight: 600;
}

.acv-badge-erro[b-75wdregx3n] { background: #fdeaec; color: #a41c28; }
.acv-badge-alerta[b-75wdregx3n] { background: #fef3e2; color: #9a5b06; }

/* ── Corpo ───────────────────────────────────────────────── */

.acv-body[b-75wdregx3n] {
    background: var(--sg-background);
    padding: .9rem 1rem;
    max-height: 66vh;
}

.acv-ajuda[b-75wdregx3n] {
    font-size: .8rem;
    color: #5b6b80;
    margin: 0 0 .7rem 0;
    line-height: 1.45;
}

.acv-vazio[b-75wdregx3n] {
    text-align: center;
    color: #8592a3;
    padding: 2rem 0;
    font-size: .85rem;
}

.acv-erro[b-75wdregx3n] {
    background: #fdeaec;
    color: #a41c28;
    border-radius: 8px;
    padding: .7rem .9rem;
    font-size: .85rem;
}

/* ── Cartões de resumo ───────────────────────────────────── */

.acv-resumo[b-75wdregx3n] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .6rem;
    margin-bottom: .9rem;
}

.acv-card[b-75wdregx3n] {
    background: #fff;
    border-radius: 9px;
    border-left: 4px solid #cbd5e1;
    padding: .55rem .75rem;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 3px rgba(16, 32, 60, .06);
}

.acv-card-n[b-75wdregx3n] { font-size: 1.35rem; font-weight: 700; line-height: 1.1; color: var(--sg-primary-titles); }
.acv-card-t[b-75wdregx3n] { font-size: .74rem; color: #64748b; text-transform: uppercase; letter-spacing: .3px; }

.acv-card.sit-ok[b-75wdregx3n] { border-left-color: var(--sg-success); }
.acv-card.sit-feito[b-75wdregx3n] { border-left-color: var(--sg-primary); }
.acv-card.sit-aviso[b-75wdregx3n] { border-left-color: #d97706; }
.acv-card.sit-bloqueado[b-75wdregx3n] { border-left-color: #94a3b8; }

/* ── Tabela ──────────────────────────────────────────────── */

.acv-tabela[b-75wdregx3n] {
    background: #fff;
    border-radius: 9px;
    overflow: hidden;
    margin: 0;
    font-size: .82rem;
    box-shadow: 0 1px 3px rgba(16, 32, 60, .06);
}

.acv-tabela thead th[b-75wdregx3n] {
    background: #eef2f8;
    color: var(--sg-primary-titles);
    font-weight: 600;
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .3px;
    border: none;
    padding: .5rem .7rem;
    position: sticky;
    top: 0;
    z-index: 1;
}

.acv-tabela tbody td[b-75wdregx3n] {
    padding: .45rem .7rem;
    border-top: 1px solid #f1f4f8;
    vertical-align: middle;
}

.acv-tabela tbody tr:hover td[b-75wdregx3n] { background: #f8fafd; }

.acv-placa[b-75wdregx3n] { font-weight: 600; color: var(--sg-primary-titles); white-space: nowrap; }
.acv-horas[b-75wdregx3n] { font-variant-numeric: tabular-nums; font-weight: 600; }

.acv-placas[b-75wdregx3n] {
    font-weight: 600;
    color: var(--sg-primary-titles);
    max-width: 240px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acv-contagem[b-75wdregx3n] {
    font-weight: 400;
    font-size: .82rem;
    color: #5b6b80;
    margin-left: .35rem;
}

.acv-msg[b-75wdregx3n] {
    max-width: 320px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #5b6b80;
}

.acv-erro-txt[b-75wdregx3n] { color: #a41c28; }

/* ── Nota explicativa da aba Situação ────────────────────── */

.acv-nota[b-75wdregx3n] {
    display: flex;
    gap: .7rem;
    background: #eef4fc;
    border: 1px solid #d5e2f3;
    border-left: 3px solid var(--sg-primary-mid, #3f6fb5);
    border-radius: 8px;
    padding: .8rem 1rem;
    margin-bottom: 1rem;
}

.acv-nota > i[b-75wdregx3n] {
    color: var(--sg-primary-mid, #3f6fb5);
    font-size: .95rem;
    line-height: 1.5;
}

.acv-nota p[b-75wdregx3n] {
    margin: 0 0 .45rem;
    font-size: .82rem;
    line-height: 1.5;
    color: #44556b;
}

.acv-nota p.acv-nota-fim[b-75wdregx3n] { margin-bottom: 0; }

/* ── Linha expansível com o detalhe do disparo ───────────── */

.acv-clicavel[b-75wdregx3n] { cursor: pointer; }

.acv-chevron[b-75wdregx3n] {
    font-size: .72rem;
    color: #8b9bb0;
    margin-right: .4rem;
}

.acv-tabela tbody tr.acv-detalhe:hover td[b-75wdregx3n],
.acv-detalhe td[b-75wdregx3n] {
    background: #f2f6fb;
    padding: .9rem 1rem;
}

.acv-det-grade[b-75wdregx3n] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 1.4rem;
}

.acv-det-titulo[b-75wdregx3n] {
    font-size: .74rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #6b7c92;
    margin-bottom: .4rem;
}

.acv-det-tabela[b-75wdregx3n] { width: 100%; }

.acv-det-tabela td[b-75wdregx3n] {
    padding: .18rem .5rem .18rem 0;
    font-size: .84rem;
    background: transparent;
}

.acv-det-msg[b-75wdregx3n] {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: inherit;
    font-size: .84rem;
    line-height: 1.45;
    color: #44556b;
    background: #fff;
    border: 1px solid #dde5ef;
    border-radius: 7px;
    padding: .6rem .75rem;
    margin: 0 0 .8rem;
}

/* ── Etiqueta de situação ────────────────────────────────── */

.acv-sit[b-75wdregx3n] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .18rem .55rem;
    border-radius: var(--sg-radius-pill);
    font-size: .76rem;
    font-weight: 500;
    white-space: nowrap;
}

.acv-sit i[b-75wdregx3n] { font-size: .8rem; }

.acv-sit.sit-ok[b-75wdregx3n] { background: #e6f4ec; color: #146c43; }
.acv-sit.sit-feito[b-75wdregx3n] { background: #e8eefb; color: #1d4ed8; }
.acv-sit.sit-aviso[b-75wdregx3n] { background: #fef3e2; color: #9a5b06; }
.acv-sit.sit-bloqueado[b-75wdregx3n] { background: #eef1f5; color: #64748b; }

/* ── Rodapé ──────────────────────────────────────────────── */

.acv-footer[b-75wdregx3n] {
    background: #fff;
    border-top: 1px solid #e3e8ef;
    padding: .55rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .78rem;
    color: #5b6b80;
}

.acv-tag-off[b-75wdregx3n],
.acv-tag-sim[b-75wdregx3n] {
    display: inline-block;
    margin-left: .4rem;
    padding: .1rem .45rem;
    border-radius: var(--sg-radius-pill);
    font-size: .72rem;
    font-weight: 600;
}

.acv-tag-off[b-75wdregx3n] { background: #eef1f5; color: #64748b; }
.acv-tag-sim[b-75wdregx3n] { background: #fef3e2; color: #9a5b06; }

.acv-btn-fechar[b-75wdregx3n] {
    background: var(--sg-primary);
    border: none;
    color: #fff;
    padding: .35rem 1.1rem;
    border-radius: 7px;
    font-size: .82rem;
    font-weight: 500;
    transition: background var(--sg-transition);
}

.acv-btn-fechar:hover[b-75wdregx3n] { background: var(--sg-primary-mid); }

@media (max-width: 992px) {
    .acv-resumo[b-75wdregx3n] { grid-template-columns: repeat(2, 1fr); }
    .acv-msg[b-75wdregx3n] { max-width: 160px; }
    .acv-placas[b-75wdregx3n] { max-width: 120px; }
    .acv-det-grade[b-75wdregx3n] { grid-template-columns: minmax(0, 1fr); }
}
/* _content/SgtrackERP.Web/Components/Modules/Geral/Comandos.razor.rz.scp.css */
/*
    Tela de Comandos.

    O layout é o do resto do sistema: form-section / form-section-header / form-section-body e
    grid do Bootstrap, definidos em wwwroot/app.css. Aqui só entra o que não existe lá — e usando
    as mesmas variáveis (--sg-*) e a mesma cor de borda (#dee2e6), para a tela não destoar.
*/

/* ── Filtros ───────────────────────────────────────────────────────────────
   O seletor de placa abre um dropdown posicionado. Sem contexto de empilhamento
   próprio, ele fica ATRÁS do card do equipamento e das abas, que só passam a
   existir depois da primeira seleção — e aí o clique no item não chega, dando a
   impressão de que não dá para trocar de placa depois de escolher a primeira. */

[b-2ws0032h2c] .relatorio-filtros {
    position: relative;
    z-index: 30;
}

/* ── Valores só de leitura no cabeçalho do equipamento ─────────────────── */

.cmd-valor[b-2ws0032h2c] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--sg-primary-dark);
}

/* ── Abas ──────────────────────────────────────────────────────────────── */

.cmd-abas[b-2ws0032h2c] {
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0;
}

.cmd-abas .nav-link[b-2ws0032h2c] {
    border: none;
    border-bottom: 2px solid transparent;
    background: none;
    color: #6c757d;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.6rem 1.1rem;
}

.cmd-abas .nav-link:hover[b-2ws0032h2c] {
    color: var(--sg-primary-dark);
}

.cmd-abas .nav-link.active[b-2ws0032h2c] {
    color: var(--sg-primary-dark);
    border-bottom-color: var(--sg-primary);
    background: none;
}

.cmd-aba-corpo[b-2ws0032h2c] {
    padding-top: 1.25rem;
}

/* ── Bloco de comando dentro da coluna do grid ─────────────────────────── */

.cmd-bloco[b-2ws0032h2c] {
    height: 100%;
    padding: 0.875rem;
    border: 1px solid #dee2e6;
    border-radius: var(--sg-radius-md);
}

.cmd-bloco--off[b-2ws0032h2c] {
    background: #f8f9fa;
}

.cmd-bloco-nome[b-2ws0032h2c] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--sg-primary-dark);
    margin-bottom: 0.15rem;
}

.cmd-bloco-nome i[b-2ws0032h2c] {
    color: var(--sg-primary);
    margin-right: 0.35rem;
}

/* Dentro do bloco os parâmetros ficam empilhados: a coluna já é estreita. */
.cmd-bloco .row > [class*="col-md-"][b-2ws0032h2c] {
    flex: 0 0 100%;
    max-width: 100%;
}

/* ── Índice das configurações ──────────────────────────────────────────── */

.cmd-indice[b-2ws0032h2c] {
    display: flex;
    flex-direction: column;
    padding: 0.5rem;
    max-height: 70vh;
    overflow-y: auto;
}

.cmd-indice-item[b-2ws0032h2c] {
    display: flex;
    flex-direction: column;
    text-align: left;
    border: none;
    background: none;
    border-radius: var(--sg-radius-md);
    padding: 0.4rem 0.55rem;
    cursor: pointer;
}

.cmd-indice-item:hover[b-2ws0032h2c] {
    background: #f5f7ff;
}

.cmd-indice-item.ativo[b-2ws0032h2c] {
    background: var(--sg-primary);
}

.cmd-indice-item.ativo .cmd-indice-nome[b-2ws0032h2c],
.cmd-indice-item.ativo .cmd-indice-secao[b-2ws0032h2c] {
    color: #fff;
}

.cmd-indice-secao[b-2ws0032h2c] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6c757d;
}

.cmd-indice-nome[b-2ws0032h2c] {
    font-size: 0.85rem;
    color: #212529;
}

/* ── Histórico ─────────────────────────────────────────────────────────── */

/* Payload de comando pode ser longo (a cerca tem 9 campos): trunca com reticências
   e mostra inteiro no title, para a tabela não estourar a largura. */
.cmd-parametro[b-2ws0032h2c] {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cancelamento-config[b-2ws0032h2c] {
    display: flex;
    text-align: center;
    font-size: 1.1rem;
    color: red;
}

/* ── Detalhes ──────────────────────────────────────────────────────────── */

.cmd-icone-vazio[b-2ws0032h2c] {
    font-size: 1.5rem;
    opacity: 0.35;
}

.cmd-modal[b-2ws0032h2c] {
    background: rgba(0, 0, 0, 0.45);
}
/* _content/SgtrackERP.Web/Components/Modules/Geral/Configuracoes.razor.rz.scp.css */
.cfg-secao-titulo[b-vbpqehxixw] {
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bs-secondary);
    padding: .75rem 1rem .5rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.cfg-envio-corpo[b-vbpqehxixw] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    padding: 0.2rem 1rem 1rem 1rem;
    align-items: flex-end;
}

.cfg-campo[b-vbpqehxixw] {
    min-width: 180px;
    flex: 0 1 auto;
}

.cfg-campo-lg[b-vbpqehxixw] {
    min-width: 280px;
}

.cfg-campo-btn[b-vbpqehxixw] {
    min-width: auto;
}

.cancelamento-config[b-vbpqehxixw] {
    display: flex;
    text-align: center;
    font-size: 1.1rem;
    color: red;
}
/* _content/SgtrackERP.Web/Components/Modules/Geral/Laudo/GerarLaudo.razor.rz.scp.css */
.laudo-btn-opcao[b-bms4z3zowb] {
    padding: 0.15rem 0.4rem;
    font-size: 0.8rem;
}

/* ── Tabela de evidências ─────────────────────────────── */

.laudo-ev-table[b-bms4z3zowb] {
    font-size: 0.8rem;
}

.laudo-ev-table th[b-bms4z3zowb]{
    font-size: 0.7rem;
}

/* TD de Status: restaura ao tamanho normal para não afetar os ícones */
.laudo-ev-table .laudo-ev-status-td[b-bms4z3zowb] {
    font-size: 1rem;
}

/* ── Status row (mesmos estilos de Trajetos, scoped aqui) ── */

.traj-status-row[b-bms4z3zowb] {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.traj-ignicao[b-bms4z3zowb] {
    width: 1.56rem;
    height: 1.56rem;
}

.laudo-icone-circulo[b-bms4z3zowb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.56rem;
    height: 1.56rem;
    border-radius: 50%;
    font-size: .73rem;
    color: #fff;
}

.laudo-icone-limpador[b-bms4z3zowb] { background: var(--sg-primary, #2852A3); }
.laudo-icone-buzzer[b-bms4z3zowb]   { background: #ef4444; font-size: 0.8rem; }

/* ── Drop zone de anexos ─────────────────────────────── */

.laudo-anexo-drop[b-bms4z3zowb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    padding: 2rem 1rem;
    border: 2px dashed #dee2e6;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    text-align: center;
}

.laudo-anexo-drop:hover[b-bms4z3zowb] {
    border-color: #0d6efd;
    background: #f0f6ff;
}
/* _content/SgtrackERP.Web/Components/Modules/Geral/Localizacao.razor.rz.scp.css */
/* ── Layout principal ────────────────────────────────────────────── */
.loc-page[b-2vckwep0sq] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Título da página */
.loc-page[b-2vckwep0sq]  h3,
h3[b-2vckwep0sq] {
    color: var(--sg-primary-titles, #17305c);
    margin: 0 0 0.25rem 0;
}

/* ── Toolbar ─────────────────────────────────────────────────────── */
.loc-toolbar[b-2vckwep0sq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0.75rem;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    flex-wrap: wrap;
}

.loc-filtros[b-2vckwep0sq] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

/* SearchSelectInput de empresa */
.loc-empresa-wrapper[b-2vckwep0sq]  label                  { display: none; }
.loc-empresa-wrapper[b-2vckwep0sq]  > div                  { margin-bottom: 0; }
.loc-empresa-wrapper[b-2vckwep0sq]  .search-select-wrapper { width: 300px; }

.loc-busca-wrapper[b-2vckwep0sq] { position: relative; }

.loc-busca-icon[b-2vckwep0sq] {
    position: absolute;
    left: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 0.8rem;
    pointer-events: none;
}

.loc-busca[b-2vckwep0sq] {
    padding-left: 1.9rem;
    width: 230px;
}

.loc-acoes[b-2vckwep0sq] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

/* Legenda */
.loc-legenda[b-2vckwep0sq] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.8rem;
    color: #6b7280;
}

.loc-dot[b-2vckwep0sq] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    box-shadow: 0 0 0 1.5px rgba(0,0,0,0.18);
    flex-shrink: 0;
}

.loc-dot-ligado[b-2vckwep0sq]    { background-color: #22c55e; }
.loc-dot-desligado[b-2vckwep0sq] { background-color: #ef4444; }
.loc-dot-sem-info[b-2vckwep0sq]  { background-color: #94a3b8; }

.loc-btn-atualizar[b-2vckwep0sq] { font-size: 0.8rem; white-space: nowrap; }

/* ── Seção do mapa ───────────────────────────────────────────────── */
.loc-mapa-secao[b-2vckwep0sq] {
    position: relative;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    min-height: 600px;
}

.loc-btn-provedor[b-2vckwep0sq] {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 10px;
    background: white;
    border: none;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 500;
    color: #374151;
    box-shadow: 0 2px 6px rgba(0,0,0,0.18);
    cursor: pointer;
    transition: background 0.15s, box-shadow 0.15s;
}

.loc-btn-provedor:hover[b-2vckwep0sq] {
    background: #f3f4f6;
    box-shadow: 0 3px 10px rgba(0,0,0,0.22);
}

/* ── Painel da tabela ────────────────────────────────────────────── */
.loc-painel[b-2vckwep0sq] {
    width: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    background: white;
    margin-bottom: 1rem;
}

.loc-painel-body[b-2vckwep0sq] {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.12) transparent;
}

    .loc-painel-body[b-2vckwep0sq]::-webkit-scrollbar       { width: 4px; }
    .loc-painel-body[b-2vckwep0sq]::-webkit-scrollbar-track { background: transparent; }
    .loc-painel-body[b-2vckwep0sq]::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,0.12); border-radius: 4px; }

.loc-painel-footer[b-2vckwep0sq] {
    padding: 0.45rem 1rem;
    font-size: 0.73rem;
    color: #9ca3af;
    border-top: 1px solid #f3f4f6;
    flex-shrink: 0;
    background: white;
}

.loc-footer-realtime[b-2vckwep0sq]    { color: #22c55e; font-weight: 500; }
.loc-footer-carregando[b-2vckwep0sq]  { color: #9ca3af; }
.loc-spin[b-2vckwep0sq]               { display: inline-block; animation: loc-spin-b-2vckwep0sq 1s linear infinite; }
@keyframes loc-spin-b-2vckwep0sq     { to { transform: rotate(360deg); } }

/* ── Tabela ──────────────────────────────────────────────────────── */
.loc-tabela[b-2vckwep0sq] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.loc-tabela thead th[b-2vckwep0sq] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f9fafb;
    padding: 0.55rem 0.9rem;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

/* Larguras proporcionais (8 colunas) */
.loc-tabela th:nth-child(1)[b-2vckwep0sq] { width:  3%; } /* Expand */
.loc-tabela th:nth-child(2)[b-2vckwep0sq] { width: 12%; } /* Placa */
.loc-tabela th:nth-child(3)[b-2vckwep0sq] { width:  9%; } /* Equipamento */
.loc-tabela th:nth-child(4)[b-2vckwep0sq] { width: 12%; } /* Data */
.loc-tabela th:nth-child(5)[b-2vckwep0sq] { width:  7%; } /* Velocidade */
.loc-tabela th:nth-child(6)[b-2vckwep0sq] { width: 12%; } /* Motorista */
.loc-tabela th:nth-child(7)[b-2vckwep0sq] { width: 40%; } /* Local */
.loc-tabela th:nth-child(8)[b-2vckwep0sq] { width:  5%; text-align: center; } /* Status */

.loc-linha[b-2vckwep0sq] {
    cursor: pointer;
    transition: background-color 0.1s;
}

    .loc-linha:hover[b-2vckwep0sq]    { background-color: #f5f7ff; }
    .loc-linha-ativa[b-2vckwep0sq]    { background-color: #dbeafe !important; }
    .loc-linha-ativa td[b-2vckwep0sq] { color: #1e40af; }

.loc-tabela tbody td[b-2vckwep0sq] {
    padding: 0.55rem 0.9rem;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
    color: #374151;
}

.loc-tabela tbody tr:last-child td[b-2vckwep0sq] { border-bottom: none; }

.loc-equip-codigo[b-2vckwep0sq] {
    color: #111827;
    font-size: 0.74rem;
}

.loc-data[b-2vckwep0sq] {
    font-size: 0.74rem;
    color: #6b7280;
}

.loc-data-nowrap[b-2vckwep0sq] {
    white-space: nowrap;
}

.loc-status-dot[b-2vckwep0sq] {
    display: inline-block;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    box-shadow: 0 0 0 1.5px rgba(0,0,0,0.18);
    margin: 0 auto;
    display: block;
}

.loc-tabela th:nth-child(8)[b-2vckwep0sq],
.loc-tabela td:nth-child(8)[b-2vckwep0sq] { text-align: center; }

.loc-tabela-vazio[b-2vckwep0sq] {
    text-align: center;
    padding: 3rem 1rem;
    color: #9ca3af;
    font-size: 0.85rem;
}

/* ── Expand toggle ───────────────────────────────────────────────── */
.loc-td-expand[b-2vckwep0sq] {
    padding: 0 0.2rem !important;
    text-align: center;
}

.loc-expand-btn[b-2vckwep0sq] {
    background: none;
    border: none;
    cursor: pointer;
    color: #9ca3af;
    padding: 0.15rem 0.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: color 0.15s, background 0.15s;
}
    .loc-expand-btn:hover[b-2vckwep0sq] { color: #374151; background: #f3f4f6; }

.loc-expand-icon[b-2vckwep0sq] {
    font-size: 0.78rem;
    display: inline-block;
    transition: transform 0.2s;
}
    .loc-expand-icon--aberto[b-2vckwep0sq] { transform: rotate(90deg); }

/* ── Linha de detalhe ────────────────────────────────────────────── */
.loc-detalhe-row[b-2vckwep0sq] { cursor: default !important; }
    .loc-detalhe-row:hover[b-2vckwep0sq] { background: #f8fafc !important; }

.loc-detalhe-row td[b-2vckwep0sq] {
    padding: 0.75rem 1rem 1rem !important;
    background: #f8fafc;
    border-bottom: 2px solid #e5e7eb !important;
}

.loc-detalhe[b-2vckwep0sq] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.loc-detalhe-campos[b-2vckwep0sq] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 1.5rem;
}

.loc-detalhe-grupo[b-2vckwep0sq] {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-right: 1px solid #e5e7eb;
    padding-right: 1.5rem;
}
    .loc-detalhe-grupo:last-child[b-2vckwep0sq] { border-right: none; padding-right: 0; }

.loc-detalhe-item[b-2vckwep0sq] {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.28rem 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.78rem;
    color: #111827;
}
    .loc-detalhe-item:last-child[b-2vckwep0sq] { border-bottom: none; }

.loc-detalhe-label[b-2vckwep0sq] {
    flex-shrink: 0;
    min-width: 110px;
    font-size: 0.7rem;
    font-weight: 600;
    color: #6b7280;
}

/* ── Botões de ação do detalhe ───────────────────────────────────── */
.loc-detalhe-acoes[b-2vckwep0sq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.loc-acao-btn[b-2vckwep0sq] {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: 6px;
    border: 1px solid #d1d5db;
    background: white;
    color: #374151;
    text-decoration: none;
    overflow: hidden;
    transition: background 0.2s, border-color 0.2s, color 0.2s, padding 0.25s;
}
    .loc-acao-btn:hover[b-2vckwep0sq] { background: #f3f4f6; border-color: #9ca3af; color: #111827; padding: 0.3rem 0.8rem; }
    .loc-acao-btn i[b-2vckwep0sq] { font-size: 0.8rem; flex-shrink: 0; }

.loc-acao-texto[b-2vckwep0sq] {
    display: inline-block;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    white-space: nowrap;
    margin-left: 0;
    transition: max-width 0.25s ease, opacity 0.2s ease, margin-left 0.25s ease;
}

.loc-acao-btn:hover .loc-acao-texto[b-2vckwep0sq] {
    max-width: 160px;
    opacity: 1;
    margin-left: 0.4rem;
}

.loc-acao-btn-mdvr[b-2vckwep0sq] { color: #2852A3; border-color: #2852A3; }
    .loc-acao-btn-mdvr:hover[b-2vckwep0sq] { background: #eff4ff; border-color: #2852A3; color: #1a3a7a; }

/* ── Modal MDVR ──────────────────────────────────────────────────── */
.loc-mdvr-backdrop[b-2vckwep0sq] { background: rgba(0,0,0,.5); }

/* ── Grid de câmeras ─────────────────────────────────────────────── */
.loc-av-grid[b-2vckwep0sq] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

.loc-av-camera[b-2vckwep0sq] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}

.loc-av-camera-feed[b-2vckwep0sq] {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.loc-av-camera-icon[b-2vckwep0sq] { font-size: 3rem; color: rgba(255,255,255,.15); }

.loc-av-badge-live[b-2vckwep0sq] {
    position: absolute;
    top: .6rem;
    left: .6rem;
    background: #dc2626;
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .08em;
    padding: .15rem .45rem;
    border-radius: 3px;
    animation: loc-av-pulse-b-2vckwep0sq 1.6s ease-in-out infinite;
}

@keyframes loc-av-pulse-b-2vckwep0sq {
    0%, 100% { opacity: 1;  }
    50%       { opacity: .4; }
}

.loc-av-badge-canal[b-2vckwep0sq] {
    position: absolute;
    top: .6rem;
    right: .6rem;
    background: rgba(0,0,0,.55);
    color: #e5e7eb;
    font-size: .7rem;
    font-weight: 600;
    padding: .15rem .45rem;
    border-radius: 3px;
}

.loc-av-camera-footer[b-2vckwep0sq] {
    display: flex;
    align-items: center;
    padding: .5rem .75rem;
    font-size: .82rem;
    color: #374151;
}

.loc-av-camera-placa[b-2vckwep0sq] { font-weight: 600; }

.loc-cam-offline[b-2vckwep0sq] {
    color: rgba(255,255,255,.6);
    font-size: .85rem;
    font-weight: 500;
}

/* _content/SgtrackERP.Web/Components/Modules/Geral/RelMonitoramento.razor.rz.scp.css */
/* ── Página ───────────────────────────────────────────── */

.mon-page[b-qg4l9j9ka0] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mon-page-header[b-qg4l9j9ka0] {
    padding: 1rem 1.25rem .25rem;
}

.mon-titulo[b-qg4l9j9ka0] {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--sg-primary, #2852A3);
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
}

/* ── Mapa ─────────────────────────────────────────────── */

.mon-mapa-section[b-qg4l9j9ka0] {
    padding: 0;
}

.mon-mapa[b-qg4l9j9ka0] {
    height: 480px;
    position: relative;
    background: #e8eef4;
}

.mon-mapa-placeholder[b-qg4l9j9ka0] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    color: #9baabf;
    background: #e8eef4;
}

.mon-mapa-placeholder i[b-qg4l9j9ka0]  { font-size: 2.2rem; opacity: .45; }
.mon-mapa-placeholder span[b-qg4l9j9ka0] { font-size: .875rem; }

/* ── Status bar ───────────────────────────────────────── */

.mon-status-bar[b-qg4l9j9ka0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .38rem 1rem;
    border-top: 1px solid #e9ecef;
    background: #f8f9fa;
    gap: 1rem;
    flex-wrap: wrap;
    min-height: 36px;
}

.mon-status-left[b-qg4l9j9ka0] {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .78rem;
    color: #555;
}

.mon-status-right[b-qg4l9j9ka0] {
    display: flex;
    align-items: center;
    gap: .3rem;
}

.mon-sep[b-qg4l9j9ka0]   { color: #ccc; }
.mon-sep-v[b-qg4l9j9ka0] {
    width: 1px;
    height: 16px;
    background: #dee2e6;
    margin: 0 .25rem;
}

/* Dot pulsante ao vivo */
.mon-live-dot[b-qg4l9j9ka0] {
    font-size: .45rem;
    color: #22c55e;
    animation: mon-pulse 1.5s ease-in-out infinite;
}

@@keyframes mon-pulse {
    0%[b-qg4l9j9ka0], 100%[b-qg4l9j9ka0] { opacity: 1; }
    50%[b-qg4l9j9ka0]       { opacity: .25; }
}

/* Botão trocar provedor */
.mon-btn-provedor[b-qg4l9j9ka0] {
    padding: .18rem .55rem;
    font-size: .72rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    color: #495057;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .3rem;
    transition: background .15s;
}

.mon-btn-provedor:hover[b-qg4l9j9ka0] { background: #e9ecef; }

/* Intervalo */
.mon-interval-label[b-qg4l9j9ka0] {
    font-size: .72rem;
    color: #6c757d;
    margin-right: .1rem;
}

.mon-interval-btn[b-qg4l9j9ka0] {
    padding: .18rem .45rem;
    font-size: .72rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    color: #495057;
    cursor: pointer;
    transition: background .15s;
}

.mon-interval-btn:hover[b-qg4l9j9ka0] { background: #e9ecef; }

.mon-interval-btn.active[b-qg4l9j9ka0] {
    background: #2852A3;
    color: #fff;
    border-color: #2852A3;
}

/* Botão Atualizar */
.mon-btn-atualizar[b-qg4l9j9ka0] {
    padding: .18rem .55rem;
    font-size: .72rem;
    border: 1px solid #2852A3;
    border-radius: 4px;
    background: #fff;
    color: #2852A3;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .25rem;
    transition: background .15s;
    margin-left: .15rem;
}

.mon-btn-atualizar:hover:not(:disabled)[b-qg4l9j9ka0] {
    background: #2852A3;
    color: #fff;
}

.mon-btn-atualizar:disabled[b-qg4l9j9ka0] { opacity: .5; cursor: default; }

/* ── Barra de filtros ─────────────────────────────────── */

.relatorio-filtros[b-qg4l9j9ka0] {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding: 0.65rem 0.65rem 0.65rem 1rem;
}

.relatorio-filtros > [class*="col-"][b-qg4l9j9ka0] {
    flex-shrink: 0;
    min-width: 80px;
}

.filtro-campo-buscar[b-qg4l9j9ka0] {
    display: flex;
    align-items: flex-end;
}

/* ── Tabela ───────────────────────────────────────────── */

.mon-table[b-qg4l9j9ka0] {
    table-layout: fixed;
    width: 100%;
}

.mon-table th[b-qg4l9j9ka0],
.mon-table td[b-qg4l9j9ka0] {
    font-size: .72rem;
}

.mon-table th:first-child[b-qg4l9j9ka0],
.mon-table td:first-child[b-qg4l9j9ka0] {
    padding-left: .75rem;
    width: 24px;
}

.mon-col-placa[b-qg4l9j9ka0] { width: 7%; }
.mon-col-kmh[b-qg4l9j9ka0]   { width: 5%; }
.mon-col-ign[b-qg4l9j9ka0]   { width: 6%; }
.mon-col-data[b-qg4l9j9ka0]  { width: 9%; }
.mon-col-local[b-qg4l9j9ka0] {
    max-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mon-cor-dot[b-qg4l9j9ka0] {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.8);
    box-shadow: 0 0 0 1.5px rgba(0,0,0,.15);
    vertical-align: middle;
}

.mon-row[b-qg4l9j9ka0] {
    cursor: pointer;
    transition: background .1s;
}

.mon-row:hover td[b-qg4l9j9ka0] {
    background: rgba(40, 82, 163, .055);
}

/* ── Botão do acompanhamento de avisos — mesma altura do botão de buscar ── */

.btn-acompanhamento[b-qg4l9j9ka0] {
    height: calc(2.05rem + 2px);
    padding: 0 16px;
    margin-left: .5rem;
    border: none;
    border-radius: 6px;
    background: var(--sg-primary, #2852A3);
    color: #fff;
    font-size: .82rem;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    align-self: flex-end;
    transition: background .15s, box-shadow .15s;
}

.btn-acompanhamento:hover[b-qg4l9j9ka0] {
    background: var(--sg-primary-mid, #22488a);
    box-shadow: 0 2px 8px rgba(40, 82, 163, .32);
}
/* _content/SgtrackERP.Web/Components/Modules/Geral/Trajetos.razor.rz.scp.css */
/* ── Mapa ─────────────────────────────────────────────── */

.trajetos-mapa-section[b-k5ctl5qtp6] {
    padding: 0;
}

.trajetos-mapa[b-k5ctl5qtp6] {
    height: 420px;
    border-radius: 0.5rem;
    position: relative;
    background: #e8eef4;
}

.trajetos-mapa-placeholder[b-k5ctl5qtp6] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    color: #9baabf;
    background: #e8eef4;
    border-radius: 0.5rem;
}

.trajetos-mapa-placeholder i[b-k5ctl5qtp6] {
    font-size: 2.5rem;
    opacity: .5;
}

.trajetos-mapa-placeholder span[b-k5ctl5qtp6] {
    font-size: .875rem;
}

/* ── Tabela de trajeto (aba mapa) ─────────────────────── */

.trajeto-table[b-k5ctl5qtp6] {
    table-layout: fixed;
    width: 100%;
}

    .trajeto-table th[b-k5ctl5qtp6] {
        font-size: .68rem;
    }

    .trajeto-table td[b-k5ctl5qtp6] {
        font-size: .72rem;
    }

.trajeto-table th:first-child[b-k5ctl5qtp6],
.trajeto-table td:first-child[b-k5ctl5qtp6] {
    padding-left: 1rem;
}

.trajeto-table .col-seq[b-k5ctl5qtp6]      { width: 3.5rem; }
.trajeto-table .col-traj-status[b-k5ctl5qtp6] { width: 10%; }
.trajeto-table .col-dist[b-k5ctl5qtp6]     { width: 8rem; }

.trajeto-table .col-motorista[b-k5ctl5qtp6]      { width: 15%; padding-left:2%;}
.trajeto-table .col-tipo[b-k5ctl5qtp6] { width: 6%; }
.trajeto-table .col-data[b-k5ctl5qtp6]   { width: 10%; }
.trajeto-table .col-kmh[b-k5ctl5qtp6]   { width: 6%; justify-content: center;}
.trajeto-table .col-hodometro[b-k5ctl5qtp6]  { width: 6%; }
.trajeto-table .col-local[b-k5ctl5qtp6]     { width: 15%; }
.trajeto-table .col-cerca[b-k5ctl5qtp6]      { width: 10%; }


.traj-icone-circulo[b-k5ctl5qtp6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 50%;
    font-size: .75rem;
    color: #fff;
}

.traj-icone-limpador[b-k5ctl5qtp6] { background: var(--sg-primary, #2852A3); }
.traj-icone-buzzer[b-k5ctl5qtp6]   { background: #ef4444; font-size: 0.9rem; }
.bi-broadcast[b-k5ctl5qtp6] { align-content: center; margin-top: 0.1rem; }

/* ── Localização ──────────────────────────────────────── */

.traj-local[b-k5ctl5qtp6] {
    font-size: .8125rem;
    color: #555;
}

/* ── Aba: Registros ───────────────────────────────────── */

.registros-titulo[b-k5ctl5qtp6] {
    font-size: .9375rem;
    font-weight: 600;
    color: var(--sg-primary, #2852A3);
    margin: 1rem 0 .5rem;
    display: flex;
    align-items: center;
    gap: .4rem;
}

.registros-table th:first-child[b-k5ctl5qtp6],
.registros-table td:first-child[b-k5ctl5qtp6] {
    padding-left: 1rem;
}

.registros-table[b-k5ctl5qtp6] {
    table-layout: fixed;
    width: 100%;
}

.registros-table th[b-k5ctl5qtp6] {
    font-size: .68rem;
}

.registros-table td[b-k5ctl5qtp6] {
    font-size: .72rem;
}

.registros-table .col-motorista[b-k5ctl5qtp6]      { width: 17%; }
.registros-table .col-gps[b-k5ctl5qtp6]     { width: 10%; }
.registros-table .col-data[b-k5ctl5qtp6]      { width: 11%; }
    .registros-table .col-kmh[b-k5ctl5qtp6] {
        width: 7%;
        justify-content: center;
    }
.registros-table .col-tipo[b-k5ctl5qtp6]      { width: 9%;}
.registros-table .col-reg-status[b-k5ctl5qtp6]{ width: 10%; }
.registros-table .col-local-r[b-k5ctl5qtp6]  { width: 19%; }
.registros-table .col-num[b-k5ctl5qtp6]      { width: 8%; }
.registros-table .col-bat[b-k5ctl5qtp6]      { width: 8%; }

/* ── Status row (registros) ───────────────────────────── */

.traj-status-row[b-k5ctl5qtp6] {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.traj-sinal[b-k5ctl5qtp6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: #d0e8ff;
    color: var(--sg-primary, #2852A3);
    font-size: .75rem;
}

/* ── Botões de opção ──────────────────────────────────── */

.traj-opcoes[b-k5ctl5qtp6] {
    display: flex;
    gap: .25rem;
}

.traj-btn-opcao[b-k5ctl5qtp6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    font-size: .8125rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

.traj-btn-opcao:hover[b-k5ctl5qtp6] {
    background: var(--sg-primary, #2852A3);
    color: #fff;
}

.filtro-campo[b-k5ctl5qtp6] {
    margin-bottom: 0.5rem;
}

/* ── Playback ─────────────────────────────────────────── */

.traj-playback-section[b-k5ctl5qtp6] {
    padding: .5rem 1rem;
    border-top: 1px solid #e9ecef;
    background: #f8f9fa;
}

.traj-pb-controles[b-k5ctl5qtp6] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.traj-pb-btn[b-k5ctl5qtp6] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #dee2e6;
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .95rem;
    color: #495057;
    flex-shrink: 0;
    transition: background .15s;
}

.traj-pb-btn:hover[b-k5ctl5qtp6] { background: #e9ecef; }

.traj-pb-btn-ativo[b-k5ctl5qtp6] {
    background: #2852A3;
    border-color: #2852A3;
    color: #fff;
    font-size: 1.05rem;
    width: 38px;
    height: 38px;
}

.traj-pb-btn-ativo:hover[b-k5ctl5qtp6] { background: #1e3f7e; }

.traj-pb-barra-wrap[b-k5ctl5qtp6] {
    flex: 1;
    min-width: 60px;
}

.traj-pb-barra[b-k5ctl5qtp6] {
    height: 4px;
    background: #dee2e6;
    border-radius: 2px;
}

.traj-pb-barra-inner[b-k5ctl5qtp6] {
    height: 100%;
    background: #2852A3;
    border-radius: 2px;
    transition: width .4s linear;
}

.traj-pb-info[b-k5ctl5qtp6] {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .78rem;
}

.traj-pb-tipo[b-k5ctl5qtp6] { font-weight: 600; color: #2852A3; }
.traj-pb-hora[b-k5ctl5qtp6] { color: #6c757d; }
.traj-pb-kmh[b-k5ctl5qtp6]  { font-weight: 500; color: #495057; }
.traj-pb-prog[b-k5ctl5qtp6] { color: #6c757d; white-space: nowrap; }

.traj-pb-velocidade[b-k5ctl5qtp6] {
    display: flex;
    align-items: center;
    gap: .2rem;
    flex-shrink: 0;
}

.traj-pb-vel-label[b-k5ctl5qtp6] {
    font-size: .72rem;
    color: #6c757d;
    margin-right: .15rem;
}

.traj-pb-vel-btn[b-k5ctl5qtp6] {
    padding: .18rem .45rem;
    font-size: .72rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    color: #495057;
    cursor: pointer;
    transition: background .15s;
}

.traj-pb-vel-btn:hover[b-k5ctl5qtp6] { background: #e9ecef; }

.traj-pb-vel-btn.active[b-k5ctl5qtp6] {
    background: #2852A3;
    color: #fff;
    border-color: #2852A3;
}

.traj-pb-sep-v[b-k5ctl5qtp6] {
    width: 1px;
    height: 18px;
    background: #dee2e6;
    margin: 0 .2rem;
    flex-shrink: 0;
}

.traj-pb-provedor-btn[b-k5ctl5qtp6] {
    padding: .18rem .52rem;
    font-size: .72rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    color: #495057;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .25rem;
    transition: background .15s;
    flex-shrink: 0;
}

.traj-pb-provedor-btn:hover[b-k5ctl5qtp6] { background: #e9ecef; }
/* _content/SgtrackERP.Web/Components/Modules/Geral/UltimosRegistros.razor.rz.scp.css */
.ur-table[b-qrvegbwwd6] {
    table-layout: fixed;
    width: 100%;
}

.ur-table th[b-qrvegbwwd6] {
    font-size: .68rem;
}

.ur-table td[b-qrvegbwwd6] {
    font-size: .72rem;
}

.ur-table th:first-child[b-qrvegbwwd6],
.ur-table td:first-child[b-qrvegbwwd6] {
    padding-left: 1rem;
}

.ur-col-motorista[b-qrvegbwwd6] { width: 17%; }
.ur-col-tipo[b-qrvegbwwd6]      { width: 9%; }
.ur-col-gps[b-qrvegbwwd6]       { width: 11%; }
.ur-col-data[b-qrvegbwwd6]      { width: 12%; }
.ur-col-kmh[b-qrvegbwwd6]       { width: 6%; text-align: center; }
.ur-col-status[b-qrvegbwwd6]    { width: 7%; }
.ur-col-local[b-qrvegbwwd6]     { width: 17%; }
.ur-col-num[b-qrvegbwwd6]       { width: 8%; }
.ur-col-bat[b-qrvegbwwd6]       { width: 6%; }

/* ── Paginação ── */
.ur-paginacao[b-qrvegbwwd6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem 1rem;
    border-top: 1px solid #e9ecef;
    flex-wrap: wrap;
    gap: .5rem;
}

.ur-pag-info[b-qrvegbwwd6] {
    font-size: .75rem;
    color: #6c757d;
}

.ur-pag-controles[b-qrvegbwwd6] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ur-pag-tamanho[b-qrvegbwwd6] {
    display: flex;
    align-items: center;
    gap: .25rem;
}

.ur-pag-label[b-qrvegbwwd6] {
    font-size: .75rem;
    color: #6c757d;
    margin-right: .25rem;
}

.ur-pag-btn-size[b-qrvegbwwd6] {
    padding: .2rem .55rem;
    font-size: .75rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    color: #495057;
    cursor: pointer;
    transition: background .15s;
}

.ur-pag-btn-size:hover[b-qrvegbwwd6],
.ur-pag-btn-size.active[b-qrvegbwwd6] {
    background: #2852A3;
    color: #fff;
    border-color: #2852A3;
}

.ur-pag-nav[b-qrvegbwwd6] {
    display: flex;
    gap: .2rem;
}

.ur-pag-btn[b-qrvegbwwd6] {
    min-width: 30px;
    padding: .2rem .45rem;
    font-size: .75rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    color: #495057;
    cursor: pointer;
    transition: background .15s;
}

.ur-pag-btn:hover:not(:disabled)[b-qrvegbwwd6] {
    background: #e9ecef;
}

.ur-pag-btn.active[b-qrvegbwwd6] {
    background: #2852A3;
    color: #fff;
    border-color: #2852A3;
}

.ur-pag-btn:disabled[b-qrvegbwwd6] {
    opacity: .4;
    cursor: default;
}
/* _content/SgtrackERP.Web/Components/Modules/Ocorrencias/PainelOcorrencias.razor.rz.scp.css */
/* ── Cards de resumo ──
   Clicáveis: cada um filtra a lista pelo seu nível. */
.po-cards[b-evxb1v4s9h] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.po-card[b-evxb1v4s9h] {
    flex: 1 1 150px;
    min-width: 140px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #cbd5e1;
    border-radius: 0.5rem;
    padding: 0.7rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    cursor: pointer;
    transition: box-shadow .12s, border-color .12s;
}

.po-card:hover[b-evxb1v4s9h] { box-shadow: 0 2px 8px rgba(17,24,39,.08); }

.po-card--ativo[b-evxb1v4s9h] { box-shadow: 0 0 0 2px rgba(40,82,163,.25); }

.po-card-n[b-evxb1v4s9h] {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: #111827;
}

.po-card-k[b-evxb1v4s9h] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #374151;
}

.po-card-d[b-evxb1v4s9h] {
    font-size: 0.72rem;
    color: #9ca3af;
}

/* Os dois últimos cards são informativos, não filtram. */
.po-card-atraso[b-evxb1v4s9h],
.po-card-fechado[b-evxb1v4s9h] { cursor: default; }

.po-card-atraso[b-evxb1v4s9h]  { border-left-color: #b31b1b; }
.po-card-fechado[b-evxb1v4s9h] { border-left-color: #15803d; }

/* ── Escala de criticidade ──
   A mesma do cadastro, para a cor significar o mesmo nas duas telas. */
.po-card.po-nivel-1[b-evxb1v4s9h] { border-left-color: #b31b1b; }
.po-card.po-nivel-2[b-evxb1v4s9h] { border-left-color: #ea580c; }
.po-card.po-nivel-3[b-evxb1v4s9h] { border-left-color: #d19c00; }
.po-card.po-nivel-4[b-evxb1v4s9h] { border-left-color: #64748b; }

.po-badge[b-evxb1v4s9h] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.6;
    padding: 0 0.5rem;
    border-radius: 0.25rem;
    white-space: nowrap;
    color: #fff;
}

.po-nivel-1[b-evxb1v4s9h] { background: #b31b1b; }
.po-nivel-2[b-evxb1v4s9h] { background: #ea580c; }
.po-nivel-3[b-evxb1v4s9h] { background: #d19c00; }
.po-nivel-4[b-evxb1v4s9h] { background: #64748b; }

/* ── Situação ── */
.po-status[b-evxb1v4s9h] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.6;
    padding: 0 0.5rem;
    border-radius: 0.25rem;
    white-space: nowrap;
}

.po-status-1[b-evxb1v4s9h] { background: #fee2e2; color: #991b1b; }
.po-status-2[b-evxb1v4s9h] { background: #fef3c7; color: #92400e; }
.po-status-3[b-evxb1v4s9h] { background: #dcfce7; color: #166534; }

/* ── Lista ── */
.po-table td[b-evxb1v4s9h] { vertical-align: middle; }

.po-col-local[b-evxb1v4s9h] {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Linha que passou do prazo sem fechar. */
.po-row--atraso[b-evxb1v4s9h]       { background: #fdf1f1 !important; }
.po-row--atraso:hover[b-evxb1v4s9h] { background: #fbe3e3 !important; }

/* ── Modal de atendimento ── */
.po-modal-backdrop[b-evxb1v4s9h] {
    background: rgba(17, 24, 39, .45);
}

.po-hist-titulo[b-evxb1v4s9h] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding-top: 0.5rem;
    border-top: 1px solid #e5e7eb;
    margin-bottom: 0.6rem;
}

.po-hist[b-evxb1v4s9h] {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 240px;
    overflow-y: auto;
}

.po-hist li[b-evxb1v4s9h] {
    padding: 0.5rem 0;
    border-bottom: 1px solid #f3f4f6;
}

.po-hist li:last-child[b-evxb1v4s9h] { border-bottom: none; }

.po-hist-cab[b-evxb1v4s9h] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.2rem;
}

.po-hist-meta[b-evxb1v4s9h] {
    font-size: 0.75rem;
    color: #9ca3af;
}

.po-hist-txt[b-evxb1v4s9h] {
    font-size: 0.85rem;
    color: #374151;
    white-space: pre-wrap;
}

@media (max-width: 640.98px) {
    .po-card[b-evxb1v4s9h] { flex: 1 1 100%; }
}

/* Barra do fechamento em lote, acima da lista */
.po-lote-barra[b-evxb1v4s9h] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .5rem .75rem;
    border-bottom: 1px solid var(--bs-border-color, #e5e7eb);
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelBafometro.razor.rz.scp.css */
.bf-table[b-7m0g2r4zwi] {
    font-size: 0.82rem;
    white-space: nowrap;
}

.bf-col-endereco[b-7m0g2r4zwi] {
    white-space: normal;
    min-width: 200px;
}

/* ── Botão de mapa (mesmo padrão de RelVelocidade) ── */

.traj-btn-opcao[b-7m0g2r4zwi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    font-size: .8125rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

.traj-btn-opcao:hover[b-7m0g2r4zwi] {
    background: var(--sg-primary, #2852A3);
    color: #fff;
}

/* ── Modal de mapa ── */

.vm-modal-backdrop[b-7m0g2r4zwi] {
    background: rgba(0, 0, 0, 0.5);
}

.vm-modal-backdrop .modal-body[b-7m0g2r4zwi] {
    border-radius: 0 0 0.375rem 0.375rem;
    overflow: hidden;
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelBalanca.razor.rz.scp.css */
/* ── Linha de filtros ─────────────────────────────────── */

/* .relatorio-filtros é um flexbox com gap (RelatorioLayout.razor.css), não um .row:
   os col-md-* somam 100% da largura e os gaps entram POR CIMA disso. Com o
   flex-shrink: 0 do layout, o último campo da linha é empurrado para baixo mesmo
   quando a soma é 12. Permitir o encolhimento faz os campos cederem os ~2,6rem
   dos gaps entre si. */
.relatorio-filtros > div[class*="col-"][b-hh2nlc4gmq] {
    flex-shrink: 1;
    min-width: 0;
}

/* ── Tabela principal ─────────────────────────────────── */

.bl-table th[b-hh2nlc4gmq],
.bl-table td[b-hh2nlc4gmq] {
    vertical-align: middle;
}

.bl-table th:nth-child(1)[b-hh2nlc4gmq],
.bl-table td:nth-child(1)[b-hh2nlc4gmq] { width: 1%; }

.bl-table th:nth-child(2)[b-hh2nlc4gmq],
.bl-table td:nth-child(2)[b-hh2nlc4gmq] { width: 9%; text-wrap:wrap;}

.bl-table th:nth-child(3)[b-hh2nlc4gmq],
.bl-table td:nth-child(3)[b-hh2nlc4gmq] { width: 9%; }

.bl-table th:nth-child(4)[b-hh2nlc4gmq],
.bl-table td:nth-child(4)[b-hh2nlc4gmq] { width: 9%; }

.bl-table th:nth-child(5)[b-hh2nlc4gmq],
.bl-table td:nth-child(5)[b-hh2nlc4gmq] { width: 7%; }

.bl-table th:nth-child(6)[b-hh2nlc4gmq],
.bl-table td:nth-child(6)[b-hh2nlc4gmq] { width: 6%; }

.bl-table th:nth-child(7)[b-hh2nlc4gmq],
.bl-table td:nth-child(7)[b-hh2nlc4gmq] { width: 11%; }

.bl-table th:nth-child(8)[b-hh2nlc4gmq],
.bl-table td:nth-child(8)[b-hh2nlc4gmq] { width: 11%; }

.bl-table th:nth-child(9)[b-hh2nlc4gmq],
.bl-table td:nth-child(9)[b-hh2nlc4gmq] { width: 11%; }

.bl-table th:nth-child(10)[b-hh2nlc4gmq],
.bl-table td:nth-child(10)[b-hh2nlc4gmq] { width: 11%; }

.bl-table th:nth-child(11)[b-hh2nlc4gmq],
.bl-table td:nth-child(11)[b-hh2nlc4gmq] { width: 7%; }

.bl-table th:nth-child(12)[b-hh2nlc4gmq],
.bl-table td:nth-child(12)[b-hh2nlc4gmq] { width: 8%; }

/* ── Linha de carregamento (clicável) ─────────────────── */

.bl-row-carregamento[b-hh2nlc4gmq] {
    cursor: pointer;
    background-color: #fff !important;
    transition: background-color 0.1s;
}

.bl-row-carregamento:hover[b-hh2nlc4gmq] {
    filter: brightness(0.96);
}

.bl-row-aberta[b-hh2nlc4gmq] {
    background-color: #f0f4ff !important;
}

/* ── Peso excedido ────────────────────────────────────── */

.bl-row-excedido[b-hh2nlc4gmq] {
    background-color: rgba(220, 53, 69, 0.1) !important;
}

.bl-peso-excedido[b-hh2nlc4gmq] {
    color: #dc3545;
    font-weight: 600;
}

/* ── Ícone expandir ───────────────────────────────────── */

.bl-expandir-icone[b-hh2nlc4gmq] {
    display: inline-block;
    font-size: 0.7rem;
    color: #9baabf;
    transition: transform 0.15s ease;
    vertical-align: middle;
}

.bl-expandir-icone.expandido[b-hh2nlc4gmq] {
    transform: rotate(90deg);
    color: var(--sg-primary, #2852A3);
}

/* ── Células editáveis (duplo clique) ─────────────────── */

.bl-celula-editavel[b-hh2nlc4gmq] {
    cursor: text;
}

    /* Sublinhado pontilhado discreto só no hover, indicando que dá para editar. */
    .bl-celula-editavel:hover span[b-hh2nlc4gmq] {
        border-bottom: 1px dashed #9baabf;
    }

.bl-edit-input[b-hh2nlc4gmq] {
    width: 100%;
    padding: 0.1rem 0.35rem;
    font: inherit;
    color: #374151;
    background-color: #fff;
    border: 1px solid var(--sg-primary, #2852A3);
    border-radius: 3px;
    outline: none;
}

    .bl-edit-input:focus[b-hh2nlc4gmq] {
        box-shadow: 0 0 0 2px rgba(40, 82, 163, 0.15);
    }

/* ── Linha de pazadas ─────────────────────────────────── */

.bl-pazadas-row > td[b-hh2nlc4gmq] {
    background-color: #f8f9ff !important;
    border-top: none !important;
    padding: 0 !important;
}

.bl-pazadas-container[b-hh2nlc4gmq] {
    padding: 0.65rem 1.5rem 0.75rem 2.5rem;
    border-top: 1px solid #e2e8f0;
}

.bl-pazadas-header[b-hh2nlc4gmq] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--sg-primary, #2852A3);
    margin-bottom: 0.45rem;
}

.bl-pazadas-export[b-hh2nlc4gmq] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: 0.75rem;
}

    /* Botão com aparência de link: sem navegação, só o visual. */
    .bl-pazadas-export button[b-hh2nlc4gmq] {
        padding: 0;
        border: none;
        background: none;
        font: inherit;
        font-weight: 500;
        font-size: 0.75rem;
        color: var(--sg-primary, #2852A3);
        text-decoration: underline;
        cursor: pointer;
    }

        .bl-pazadas-export button:hover[b-hh2nlc4gmq] {
            color: var(--sg-primary-mid, #22488a);
        }

.bl-pazadas-total[b-hh2nlc4gmq] {
    font-weight: 400;
    font-size: 0.75rem;
    color: #6b7280;
    margin-left: 0.25rem;
}

/* ── Tabela de pazadas ────────────────────────────────── */

.bl-pazadas-table[b-hh2nlc4gmq] {
    width: 55%;
    border-collapse: collapse;
    font-size: 0.78rem;
}

.bl-pazadas-table th[b-hh2nlc4gmq] {
    font-size: 0.71rem;
    font-weight: 600;
    color: #6b7280;
    padding: 0.2rem 0.6rem;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
}

.bl-pazadas-table td[b-hh2nlc4gmq] {
    padding: 0.25rem 0.6rem;
    border-bottom: 1px solid #f3f4f6;
    color: #374151;
}

.bl-pazadas-table tbody tr:last-child td[b-hh2nlc4gmq] {
    border-bottom: none;
}

/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelControlePontos.razor.rz.scp.css */
/* Tabela geral */
.cp-table th[b-x1kqjbcff5],
.cp-table td[b-x1kqjbcff5] {
    vertical-align: middle;
    font-size: .75rem;
}

/* Linha sem saída registrada → amarelo suave */
.cp-row-sem-saida[b-x1kqjbcff5] {
    background-color: rgba(255, 193, 7, 0.07);
}

/* Linha com infração de velocidade → vermelho suave */
.cp-row-infracao[b-x1kqjbcff5] {
    background-color: rgba(220, 53, 69, 0.06);
}

/* Indicador textual de aviso (sem saída) */
.cp-aviso[b-x1kqjbcff5] {
    color: #b08800;
}

/* Indicador textual de infração */
.cp-infracao[b-x1kqjbcff5] {
    color: #dc3545;
    font-weight: 600;
}

/* Valor de velocidade em infração */
.cp-infracao-valor[b-x1kqjbcff5] {
    color: #dc3545;
    font-weight: 600;
}

/* Link para o mapa */
.cp-map-link[b-x1kqjbcff5] {
    color: inherit;
    text-decoration: none;
}
.cp-map-link:hover[b-x1kqjbcff5] {
    text-decoration: underline;
    color: #0d6efd;
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelDeslocamentosParadas.razor.rz.scp.css */
/* ── Multi-select input+button (mesmo padrão RelDistanciaPercorrida) ── */
.rv-placa-input-row[b-iuhz793w4x] {
    display: flex;
    gap: 0.4rem;
    align-items: flex-end;
}

.rv-placa-select-wrap[b-iuhz793w4x] {
    flex: 1;
    min-width: 0;
}

.rv-add-btn[b-iuhz793w4x] {
    flex-shrink: 0;
    margin-bottom: 0;
    align-self: flex-end;
}

    .rv-add-btn:disabled[b-iuhz793w4x] {
        cursor: not-allowed;
    }

/* ── Seção de tags selecionadas ─────────────────────────────────────── */
.rv-placas-selecionadas[b-iuhz793w4x] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
}

.rv-placas-selecionadas-label[b-iuhz793w4x] {
    font-size: 0.82rem;
    color: #6c757d;
    font-weight: 500;
    white-space: nowrap;
}

.dp-label-sep[b-iuhz793w4x] {
    margin-left: 0.6rem;
}

.rv-placa-tag[b-iuhz793w4x] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.5rem 0.25rem 0.65rem;
    background-color: #e8edf8;
    color: #1e40af;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 500;
}

.rv-placa-tag-mot[b-iuhz793w4x] {
    background-color: #f0fdf4;
    color: #166534;
}

.rv-placa-tag-remove[b-iuhz793w4x] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    background: none;
    color: inherit;
    border-radius: 50%;
    font-size: 0.85rem;
    cursor: pointer;
    line-height: 1;
    transition: background-color 0.15s, color 0.15s;
}

.rv-placa-tag-remove:hover[b-iuhz793w4x] {
    background-color: currentColor;
    color: #fff;
}

/* ── Gráfico ─────────────────────────────────────────────────────────── */
.dp-grafico-section[b-iuhz793w4x] {
    padding: 0.75rem 1rem 0.25rem;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

/* ── Tabela ──────────────────────────────────────────────────────────── */
.dp-table[b-iuhz793w4x] { width: 100%; font-size: 0.82rem; }
.dp-table th[b-iuhz793w4x],
.dp-table td[b-iuhz793w4x] { vertical-align: middle; }

/* ── Badges de tipo ──────────────────────────────────────────────────── */
.dp-tipo[b-iuhz793w4x] {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
}
.dp-tipo-d[b-iuhz793w4x]  { background: #dbeafe; color: #1d4ed8; }
.dp-tipo-p[b-iuhz793w4x]  { background: #fee2e2; color: #b91c1c; }
.dp-tipo-lp[b-iuhz793w4x] { background: #fef9c3; color: #713f12; }
.dp-tipo-r[b-iuhz793w4x]  { background: #f3e8ff; color: #6b21a8; }

/* Linhas coloridas sutis por tipo */
.dp-row-p[b-iuhz793w4x]  { background-color: rgba(239, 68,  68,  .04); }
.dp-row-lp[b-iuhz793w4x] { background-color: rgba(245, 158, 11,  .04); }
.dp-row-r[b-iuhz793w4x]  { background-color: rgba(107, 33,  168, .03); }

/* ── Endereços ───────────────────────────────────────────────────────── */
.dp-endereco[b-iuhz793w4x] {
    max-width: 220px;
    white-space: normal;
    font-size: 0.78rem;
    line-height: 1.3;
}

/* ── Link mapa ───────────────────────────────────────────────────────── */
.dp-map-link[b-iuhz793w4x] { color: inherit; text-decoration: none; font-size: 0.78rem; }
.dp-map-link:hover[b-iuhz793w4x] { text-decoration: underline; color: #0d6efd; }

/* ── Dropdown Exibir ─────────────────────────────────────────────────── */
.dp-opcoes-dropdown[b-iuhz793w4x] { position: relative; }

.dp-opcoes-btn[b-iuhz793w4x] {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dp-opcoes-btn.dp-opcoes-aberto[b-iuhz793w4x] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.dp-opcoes-chevron[b-iuhz793w4x] {
    font-size: 0.7rem;
    margin-left: 0.4rem;
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.dp-opcoes-btn.dp-opcoes-aberto .dp-opcoes-chevron[b-iuhz793w4x] { transform: rotate(180deg); }

.dp-opcoes-panel[b-iuhz793w4x] {
    position: absolute;
    z-index: 500;
    top: calc(100% + 4px);
    left: 0;
    min-width: 180px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.dp-opcoes-panel .form-check-label[b-iuhz793w4x] { font-size: .875rem; cursor: pointer; }
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelDistanciaPercorrida.razor.rz.scp.css */
/* Linha com select + botão */
.rv-placa-input-row[b-7xx1nh2rmt] {
    display: flex;
    gap: 0.35rem;
    align-items: flex-end;
}

.rv-placa-select-wrap[b-7xx1nh2rmt] {
    flex: 1;
    min-width: 0;
}

/* Botão + alinhado com os inputs do filtro */
.rv-add-btn[b-7xx1nh2rmt] {
    width: calc(2.375rem + 2px);
    height: calc(2.05rem + 2px);
    flex-shrink: 0;
}

    .rv-add-btn:disabled[b-7xx1nh2rmt] {
        width: calc(2.375rem + 2px);
        height: calc(2.05rem + 2px);
        flex-shrink: 0;
    }

/* Seção de placas selecionadas */
.rv-placas-selecionadas[b-7xx1nh2rmt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.65rem 1rem;
}

.rv-placas-selecionadas-label[b-7xx1nh2rmt] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-text-muted, #6b7280);
    margin-right: 0.15rem;
    white-space: nowrap;
}

/* Tags de placas */
.rv-placa-tag[b-7xx1nh2rmt] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem 0.15rem 0.6rem;
    background: var(--color-primary-light, #eff6ff);
    border: 1px solid var(--color-primary, #2563eb);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--color-primary, #2563eb);
}

.rv-placa-tag-remove[b-7xx1nh2rmt] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    color: var(--color-primary, #2563eb);
    cursor: pointer;
    font-size: 0.85rem;
    line-height: 1;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.rv-placa-tag-remove:hover[b-7xx1nh2rmt] {
    opacity: 1;
}

/* Seção do gráfico */
.dp-dist-grafico-section[b-7xx1nh2rmt] {
    padding: 0.75rem 1rem 0.5rem;
}

/* Tabela */
.dp-dist-table th[b-7xx1nh2rmt],
.dp-dist-table td[b-7xx1nh2rmt] {
    vertical-align: middle;
    font-size: .75rem;
}

/* Dia sem distância percorrida */
.dp-dist-row-zero[b-7xx1nh2rmt] { color: #9ca3af; }

/* Valor de km positivo */
.dp-dist-km[b-7xx1nh2rmt] { color: #1d4ed8; }

.dp-dist-table th:nth-child(1)[b-7xx1nh2rmt],
.dp-dist-table td:nth-child(1)[b-7xx1nh2rmt] { width: 20%; }

.dp-dist-table th:nth-child(2)[b-7xx1nh2rmt],
.dp-dist-table td:nth-child(2)[b-7xx1nh2rmt] { width: 20%; }

.dp-dist-table th:nth-child(3)[b-7xx1nh2rmt],
.dp-dist-table td:nth-child(3)[b-7xx1nh2rmt] { width: 20%; }

.dp-dist-table th:nth-child(4)[b-7xx1nh2rmt],
.dp-dist-table td:nth-child(4)[b-7xx1nh2rmt] { width: 20%; }

.dp-dist-table th:nth-child(5)[b-7xx1nh2rmt],
.dp-dist-table td:nth-child(5)[b-7xx1nh2rmt] { width: 20%; }

.dp-dist-table th:nth-child(6)[b-7xx1nh2rmt],
.dp-dist-table td:nth-child(6)[b-7xx1nh2rmt] { width: 20%; }
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelEntradasSaidas.razor.rz.scp.css */
/* ── Multi-select rv-* (mesmo padrão dos outros relatórios) ─────────── */
.rv-placa-input-row[b-ci7q5k2bzn] {
    display: flex;
    gap: 0.35rem;
    align-items: flex-end;
}

.rv-placa-select-wrap[b-ci7q5k2bzn] {
    flex: 1;
    min-width: 0;
}

/* Dimensões idênticas ao padrão de outros relatórios (RelDistanciaPercorrida) */
.rv-add-btn[b-ci7q5k2bzn] {
    width: calc(2.375rem + 2px);
    height: calc(2.05rem + 2px);
    flex-shrink: 0;
}

    .rv-add-btn:disabled[b-ci7q5k2bzn] {
        width: calc(2.375rem + 2px);
        height: calc(2.05rem + 2px);
        flex-shrink: 0;
        cursor: not-allowed;
    }

.rv-placas-selecionadas[b-ci7q5k2bzn] {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 0.4rem; padding: 0.5rem 1rem;
}
.rv-placas-selecionadas-label[b-ci7q5k2bzn] { font-size: .82rem; color: #6c757d; font-weight: 500; white-space: nowrap; }

.rv-placa-tag[b-ci7q5k2bzn] {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: .25rem .5rem .25rem .65rem;
    background-color: #e8edf8; color: #1e40af;
    border-radius: 50px; font-size: .8rem; font-weight: 500;
}
.rv-placa-tag-remove[b-ci7q5k2bzn] {
    display: flex; align-items: center; justify-content: center;
    width: 18px; height: 18px; padding: 0; border: none;
    background: none; color: inherit; border-radius: 50%;
    font-size: .85rem; cursor: pointer; line-height: 1;
    transition: background-color .15s, color .15s;
}
.rv-placa-tag-remove:hover[b-ci7q5k2bzn] { background-color: #1e40af; color: #fff; }

/* ── Badges de tipo ──────────────────────────────────────────────────── */
.es-tipo[b-ci7q5k2bzn] {
    display: inline-block;
    padding: .15rem .5rem;
    border-radius: 4px;
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
}
.es-tipo-entrada[b-ci7q5k2bzn] { background: #dcfce7; color: #15803d; }
.es-tipo-saida[b-ci7q5k2bzn]   { background: #fee2e2; color: #b91c1c; }

/* Cores no resumo */
.es-entrada[b-ci7q5k2bzn] { color: #15803d; font-weight: 500; }
.es-saida[b-ci7q5k2bzn]   { color: #b91c1c; font-weight: 500; }

/* Linhas coloridas sutis */
.es-row-entrada[b-ci7q5k2bzn] { background-color: rgba(21, 128, 61,  .03); }
.es-row-saida[b-ci7q5k2bzn]   { background-color: rgba(185, 28, 28, .03); }

/* Tabela */
.es-table th[b-ci7q5k2bzn], .es-table td[b-ci7q5k2bzn] { vertical-align: middle; font-size: .75rem; }

.es-endereco[b-ci7q5k2bzn] { font-size: .78rem; max-width: 200px; white-space: normal; }

/* Link mapa */
.es-map-link[b-ci7q5k2bzn] { color: #6c757d; text-decoration: none; font-size: .78rem; }
.es-map-link:hover[b-ci7q5k2bzn] { color: #0d6efd; text-decoration: underline; }
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelEstoqueEquipamentos.razor.rz.scp.css */
/* Tabela */
.ee-table th[b-kkvz9vtm92],
.ee-table td[b-kkvz9vtm92] {
    vertical-align: middle;
    font-size: 0.72rem !important;
}

.ee-table thead th[b-kkvz9vtm92] {
    font-size: 0.71rem !important;
}

.ee-table th:nth-child(1)[b-kkvz9vtm92],
.ee-table td:nth-child(1)[b-kkvz9vtm92] { width: 8%; }

.ee-table th:nth-child(2)[b-kkvz9vtm92],
.ee-table td:nth-child(2)[b-kkvz9vtm92] { width: 10%; }

.ee-table th:nth-child(3)[b-kkvz9vtm92],
.ee-table td:nth-child(3)[b-kkvz9vtm92] { width: 7%; }

.ee-table th:nth-child(4)[b-kkvz9vtm92],
.ee-table td:nth-child(4)[b-kkvz9vtm92] { width: 7%; }

.ee-table th:nth-child(5)[b-kkvz9vtm92],
.ee-table td:nth-child(5)[b-kkvz9vtm92] { width: 11%; }

.ee-table th:nth-child(6)[b-kkvz9vtm92],
.ee-table td:nth-child(6)[b-kkvz9vtm92] { width: 10%; }

.ee-table th:nth-child(7)[b-kkvz9vtm92],
.ee-table td:nth-child(7)[b-kkvz9vtm92] { width: 10%; }

.ee-table th:nth-child(8)[b-kkvz9vtm92],
.ee-table td:nth-child(8)[b-kkvz9vtm92] { width: 8%; }

.ee-table th:nth-child(9)[b-kkvz9vtm92],
.ee-table td:nth-child(9)[b-kkvz9vtm92] { width: 9%; }

.ee-table th:nth-child(10)[b-kkvz9vtm92],
.ee-table td:nth-child(10)[b-kkvz9vtm92] { width: 11%; }

.ee-table th:nth-child(11)[b-kkvz9vtm92],
.ee-table td:nth-child(11)[b-kkvz9vtm92] { width: 8%; }
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelHodometro.razor.rz.scp.css */
/* ── Multi-select (rv-* padrão) ──────────────────────────────────────── */
.rv-placa-input-row[b-i0zes0q0ae] { display: flex; gap: 0.4rem; align-items: flex-end; }
.rv-placa-select-wrap[b-i0zes0q0ae] { flex: 1; min-width: 0; }
.rv-add-btn[b-i0zes0q0ae] { flex-shrink: 0; margin-bottom: 0; align-self: flex-end; }
.rv-add-btn:disabled[b-i0zes0q0ae] { cursor: not-allowed; }

.rv-placas-selecionadas[b-i0zes0q0ae] {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 0.4rem; padding: 0.5rem 1rem;
}
.rv-placas-selecionadas-label[b-i0zes0q0ae] { font-size: .82rem; color: #6c757d; font-weight: 500; white-space: nowrap; }

.rv-placa-tag[b-i0zes0q0ae] {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: .25rem .5rem .25rem .65rem;
    background-color: #e8edf8; color: #1e40af;
    border-radius: 50px; font-size: .8rem; font-weight: 500;
}
.rv-placa-tag-remove[b-i0zes0q0ae] {
    display: flex; align-items: center; justify-content: center;
    width: 18px; height: 18px; padding: 0; border: none;
    background: none; color: inherit; border-radius: 50%;
    font-size: .85rem; cursor: pointer; line-height: 1;
    transition: background-color .15s, color .15s;
}
.rv-placa-tag-remove:hover[b-i0zes0q0ae] { background-color: #1e40af; color: #fff; }

/* ── Tabela ──────────────────────────────────────────────────────────── */
.hd-table th[b-i0zes0q0ae], .hd-table td[b-i0zes0q0ae] { vertical-align: middle; font-size: .75rem; }

/* Cabeçalho de veículo */
.hd-row-veiculo[b-i0zes0q0ae] {
    background-color: #f0f4ff;
    border-top: 2px solid #c7d6f7;
}
.hd-veiculo-total[b-i0zes0q0ae] {
    margin-left: 1rem; font-size: .78rem; color: #5c73a8; font-weight: 400;
}

/* Dia sem distância */
.hd-row-zerado[b-i0zes0q0ae] { color: #9ca3af; }

/* Valor km positivo */
.hd-km-positivo[b-i0zes0q0ae] { color: #1d4ed8; }

/* Resumo — linha clicável */
.hd-row-resumo[b-i0zes0q0ae] { cursor: pointer; }
.hd-row-resumo:hover[b-i0zes0q0ae] { background-color: #f8faff; }
.hd-row-expandida[b-i0zes0q0ae] { background-color: #eef3ff; }

/* Ícone expandir */
.bl-expandir-icone[b-i0zes0q0ae] { transition: transform .2s ease; display: inline-block; font-size: .75rem; color: #6c757d; }
.bl-expandir-icone.expandido[b-i0zes0q0ae] { transform: rotate(90deg); }

/* Detalhe expandido */
.hd-detalhe-row td[b-i0zes0q0ae] { padding: 0 !important; }
.hd-detalhe-container[b-i0zes0q0ae] { padding: .5rem 1.5rem .75rem 3rem; background: #f8faff; border-top: 1px solid #d1daf8; }
.hd-detalhe-table[b-i0zes0q0ae] { width: 100%; font-size: .8rem; border-collapse: collapse; }
.hd-detalhe-table th[b-i0zes0q0ae] {
    color: #6b7280; font-weight: 600; font-size: .75rem;
    text-transform: uppercase; letter-spacing: .03em;
    padding: .3rem .5rem; border-bottom: 1px solid #dce4f5;
}
.hd-detalhe-table td[b-i0zes0q0ae] { padding: .3rem .5rem; }

/* Linha de total geral */
.hd-row-total[b-i0zes0q0ae] { background-color: #e8edf8; border-top: 2px solid #b0c0e8; font-weight: 600; }
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelHorimetro.razor.rz.scp.css */
/* ── Multi-select (mesmo padrão rv-* de RelDeslocamentosParadas) ────── */
.rv-placa-input-row[b-hoy3vz8vbt] {
    display: flex;
    gap: 0.4rem;
    align-items: flex-end;
}

.rv-placa-select-wrap[b-hoy3vz8vbt] {
    flex: 1;
    min-width: 0;
}

.rv-add-btn[b-hoy3vz8vbt] {
    flex-shrink: 0;
    margin-bottom: 0;
    align-self: flex-end;
}

    .rv-add-btn:disabled[b-hoy3vz8vbt] { cursor: not-allowed; }

.rv-placas-selecionadas[b-hoy3vz8vbt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
}

.rv-placas-selecionadas-label[b-hoy3vz8vbt] {
    font-size: 0.82rem;
    color: #6c757d;
    font-weight: 500;
    white-space: nowrap;
}

.rv-placa-tag[b-hoy3vz8vbt] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.5rem 0.25rem 0.65rem;
    background-color: #e8edf8;
    color: #1e40af;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 500;
}

.rv-placa-tag-remove[b-hoy3vz8vbt] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    background: none;
    color: inherit;
    border-radius: 50%;
    font-size: 0.85rem;
    cursor: pointer;
    line-height: 1;
    transition: background-color 0.15s, color 0.15s;
}

.rv-placa-tag-remove:hover[b-hoy3vz8vbt] {
    background-color: #1e40af;
    color: #fff;
}

/* ── Tabela base ─────────────────────────────────────────────────────── */
.hr-table th[b-hoy3vz8vbt],
.hr-table td[b-hoy3vz8vbt] { vertical-align: middle; font-size: .75rem; }

/* Cabeçalho de veículo (modo Detalhe) */
.hr-row-veiculo[b-hoy3vz8vbt] {
    background-color: #f0f4ff;
    border-top: 2px solid #c7d6f7;
}
.hr-row-veiculo td[b-hoy3vz8vbt] { font-size: .83rem; }

.hr-veiculo-total[b-hoy3vz8vbt] {
    margin-left: 1rem;
    font-size: .78rem;
    color: #5c73a8;
    font-weight: 400;
}

/* Linha sem horímetro (dia sem transmissão) */
.hr-row-zerado[b-hoy3vz8vbt] { color: #9ca3af; }

/* Valor de ignição com movimento */
.hr-total-positivo[b-hoy3vz8vbt] { color: #1d4ed8; }

/* Linha de resumo – clicável */
.hr-row-resumo[b-hoy3vz8vbt] { cursor: pointer; }
.hr-row-resumo:hover[b-hoy3vz8vbt] { background-color: #f8faff; }
.hr-row-expandida[b-hoy3vz8vbt] { background-color: #eef3ff; }

/* Ícone de expandir */
.bl-expandir-icone[b-hoy3vz8vbt] {
    transition: transform .2s ease;
    display: inline-block;
    font-size: .75rem;
    color: #6c757d;
}
.bl-expandir-icone.expandido[b-hoy3vz8vbt] { transform: rotate(90deg); }

/* Container de detalhe expandido */
.hr-detalhe-row td[b-hoy3vz8vbt] { padding: 0 !important; }
.hr-detalhe-container[b-hoy3vz8vbt] {
    padding: .5rem 1.5rem .75rem 3rem;
    background: #f8faff;
    border-top: 1px solid #d1daf8;
}
.hr-detalhe-table[b-hoy3vz8vbt] { width: 100%; font-size: .8rem; border-collapse: collapse; }
.hr-detalhe-table th[b-hoy3vz8vbt] {
    color: #6b7280;
    font-weight: 600;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: .3rem .5rem;
    border-bottom: 1px solid #dce4f5;
}
.hr-detalhe-table td[b-hoy3vz8vbt] { padding: .3rem .5rem; }

/* Linha de total geral */
.hr-row-total[b-hoy3vz8vbt] {
    background-color: #e8edf8;
    border-top: 2px solid #b0c0e8;
    font-weight: 600;
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelLogs.razor.rz.scp.css */
.logs-table-wrapper[b-tied8zug9l] {
    overflow-x: auto;
}

.logs-table[b-tied8zug9l] {
    font-size: 0.8rem;
}

    .logs-table thead th[b-tied8zug9l] {
        font-size: 0.75rem;
    }

.logs-col-data[b-tied8zug9l] {
    white-space: nowrap;
}

.logs-col-registro[b-tied8zug9l] {
    white-space: normal;
    min-width: 220px;
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelPainelTemperatura.razor.rz.scp.css */
/* Tabela */
.pt-table th[b-5h6236yp02],
.pt-table td[b-5h6236yp02] {
    vertical-align: middle;
}

.pt-table th:nth-child(1)[b-5h6236yp02],
.pt-table td:nth-child(1)[b-5h6236yp02] { width: 16%; }

.pt-table th:nth-child(2)[b-5h6236yp02],
.pt-table td:nth-child(2)[b-5h6236yp02] { width: 10%; }

.pt-table th:nth-child(3)[b-5h6236yp02],
.pt-table td:nth-child(3)[b-5h6236yp02] { width: 7%; }

.pt-table th:nth-child(4)[b-5h6236yp02],
.pt-table td:nth-child(4)[b-5h6236yp02] { width: 7%; }

.pt-table th:nth-child(5)[b-5h6236yp02],
.pt-table td:nth-child(5)[b-5h6236yp02] { width: 7%; }

.pt-table th:nth-child(6)[b-5h6236yp02],
.pt-table td:nth-child(6)[b-5h6236yp02] { width: 7%; }

.pt-table th:nth-child(7)[b-5h6236yp02],
.pt-table td:nth-child(7)[b-5h6236yp02] { width: 7%; }

.pt-table th:nth-child(8)[b-5h6236yp02],
.pt-table td:nth-child(8)[b-5h6236yp02] { width: 19%; }

.pt-table th:nth-child(9)[b-5h6236yp02],
.pt-table td:nth-child(9)[b-5h6236yp02] { width: 19%; }

/* Alerta de temperatura fora do intervalo */
.pt-row-alerta[b-5h6236yp02] {
    background-color: rgba(220, 53, 69, 0.1) !important;
}

.pt-temp-alerta[b-5h6236yp02] {
    color: #dc3545;
    font-weight: 600;
}

/* Contador de alertas no resumo */
.pt-resumo-alerta[b-5h6236yp02] {
    color: #dc3545;
    font-weight: 600;
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelTelemetria.razor.rz.scp.css */
/* Tabela */
.tel-table th[b-ty9i7c9iwv],
.tel-table td[b-ty9i7c9iwv] {
    vertical-align: middle;
}

.tel-table th:nth-child(1)[b-ty9i7c9iwv],
.tel-table td:nth-child(1)[b-ty9i7c9iwv] { width: 8%; }

.tel-table th:nth-child(2)[b-ty9i7c9iwv],
.tel-table td:nth-child(2)[b-ty9i7c9iwv] { width: 11%; }

.tel-table th:nth-child(3)[b-ty9i7c9iwv],
.tel-table td:nth-child(3)[b-ty9i7c9iwv] { width: 15%; }

.tel-table th:nth-child(4)[b-ty9i7c9iwv],
.tel-table td:nth-child(4)[b-ty9i7c9iwv] { width: 13%; }

.tel-table th:nth-child(5)[b-ty9i7c9iwv],
.tel-table td:nth-child(5)[b-ty9i7c9iwv] { width: 13%; }

.tel-table th:nth-child(6)[b-ty9i7c9iwv],
.tel-table td:nth-child(6)[b-ty9i7c9iwv] { width: 24%; }

.tel-table th:nth-child(7)[b-ty9i7c9iwv],
.tel-table td:nth-child(7)[b-ty9i7c9iwv] { width: 6%; }

.tel-table th:nth-child(8)[b-ty9i7c9iwv],
.tel-table td:nth-child(8)[b-ty9i7c9iwv] { width: 7%; }

.tel-table th:nth-child(9)[b-ty9i7c9iwv],
.tel-table td:nth-child(9)[b-ty9i7c9iwv] { width: 5%; }

/* ── Dropdown de tipos de evento ──────────────────────── */

.tel-tipos-wrap[b-ty9i7c9iwv] {
    position: relative;
}

.tel-tipos-toggle[b-ty9i7c9iwv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    cursor: pointer;
    user-select: none;
    overflow: hidden;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.tel-tipos-toggle:focus[b-ty9i7c9iwv] {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.tel-tipos-texto[b-ty9i7c9iwv] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

.tel-tipos-chevron[b-ty9i7c9iwv] {
    font-size: 0.7rem;
    transition: transform 0.15s;
    flex-shrink: 0;
    margin-left: 0.3rem;
}

.tel-tipos-chevron.aberto[b-ty9i7c9iwv] {
    transform: rotate(180deg);
}

.tel-tipos-panel[b-ty9i7c9iwv] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    min-width: 210px;
    z-index: 1050;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    padding: 0.3rem 0;
}

.tel-tipos-acoes[b-ty9i7c9iwv] {
    display: flex;
    gap: 0.5rem;
    padding: 0.3rem 0.75rem 0.4rem;
    border-bottom: 1px solid #f0f0f0;
}

.tel-tipos-link[b-ty9i7c9iwv] {
    background: none;
    border: none;
    padding: 0;
    font-size: 0.75rem;
    color: var(--sg-primary, #2852A3);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.tel-tipos-link:hover[b-ty9i7c9iwv] {
    opacity: 0.75;
}

.tel-tipos-item[b-ty9i7c9iwv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0.75rem;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
}

.tel-tipos-item:hover[b-ty9i7c9iwv] {
    background: #f5f7fa;
}

.tel-tipos-item input[type="checkbox"][b-ty9i7c9iwv] {
    cursor: pointer;
    flex-shrink: 0;
}

/* ── Placa multi-select (mesmo padrão de RelVelocidade) ── */

.rv-placa-input-row[b-ty9i7c9iwv] {
    display: flex;
    gap: 0.35rem;
    align-items: flex-end;
}

.rv-placa-select-wrap[b-ty9i7c9iwv] {
    flex: 1;
    min-width: 0;
}

.rv-add-btn[b-ty9i7c9iwv] {
    width: calc(2.375rem + 2px);
    height: calc(2.1rem + 2px);
    flex-shrink: 0;
}

.rv-add-btn:disabled[b-ty9i7c9iwv] {
    width: calc(2.375rem + 2px);
    height: calc(2.1rem + 2px);
    flex-shrink: 0;
}

.rv-placas-selecionadas[b-ty9i7c9iwv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.65rem 1rem;
}

.rv-placas-selecionadas-label[b-ty9i7c9iwv] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-text-muted, #6b7280);
    margin-right: 0.15rem;
    white-space: nowrap;
}

.rv-placa-tag[b-ty9i7c9iwv] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem 0.15rem 0.6rem;
    background: var(--color-primary-light, #eff6ff);
    border: 1px solid var(--color-primary, #2563eb);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--color-primary, #2563eb);
}

.rv-placa-tag-remove[b-ty9i7c9iwv] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    color: var(--color-primary, #2563eb);
    cursor: pointer;
    font-size: 0.85rem;
    line-height: 1;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.rv-placa-tag-remove:hover[b-ty9i7c9iwv] {
    opacity: 1;
}

/* ── Botão de visualizar no mapa ──────────────────────── */

.traj-btn-opcao[b-ty9i7c9iwv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    font-size: .8125rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

.traj-btn-opcao:hover[b-ty9i7c9iwv] {
    background: var(--sg-primary, #2852A3);
    color: #fff;
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelTransmissaoEquipamento.razor.rz.scp.css */
/* ── Ações do resultado ───────────────────────────── */

.transm-acoes[b-xjo6wq44i6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* ── Botão Buzzer ─────────────────────────────────── */

.btn-buzzer[b-xjo6wq44i6] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.9rem;
    border-radius: 6px;
    border: none;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
}

.btn-buzzer-enviar[b-xjo6wq44i6] {
    background-color: var(--sg-primary);
    color: #fff;
}

    .btn-buzzer-enviar:hover[b-xjo6wq44i6] {
        background-color: var(--sg-primary-dark, #03327a);
    }

.btn-buzzer-parar[b-xjo6wq44i6] {
    background-color: #dc3545;
    color: #fff;
}

    .btn-buzzer-parar:hover[b-xjo6wq44i6] {
        background-color: #b02a37;
    }

/* ── Tabela de registros ──────────────────────────── */

.transm-table-wrapper[b-xjo6wq44i6] {
    overflow-x: auto;
}

.transm-table[b-xjo6wq44i6] {
    font-size: 0.7rem;
    white-space: nowrap;
}

    .transm-table thead th[b-xjo6wq44i6] {
        font-size: 0.67rem;
    }

.transm-col-local[b-xjo6wq44i6] {
    white-space: normal;
    min-width: 180px;
}

/* Indicador booleano (Sinal GPS, Saída/Entrada) */
.transm-bool[b-xjo6wq44i6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 50%;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: #fff;
}

.transm-bool.sim[b-xjo6wq44i6] { background: #22c55e; }
.transm-bool.nao[b-xjo6wq44i6] { background: #94a3b8; }

/* ── Botão Vincular ───────────────────────────────── */

.btn-vincular[b-xjo6wq44i6] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.45rem;
    border-radius: 20px;
    border: none;
    background-color: #dce8f8;
    color: var(--sg-primary);
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--sg-transition), color var(--sg-transition);
}

    .btn-vincular:hover[b-xjo6wq44i6] {
        background-color: var(--sg-primary);
        color: #fff;
    }

.btn-vincular-lg[b-xjo6wq44i6] {
    padding: 0.35rem 0.9rem;
    border-radius: 6px;
    font-size: 0.875rem;
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelVeiculoSemContrato.razor.rz.scp.css */
/* Barra de ações */
.vsc-toolbar[b-dko3c9jdso] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    /* Sem padding-bottom: .relatorio-filtros alinha por flex-end, e qualquer folga aqui
       levanta o botão acima da base dos campos. */
    padding: 0;
}

/* A borda vem de ::deep .relatorio-resumo (RelatorioLayout), que serve 18 relatórios.
   O seletor com elemento vence por especificidade sem tocar nos outros. */
div.relatorio-resumo[b-dko3c9jdso] {
    border-bottom: none;
}

/* Tabela */
.vsc-table th[b-dko3c9jdso],
.vsc-table td[b-dko3c9jdso] {
    vertical-align: bottom;
    font-size: 0.75rem;
}

.vsc-col-check[b-dko3c9jdso] {
    width: 40px;
}

/* Linha selecionada */
.vsc-row-sel[b-dko3c9jdso] {
    background: #f0f6ff;
}
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelVelocidade.razor.rz.scp.css */
/* Botão de ação na tabela (mesmo estilo de Trajetos) */
.traj-btn-opcao[b-qrdt5qu75i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .375rem;
    border: 1px solid var(--sg-primary, #2852A3);
    background: transparent;
    color: var(--sg-primary, #2852A3);
    font-size: .8125rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}

.traj-btn-opcao:hover[b-qrdt5qu75i] {
    background: var(--sg-primary, #2852A3);
    color: #fff;
}

/* Linha com select + botões */
.rv-placa-input-row[b-qrdt5qu75i] {
    display: flex;
    gap: 0.35rem;
    align-items: flex-end;
}

.rv-placa-select-wrap[b-qrdt5qu75i] {
    flex: 1;
    min-width: 0;
}

/* Ajusta o botão + para ter o mesmo tamanho dos inputs do filtro */
.rv-add-btn[b-qrdt5qu75i] {
    width: calc(2.375rem + 2px);
    height: calc(2.1rem + 2px);
    flex-shrink: 0;
}

.rv-add-btn:disabled[b-qrdt5qu75i] {
    width: calc(2.375rem + 2px);
    height: calc(2.1rem + 2px);
    flex-shrink: 0;
}


/* Seção de placas selecionadas (abaixo dos filtros) */
.rv-placas-selecionadas[b-qrdt5qu75i] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.65rem 1rem;
}

.rv-placas-selecionadas-label[b-qrdt5qu75i] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-text-muted, #6b7280);
    margin-right: 0.15rem;
    white-space: nowrap;
}

/* Tags de placas selecionadas */
.rv-placas-tags[b-qrdt5qu75i] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.rv-placa-tag[b-qrdt5qu75i] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem 0.15rem 0.6rem;
    background: var(--color-primary-light, #eff6ff);
    border: 1px solid var(--color-primary, #2563eb);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--color-primary, #2563eb);
}

.rv-placa-tag-remove[b-qrdt5qu75i] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    color: var(--color-primary, #2563eb);
    cursor: pointer;
    font-size: 0.85rem;
    line-height: 1;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.rv-placa-tag-remove:hover[b-qrdt5qu75i] {
    opacity: 1;
}

/* Velocidade excedida — destaque em vermelho */
.rv-vel-excedida[b-qrdt5qu75i] { color: #b91c1c; }
/* _content/SgtrackERP.Web/Components/Modules/Relatorios/RelViagemMonitriip.razor.rz.scp.css */
/* ── Botão Retorno ANTT — mesma altura do btn-relatorio-buscar ── */
.btn-retorno-antt[b-s5wf3vst2v] {
    height: calc(0.925rem * 1.5 + 0.64rem + 2px);
    padding: 0 18px;
    border-radius: var(--sg-radius-sm, 6px);
    border: none;
    background: #28a745;
    color: #fff;
    font-size: 0.84rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, box-shadow 0.15s;
    align-self: flex-end;
}

.btn-retorno-antt:hover[b-s5wf3vst2v] {
    background: #218838;
    box-shadow: 0 2px 8px rgba(40,167,69,.35);
}

.btn-retorno-antt.ativo[b-s5wf3vst2v] {
    background: #155724;
}

/* ── Campo de data sem ícone de calendário ────────── */
input[type="date"][b-s5wf3vst2v]::-webkit-calendar-picker-indicator {
    display: none;
}

/* ── Painel Retorno ANTT ──────────────────────────── */
/*.vm-antt-panel {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin: 0 0 12px 0;
    padding: 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 400px;
    overflow: auto;
}*/

/* O seletor sobe a especificidade de proposito: a regra .vm-modal-backdrop .modal-body
   (usada pelo modal do mapa) forca overflow hidden e mataria o scroll aqui. */
.vm-modal-backdrop .modal-body.vm-antt-panel[b-s5wf3vst2v] {
    background: #f8fafc;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 65vh;
    overflow-y: auto;
    border-radius: 0 0 0.375rem 0.375rem;
}

.vm-antt-vazio[b-s5wf3vst2v] {
    font-size: 0.82rem;
    color: #94a3b8;
    font-style: italic;
}

/* ── Tabela interna ANTT ──────────────────────────── */
.vm-antt-table[b-s5wf3vst2v] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
}

/* Linha de título colorida (Sucesso / Erros) */
.vm-antt-thead-sucesso th[b-s5wf3vst2v] {
    background: #1d6fc4;
    color: #fff;
    font-weight: 700;
    font-size: 0.83rem;
    padding: 7px 10px;
    letter-spacing: 0.02em;
    border-bottom: none;
}

.vm-antt-thead-erro th[b-s5wf3vst2v] {
    background: #dc3545;
    color: #fff;
    font-weight: 700;
    font-size: 0.83rem;
    padding: 7px 10px;
    letter-spacing: 0.02em;
    border-bottom: none;
}

/* Linha de cabeçalho das colunas */
.vm-antt-table thead tr:last-child th[b-s5wf3vst2v] {
    padding: 6px 10px;
    font-weight: 600;
    color: #374151;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}

.vm-antt-table td[b-s5wf3vst2v] {
    padding: 5px 10px;
    color: #4b5563;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: top;
}

.vm-antt-table tbody tr:last-child td[b-s5wf3vst2v] { border-bottom: none; }
.vm-antt-table tbody tr:hover td[b-s5wf3vst2v]     { background: #f1f5f9; }

.vm-antt-transacao[b-s5wf3vst2v] {
    font-family: monospace;
    font-size: 0.78rem;
    color: #64748b;
    white-space: nowrap;
}

/* ── Modal mapa ──────────────────────────────────── */
.vm-modal-backdrop[b-s5wf3vst2v] {
    background: rgba(0, 0, 0, 0.5);
}

.vm-modal-backdrop .modal-body[b-s5wf3vst2v] {
    border-radius: 0 0 0.375rem 0.375rem;
    overflow: hidden;
}

/* ── Tabela de registros GPS ──────────────────────── */
.vm-registros-table th[b-s5wf3vst2v] { font-size: 0.72rem; }
.vm-registros-table td[b-s5wf3vst2v] { font-size: 0.78rem; }

.vm-tipo[b-s5wf3vst2v] { font-weight: 500; }
.vm-tipo-abertura[b-s5wf3vst2v]     { color: #2563eb; }
.vm-tipo-encerramento[b-s5wf3vst2v] { color: #7c3aed; }
.vm-tipo-evento[b-s5wf3vst2v]       { color: #d97706; }

.vm-icone-btn[b-s5wf3vst2v] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--sg-primary);
    cursor: pointer;
    padding: 2px 4px;
    font-size: 1rem;
    border-radius: 4px;
    text-decoration: none;
    transition: color 0.15s, background 0.15s;
}

.vm-icone-btn:hover[b-s5wf3vst2v] {
    color: var(--sg-primary, #2852A3);
    background: #eff6ff;
}

.vm-coord[b-s5wf3vst2v] {
    font-size: 0.78rem;
    font-family: monospace;
    color: #64748b;
    white-space: nowrap;
}
/* _content/SgtrackERP.Web/Components/Pages/Home.razor.rz.scp.css */
.content-body[b-hwpuo1g3kx] {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.home-tabs[b-hwpuo1g3kx] {
    position: sticky;
    top: 0;
    z-index: 50;
    background: #fff;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.6rem 2rem;
    margin: 0 -1.5rem 0 -2rem;
}

@media (min-width: 641px) {
    .home-tabs[b-hwpuo1g3kx] {
        top: 3.5rem;
    }
}

.home-tab[b-hwpuo1g3kx] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 1.1rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    color: #6b7280;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    white-space: nowrap;
    line-height: 1;
}

.home-tab:hover[b-hwpuo1g3kx] {
    background: #f3f4f6;
    color: #111827;
    border-color: #adb5bd;
}

.home-tab--ativo[b-hwpuo1g3kx] {
    background: var(--sg-primary, #2852A3);
    border-color: var(--sg-primary, #2852A3);
    color: #fff;
}

.home-tab--ativo:hover[b-hwpuo1g3kx] {
    background: #1e3f8a;
    border-color: #1e3f8a;
    color: #fff;
}

.home-tab .bi[b-hwpuo1g3kx] {
    font-size: 0.9rem;
}
/* _content/SgtrackERP.Web/Components/Shared/Campos/CepInput.razor.rz.scp.css */
.cep-search-btn[b-2pnjqmz4p3] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid #ced4da;
    border-left: none;
    border-radius: 0 4px 4px 0;
    background: transparent;
    color: var(--sg-primary);
    cursor: pointer;
    transition: background var(--sg-transition), color var(--sg-transition);
}

    .cep-search-btn:hover[b-2pnjqmz4p3] {
        background: var(--sg-primary);
        color: white;
    }
/* _content/SgtrackERP.Web/Components/Shared/Campos/SearchSelectMultiInput.razor.rz.scp.css */

.ssm-div[b-xesfqabjyz] {
    margin-bottom: 0.7rem;
}

/* Linha input + botão + */
.ssm-row[b-xesfqabjyz] {
    display: flex;
    gap: 0.4rem;
    align-items: flex-start;
}

.ssm-input-wrapper[b-xesfqabjyz] {
    flex: 1;
    min-width: 0;
}

/* Botão + */
.ssm-add-btn[b-xesfqabjyz] {
    flex-shrink: 0;
    width: var(--sg-input-h);
    height: var(--sg-input-h);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--sg-primary);
    color: #fff;
    border: none;
    border-radius: 0.375rem;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color var(--sg-transition);
    padding: 0;
}

    .ssm-add-btn:hover:not(:disabled)[b-xesfqabjyz] {
        background-color: var(--sg-primary-mid);
    }

    .ssm-add-btn:disabled[b-xesfqabjyz] {
        background-color: #adb5bd;
        cursor: not-allowed;
    }

/* Tags de itens selecionados */
.ssm-tags[b-xesfqabjyz] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.5rem;
}

.ssm-tag[b-xesfqabjyz] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.5rem 0.25rem 0.65rem;
    background-color: #e8edf8;
    color: var(--sg-primary-dark);
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 500;
}

.ssm-tag-remove[b-xesfqabjyz] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    background: none;
    color: var(--sg-primary);
    border-radius: 50%;
    font-size: 0.85rem;
    cursor: pointer;
    line-height: 1;
    transition: background-color var(--sg-transition), color var(--sg-transition);
}

    .ssm-tag-remove:hover[b-xesfqabjyz] {
        background-color: var(--sg-primary);
        color: #fff;
    }
/* _content/SgtrackERP.Web/Components/Shared/DateTimeInput.razor.rz.scp.css */
input[type="date"][b-km1drq110l],
input[type="datetime-local"][b-km1drq110l] {
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

input[type="date"][b-km1drq110l]::-webkit-calendar-picker-indicator,
input[type="datetime-local"][b-km1drq110l]::-webkit-calendar-picker-indicator {
    display: block !important;
    cursor: pointer;
    opacity: 0.5;
}
/* _content/SgtrackERP.Web/Components/Shared/DestinatariosAviso.razor.rz.scp.css */
/* Texto de apoio da seção. */
.dav-ajuda[b-yb5p9x8ea3] {
    font-size: 0.82rem;
    color: #6b7280;
    margin: 0 0 0.9rem;
}

/* Linha de inclusão, separada da tabela por uma régua. */
.dav-nova[b-yb5p9x8ea3] {
    padding-bottom: 0.9rem;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid #e5e7eb;
}

.dav-table td[b-yb5p9x8ea3] {
    vertical-align: middle;
}

/* Os sete botõezinhos de dia vivem no DiasSemanaToggle, que tem CSS próprio. */
/* _content/SgtrackERP.Web/Components/Shared/DiasSemanaToggle.razor.rz.scp.css */
/* A caixa de seleção some e quem mostra o estado é o quadrado. */
.dst-dias[b-e1zix6016c] {
    display: flex;
    gap: 3px;
}

.dst-dia[b-e1zix6016c] {
    cursor: pointer;
    margin: 0;
}

.dst-dia input[b-e1zix6016c] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.dst-dia span[b-e1zix6016c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #6b7280;
    background: #fff;
    user-select: none;
}

.dst-dia input:checked + span[b-e1zix6016c] {
    background: #2852A3;
    border-color: #2852A3;
    color: #fff;
}

.dst-dia input:disabled + span[b-e1zix6016c] {
    opacity: 0.5;
    cursor: default;
}

.dst-dia input:focus-visible + span[b-e1zix6016c] {
    outline: 2px solid #2852A3;
    outline-offset: 1px;
}
/* _content/SgtrackERP.Web/Components/Shared/Modal/AvisoModal.razor.rz.scp.css */
/* estilos em app.css */
/* _content/SgtrackERP.Web/Components/Shared/Modal/ConfirmacaoModal.razor.rz.scp.css */
/* estilos em app.css */
/* _content/SgtrackERP.Web/Components/Shared/Modal/SucessoModal.razor.rz.scp.css */
/* estilos em app.css */
/* _content/SgtrackERP.Web/Components/Shared/Paginacao/BackButton.razor.rz.scp.css */
.sg-back-btn[b-kv8988ohqk] {
    position: absolute;
    top: 25px;
    left: 25px;
    font-size: 35px;
    cursor: pointer;
    color: var(--sg-primary);
    font-weight: bold;
    transition: 0.2s;
    text-decoration: none;
}

.sg-back-btn:hover[b-kv8988ohqk] {
    transform: translateX(-3px);
}
/* _content/SgtrackERP.Web/Components/Shared/Paginacao/PageCard.razor.rz.scp.css */
.sg-card[b-750a9q1h9g] {
    background: white;
    border-radius: var(--sg-radius-lg);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    padding: 24px 32px;
    margin-bottom: 24px;
}

.sg-card-header h2[b-750a9q1h9g] {
    color: var(--sg-primary-dark);
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0;
}

.sg-card-divider[b-750a9q1h9g] {
    height: 2px;
    background: linear-gradient(90deg, var(--sg-primary), transparent);
    margin: 10px 0 16px;
}
/* _content/SgtrackERP.Web/Components/Shared/Paginacao/PageHeader.razor.rz.scp.css */
.sg-page-header h1[b-dbx0pyz0gu] {
    color: var(--sg-primary-dark);
    font-size: 1.4rem;
    font-weight: 600;
    margin: 0;
}

.sg-page-header h2[b-dbx0pyz0gu] {
    color: var(--sg-primary-dark);
    font-size: 0.95rem;
    font-weight: 400;
    margin-top: 4px;
    margin-bottom: 0;
}

.sg-divider[b-dbx0pyz0gu] {
    height: 2px;
    width: 75%;
    background: linear-gradient(90deg, transparent, rgba(0, 140, 255, 0.6), transparent);
    margin: 14px auto;
}
/* _content/SgtrackERP.Web/Components/Shared/Paginacao/PrimaryButton.razor.rz.scp.css */
.sg-btn[b-q863za62b7] {
    padding: 12px;
    border-radius: var(--sg-radius-md);
    border: none;
    cursor: pointer;
    background: linear-gradient(90deg, var(--sg-primary-dark), var(--sg-primary-mid), var(--sg-primary));
    color: white;
    font-weight: 500;
    font-size: 1rem;
    transition: var(--sg-transition);
    margin-top: 10px;
}

.sg-btn:hover[b-q863za62b7] {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
}
