/* /Features/Ambiente/Implantacao/AmbienteImplantacaoPage.razor.rz.scp.css */
.impl-page__subtitle[b-zfftihx5vq] {
    margin: 0.25rem 0 0;
    color: var(--flowt-text-muted, #9aa0a6);
    max-width: 60ch;
}

.impl-tool__desc[b-zfftihx5vq] {
    margin: 0 0 1rem;
    max-width: 70ch;
}

.impl-tool__desc--sub[b-zfftihx5vq] {
    margin-top: 0.75rem;
    font-size: 0.85rem;
    color: var(--kendo-color-subtle, rgba(128, 128, 128, 0.85));
}

.impl-tool__actions[b-zfftihx5vq] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.impl-pend[b-zfftihx5vq] {
    margin: 0.5rem 0 0;
    padding-left: 1.2rem;
    max-height: 280px;
    overflow-y: auto;
}

.impl-pend li[b-zfftihx5vq] {
    margin-bottom: 0.25rem;
}

.impl-tag[b-zfftihx5vq] {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: var(--flowt-warning-bg, #5a3d00);
    color: var(--flowt-warning-fg, #ffd479);
    vertical-align: middle;
}
/* /Features/Bs/BsAnex/AnexosCard.razor.rz.scp.css */
.anexos-card[b-r3bdcrb522] {
    border: 1px solid var(--flowt-border, #2c2c2c);
    border-radius: 4px;
    padding: .75rem 1rem;
    background: var(--flowt-surface, #1a1a1a);
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.anexos-card header[b-r3bdcrb522] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}

.anexos-card header h4[b-r3bdcrb522] {
    margin: 0;
    font-size: 1rem;
}

.anexos-card .count[b-r3bdcrb522] {
    color: var(--flowt-text-muted, #888);
    font-weight: normal;
    font-size: .9em;
}

.anexos-card .empty[b-r3bdcrb522] {
    color: var(--flowt-text-muted, #888);
    font-style: italic;
    margin: .25rem 0;
}

.anex-list[b-r3bdcrb522] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.anex-row[b-r3bdcrb522] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .35rem .5rem;
    border-radius: 3px;
    background: var(--flowt-surface-2, rgba(255,255,255,.03));
}

.anex-info[b-r3bdcrb522] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.anex-name[b-r3bdcrb522] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.anex-info small[b-r3bdcrb522] {
    color: var(--flowt-text-muted, #888);
    font-size: .8em;
}

.anex-actions[b-r3bdcrb522] {
    display: flex;
    gap: .25rem;
    flex-shrink: 0;
}
/* /Features/Bs/BsNoti/NotificationsPanel.razor.rz.scp.css */
/* Spec 0067 — painel global de Notificações. Vive na camada Global (cobre top bar).
   Header/footer ficam por conta do ActionPanelHost (IPanelContent). */

.notifications-panel[b-s06jo26zgj] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
    margin: -20px -24px; /* anula o padding do .panel-body — toolbar/lista colam nas bordas */
}

.notifications-toolbar[b-s06jo26zgj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 24px;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.05));
    flex: 0 0 auto;
}

.notifications-toolbar-actions[b-s06jo26zgj] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.notifications-link-button[b-s06jo26zgj] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    border: 0;
    padding: 6px 10px;
    border-radius: 6px;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.6));
    font-size: 0.8125rem;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.notifications-link-button:hover:not(:disabled)[b-s06jo26zgj] {
    background: var(--kendo-color-surface-alt, rgba(255, 255, 255, 0.06));
    color: var(--kendo-color-on-surface, #e8e8e8);
}

.notifications-link-button:disabled[b-s06jo26zgj] {
    opacity: 0.4;
    cursor: not-allowed;
}

.notifications-link-button .material-icons[b-s06jo26zgj] {
    font-size: 18px;
}

.notifications-state[b-s06jo26zgj] {
    padding: 32px 24px;
    text-align: center;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.5));
    font-size: 0.875rem;
}

.notifications-state--error[b-s06jo26zgj] {
    color: var(--kendo-color-error, #ef4444);
}

.notifications-empty[b-s06jo26zgj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding-top: 60px;
}

.notifications-empty .material-icons[b-s06jo26zgj] {
    font-size: 40px;
    opacity: 0.4;
}

.notifications-empty p[b-s06jo26zgj] {
    margin: 0;
}

.notifications-list[b-s06jo26zgj] {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1 1 auto;
}

.notifications-item[b-s06jo26zgj] {
    display: flex;
    gap: 12px;
    padding: 14px 24px;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.04));
    cursor: pointer;
    transition: background 0.12s ease;
    outline: none;
    position: relative;
}

.notifications-item:hover[b-s06jo26zgj],
.notifications-item:focus-visible[b-s06jo26zgj] {
    background: var(--kendo-color-surface-alt, rgba(255, 255, 255, 0.04));
}

.notifications-item.is-unread[b-s06jo26zgj]::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 22px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--kendo-color-primary, #6366f1);
}

.notifications-item.is-read[b-s06jo26zgj] {
    opacity: 0.6;
}

.notifications-item-icon[b-s06jo26zgj] {
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
    font-size: 20px !important;
    margin-top: 2px;
    flex: 0 0 auto;
}

.notifications-item.is-unread .notifications-item-icon[b-s06jo26zgj] {
    color: var(--kendo-color-on-surface, #e8e8e8);
}

.notifications-item-body[b-s06jo26zgj] {
    min-width: 0;
    flex: 1 1 auto;
}

.notifications-item-title[b-s06jo26zgj] {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--kendo-color-on-surface, #e8e8e8);
    line-height: 1.3;
}

.notifications-item-message[b-s06jo26zgj] {
    margin: 4px 0 0;
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.65));
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.notifications-item-meta[b-s06jo26zgj] {
    margin-top: 6px;
    font-size: 0.75rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.45));
    display: flex;
    gap: 6px;
    align-items: center;
}

.notifications-meta-sep[b-s06jo26zgj] {
    opacity: 0.7;
}
/* /Features/Bs/BsRele/AboutDialog.razor.rz.scp.css */
.about-current[b-dhgkkbstja] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.about-version[b-dhgkkbstja] {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.about-title[b-dhgkkbstja] {
    font-size: 15px;
    font-weight: 400;
    color: var(--app-text, #ddd);
    margin-bottom: 8px;
}

.about-description[b-dhgkkbstja] {
    margin: 8px 0 12px 0;
    line-height: 1.5;
}

.about-description[b-dhgkkbstja]  p {
    margin: 6px 0;
}

.about-meta[b-dhgkkbstja] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 4px 12px;
    font-size: 13px;
    margin-top: 8px;
}

.about-meta dt[b-dhgkkbstja] {
    color: var(--app-text-muted, #888);
}

.about-meta dd[b-dhgkkbstja] {
    margin: 0;
    color: var(--app-text, #ddd);
}

/* Scroll do conteúdo: regra mora em app.css global como
   `.about-dialog .k-window-content`. O `::deep` NÃO funciona aqui — o markup
   raiz deste componente é o próprio <TelerikDialog> (sem elemento HTML para
   ancorar o scope), então `[b-xxx] .k-window-content` não casava e a regra era
   ignorada (conteúdo cortado, sem scroll). A classe `.about-dialog` vem do
   parâmetro Class do TelerikDialog. */

.about-history[b-dhgkkbstja] {
    margin-top: 24px;
    border-top: 1px solid var(--app-border-subtle, rgba(255, 255, 255, 0.06));
    padding-top: 12px;
}

.about-history h3[b-dhgkkbstja] {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 600;
    position: sticky;
    top: 0;
    background: var(--app-surface, #1e1e1e);
    padding: 4px 0;
    z-index: 1;
}

.about-history-table[b-dhgkkbstja] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    line-height: 1.5;
}

.about-history-table th[b-dhgkkbstja],
.about-history-table td[b-dhgkkbstja] {
    text-align: left;
    padding: 6px 8px;
    border-bottom: 1px solid var(--app-border-subtle, rgba(255, 255, 255, 0.04));
}

.about-pager[b-dhgkkbstja] {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 10px;
    justify-content: flex-end;
    font-size: 12px;
}

.about-empty[b-dhgkkbstja] {
    color: var(--app-text-muted, #888);
}
/* /Features/Bs/BsRele/MandatoryUpdateModal.razor.rz.scp.css */
.mandatory-update-overlay[b-7el65ybbx1] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
}

.mandatory-update-card[b-7el65ybbx1] {
    max-width: 420px;
    padding: 1.5rem 2rem;
    border-radius: 8px;
    background: var(--kendo-color-surface, #1e1e1e);
    color: var(--kendo-color-on-surface, #fafafa);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    text-align: center;
}

.mandatory-update-title[b-7el65ybbx1] {
    margin: 0 0 0.75rem;
    font-size: 1.125rem;
    font-weight: 600;
}

.mandatory-update-actions[b-7el65ybbx1] {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}
/* /Features/Bs/BsRele/ReleaseFooter.razor.rz.scp.css */
.release-footer[b-zs11wifcpx] {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 11px;
    color: var(--app-text-muted, #888);
    background: transparent;
}

.release-footer.compact[b-zs11wifcpx] {
    justify-content: center;
}

.release-footer.compact .release-footer-link[b-zs11wifcpx] {
    padding: 2px 0;
}

.release-footer-link[b-zs11wifcpx] {
    background: none;
    border: 0;
    padding: 2px 6px;
    color: inherit;
    font: inherit;
    cursor: pointer;
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.release-footer-link:hover[b-zs11wifcpx] {
    color: var(--app-text, #ddd);
    text-decoration: underline;
}

.release-footer-logo[b-zs11wifcpx] {
    height: 14px;
    width: auto;
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
}

.release-footer.compact .release-footer-logo[b-zs11wifcpx] {
    height: 16px;
}

/* Swap dark/light pela flag de tema injetada no <html> por index.html. */
:root[data-scheme="light"] .release-footer-logo--dark[b-zs11wifcpx],
:root:not([data-scheme="light"]) .release-footer-logo--light[b-zs11wifcpx] {
    display: none;
}

.release-footer-version[b-zs11wifcpx] {
    font-weight: 600;
}

.release-footer-applied[b-zs11wifcpx] {
    color: var(--app-text-muted, #888);
}

@media (max-width: 640px) {
    .release-footer-applied[b-zs11wifcpx] {
        display: none;
    }
}
/* /Features/In/Dv360/Carga/Dv360CargaPage.razor.rz.scp.css */
.dv360-section-title[b-06barvtqfi] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.35rem;
}

.dv360-section-hint[b-06barvtqfi] {
    margin: 0 0 0.85rem;
    color: var(--kendo-color-subtle, #6b7280);
    font-size: 0.9rem;
}

.dv360-file[b-06barvtqfi] {
    display: inline-block;
    margin-top: 0.35rem;
    color: var(--kendo-color-subtle, #6b7280);
    font-size: 0.85rem;
}

.dv360-alert[b-06barvtqfi],
.dv360-ok[b-06barvtqfi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    border: 1px solid;
}

.dv360-alert[b-06barvtqfi] {
    border-color: var(--kendo-color-error, #d9534f);
    color: var(--kendo-color-error, #d9534f);
    background: color-mix(in srgb, var(--kendo-color-error, #d9534f) 8%, transparent);
}

.dv360-ok[b-06barvtqfi] {
    border-color: var(--kendo-color-success, #2e7d32);
    color: var(--kendo-color-success, #2e7d32);
    background: color-mix(in srgb, var(--kendo-color-success, #2e7d32) 8%, transparent);
}
/* /Features/In/Dv360/Consulta/Dv360ConsultaPage.razor.rz.scp.css */
.dv360-alert[b-31kqisem1t] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    border: 1px solid var(--kendo-color-error, #d9534f);
    color: var(--kendo-color-error, #d9534f);
    background: color-mix(in srgb, var(--kendo-color-error, #d9534f) 8%, transparent);
}
/* /Features/In/Dv360/ValidacaoAcesso/Dv360ValidacaoAcessoPage.razor.rz.scp.css */
/* Alerta de erro da validação (credencial inválida, report FAILED, timeout).
   Seletor plain — o elemento é do próprio componente, o scope [b-xxx] casa. */
.dv360-alert[b-3ir6fnyyvw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--kendo-color-error, #d9534f);
    border-radius: 4px;
    color: var(--kendo-color-error, #d9534f);
    background: color-mix(in srgb, var(--kendo-color-error, #d9534f) 8%, transparent);
}
/* /Features/In/Vbs/Consulta/Shared/ReintegrarForcadoButton.razor.rz.scp.css */
/* Estado "executando" do dialog de re-integração forçada — loader centralizado
   enquanto o servidor processa o lote de forma síncrona (pode levar minutos). */
.vbs-reintegr-running[b-jilhu3tmcs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 0.5rem;
    text-align: center;
}

.vbs-reintegr-running-msg[b-jilhu3tmcs] {
    margin: 0;
    line-height: 1.5;
}
/* /Features/In/Vbs/InFalh/MotivoBadge.razor.rz.scp.css */
.motivo-badge[b-jokpvp482e] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    border: 1px solid transparent;
}

.motivo-badge--danger[b-jokpvp482e] {
    background: rgba(220, 53, 69, 0.16);
    color: #ff6b7a;
    border-color: rgba(220, 53, 69, 0.4);
}

.motivo-badge--warn[b-jokpvp482e] {
    background: rgba(255, 138, 0, 0.16);
    color: #ffa94d;
    border-color: rgba(255, 138, 0, 0.4);
}

.motivo-badge--amber[b-jokpvp482e] {
    background: rgba(255, 193, 7, 0.16);
    color: #ffd24d;
    border-color: rgba(255, 193, 7, 0.4);
}

.motivo-badge--muted[b-jokpvp482e] {
    background: rgba(148, 163, 184, 0.16);
    color: #cbd5e1;
    border-color: rgba(148, 163, 184, 0.35);
}

.motivo-badge--neutral[b-jokpvp482e] {
    background: rgba(99, 102, 241, 0.14);
    color: #a5b4fc;
    border-color: rgba(99, 102, 241, 0.35);
}
/* /Features/In/Vbs/InFalh/VbsInFalhInspecaoPage.razor.rz.scp.css */
.infalh-header[b-aqenhm48ma] {
    display: flex;
    align-items: baseline;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.infalh-header h2[b-aqenhm48ma] {
    margin: 0;
}

.infalh-header__resumo[b-aqenhm48ma] {
    color: var(--flowt-text-muted, #94a3b8);
    font-size: 0.9rem;
}

.infalh-filtros[b-aqenhm48ma] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}

.infalh-filtros__linha[b-aqenhm48ma] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.infalh-check[b-aqenhm48ma] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
}

.infalh-lote-toolbar[b-aqenhm48ma] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    min-height: 36px;
}

.infalh-lote-toolbar__count[b-aqenhm48ma] {
    color: var(--flowt-text-muted, #94a3b8);
    font-size: 0.9rem;
}

.infalh-ns[b-aqenhm48ma] {
    font-family: var(--flowt-font-mono, ui-monospace, monospace);
}

.infalh-hist[b-aqenhm48ma] {
    margin-left: 6px;
    color: var(--flowt-text-muted, #94a3b8);
    font-size: 0.8rem;
}

.infalh-muted[b-aqenhm48ma] {
    color: var(--flowt-text-muted, #94a3b8);
}

.infalh-footer[b-aqenhm48ma] {
    margin-top: 10px;
    color: var(--flowt-text-muted, #94a3b8);
    font-size: 0.82rem;
}
/* /Features/Mi/MediaCenter/Dashboard/MediaCenterDashboardPage.razor.rz.scp.css */
.mc-filter-label[b-36yw8qsf3p] {
    font-weight: 600;
    color: var(--kendo-color-subtle);
    margin: 0 4px 0 10px;
}

.mc-dash-grid[b-36yw8qsf3p] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 8px;
}

.mc-dash-wide[b-36yw8qsf3p] {
    grid-column: 1 / -1;
}

@media (max-width: 900px) {
    .mc-dash-grid[b-36yw8qsf3p] {
        grid-template-columns: 1fr;
    }
}

.mc-dash-title[b-36yw8qsf3p] {
    margin: 0 0 8px;
    font-size: 1rem;
    font-weight: 600;
}

.mc-dash-empty[b-36yw8qsf3p] {
    padding: 40px;
    text-align: center;
    color: var(--kendo-color-subtle);
}
/* /Features/Mi/MediaCenter/Edicao/MediaCenterEdicaoPage.razor.rz.scp.css */
.mc-edit-toolbar[b-nmcce94wph] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}

.mc-year-label[b-nmcce94wph] {
    font-weight: 600;
    color: var(--kendo-color-subtle);
    margin-right: 2px;
}

.mc-lock-note[b-nmcce94wph] {
    padding: 6px 12px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--kendo-color-warning) 16%, transparent);
    color: var(--kendo-color-warning);
    font-weight: 600;
    font-size: .85rem;
}

/* Card de total (canto superior direito) */
.mc-total-card[b-nmcce94wph] {
    min-width: 180px;
    padding: 12px 18px;
    border: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
    border-radius: 10px;
    background: var(--kendo-color-base, rgba(128, 128, 128, .08));
    text-align: right;
}

.mc-total-card__label[b-nmcce94wph] {
    font-size: .8rem;
    color: var(--kendo-color-subtle);
}

.mc-total-card__value[b-nmcce94wph] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--kendo-color-primary);
}

.mc-total-card__label--bruto[b-nmcce94wph] {
    margin-top: 6px;
}

.mc-total-card__value--bruto[b-nmcce94wph] {
    font-size: 1.15rem;
    color: var(--kendo-color-on-base, inherit);
}

.mc-grade__grand--bruto td[b-nmcce94wph] {
    color: var(--kendo-color-subtle);
    border-top: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
}

/* Grade — container de scroll nos DOIS eixos (spec 0459): vertical limitado por
   max-height para o cabeçalho sticky grudar no topo do container, horizontal para
   os 12 meses. Sem o limite de altura o thead sticky não teria referência de scroll. */
.mc-grade-scroll[b-nmcce94wph] {
    overflow: auto;
    max-height: calc(100vh - 240px);
    margin-top: 8px;
}

.mc-grade[b-nmcce94wph] {
    border-collapse: collapse;
    width: 100%;
    font-size: .88rem;
    color: var(--kendo-color-on-base, inherit);
}

.mc-grade th[b-nmcce94wph],
.mc-grade td[b-nmcce94wph] {
    border: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
    padding: 2px 6px;
    text-align: right;
    white-space: nowrap;
}

/* Célula editável: sem padding extra e sem setas de sobe/desce (ocupam espaço). */
.mc-grade td.mc-grade__cell[b-nmcce94wph] {
    padding: 1px 2px;
}

.mc-grade[b-nmcce94wph]  .k-input-spinner {
    display: none;
}

.mc-grade[b-nmcce94wph]  .mc-cell-input {
    min-width: 0;
}

/* Reduz o padding interno do editor pra caber valor na casa dos 100M sem truncar. */
.mc-grade[b-nmcce94wph]  .mc-cell-input .k-input-inner {
    padding-inline: 3px;
    text-align: right;
}

/* Cabeçalho de meses sticky no topo (spec 0459): fundo OPACO e acima do corpo,
   para as linhas rolarem por baixo. z-index 2 (acima das células de mês do corpo). */
.mc-grade thead th[b-nmcce94wph] {
    position: sticky;
    top: 0;
    background: var(--kendo-color-app-surface);
    font-weight: 600;
    z-index: 2;
}

/* Primeira coluna (Veículo) congelada à esquerda — z-index 3, acima das células
   de mês do corpo, para elas rolarem POR BAIXO sem sobreposição (spec 0459). */
.mc-grade th.mc-grade__veic[b-nmcce94wph],
.mc-grade td.mc-grade__veic[b-nmcce94wph] {
    text-align: left;
    position: sticky;
    left: 0;
    background: var(--kendo-color-app-surface);
    min-width: 150px;
    z-index: 3;
}

/* Célula de canto (cabeçalho × 1ª coluna) — sticky nos dois eixos, topo de tudo. */
.mc-grade thead th.mc-grade__veic[b-nmcce94wph] {
    z-index: 4;
}

.mc-grade__mo[b-nmcce94wph] {
    min-width: 96px;
}

.mc-grade__total-col[b-nmcce94wph] {
    font-weight: 700;
    background: var(--kendo-color-base, rgba(128, 128, 128, .1));
}

/* Linha de Meio (agrupador) + subtotais */
.mc-grade__meio[b-nmcce94wph] {
    cursor: pointer;
    font-weight: 600;
}

.mc-grade__meio td[b-nmcce94wph],
.mc-grade__meio td.mc-grade__veic[b-nmcce94wph] {
    background: var(--kendo-color-base, rgba(128, 128, 128, .12));
}

.mc-grade__meio:hover td[b-nmcce94wph] {
    background: var(--kendo-color-surface, rgba(128, 128, 128, .2));
}

.mc-grade__sub[b-nmcce94wph] {
    color: var(--kendo-color-subtle);
}

/* Célula editada (dirty) — realce translúcido da cor primária (compõe nos dois temas) */
.mc-grade__cell--dirty[b-nmcce94wph] {
    background: color-mix(in srgb, var(--kendo-color-primary) 18%, transparent);
}

/* Linha de total geral */
.mc-grade__grand td[b-nmcce94wph] {
    font-weight: 700;
    background: var(--kendo-color-base, rgba(128, 128, 128, .16));
    border-top: 2px solid var(--kendo-color-border, rgba(128, 128, 128, .5));
}
/* /Features/Mi/MediaCenter/MediaCenterClientesPage.razor.rz.scp.css */
/* V0.954 spec 0462: 4+ cards por linha conforme a resolução. auto-fill preenche
   quantas colunas couberem (≥4 em telas largas, colapsa em telas estreitas). */
.mc-card-grid[b-cq9c7xxnjz] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
    margin-top: 8px;
}

.mc-card[b-cq9c7xxnjz] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 20px;
    text-align: left;
    color: var(--kendo-color-on-base, inherit);
    background: var(--kendo-color-base, rgba(128, 128, 128, .06));
    border: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
    border-radius: 10px;
    cursor: pointer;
    transition: box-shadow .15s ease, border-color .15s ease, transform .05s ease;
}

.mc-card:hover[b-cq9c7xxnjz] {
    border-color: var(--kendo-color-primary);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}

.mc-card:active[b-cq9c7xxnjz] {
    transform: translateY(1px);
}

.mc-card__name[b-cq9c7xxnjz] {
    font-size: 1.05rem;
    font-weight: 600;
}

.mc-card__total[b-cq9c7xxnjz] {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--kendo-color-primary);
}

.mc-card__total-tag[b-cq9c7xxnjz] {
    font-size: .72rem;
    font-weight: 600;
    color: var(--kendo-color-subtle);
    vertical-align: middle;
    margin-left: 4px;
}

/* Valor bruto (spec 0462) — secundário ao líquido. */
.mc-card__bruto[b-cq9c7xxnjz] {
    font-size: 1.0rem;
    font-weight: 600;
    color: var(--kendo-color-subtle);
    margin-top: -4px;
}

/* Card de cliente inativo — esmaecido (spec 0462). */
.mc-card--inactive[b-cq9c7xxnjz] {
    opacity: .62;
}

.mc-badge--inactive[b-cq9c7xxnjz] {
    background: color-mix(in srgb, var(--kendo-color-subtle) 22%, transparent);
    color: var(--kendo-color-subtle);
    margin-right: 6px;
}

/* Toggle "Mostrar inativos" na toolbar (spec 0462). */
.mc-inactive-toggle[b-cq9c7xxnjz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 14px;
    font-size: .88rem;
    color: var(--kendo-color-subtle);
    cursor: pointer;
    white-space: nowrap;
}

.mc-card__meta[b-cq9c7xxnjz] {
    margin-top: 2px;
}

.mc-badge[b-cq9c7xxnjz] {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
}

.mc-badge--free[b-cq9c7xxnjz] {
    background: color-mix(in srgb, var(--kendo-color-success) 16%, transparent);
    color: var(--kendo-color-success);
}

.mc-badge--editing[b-cq9c7xxnjz] {
    background: color-mix(in srgb, var(--kendo-color-warning) 18%, transparent);
    color: var(--kendo-color-warning);
}

.mc-card__updated[b-cq9c7xxnjz] {
    font-size: .8rem;
    color: var(--kendo-color-subtle);
}

.mc-empty[b-cq9c7xxnjz] {
    padding: 32px;
    text-align: center;
    color: var(--kendo-color-subtle);
}
/* /Features/Mi/MediaCenter/OrdemMeio/MediaCenterOrdemMeioPage.razor.rz.scp.css */
.mc-ordem-pos[b-2uesmbe0dn] {
    display: inline-block;
    min-width: 24px;
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    opacity: 0.7;
}
/* /Features/Mi/MediaCenter/Versao/MediaCenterSalvarVersaoPage.razor.rz.scp.css */
.mc-year-label[b-4uw4pc1shi] {
    font-weight: 600;
    color: var(--kendo-color-subtle);
    margin-right: 4px;
}

.mc-grade-scroll[b-4uw4pc1shi] {
    overflow-x: auto;
    margin-top: 8px;
}

.mc-grade[b-4uw4pc1shi] {
    border-collapse: collapse;
    width: 100%;
    font-size: .88rem;
    color: var(--kendo-color-on-base, inherit);
}

.mc-grade th[b-4uw4pc1shi],
.mc-grade td[b-4uw4pc1shi] {
    border: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
    padding: 2px 6px;
    text-align: right;
    white-space: nowrap;
}

.mc-grade thead th[b-4uw4pc1shi] {
    background: var(--kendo-color-base, rgba(128, 128, 128, .1));
    font-weight: 600;
}

.mc-grade th.mc-grade__veic[b-4uw4pc1shi],
.mc-grade td.mc-grade__veic[b-4uw4pc1shi] {
    text-align: left;
    position: sticky;
    left: 0;
    background: var(--kendo-color-app-surface);
    min-width: 180px;
    z-index: 1;
}

.mc-grade__mo[b-4uw4pc1shi] {
    min-width: 100px;
}

.mc-grade__total-cell[b-4uw4pc1shi] {
    font-weight: 700;
    background: var(--kendo-color-base, rgba(128, 128, 128, .12));
}

.mc-grade__empty[b-4uw4pc1shi] {
    text-align: center;
    color: var(--kendo-color-subtle);
    padding: 24px;
}

.mc-edit-toolbar[b-4uw4pc1shi] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}

.mc-total-card[b-4uw4pc1shi] {
    min-width: 180px;
    padding: 12px 18px;
    border: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
    border-radius: 10px;
    background: var(--kendo-color-base, rgba(128, 128, 128, .08));
    text-align: right;
}

.mc-total-card__label[b-4uw4pc1shi] {
    font-size: .8rem;
    color: var(--kendo-color-subtle);
}

.mc-total-card__label--bruto[b-4uw4pc1shi] {
    margin-top: 6px;
}

.mc-total-card__value[b-4uw4pc1shi] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--kendo-color-primary);
}

.mc-total-card__value--bruto[b-4uw4pc1shi] {
    font-size: 1.15rem;
    color: var(--kendo-color-on-base, inherit);
}

.mc-grade__grand td[b-4uw4pc1shi] {
    font-weight: 700;
    background: var(--kendo-color-base, rgba(128, 128, 128, .16));
    border-top: 2px solid var(--kendo-color-border, rgba(128, 128, 128, .5));
}

.mc-grade__grand--bruto td[b-4uw4pc1shi] {
    color: var(--kendo-color-subtle);
    border-top: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
}
/* /Features/Mi/MediaCenter/Versoes/MediaCenterVersaoDetailPage.razor.rz.scp.css */
/* Container de scroll nos dois eixos (spec 0459) — vertical limitado para o
   cabeçalho sticky grudar; horizontal para os meses. */
.mc-grade-scroll[b-jazp51db9n] {
    overflow: auto;
    max-height: calc(100vh - 240px);
    margin-top: 8px;
}

.mc-grade[b-jazp51db9n] {
    border-collapse: collapse;
    width: 100%;
    font-size: .88rem;
    color: var(--kendo-color-on-base, inherit);
}

.mc-grade th[b-jazp51db9n],
.mc-grade td[b-jazp51db9n] {
    border: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
    padding: 2px 6px;
    text-align: right;
    white-space: nowrap;
}

/* Cabeçalho sticky no topo (spec 0459) — fundo opaco, acima do corpo. */
.mc-grade thead th[b-jazp51db9n] {
    position: sticky;
    top: 0;
    background: var(--kendo-color-app-surface);
    z-index: 2;
}

.mc-grade th.mc-grade__veic[b-jazp51db9n],
.mc-grade td.mc-grade__veic[b-jazp51db9n] {
    text-align: left;
    position: sticky;
    left: 0;
    background: var(--kendo-color-app-surface);
    min-width: 260px;
    z-index: 3;
}

/* Célula de canto — sticky nos dois eixos, topo de tudo (spec 0459). */
.mc-grade thead th.mc-grade__veic[b-jazp51db9n] {
    z-index: 4;
}

.mc-grade__mo[b-jazp51db9n] {
    min-width: 100px;
}

.mc-grade__total-cell[b-jazp51db9n] {
    font-weight: 700;
    background: var(--kendo-color-base, rgba(128, 128, 128, .12));
}

.mc-node[b-jazp51db9n] {
    cursor: pointer;
}

.mc-node--clie td.mc-grade__veic[b-jazp51db9n] {
    font-weight: 700;
    background: var(--kendo-color-base, rgba(128, 128, 128, .14));
}

.mc-node--meio td.mc-grade__veic[b-jazp51db9n] {
    font-weight: 600;
    background: var(--kendo-color-surface, rgba(128, 128, 128, .08));
}

.mc-node:hover td.mc-grade__veic[b-jazp51db9n] {
    background: var(--kendo-color-surface, rgba(128, 128, 128, .18));
}

.mc-indent-1[b-jazp51db9n] {
    padding-left: 28px !important;
}

.mc-indent-2[b-jazp51db9n] {
    padding-left: 52px !important;
}

.mc-grade__empty[b-jazp51db9n] {
    text-align: center;
    color: var(--kendo-color-subtle);
    padding: 24px;
}

.mc-total-card[b-jazp51db9n] {
    min-width: 180px;
    padding: 12px 18px;
    border: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
    border-radius: 10px;
    background: var(--kendo-color-base, rgba(128, 128, 128, .08));
    text-align: right;
}

.mc-total-card__label[b-jazp51db9n] {
    font-size: .8rem;
    color: var(--kendo-color-subtle);
}

.mc-total-card__label--bruto[b-jazp51db9n] {
    margin-top: 6px;
}

.mc-total-card__value[b-jazp51db9n] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--kendo-color-primary);
}

.mc-total-card__value--bruto[b-jazp51db9n] {
    font-size: 1.15rem;
    color: var(--kendo-color-on-base, inherit);
}

.mc-grade__sub[b-jazp51db9n] {
    color: var(--kendo-color-subtle);
}

.mc-grade__grand td[b-jazp51db9n] {
    font-weight: 700;
    background: var(--kendo-color-base, rgba(128, 128, 128, .16));
    border-top: 2px solid var(--kendo-color-border, rgba(128, 128, 128, .5));
}

.mc-grade__grand--bruto td[b-jazp51db9n] {
    color: var(--kendo-color-subtle);
    border-top: 1px solid var(--kendo-color-border, rgba(128, 128, 128, .3));
}
/* /Features/Op/OpPric/PricingDetVerPage.razor.rz.scp.css */
/* Estilos específicos desta tela. Primitivas visuais (page-header, kpi-row,
   section-card) vêm de wwwroot/css/app.css (spec 0179.2). */

/* Card único dos 3 percentuais (Overhead/Margem/Imposto) na kpi-row — spec 0454.5. */
.kpi-card--percentuais[b-n9mt0truxo] {
    justify-content: flex-start;
}

/* V0.956 spec 0467.5: os 3 campos lado a lado (era empilhado na 0457). */
.pricing-pct-row[b-n9mt0truxo] {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    width: 100%;
    flex-wrap: wrap;
}

.pricing-pct-field[b-n9mt0truxo] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1 1 0;
    min-width: 0;
}

/* Rótulo casado com .kpi-card__label (uppercase, letter-spacing, cor subtle). */
.pricing-pct-field > span[b-n9mt0truxo] {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, 0.6));
}

/* spec 0467.5/0467.6: valor com cara de número de card (não label) + caneta. Peso/cor
   do .kpi-card__number (branco vivo, --kendo-color-on-base); tamanho 1.3125rem (≈21px
   no root de 16px) — menor que o número cheio do card porque são 3 lado a lado. rem
   para escalar com o root. !important vence a herança de span. */
.pricing-pct-value[b-n9mt0truxo] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 1.3125rem !important;
    font-weight: 600 !important;
    line-height: 1;
    color: var(--kendo-color-on-base, #fafafa) !important;
    min-height: 1.6rem;
}

.pricing-pct-value .pricing-pct-lapis[b-n9mt0truxo] {
    opacity: 0;
    transition: opacity 0.12s ease;
}

.pricing-pct-field:hover .pricing-pct-lapis[b-n9mt0truxo],
.pricing-pct-value .pricing-pct-lapis:focus-visible[b-n9mt0truxo] {
    opacity: 1;
}

/* Badge read-only de status do Pricing (spec 0454.5 item 3). Cor por natureza. */
.pricing-status-badge[b-n9mt0truxo] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    background: #6c757d;
}

.pricing-status-badge--e[b-n9mt0truxo] { background: #6c757d; } /* Elaboração — cinza */
.pricing-status-badge--a[b-n9mt0truxo] { background: #2e7d32; } /* Aprovado — verde */
.pricing-status-badge--t[b-n9mt0truxo] { background: #1565c0; } /* Encerrado — azul */
.pricing-status-badge--c[b-n9mt0truxo] { background: #b71c1c; } /* Cancelado — vermelho */

/* Card de Anexos no kpi-row: dois CTAs lado a lado (Pricing / Versão), cada um
   abrindo o painel à direita; o badge mostra a contagem. */
.kpi-card--anexos[b-n9mt0truxo] {
    justify-content: flex-start;
}

.anexos-cta[b-n9mt0truxo] {
    display: flex;
    flex-direction: row;
    gap: 0.35rem;
}

.anexos-cta[b-n9mt0truxo]  .k-button {
    justify-content: flex-start;
    flex: 1 1 0;
}

.anexos-badge[b-n9mt0truxo] {
    margin-left: auto;
    min-width: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 10px;
    background: var(--kendo-color-primary, #ff6358);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
}

/* Grid de FTE: largura 100% da área disponível com scroll horizontal. A Width
   fixa de cada coluna funciona como largura mínima — o Telerik rola em vez de
   encolher abaixo dela (colunas nunca somem). Fonte/padding compactos no mínimo
   aceitável para caber mais coluna sem scroll. [0258] */
.grid-horizontal-scroll[b-n9mt0truxo]  .k-grid {
    font-size: 0.72rem;
}

/* Uma única barra de scroll horizontal: a do próprio grid Telerik (spec 0454.5).
   O wrapper NÃO rola (sem overflow-x) e o grid fica a 100% da largura disponível
   (Width="100%"); com colunas de largura fixa, o Telerik dispara seu próprio scroll
   interno no conteúdo quando a soma das colunas excede a viewport. Nada de min-width
   no grid (era isso + o overflow do wrapper que geravam a segunda barra). */
.grid-horizontal-scroll[b-n9mt0truxo] {
    overflow-x: visible;
}

/* Folga entre a última linha e a barra de scroll horizontal do grid — a barra não
   fica colada na linha (spec 0454.5). Aplica no container de conteúdo do Telerik. */
.grid-horizontal-scroll[b-n9mt0truxo]  .k-grid-content,
.grid-horizontal-scroll[b-n9mt0truxo]  .k-grid-container {
    padding-bottom: 24px;
}

/* Sem scroll de altura: o grid cresce com as linhas (sem Height fixo), então o
   scrollbar vertical do Telerik (overflow-y: scroll por default) é fantasma —
   auto só mostra quando de fato excede, o que aqui nunca ocorre (spec 0454.5). */
.grid-horizontal-scroll[b-n9mt0truxo]  .k-grid-content {
    overflow-y: auto;
}

.grid-horizontal-scroll[b-n9mt0truxo]  .k-table-th,
.grid-horizontal-scroll[b-n9mt0truxo]  .k-table-td {
    padding-block: 0.25rem;
    padding-inline: 0.4rem;
}

.grid-horizontal-scroll[b-n9mt0truxo]  .k-input,
.grid-horizontal-scroll[b-n9mt0truxo]  .k-input-inner,
.grid-horizontal-scroll[b-n9mt0truxo]  .k-picker {
    font-size: 0.72rem;
}

/* TelerikDateRangePicker não expõe o parâmetro Width — largura vai por CSS. */
.vigencia-field[b-n9mt0truxo]  .k-daterangepicker {
    width: 100%;
}

/* Remove os rótulos "Início/Fim" internos do range picker — a posição dos campos
   já indica início e fim, e o rótulo desalinhava a linha do campo ao lado. */
.vigencia-field[b-n9mt0truxo]  .k-daterangepicker .k-floating-label-container > .k-label,
.vigencia-field[b-n9mt0truxo]  .k-daterangepicker label {
    display: none;
}

.vigencia-field[b-n9mt0truxo]  .k-daterangepicker .k-floating-label-container {
    padding-top: 0;
}

/* ── Banner de Pricing aprovado (modo leitura, spec 0294) ─────────────────
   Cor de estado (não erro), ícone de cadeado — bloqueio elegante, não cinza-morto. */
.pricing-detver-page .pricing-locked-banner[b-n9mt0truxo] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 0 0 1rem;
    padding: .75rem 1rem;
    border-radius: 8px;
    border: 1px solid var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .1);
    color: var(--kendo-color-warning, #f2c94c);
}

.pricing-detver-page .pricing-locked-banner__text[b-n9mt0truxo] {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    color: var(--kendo-color-on-app-surface, #fafafa);
}

.pricing-detver-page .pricing-locked-banner__text strong[b-n9mt0truxo] {
    color: var(--kendo-color-warning, #f2c94c);
}

/* spec 0467.6: sub-métrica (horas) no card de FTE. */
.kpi-card__sub[b-n9mt0truxo] {
    font-size: 0.8rem;
    opacity: 0.7;
    margin-top: 0.15rem;
}
/* /Features/Op/OpProj/Components/OpProjReadOnlyView.razor.rz.scp.css */
.proj-readonly[b-x1yse60fdq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3, 12px);
    padding: var(--space-3, 12px) 0;
}

.proj-readonly-loading[b-x1yse60fdq],
.proj-readonly-error[b-x1yse60fdq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3, 12px);
    min-height: 240px;
    color: var(--text-muted, #888);
}

.proj-readonly-banner[b-x1yse60fdq] {
    padding: var(--space-2, 8px) var(--space-3, 12px);
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
}

.proj-readonly-banner--warn[b-x1yse60fdq] {
    background: rgba(255, 191, 0, 0.12);
    color: var(--warning-fg, #c08800);
    border: 1px solid rgba(255, 191, 0, 0.35);
}

.proj-readonly-status-row[b-x1yse60fdq] {
    display: flex;
    gap: var(--space-2, 8px);
}

.readonly-richtext[b-x1yse60fdq] {
    color: var(--text-fg, inherit);
    line-height: 1.5;
}

.readonly-richtext p:first-child[b-x1yse60fdq] {
    margin-top: 0;
}

.readonly-richtext p:last-child[b-x1yse60fdq] {
    margin-bottom: 0;
}
/* /Features/Op/OpProj/OpProjDetPage.razor.rz.scp.css */
.section-head-with-toggle[b-y28gqpdk4m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.section-head-with-toggle h3[b-y28gqpdk4m] {
    margin: 0;
}

.optare-kanban-banner[b-y28gqpdk4m] {
    padding: 8px 12px;
    margin: 0 0 12px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--kendo-color-warning, #f5a623) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--kendo-color-warning, #f5a623) 30%, transparent);
    color: var(--kendo-color-on-base, #fafafa);
    font-size: 0.85rem;
}

.optare-kanban-loading[b-y28gqpdk4m] {
    padding: 24px;
    text-align: center;
    opacity: 0.65;
    font-size: 0.9rem;
}
/* /Features/Op/OpTare/Components/OpTarePriorityIcon.razor.rz.scp.css */
.optare-priority-icon[b-cwuwv8kgxx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.optare-priority-icon[b-cwuwv8kgxx]  .k-icon,
.optare-priority-icon[b-cwuwv8kgxx]  svg {
    width: 14px;
    height: 14px;
}

.optare-priority-info[b-cwuwv8kgxx] {
    color: var(--kendo-color-info, #4287f5);
}

.optare-priority-warning[b-cwuwv8kgxx] {
    color: var(--kendo-color-warning, #f0ad4e);
}

.optare-priority-orange[b-cwuwv8kgxx] {
    color: var(--optare-priority-orange, #f97316);
}

.optare-priority-error[b-cwuwv8kgxx] {
    color: var(--kendo-color-error, #d13438);
}
/* /Features/Op/OpTare/Dashboard/OpTareIndicadoresPage.razor.rz.scp.css */
/* Spec 0439 — Dashboard de indicadores de fluxo (SLA). */
.optare-ind-filter-label[b-w1wpvsh9mp] {
    font-size: 0.8rem;
    color: var(--rm-color-text-muted);
    align-self: center;
}

.optare-ind-grid[b-w1wpvsh9mp] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 16px;
}

.optare-ind-wide[b-w1wpvsh9mp] {
    grid-column: 1 / -1;
}

@media (max-width: 900px) {
    .optare-ind-grid[b-w1wpvsh9mp] {
        grid-template-columns: 1fr;
    }
}

.optare-ind-title[b-w1wpvsh9mp] {
    margin: 0 0 8px;
    font-size: 0.95rem;
    font-weight: 600;
}

.optare-ind-empty[b-w1wpvsh9mp] {
    padding: 24px;
    text-align: center;
    color: var(--rm-color-text-muted);
}

.optare-ind-nota[b-w1wpvsh9mp] {
    margin-top: 16px;
    font-size: 0.8rem;
    color: var(--rm-color-text-muted);
    font-style: italic;
}
/* /Features/Op/OpTare/Detail/Components/OpFormSubmissaoOrigemSection.razor.rz.scp.css */
.opfosu-origem[b-rhb4u80cu0] {
    background: var(--surface-elevated, rgba(255, 255, 255, 0.04));
    border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 16px;
}

.opfosu-origem-loading[b-rhb4u80cu0],
.opfosu-origem-error[b-rhb4u80cu0] {
    padding: 12px 16px;
    margin-bottom: 16px;
}

.opfosu-origem-error[b-rhb4u80cu0] {
    color: var(--color-error, #f86c6b);
    background: rgba(248, 108, 107, 0.08);
    border-radius: 6px;
}

.opfosu-origem-header[b-rhb4u80cu0] {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.06));
}

.opfosu-origem-title[b-rhb4u80cu0] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 1.05rem;
    flex-wrap: wrap;
}

.opfosu-origem-name[b-rhb4u80cu0] {
    color: var(--text-primary);
}

.opfosu-origem-sep[b-rhb4u80cu0] {
    opacity: 0.5;
}

.opfosu-origem-versao[b-rhb4u80cu0] {
    color: var(--text-secondary);
    font-weight: 500;
}

.opfosu-origem-badge-archived[b-rhb4u80cu0] {
    margin-left: 8px;
    padding: 2px 8px;
    font-size: 0.75rem;
    font-weight: 500;
    background: rgba(180, 180, 180, 0.18);
    color: var(--text-secondary);
    border-radius: 12px;
    cursor: help;
}

.opfosu-origem-meta[b-rhb4u80cu0] {
    margin-top: 4px;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.opfosu-origem-campos[b-rhb4u80cu0] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.opfosu-origem-campo[b-rhb4u80cu0] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.opfosu-origem-campo-label-row[b-rhb4u80cu0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.opfosu-origem-campo-label[b-rhb4u80cu0] {
    font-weight: 500;
    color: var(--text-primary);
}

.opfosu-origem-campo-badge[b-rhb4u80cu0] {
    padding: 2px 8px;
    font-size: 0.7rem;
    font-weight: 500;
    background: rgba(120, 120, 130, 0.22);
    color: var(--text-secondary);
    border-radius: 10px;
    white-space: nowrap;
}

.opfosu-origem-campo-valor[b-rhb4u80cu0] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding-left: 4px;
    color: var(--text-primary);
    word-break: break-word;
    white-space: pre-wrap;
}

.opfosu-origem-campo-valor-prefix[b-rhb4u80cu0] {
    color: var(--text-faint, rgba(255, 255, 255, 0.35));
    user-select: none;
    flex-shrink: 0;
}

.opfosu-origem-campo-vazio[b-rhb4u80cu0] {
    color: var(--text-faint, rgba(255, 255, 255, 0.4));
    font-style: italic;
}
/* /Features/Op/OpTare/Detail/Components/OpTareActivityItem.razor.rz.scp.css */
.optare-act[b-czn89ggg5o] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.optare-act--event[b-czn89ggg5o] {
    align-items: baseline;
    gap: 12px;
}

.optare-act--event .optare-act-text[b-czn89ggg5o] {
    flex: 1;
    /* Herda font-size do container .optare-historico-list (12px). */
}

.optare-act--event .optare-act-time[b-czn89ggg5o] {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: inherit;
    opacity: 0.75;
}

.optare-act--comment .optare-act-text[b-czn89ggg5o] {
    flex: 1;
    color: var(--flowt-text-primary, #e6e7ea);
    font-size: 14px;
    line-height: 1.45;
}

.optare-act--comment[b-czn89ggg5o] {
    gap: 12px;
}

.optare-act-comment-body[b-czn89ggg5o] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.optare-act-comment-head[b-czn89ggg5o] {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.optare-act-comment-text[b-czn89ggg5o] {
    margin: 0;
    color: var(--flowt-text-primary, #e6e7ea);
    white-space: pre-wrap;
    line-height: 1.5;
}
/* /Features/Op/OpTare/Detail/Components/OpTareActivitySection.razor.rz.scp.css */
.optare-atividade-section[b-gv20abbr1z] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
}

.optare-atividade-compose[b-gv20abbr1z] {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.optare-atividade-compose > :first-child[b-gv20abbr1z] {
    flex: 1;
}

.optare-atividade-empty[b-gv20abbr1z],
.optare-atividade-skeleton[b-gv20abbr1z] {
    padding: 16px 0;
}

.optare-atividade-timeline[b-gv20abbr1z] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-left: 2px solid var(--flowt-border-subtle, #2a2d33);
    padding-left: 16px;
}

.optare-atividade-item[b-gv20abbr1z] {
    position: relative;
}

.optare-atividade-loadmore[b-gv20abbr1z] {
    display: flex;
    justify-content: center;
    padding: 12px 0;
}

/* Histórico — eventos do log abaixo dos comentários, deliberadamente discreto. */
.optare-historico[b-gv20abbr1z] {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--flowt-border-subtle, #2a2d33);
}

.optare-historico-title[b-gv20abbr1z] {
    margin: 0 0 8px 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--flowt-text-muted, #8b8e94);
}

.optare-historico-list[b-gv20abbr1z] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.optare-historico-list li[b-gv20abbr1z] {
    font-size: 11px;
    line-height: 1.4;
    color: var(--flowt-text-muted, #8b8e94);
}
/* /Features/Op/OpTare/Detail/Components/OpTareChecklistEditor.razor.rz.scp.css */
/* Spec 0083 — Editor de Checklist no corpo do OpTareDetPanel.
   Visual coerente com tema dark; elementos próprios usam seletor plain. */

.optare-checklist[b-hq9p696ffa] {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.optare-section-head[b-hq9p696ffa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.optare-section-title[b-hq9p696ffa] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--kendo-color-on-app-surface, rgba(255, 255, 255, 0.92));
}

.optare-checklist-empty[b-hq9p696ffa] {
    margin: 0;
    font-size: 0.875rem;
}

.optare-link[b-hq9p696ffa] {
    background: transparent;
    border: 0;
    color: var(--kendo-color-primary, #5b8def);
    cursor: pointer;
    font-size: 0.875rem;
    padding: 4px 0;
    text-align: left;
    align-self: flex-start;
}

.optare-link:hover[b-hq9p696ffa] {
    text-decoration: underline;
}

.optare-checklist-list[b-hq9p696ffa] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.optare-checklist-item[b-hq9p696ffa] {
    display: grid;
    grid-template-columns: 24px 1fr auto auto;
    align-items: center;
    gap: 10px;
    padding: 6px 8px;
    border-radius: 6px;
    transition: background 0.12s ease;
}

.optare-checklist-item:hover[b-hq9p696ffa] {
    background: var(--kendo-color-app-surface, rgba(255, 255, 255, 0.03));
}

.optare-checklist-item.done .optare-checklist-title[b-hq9p696ffa] {
    text-decoration: line-through;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.5));
}

.optare-checklist-check[b-hq9p696ffa] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.optare-checklist-check input[type="checkbox"][b-hq9p696ffa] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.optare-checklist-title[b-hq9p696ffa] {
    cursor: text;
    min-height: 22px;
    line-height: 22px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.optare-checklist-title-input[b-hq9p696ffa],
.optare-checklist-add-input[b-hq9p696ffa] {
    width: 100%;
    background: var(--kendo-color-app-surface, rgba(255, 255, 255, 0.04));
    color: var(--kendo-color-on-app-surface, rgba(255, 255, 255, 0.92));
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.12));
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 0.9rem;
}

.optare-checklist-prazo[b-hq9p696ffa] {
    font-size: 0.75rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--kendo-color-app-surface, rgba(255, 255, 255, 0.04));
}

.optare-checklist-prazo.overdue[b-hq9p696ffa] {
    color: var(--kendo-color-error, #f87171);
    background: rgba(248, 113, 113, 0.08);
}

.optare-checklist-completed[b-hq9p696ffa] {
    font-size: 0.75rem;
    white-space: nowrap;
}

.optare-checklist-actions[b-hq9p696ffa] {
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.12s ease;
}

.optare-checklist-item:hover .optare-checklist-actions[b-hq9p696ffa] {
    opacity: 1;
}

.optare-checklist-actions button[b-hq9p696ffa] {
    background: transparent;
    border: 1px solid transparent;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.85rem;
}

.optare-checklist-actions button:hover[b-hq9p696ffa] {
    border-color: var(--kendo-color-border, rgba(255, 255, 255, 0.16));
    color: var(--kendo-color-on-app-surface, rgba(255, 255, 255, 0.92));
}

.optare-checklist-add[b-hq9p696ffa] {
    margin-top: 4px;
}

.optare-checklist-skeleton[b-hq9p696ffa] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.optare-checklist-skeleton-row[b-hq9p696ffa] {
    height: 28px;
    border-radius: 4px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.04) 0%,
        rgba(255, 255, 255, 0.08) 50%,
        rgba(255, 255, 255, 0.04) 100%
    );
    background-size: 200% 100%;
    animation: optare-checklist-shimmer-b-hq9p696ffa 1.4s ease-in-out infinite;
}

@keyframes optare-checklist-shimmer-b-hq9p696ffa {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
/* /Features/Op/OpTare/Detail/Components/OpTareOriginBlock.razor.rz.scp.css */
/* Spec 0079 — Bloco Origem proeminente na sidebar (apenas em Tarefa tipada). */

.optare-origin-block[b-ad7rpr7jt7] {
    margin-top: 16px;
}

.optare-origin-card[b-ad7rpr7jt7] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    margin-top: 6px;
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.08));
    border-radius: 8px;
    background: var(--kendo-color-surface-alt, rgba(255, 255, 255, 0.03));
    transition: background 120ms ease, border-color 120ms ease;
}

.optare-origin-card--clickable[b-ad7rpr7jt7] {
    cursor: pointer;
}

.optare-origin-card--clickable:hover[b-ad7rpr7jt7] {
    background: var(--kendo-color-base-hover, rgba(255, 255, 255, 0.06));
    border-color: var(--kendo-color-primary, #d24a3d);
}

.optare-origin-card--clickable:focus-visible[b-ad7rpr7jt7] {
    outline: 2px solid var(--kendo-color-primary, #d24a3d);
    outline-offset: 2px;
}

.optare-origin-icon[b-ad7rpr7jt7] {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--kendo-color-surface, rgba(255, 255, 255, 0.06));
    color: var(--kendo-color-on-surface, #e8e8e8);
}

.optare-origin-text[b-ad7rpr7jt7] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.optare-origin-label[b-ad7rpr7jt7] {
    font-weight: 500;
    font-size: 0.9375rem;
    color: var(--kendo-color-on-surface, #e8e8e8);
}

.optare-origin-sub[b-ad7rpr7jt7] {
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.6));
    font-variant-numeric: tabular-nums;
}
/* /Features/Op/OpTare/Detail/Components/OpTareTitleInline.razor.rz.scp.css */
/* Spec 0078 — Título editável inline. H1 e input compartilham fonte/tamanho
   para evitar layout shift na transição. */

.optare-title-inline[b-103ufdi9q1] {
    width: 100%;
    min-width: 0;
}

.optare-title-inline.is-disabled .optare-title-h1[b-103ufdi9q1] {
    cursor: not-allowed;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
}

.optare-title-h1[b-103ufdi9q1] {
    margin: 0;
    padding: 2px 4px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.015em;
    color: var(--kendo-color-on-surface, #f0f0f0);
    cursor: text;
    border-radius: 6px;
    outline: none;
    transition: background-color 0.12s ease;
    word-break: break-word;
}

.optare-title-h1:hover:not(.is-disabled .optare-title-h1)[b-103ufdi9q1] {
    background: var(--kendo-color-surface-alt, rgba(255, 255, 255, 0.04));
}

.optare-title-h1:focus-visible[b-103ufdi9q1] {
    box-shadow: 0 0 0 2px var(--kendo-color-primary, #5b8def);
}

.optare-title-input[b-103ufdi9q1] {
    width: 100%;
    margin: 0;
    padding: 2px 4px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.015em;
    color: var(--kendo-color-on-surface, #f0f0f0);
    background: transparent;
    border: none;
    border-radius: 6px;
    outline: 2px solid var(--kendo-color-primary, #5b8def);
    box-sizing: border-box;
    font-family: inherit;
}

.optare-title-input[b-103ufdi9q1]::placeholder {
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.4));
}
/* /Features/Op/OpTare/Inbox/OpTareInboxPage.razor.rz.scp.css */
/* V0.73 — Inbox de Triagem (admin do app tarefas). Listagem agrupada por CC
   com ações inline. Layout editorial coerente com o resto do app. */
.optare-inbox-page[b-g3u8xiqtcl] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 32px 48px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.optare-inbox-header[b-g3u8xiqtcl] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--rm-color-border, rgba(255, 255, 255, 0.08));
}

.optare-inbox-header h1[b-g3u8xiqtcl] {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 4px;
}

.optare-inbox-filter[b-g3u8xiqtcl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.optare-inbox-state[b-g3u8xiqtcl] {
    padding: 32px;
    text-align: center;
    color: var(--rm-color-text-muted);
}

.optare-inbox-state.error[b-g3u8xiqtcl] {
    color: var(--rm-color-error, #c0392b);
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
}

.optare-inbox-group[b-g3u8xiqtcl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.optare-inbox-group-header[b-g3u8xiqtcl] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--rm-color-border, rgba(255, 255, 255, 0.08));
}

.optare-inbox-group-name[b-g3u8xiqtcl] {
    font-weight: 600;
    font-size: 0.95rem;
}

.optare-inbox-group-count[b-g3u8xiqtcl] {
    font-size: 0.8rem;
    color: var(--rm-color-text-muted);
}

.optare-inbox-list[b-g3u8xiqtcl] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.optare-inbox-item[b-g3u8xiqtcl] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 16px;
    padding: 12px 16px;
    border-radius: 8px;
    background: var(--rm-color-surface-elevated, rgba(255, 255, 255, 0.04));
    border: 1px solid var(--rm-color-border, rgba(255, 255, 255, 0.08));
}

.optare-inbox-item-title[b-g3u8xiqtcl] {
    grid-column: 1;
    grid-row: 1;
    background: none;
    border: none;
    color: var(--rm-color-text);
    text-align: left;
    font: inherit;
    font-weight: 500;
    cursor: pointer;
    padding: 0;
}

.optare-inbox-item-title:hover[b-g3u8xiqtcl] {
    color: var(--rm-color-primary, #4aa3ff);
    text-decoration: underline;
}

.optare-inbox-item-meta[b-g3u8xiqtcl] {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: var(--rm-color-text-muted);
}

.optare-inbox-item-actions[b-g3u8xiqtcl] {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    display: flex;
    gap: 8px;
}

.form-helper[b-g3u8xiqtcl] {
    font-size: 0.75rem;
    margin-top: 4px;
}

.form-error[b-g3u8xiqtcl] {
    color: var(--rm-color-error, #c0392b);
    font-size: 0.85rem;
    margin-top: 8px;
}
/* /Features/Op/OpTare/OpTareDetPanel.razor.rz.scp.css */
/* Spec 0078 — Layout 2-colunas. Sidebar 360px fixa à direita; corpo flex
   à esquerda. Sidebar rola independentemente. Header próprio (HideHeader=true
   no host) com título inline + autosave + menu Mais + close.

   ⚠️ ::deep só onde a regra alcança elementos renderizados por componentes
   Telerik internos. Elementos renderizados pelo próprio panel (.optare-*)
   usam seletor plain — ::deep neles geraria seletor sem match. */

.optare-panel-header[b-sbtub1a25a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 24px 14px;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.06));
}

.optare-header-title[b-sbtub1a25a] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.optare-header-meta[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
    padding-left: 4px;
}

.optare-header-id[b-sbtub1a25a] {
    font-variant-numeric: tabular-nums;
    opacity: 0.7;
}

.optare-header-sep[b-sbtub1a25a] {
    opacity: 0.4;
}

.optare-header-actions[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.optare-panel-layout[b-sbtub1a25a] {
    display: flex;
    gap: 24px;
    padding: 20px 24px;
    height: calc(100% - 90px);
    box-sizing: border-box;
    overflow: hidden;
}

.optare-panel-body[b-sbtub1a25a] {
    flex: 1 1 auto;
    min-width: 0;
    overflow-y: auto;
    padding-right: 8px;
}

.optare-panel-sidebar[b-sbtub1a25a] {
    flex: 0 0 360px;
    overflow-y: auto;
    border-left: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.06));
    padding-left: 24px;
}

.optare-section-title[b-sbtub1a25a] {
    margin: 24px 0 12px;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: -0.005em;
    color: var(--kendo-color-on-surface, #e8e8e8);
}

.optare-comments-section[b-sbtub1a25a] {
    margin-top: 8px;
}

.optare-proj-combo[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    gap: 6px;
}

[b-sbtub1a25a] .optare-proj-combo .k-combobox {
    flex: 1;
    min-width: 0;
}

.optare-status-row[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.optare-assignee-list[b-sbtub1a25a] {
    list-style: none;
    padding: 0;
    margin: 4px 0 8px;
}

.optare-assignee-list li[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid var(--flowt-border, rgba(255, 255, 255, 0.06));
}

.optare-assignee-add[b-sbtub1a25a] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
}

.optare-assignee-actions[b-sbtub1a25a] {
    display: flex;
    gap: 8px;
}

.optare-comments[b-sbtub1a25a] {
    max-height: 380px;
    overflow-y: auto;
    margin-bottom: 12px;
    padding-right: 4px;
}

.optare-comment[b-sbtub1a25a] {
    padding: 10px 0;
    border-bottom: 1px solid var(--flowt-border, rgba(255, 255, 255, 0.06));
}

.optare-comment:last-child[b-sbtub1a25a] {
    border-bottom: none;
}

.optare-comment-head[b-sbtub1a25a] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 4px;
}

.optare-comment-head small[b-sbtub1a25a] {
    opacity: 0.6;
    font-size: 0.85em;
}

.optare-comment-add[b-sbtub1a25a] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.muted[b-sbtub1a25a] {
    opacity: 0.65;
}

/* Spec 0079 — bloco Datas com Início + Prazo lado a lado. */
.optare-datas-grid[b-sbtub1a25a] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.optare-datas-grid > div[b-sbtub1a25a] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.form-sublabel[b-sbtub1a25a] {
    font-size: 0.75rem;
    opacity: 0.65;
    letter-spacing: 0.02em;
}

.form-error[b-sbtub1a25a] {
    display: block;
    margin-top: 6px;
    color: var(--flowt-danger, #f87171);
    font-size: 0.8125rem;
}

.status-badge[b-sbtub1a25a] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    background: var(--kendo-color-surface-alt, rgba(255, 255, 255, 0.08));
    color: var(--kendo-color-on-surface, #e8e8e8);
}

.optare-conflict-banner[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    margin: 0 24px 12px;
    border-radius: 6px;
    background: rgba(250, 204, 21, 0.12);
    border: 1px solid rgba(250, 204, 21, 0.4);
    color: var(--flowt-warning, #facc15);
}

.panel-close[b-sbtub1a25a] {
    background: transparent;
    border: 0;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.6));
    font-size: 1.5rem;
    line-height: 1;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.panel-close:hover[b-sbtub1a25a] {
    background: var(--kendo-color-surface-alt, rgba(255, 255, 255, 0.06));
    color: var(--kendo-color-on-surface, #e8e8e8);
}

/* ─── Atribuídos (spec 0081) ─────────────────────────────────────── */
.optare-assignees li[b-sbtub1a25a] {
    align-items: center;
}

.optare-avatar[b-sbtub1a25a] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--kendo-color-surface-alt, rgba(255, 255, 255, 0.08));
    color: var(--kendo-color-on-surface, #e8e8e8);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    flex-shrink: 0;
}

.optare-avatar-lg[b-sbtub1a25a] {
    width: 40px;
    height: 40px;
    border: 2px solid var(--kendo-color-primary, #6366f1);
    font-size: 0.85rem;
}

.optare-assignee-principal > span:nth-child(2)[b-sbtub1a25a] {
    font-weight: 600;
}

/* V0.73 — Bloco "Demanda — aguardando triagem" exibido no topo da aba
   Detalhes quando a Tarefa é Demanda (CC sem projeto, não-terminal). */
.optare-demanda-block[b-sbtub1a25a] {
    border: 1px solid var(--rm-color-warning-border, #d49a3a);
    background: var(--rm-color-warning-subtle, rgba(212, 154, 58, 0.08));
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
}

.optare-demanda-title[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    color: var(--rm-color-warning-strong, #c98a2c);
    margin-bottom: 8px;
}

.optare-demanda-meta[b-sbtub1a25a] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 4px 16px;
    margin: 0;
}

.optare-demanda-meta > div[b-sbtub1a25a] {
    display: flex;
    flex-direction: column;
}

.optare-demanda-meta dt[b-sbtub1a25a] {
    font-size: 0.75rem;
    color: var(--rm-color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.optare-demanda-meta dd[b-sbtub1a25a] {
    margin: 0;
    font-size: 0.9rem;
    color: var(--rm-color-text);
}

/* V0.73 — badge "Solicitante" no item de Watcher obrigatório. */
.optare-badge-solicitante[b-sbtub1a25a] {
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--rm-color-surface-elevated, rgba(255, 255, 255, 0.06));
    color: var(--rm-color-text-muted);
    border: 1px solid var(--rm-color-border, rgba(255, 255, 255, 0.1));
}

/* V0.74 spec 0006 — faixa de acesso por liderança no header. */
.optare-autoowner-banner[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 16px 0 16px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.85rem;
    color: var(--rm-color-warning-strong, #c98a2c);
    background: var(--rm-color-warning-subtle, rgba(212, 154, 58, 0.08));
    border: 1px solid var(--rm-color-warning-border, #d49a3a);
}

.optare-autoowner-banner .k-svg-icon[b-sbtub1a25a] {
    flex: 0 0 auto;
}

/* V0.74 spec 0006 — seção "Liderança automática" e badge. */
.optare-autoowners li[b-sbtub1a25a] {
    align-items: center;
    gap: 8px;
}

.optare-autoowner-name[b-sbtub1a25a] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.optare-autoowner-name small[b-sbtub1a25a] {
    font-size: 0.75rem;
}

.optare-badge-autoowner[b-sbtub1a25a] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--rm-color-warning-strong, #c98a2c);
    background: var(--rm-color-warning-subtle, rgba(212, 154, 58, 0.10));
    border: 1px solid var(--rm-color-warning-border, #d49a3a);
}

.optare-badge-autoowner .k-svg-icon[b-sbtub1a25a] {
    width: 12px;
    height: 12px;
}

.optare-badge-carteira[b-sbtub1a25a] {
    margin-left: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--rm-color-text-muted);
    background: var(--rm-color-surface-elevated, rgba(255, 255, 255, 0.06));
    border: 1px solid var(--rm-color-border, rgba(255, 255, 255, 0.1));
}

/* Spec 0435 — área dedicada de aprovação (status "Em aprovação", publisher-only). */
.optare-approval-block[b-sbtub1a25a] {
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid var(--rm-color-info-border, rgba(88, 166, 255, 0.35));
    background: var(--rm-color-info-subtle, rgba(88, 166, 255, 0.08));
}

.optare-approval-badge[b-sbtub1a25a] {
    color: var(--rm-color-info-strong, #58a6ff);
    background: var(--rm-color-info-subtle, rgba(88, 166, 255, 0.12));
    border: 1px solid var(--rm-color-info-border, rgba(88, 166, 255, 0.35));
}

.optare-approval-hint[b-sbtub1a25a] {
    margin: 8px 0 0;
    font-size: 0.8rem;
    color: var(--rm-color-text-muted);
}

/* Spec 0438 — participante inativo em tarefa aberta. */
.optare-inactive-banner[b-sbtub1a25a] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--rm-color-warning-strong, #c98a2c);
    background: var(--rm-color-warning-subtle, rgba(212, 154, 58, 0.10));
    border: 1px solid var(--rm-color-warning-border, #d49a3a);
    font-size: 0.85rem;
}

.optare-inactive-name[b-sbtub1a25a] {
    color: var(--rm-color-warning-strong, #c98a2c);
    font-style: italic;
}

.optare-avatar.is-inactive[b-sbtub1a25a] {
    opacity: 0.5;
    border: 1px dashed var(--rm-color-warning-border, #d49a3a);
}
/* /Features/Op/OpTare/OpTareKanbanCard.razor.rz.scp.css */
.optare-kanban-card[b-s7tpgbrzyz] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    background: var(--kendo-color-base, #1e1e1e);
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.08));
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.12s ease, background 0.12s ease;
    color: var(--kendo-color-on-base, #fafafa);
}

.optare-kanban-card:hover[b-s7tpgbrzyz],
.optare-kanban-card:focus-visible[b-s7tpgbrzyz] {
    border-color: var(--kendo-color-primary, #ff7a00);
    background: var(--kendo-color-subtle-bg, rgba(255, 255, 255, 0.03));
    outline: none;
}

.optare-kanban-card.is-overdue[b-s7tpgbrzyz] {
    border-left: 3px solid var(--kendo-color-error, #f87171);
}

.optare-kanban-card-head[b-s7tpgbrzyz] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.optare-kanban-card-title[b-s7tpgbrzyz] {
    flex: 1;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.optare-kanban-card-typed[b-s7tpgbrzyz] {
    flex-shrink: 0;
    opacity: 0.55;
    color: var(--kendo-color-on-base, #fafafa);
}

/* V0.923 spec 0262 — ícone de tipada vira atalho clicável p/ a origem. */
.optare-kanban-card-typed--clickable[b-s7tpgbrzyz] {
    cursor: pointer;
    opacity: 0.85;
}

.optare-kanban-card-typed--clickable:hover[b-s7tpgbrzyz] {
    opacity: 1;
}

.optare-kanban-card-meta[b-s7tpgbrzyz] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 0.75rem;
}

.optare-kanban-prazo[b-s7tpgbrzyz] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.optare-kanban-prazo.is-neutral[b-s7tpgbrzyz],
.optare-kanban-prazo.is-future[b-s7tpgbrzyz] {
    background: var(--kendo-color-subtle-bg, rgba(255, 255, 255, 0.05));
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.75;
}

.optare-kanban-prazo.is-near[b-s7tpgbrzyz] {
    background: color-mix(in srgb, var(--kendo-color-warning, #f5a623) 20%, transparent);
    color: var(--kendo-color-warning, #f5a623);
}

.optare-kanban-prazo.is-overdue[b-s7tpgbrzyz] {
    background: color-mix(in srgb, var(--kendo-color-error, #f87171) 18%, transparent);
    color: var(--kendo-color-error, #f87171);
}

.optare-kanban-typed-label[b-s7tpgbrzyz] {
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--kendo-color-subtle-bg, rgba(255, 255, 255, 0.05));
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.7;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.optare-kanban-proj[b-s7tpgbrzyz] {
    max-width: 160px;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--kendo-color-subtle-bg, rgba(255, 255, 255, 0.04));
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.85;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.optare-kanban-card-foot[b-s7tpgbrzyz] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.optare-kanban-avatar[b-s7tpgbrzyz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--kendo-color-primary, #ff7a00);
    color: var(--kendo-color-on-primary, #ffffff);
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1;
}

.optare-kanban-avatar-more[b-s7tpgbrzyz] {
    background: var(--kendo-color-subtle-bg, rgba(255, 255, 255, 0.08));
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.7;
}

.optare-kanban-avatar.is-principal[b-s7tpgbrzyz] {
    border: 1.5px solid var(--kendo-color-primary, #6366f1);
}


/* Spec 0083 — badge discreto de progresso do Checklist no card. */
.optare-kanban-checklist[b-s7tpgbrzyz] {
    font-size: 0.7rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
    padding: 1px 6px;
    border-radius: 4px;
    background: var(--kendo-color-app-surface, rgba(255, 255, 255, 0.04));
    font-variant-numeric: tabular-nums;
}

/* Spec 0438 — participante inativo em tarefa aberta. */
.optare-kanban-inactive[b-s7tpgbrzyz] {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
    color: var(--rm-color-warning-strong, #c98a2c);
}

.optare-kanban-avatar.is-inactive[b-s7tpgbrzyz] {
    opacity: 0.5;
    border: 1px dashed var(--rm-color-warning-border, #d49a3a);
}
/* /Features/Op/OpTare/OpTareKanbanView.razor.rz.scp.css */
.optare-kanban[b-vpjopc4bxr] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(280px, 1fr);
    gap: 12px;
    overflow-x: auto;
    padding: 4px 2px 12px;
    min-height: 360px;
    align-items: stretch;
}

.optare-kanban-col[b-vpjopc4bxr] {
    display: flex;
    flex-direction: column;
    min-width: 280px;
    background: var(--kendo-color-surface, #141414);
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.08));
    border-radius: 8px;
    overflow: hidden;
}

.optare-kanban-col-head[b-vpjopc4bxr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.08));
    background: var(--kendo-color-subtle-bg, rgba(255, 255, 255, 0.02));
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--kendo-color-on-base, #fafafa);
}

.optare-kanban-col-count[b-vpjopc4bxr] {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--kendo-color-base, rgba(0, 0, 0, 0.2));
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.08));
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.75;
}

.optare-kanban-col-body[b-vpjopc4bxr] {
    flex: 1;
    min-height: 0;
    max-height: calc(100vh - 280px);
    overflow-y: auto;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.optare-kanban-empty[b-vpjopc4bxr] {
    text-align: center;
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.35;
    padding: 16px 0;
    font-size: 0.85rem;
}
/* /Features/Op/OpTare/OpTareListPage.razor.rz.scp.css */
.optare-kanban-banner[b-dkz81au70k] {
    padding: 8px 12px;
    margin: 0 0 12px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--kendo-color-warning, #f5a623) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--kendo-color-warning, #f5a623) 30%, transparent);
    color: var(--kendo-color-on-base, #fafafa);
    font-size: 0.85rem;
}

.optare-kanban-loading[b-dkz81au70k] {
    padding: 24px;
    text-align: center;
    opacity: 0.65;
    font-size: 0.9rem;
}

/* Spec 0082: ícone de prioridade antes do título na linha de lista. */
.optare-list-title[b-dkz81au70k] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.optare-list-checklist[b-dkz81au70k] {
    font-size: 0.75rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
    padding: 1px 6px;
    border-radius: 4px;
    background: var(--kendo-color-app-surface, rgba(255, 255, 255, 0.04));
    margin-left: 6px;
    font-variant-numeric: tabular-nums;
}

/* Spec 0438 — sinal de participante inativo em tarefa aberta. */
.optare-inactive-badge[b-dkz81au70k] {
    display: inline-flex;
    align-items: center;
    color: var(--rm-color-warning-strong, #c98a2c);
}

.optare-inactive-badge .k-svg-icon[b-dkz81au70k] {
    width: 14px;
    height: 14px;
}

.optare-inactive-name[b-dkz81au70k] {
    color: var(--rm-color-warning-strong, #c98a2c);
    font-style: italic;
}
/* /Features/Op/OpTare/OpTareTipadaListPage.razor.rz.scp.css */
/* Cabeçalho da listagem de Tarefas Tipadas: breadcrumb secundário + título à
   esquerda, toggle de status terminal à direita. Cores via tokens do tema. */

.optare-tipada-header[b-jvynafpg0n] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.optare-tipada-heading[b-jvynafpg0n] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

/* ── Breadcrumb secundário ──────────────────────────────────────────────── */

.optare-tipada-breadcrumb[b-jvynafpg0n] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    line-height: 1;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
}

.optare-tipada-breadcrumb a[b-jvynafpg0n] {
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
    text-decoration: none;
    border-radius: 4px;
    padding: 0.1rem 0.2rem;
    transition: color 120ms ease, background 120ms ease;
}

.optare-tipada-breadcrumb a:hover[b-jvynafpg0n] {
    color: var(--kendo-color-on-base, #fafafa);
    background: var(--kendo-color-base-hover, rgba(255, 255, 255, 0.06));
}

.optare-tipada-breadcrumb__sep[b-jvynafpg0n] {
    opacity: 0.4;
    font-size: 0.85rem;
}

.optare-tipada-breadcrumb__current[b-jvynafpg0n] {
    color: var(--kendo-color-on-base, #fafafa);
    font-weight: 600;
}

/* ── Título ─────────────────────────────────────────────────────────────── */

.optare-tipada-title[b-jvynafpg0n] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--kendo-color-on-base, #fafafa);
}

/* ── Toggle "Incluir encerradas" ────────────────────────────────────────── */

.optare-terminal-toggle[b-jvynafpg0n] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    padding: 0.35rem 0.6rem;
    border-radius: 8px;
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.12));
    background: var(--kendo-color-surface, rgba(255, 255, 255, 0.03));
    flex-shrink: 0;
}

.optare-terminal-toggle__text[b-jvynafpg0n] {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--kendo-color-on-base, #fafafa);
    white-space: nowrap;
}
/* /Features/Rh/Gv/Alocacao/GvAlocacaoColaboradorDetalhePage.razor.rz.scp.css */
/* Detalhe da alocação por colaborador (spec 0270) — layout/posicionamento; visual do tema. */

.gv-aloc-id[b-jkhl9q1bqp] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.gv-aloc-avatar[b-jkhl9q1bqp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 700;
    color: var(--kendo-color-on-primary, #fff);
    background: var(--kendo-color-primary, #ff5a5f);
    flex-shrink: 0;
}

.gv-aloc-badge[b-jkhl9q1bqp] {
    display: inline-block;
    margin-left: .6rem;
    padding: .12rem .55rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    vertical-align: middle;
}

.gv-aloc-badge--ok[b-jkhl9q1bqp] {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-aloc-badge--off[b-jkhl9q1bqp] {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

/* Duas colunas: conteúdo + identificação (aside). Colapsa no mobile. */
.gv-aloc-layout[b-jkhl9q1bqp] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 900px) {
    .gv-aloc-layout[b-jkhl9q1bqp] {
        grid-template-columns: 1fr;
    }
}

.gv-aloc-main[b-jkhl9q1bqp] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.gv-aloc-vaga-head[b-jkhl9q1bqp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.gv-aloc-vaga-actions[b-jkhl9q1bqp] {
    display: flex;
    flex-shrink: 0;
    gap: .5rem;
}

.gv-aloc-vaga-num[b-jkhl9q1bqp] {
    font-size: .95rem;
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-aloc-vaga-sub[b-jkhl9q1bqp] {
    margin-top: .15rem;
    font-size: .78rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-aloc-kpis[b-jkhl9q1bqp] {
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
}

.gv-aloc-saldo--pos .kpi-card__number[b-jkhl9q1bqp],
.gv-aloc-saldo--pos .kpi-card__suffix[b-jkhl9q1bqp] {
    color: var(--kendo-color-success, #4fbf67);
}

.gv-aloc-saldo--neg .kpi-card__number[b-jkhl9q1bqp],
.gv-aloc-saldo--neg .kpi-card__suffix[b-jkhl9q1bqp] {
    color: var(--kendo-color-warning, #f2c94c);
}

.gv-aloc-share[b-jkhl9q1bqp] {
    margin-top: 1rem;
    padding-top: .85rem;
    border-top: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

.gv-aloc-share__title[b-jkhl9q1bqp] {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
    margin-bottom: .5rem;
}

.gv-aloc-share__row[b-jkhl9q1bqp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .3rem 0;
    font-size: .85rem;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-aloc-share__empty[b-jkhl9q1bqp] {
    font-size: .82rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-aloc-hist[b-jkhl9q1bqp] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.gv-aloc-hist__item[b-jkhl9q1bqp] {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    font-size: .85rem;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-aloc-hist__data[b-jkhl9q1bqp],
.gv-aloc-hist__resp[b-jkhl9q1bqp] {
    font-size: .76rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-aloc-ident[b-jkhl9q1bqp] {
    margin: 0;
    display: flex;
    flex-direction: column;
}

.gv-aloc-ident > div[b-jkhl9q1bqp] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: .4rem 0;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .06));
}

.gv-aloc-ident > div:last-child[b-jkhl9q1bqp] {
    border-bottom: none;
}

.gv-aloc-ident dt[b-jkhl9q1bqp] {
    font-size: .8rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-aloc-ident dd[b-jkhl9q1bqp] {
    margin: 0;
    font-size: .85rem;
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
    text-align: right;
}

.gv-aloc-remover__q[b-jkhl9q1bqp] {
    margin: 0 0 .85rem;
    font-size: .9rem;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-aloc-remover__warn[b-jkhl9q1bqp] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin-top: .85rem;
    padding: .6rem .75rem;
    border-radius: 6px;
    font-size: .8rem;
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .1);
    border: 1px solid rgba(242, 201, 76, .25);
}
/* /Features/Rh/Gv/Alocacao/GvAlocacaoListPage.razor.rz.scp.css */
/* Lista de Alocação — apenas layout/posicionamento; visual vem do tema Telerik e
   das classes globais (kpi-card, page-toolbar). Espelha o Painel de Vagas. */

.gv-stats-row[b-i3pqkgk72v] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.gv-stat-clickable[b-i3pqkgk72v] {
    cursor: pointer;
}

/* Card-filtro selecionado — realce do recorte ativo do grid. */
.gv-stat-active[b-i3pqkgk72v] {
    box-shadow: inset 0 0 0 2px var(--kendo-color-primary, #3b82f6);
}

/* Célula de duas linhas (Colaborador · Cargo) — densidade. */
.gv-alocacao-list[b-i3pqkgk72v]  .gv-cargo-cell {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-cargo-cell__name {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-cargo-cell__sub {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

/* Badges de status — pill com dot, renderizadas dentro do TelerikGrid (::deep). */
.gv-alocacao-list[b-i3pqkgk72v]  .gv-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .12rem .5rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-badge--success {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-badge--warning {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-badge--danger {
    color: var(--kendo-color-error, #ff6b6b);
    background: rgba(255, 107, 107, .12);
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-badge--dark {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .45));
    background: rgba(0, 0, 0, .25);
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

/* Linha do grid clicável (abre o detalhe do colaborador) — affordance de cursor.
   ::deep alcança o <tr> renderizado pelo TelerikGrid. */
.gv-alocacao-list[b-i3pqkgk72v]  .k-grid tr.k-table-row {
    cursor: pointer;
}

/* Coluna Vaga: link de conteúdo padrão (.app-link) + cursor de link (sobrepõe o clique da linha). */
.gv-alocacao-list[b-i3pqkgk72v]  .gv-vaga-link {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));    
    text-decoration: none;
    cursor: pointer;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-vaga-link:hover {
    color: var(--kendo-color-info, #5b9cff);
}

/* Coluna Saldo: valor (R$ ou oculto) + status de uso na mesma célula. */
.gv-alocacao-list[b-i3pqkgk72v]  .gv-aloc-saldo {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    align-items: flex-start;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-aloc-saldo__uso {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    align-items: flex-start;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-saldo-vl {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-saldo-vl--neg {
    color: var(--kendo-color-error, #ff6b6b);
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-saldo-vl--hidden {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .4));
    letter-spacing: .15em;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-saldo-uso-link {
    font-size: 11.5px;
    color: var(--kendo-color-info, #5b9cff);
    text-decoration: none;
}

.gv-alocacao-list[b-i3pqkgk72v]  .gv-saldo-uso-link:hover {
    text-decoration: underline;
}
/* /Features/Rh/Gv/Alocacao/GvAlocacaoPanel.razor.rz.scp.css */
/* ── Ocupante (avatar + nome/cargo) ───────────────────────────────────────── */
.gv-aloc-ocupante[b-oeirmb6i2t] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .25rem 0 .6rem;
}

.gv-aloc-avatar[b-oeirmb6i2t] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--kendo-color-primary, #ff5a5f);
    color: #fff;
    font-weight: 700;
    font-size: .82rem;
}

.gv-aloc-pessoa[b-oeirmb6i2t] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.gv-aloc-nome[b-oeirmb6i2t] {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-aloc-cargo[b-oeirmb6i2t] {
    font-size: .78rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

/* ── Faixa V3 + Saldo de vaga ──────────────────────────────────────────────── */
.gv-aloc-strip[b-oeirmb6i2t] {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    margin-top: .25rem;
}

.gv-kpi-sub[b-oeirmb6i2t] {
    margin-top: auto;
    font-size: .7rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

/* Saldo positivo (folga) verde; negativo vermelho — elementos próprios, sem ::deep. */
.gv-aloc-card--folga .kpi-card__number[b-oeirmb6i2t],
.gv-aloc-card--folga .kpi-card__suffix--lead[b-oeirmb6i2t] {
    color: var(--kendo-color-success, #4fbf67);
}

.gv-aloc-card--negativo .kpi-card__number[b-oeirmb6i2t],
.gv-aloc-card--negativo .kpi-card__suffix--lead[b-oeirmb6i2t] {
    color: var(--kendo-color-error, #f5544f);
}
/* /Features/Rh/Gv/Alocacao/GvAlocarColaboradorPanel.razor.rz.scp.css */
/* Painel Alocar Colaborador (ActionPanel — renderiza inline, scoped plain basta). */

.gv-alocar__colab[b-r3pgut9l2p] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .65rem .8rem;
    margin-bottom: 1rem;
    border-radius: 6px;
    background: var(--kendo-color-base-subtle, rgba(255, 255, 255, .04));
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

.gv-aloc-avatar[b-r3pgut9l2p] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: .9rem;
    font-weight: 700;
    color: var(--kendo-color-on-primary, #fff);
    background: var(--kendo-color-primary, #ff5a5f);
    flex-shrink: 0;
}

.gv-alocar__nome[b-r3pgut9l2p] {
    font-size: .92rem;
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-alocar__desc[b-r3pgut9l2p] {
    font-size: .76rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-alocar__campo[b-r3pgut9l2p] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin-bottom: .9rem;
}

.gv-alocar__label[b-r3pgut9l2p] {
    font-size: .8rem;
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-aloc-req[b-r3pgut9l2p] {
    color: var(--kendo-color-error, #f55);
}

.gv-alocar__hint[b-r3pgut9l2p] {
    font-size: .8rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-alocar__ro[b-r3pgut9l2p] {
    padding: .45rem .65rem;
    border-radius: 6px;
    font-size: .9rem;
    color: var(--kendo-color-on-base, #fafafa);
    background: var(--kendo-color-base-subtle, rgba(255, 255, 255, .04));
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

.gv-alocar__nota[b-r3pgut9l2p] {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

.gv-alocar__saldo[b-r3pgut9l2p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem .8rem;
    margin-bottom: .5rem;
    border-radius: 6px;
}

.gv-alocar__saldo--pos[b-r3pgut9l2p] {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
    border: 1px solid rgba(79, 191, 103, .25);
}

.gv-alocar__saldo--neg[b-r3pgut9l2p] {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
    border: 1px solid rgba(242, 201, 76, .25);
}

.gv-alocar__saldo-k[b-r3pgut9l2p] {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.3;
}

.gv-alocar__saldo-v[b-r3pgut9l2p] {
    font-size: 1.1rem;
    font-weight: 700;
}

.gv-alocar__erro[b-r3pgut9l2p] {
    margin-top: .5rem;
}
/* /Features/Rh/Gv/Composicao/GvComposicaoPanel.razor.rz.scp.css */
/* ── Resumo (V2 / Base / Cobertura) ───────────────────────────────────────── */
.gv-comp-strip[b-ordj81ziey] {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    margin: 0 0 1rem;
}

.gv-comp-card--deficit .kpi-card__label[b-ordj81ziey],
.gv-comp-card--deficit .kpi-card__number[b-ordj81ziey],
.gv-comp-card--deficit .kpi-card__suffix[b-ordj81ziey] {
    color: var(--kendo-color-warning, #f2c94c);
}

.gv-comp-card--deficit[b-ordj81ziey] {
    border-color: rgba(242, 201, 76, .25);
    background: rgba(242, 201, 76, .06);
}

.gv-comp-card--buffer .kpi-card__label[b-ordj81ziey],
.gv-comp-card--buffer .kpi-card__number[b-ordj81ziey],
.gv-comp-card--buffer .kpi-card__suffix[b-ordj81ziey] {
    color: var(--kendo-color-success, #4fbf67);
}

.gv-comp-card--buffer[b-ordj81ziey] {
    border-color: rgba(79, 191, 103, .22);
    background: rgba(79, 191, 103, .06);
}

.field-hint[b-ordj81ziey] {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
    margin-top: .15rem;
}

/* ── Células do grid (renderizadas pelo Telerik → via ::deep) ──────────────── */
.gv-composicao-panel[b-ordj81ziey]  .gv-comp-fonte {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.gv-composicao-panel[b-ordj81ziey]  .gv-comp-fonte__cargo {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-composicao-panel[b-ordj81ziey]  .gv-comp-fonte__sub {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-composicao-panel[b-ordj81ziey]  .gv-comp-cross {
    display: inline-block;
    margin-left: .4rem;
    padding: .08rem .45rem;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 600;
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

/* Toggle "Desmembrar no ato" — checkbox + texto na mesma linha. */
.gv-comp-toggle[b-ordj81ziey] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    cursor: pointer;
    font-size: .85rem;
}
/* /Features/Rh/Gv/Dashboard/GvDashboardPage.razor.rz.scp.css */
/* ── Subtítulo do cabeçalho ───────────────────────────────────────────── */
.gv-page-sub[b-c0q7wy46uv] {
    margin-top: .25rem;
    font-size: .85rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

/* ── Faixa de KPI estável ─────────────────────────────────────────────────
   Colunas derivadas da largura do container (auto-fill), não da contagem de
   cards: alternar o conjunto condicional por permissão não muda a largura
   das colunas nem deixa buraco — cards fluem em sequência. */
.gv-kpi-row[b-c0q7wy46uv] {
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
}

/* Subtítulo contextual do stat-card (linha discreta abaixo do número). */
.gv-kpi-card__sub[b-c0q7wy46uv] {
    margin-top: auto;
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

/* Label de atenção (déficit, desligados) — mesma tinta da cobertura em déficit. */
.gv-attn[b-c0q7wy46uv] {
    color: var(--kendo-color-warning, #f2c94c) !important;
}

/* Valor monetário "negativo por natureza" (saldo negativo) em cor de atenção. */
.gv-kpi-card__number--warn[b-c0q7wy46uv] {
    color: var(--kendo-color-warning, #f2c94c);
}

/* ── Card clicável — affordance única dos dois cards com destino ───────── */
.gv-kpi-card--link[b-c0q7wy46uv] {
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.gv-kpi-card--link:hover[b-c0q7wy46uv],
.gv-kpi-card--link:focus-visible[b-c0q7wy46uv] {
    border-color: var(--kendo-color-primary, #ff5a5f);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
    outline: none;
}

.gv-kpi-card__cta[b-c0q7wy46uv] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    margin-top: auto;
    font-size: .75rem;
    font-weight: 600;
    color: var(--kendo-color-primary, #ff5a5f);
}

/* ── Hint explicativo no topo de cada bloco analítico (aba) ────────────── */
.gv-block-hint[b-c0q7wy46uv] {
    margin: 0 0 .75rem;
    font-size: .78rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

.gv-block-hint strong[b-c0q7wy46uv] {
    color: var(--kendo-color-on-base, #fafafa);
    font-weight: 600;
}

/* ── Células dos grids (renderizadas dentro do Telerik → via ::deep) ─────── */

/* Cobertura: déficit em atenção, buffer em positivo. Pill discreta, mesma
   convenção visual do badge de status. */
.gv-analytics[b-c0q7wy46uv]  .gv-cobertura {
    display: inline-block;
    padding: .15rem .5rem;
    border-radius: 4px;
    font-weight: 600;
}

.gv-analytics[b-c0q7wy46uv]  .gv-cobertura--deficit {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
    border: 1px solid rgba(242, 201, 76, .25);
}

.gv-analytics[b-c0q7wy46uv]  .gv-cobertura--buffer {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
    border: 1px solid rgba(79, 191, 103, .22);
}

/* Saldo (V1 − V3) — saldo de vaga e saldo contratual: cor por sinal, sem pill. */
.gv-analytics[b-c0q7wy46uv]  .gv-saldo {
    font-weight: 600;
}

.gv-analytics[b-c0q7wy46uv]  .gv-saldo--neg {
    color: var(--kendo-color-warning, #f2c94c);
}

.gv-analytics[b-c0q7wy46uv]  .gv-saldo--pos {
    color: var(--kendo-color-success, #4fbf67);
}

/* Badge "% vendido" — pill com dot colorido por faixa (espelha o protótipo). */
.gv-analytics[b-c0q7wy46uv]  .gv-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .15rem .55rem;
    border-radius: 20px;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

.gv-analytics[b-c0q7wy46uv]  .gv-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.gv-analytics[b-c0q7wy46uv]  .gv-badge--success {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-analytics[b-c0q7wy46uv]  .gv-badge--info {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

.gv-analytics[b-c0q7wy46uv]  .gv-badge--warning {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.gv-analytics[b-c0q7wy46uv]  .gv-badge--neutral {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
    background: rgba(255, 255, 255, .05);
}
/* /Features/Rh/Gv/Fechamento/GvFechamentoHistoricoPage.razor.rz.scp.css */
/* ── Header empilhado + ação à direita (mesmo padrão da tela de fechamento) ── */
.gv-fech-header[b-xfzjzegfho] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.gv-fech-header .page-header-titles[b-xfzjzegfho] {
    display: flex;
    flex-direction: column;
}

/* ── Bloco Evolução ───────────────────────────────────────────────────────── */
.gv-fech-evolucao[b-xfzjzegfho] {
    margin-bottom: 1rem;
}

.gv-fech-evolucao__head[b-xfzjzegfho] {
    margin-bottom: .75rem;
}

.gv-fech-evolucao__sub[b-xfzjzegfho] {
    font-size: .8rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
    margin-top: .15rem;
}

/* ── Célula colaborador (drill-down): nome + filial abaixo (grid → ::deep) ─── */
.gv-fech-grid[b-xfzjzegfho]  .gv-fech-colab {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.gv-fech-grid[b-xfzjzegfho]  .gv-fech-colab__name {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-fech-grid[b-xfzjzegfho]  .gv-fech-colab__sub {
    font-size: 11.5px;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

.gv-fech-grid[b-xfzjzegfho]  .gv-fech-meta {
    font-size: .82rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .7));
}

/* ── Célula Share / Fontes (drill-down) ───────────────────────────────────── */
.gv-fech-grid[b-xfzjzegfho]  .gv-fech-sharefontes {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    font-size: .82rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .75));
}

.gv-fech-grid[b-xfzjzegfho]  .gv-fech-sharefontes__sub {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

.gv-fech-grid[b-xfzjzegfho]  .gv-fech-detail-actions {
    display: flex;
    justify-content: flex-end;
    padding: .5rem .5rem 0;
}

.gv-fech-grid[b-xfzjzegfho]  .gv-fech-detail-empty {
    padding: .75rem;
    font-size: .85rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}
/* /Features/Rh/Gv/Fechamento/GvFechamentoMensalPage.razor.rz.scp.css */
/* ── Header com título e descrição empilhados + ação à direita ──────────────
   O .page-header global é flex em linha; aqui o título empilha com o subtítulo
   e a ação fica à direita. */
.gv-fech-header[b-3nzu70r2w2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.gv-fech-header .page-header-titles[b-3nzu70r2w2] {
    display: flex;
    flex-direction: column;
}

/* ── Seletor de competência (linha de ação) ───────────────────────────────── */
.gv-fech-selector[b-3nzu70r2w2] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.gv-fech-selector__label[b-3nzu70r2w2] {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

/* ── KPI rows: 7 cards na prévia, 3 no comprovante (o .kpi-row global é 3 col) ── */
.gv-fech-kpis[b-3nzu70r2w2] {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.gv-fech-kpis-3[b-3nzu70r2w2] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1rem 0;
}

.gv-fech-kpis .kpi-card__number[b-3nzu70r2w2],
.gv-fech-kpis-3 .kpi-card__number[b-3nzu70r2w2] {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 1100px) {
    .gv-fech-kpis[b-3nzu70r2w2] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ── Aviso informativo (snapshot não congela) ─────────────────────────────── */
.gv-fech-note[b-3nzu70r2w2] {
    padding: .6rem .85rem;
    margin-bottom: 1rem;
    border-radius: 6px;
    font-size: .85rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .7));
    background: rgba(91, 156, 255, .08);
    border: 1px solid rgba(91, 156, 255, .2);
}

.gv-fech-footnote[b-3nzu70r2w2] {
    margin-top: .75rem;
    font-size: .82rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

/* ── Célula colaborador: nome + filial abaixo (renderizada no grid → ::deep) ── */
.gv-fech-grid[b-3nzu70r2w2]  .gv-fech-colab {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.gv-fech-grid[b-3nzu70r2w2]  .gv-fech-colab__name {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-fech-grid[b-3nzu70r2w2]  .gv-fech-colab__sub {
    font-size: 11.5px;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

.gv-fech-grid[b-3nzu70r2w2]  .gv-fech-share {
    font-size: .82rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .75));
}

/* ── Badges (reuso da linguagem visual do app) ────────────────────────────── */
.gv-badge[b-3nzu70r2w2] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .12rem .5rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
}

.gv-badge-dot[b-3nzu70r2w2] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.gv-badge--success[b-3nzu70r2w2] {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-badge--neutral[b-3nzu70r2w2] {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .65));
    background: rgba(255, 255, 255, .06);
}

/* ── Comprovante (pós-fechamento) ─────────────────────────────────────────── */
.gv-fech-comprovante__head[b-3nzu70r2w2] {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.gv-fech-comprovante__meta[b-3nzu70r2w2] {
    margin-top: .5rem;
    font-size: .85rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .7));
}

.gv-fech-share-consolidado[b-3nzu70r2w2] {
    margin-top: .5rem;
}

.gv-fech-share-consolidado__title[b-3nzu70r2w2] {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
    margin-bottom: .4rem;
}

.gv-fech-share-consolidado__items[b-3nzu70r2w2] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1.25rem;
}

.gv-fech-share-consolidado__item[b-3nzu70r2w2] {
    font-size: .85rem;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-fech-comprovante__actions[b-3nzu70r2w2] {
    display: flex;
    gap: .6rem;
    margin-top: 1.25rem;
}
/* /Features/Rh/Gv/Fte/GvFteEditorLotePanel.razor.rz.scp.css */
.gv-lote[b-yx1bp4gmlr] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: .25rem;
}

/* ── Cabeçalho: identidade do grupo + soma ao vivo ───────────────────────── */
.gv-lote__head[b-yx1bp4gmlr] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .12));
}

.gv-lote__id[b-yx1bp4gmlr] {
    font-weight: 700;
    font-size: 1rem;
}

.gv-lote__pai[b-yx1bp4gmlr] {
    font-size: .82rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .65));
}

.gv-lote__soma[b-yx1bp4gmlr] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    padding: .35rem .6rem;
    border-radius: 6px;
    width: fit-content;
}

.gv-lote__soma--ok[b-yx1bp4gmlr] {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-lote__soma--erro[b-yx1bp4gmlr] {
    color: var(--kendo-color-error, #f25c5c);
    background: rgba(242, 92, 92, .12);
}

.gv-lote__dif[b-yx1bp4gmlr] {
    font-weight: 600;
}

/* ── Grid de linhas ──────────────────────────────────────────────────────── */
.gv-lote__grid[b-yx1bp4gmlr] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

/* Larguras fixas nas colunas Saving/Ação (não `auto`): cada linha é um grid próprio,
   então `auto` produziria bordas diferentes entre cabeçalho e dados (desalinhamento). */
.gv-lote__row[b-yx1bp4gmlr] {
    display: grid;
    grid-template-columns: minmax(150px, 1.2fr) 160px minmax(120px, 1fr) minmax(150px, 1.1fr) 120px;
    align-items: center;
    gap: .75rem;
}

.gv-lote__grid--saving .gv-lote__row[b-yx1bp4gmlr] {
    grid-template-columns: minmax(150px, 1.2fr) 160px minmax(120px, 1fr) minmax(150px, 1.1fr) 130px 120px;
}

.gv-lote__row--header[b-yx1bp4gmlr] {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

.gv-lote__row--inativa[b-yx1bp4gmlr] {
    opacity: .6;
}

.gv-lote__row--inativa .gv-lote__cod[b-yx1bp4gmlr] {
    text-decoration: line-through;
}

.gv-lote__cod[b-yx1bp4gmlr] {
    display: inline-flex;
    flex-direction: column;
    gap: .15rem;
    font-weight: 600;
}

.gv-lote__cod-main[b-yx1bp4gmlr] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

/* ── Células Vaga/Saldo (principal + pessoa em sub-texto, como o grid de FTE) ── */
.gv-lote__cell[b-yx1bp4gmlr] {
    display: inline-flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
}

.gv-lote__cell-main[b-yx1bp4gmlr] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-weight: 600;
}

.gv-lote__cell-sub[b-yx1bp4gmlr] {
    font-size: .72rem;
    font-weight: 400;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gv-lote__cell-empty[b-yx1bp4gmlr] {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .45));
    font-weight: 400;
}

.gv-lote__acao[b-yx1bp4gmlr] {
    justify-self: end;
}

.gv-lote__add[b-yx1bp4gmlr] {
    margin-top: .25rem;
}

.gv-lote__erro[b-yx1bp4gmlr] {
    margin-top: .25rem;
}

/* ── Badges (componente próprio — sem ::deep) ────────────────────────────── */
.gv-fte-badge[b-yx1bp4gmlr] {
    display: inline-block;
    padding: .1rem .5rem;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 600;
    white-space: nowrap;
}

.gv-fte-badge--uso[b-yx1bp4gmlr] {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

.gv-fte-badge--reserva[b-yx1bp4gmlr] {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.gv-fte-badge--saldo[b-yx1bp4gmlr] {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .8));
    background: rgba(255, 255, 255, .08);
}
/* /Features/Rh/Gv/Fte/GvFteLocalPage.razor.rz.scp.css */
/* ── Cor por nível: pai (grupo) sempre na mesma cor; filhas em outra ──────── */
.fte-local-page[b-dzcsgk1h6c]  .gv-fte-row--grupo > td {
    background-color: var(--kendo-color-base-subtle, rgba(0, 0, 0, .05)) !important;
    font-weight: 600;
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-row--filho > td {
    background-color: var(--kendo-color-surface, transparent) !important;
}

/* ── Nó da árvore (renderizado no TelerikTreeList → via ::deep) ───────────── */
.fte-local-page[b-dzcsgk1h6c]  .gv-fte-node {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.25;
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-node__main {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-node__sub {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-vaga-link {
    color: var(--kendo-color-primary, #5b9cff);
    text-decoration: none;
    font-weight: 600;
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-vaga-link:hover {
    text-decoration: underline;
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-node__extra {
    margin-left: .3rem;
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-badge--saldo {
    display: inline-block;
    margin-left: .4rem;
    padding: .1rem .5rem;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 600;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .7));
    background: rgba(255, 255, 255, .08);
}

/* ── Badges de estado/saving ───────────────────────────────────────────────── */
.fte-local-page[b-dzcsgk1h6c]  .gv-fte-badge {
    display: inline-block;
    padding: .1rem .5rem;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 600;
    white-space: nowrap;
    margin-right: .3rem;
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-badge--livre {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-badge--uso {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-badge--reserva {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-node__disp {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-badge--split {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
    background: rgba(255, 255, 255, .06);
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-badge--saving {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.fte-local-page[b-dzcsgk1h6c]  .gv-fte-badge--bonificado {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}
/* /Features/Rh/Gv/Pricing/GvPricingDetalhePage.razor.rz.scp.css */
/* Detalhe do Pricing por cliente — apenas layout/posicionamento; visual vem do
   tema Telerik. Badges/nó da árvore espelham a tela de FTE local. */

/* ── Cor por nível: pai (grupo) sempre na mesma cor; filhas em outra ──────── */
.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-row--grupo > td {
    background-color: var(--kendo-color-base-subtle, rgba(0, 0, 0, .05)) !important;
    font-weight: 600;
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-row--filho > td {
    background-color: var(--kendo-color-surface, transparent) !important;
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-node {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.25;
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-node__main {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-node__sub {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-vaga-link {
    color: var(--kendo-color-primary, #5b9cff);
    text-decoration: none;
    font-weight: 600;
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-vaga-link:hover {
    text-decoration: underline;
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-node__extra {
    margin-left: .3rem;
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge--saldo {
    display: inline-block;
    margin-left: .4rem;
    padding: .1rem .5rem;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 600;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .7));
    background: rgba(255, 255, 255, .08);
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge {
    display: inline-block;
    padding: .1rem .5rem;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 600;
    white-space: nowrap;
    margin-right: .3rem;
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge--livre {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge--uso {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge--reserva {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-node__disp {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge--inativo {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
    background: rgba(250, 250, 250, .08);
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge--split {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
    background: rgba(255, 255, 255, .06);
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge--saving {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.gv-pricing-detalhe[b-89zrtrkb9n]  .gv-fte-badge--bonificado {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

.gv-pricing-detalhe__hint[b-89zrtrkb9n] {
    margin-top: .75rem;
    font-size: .78rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}
/* /Features/Rh/Gv/Pricing/GvPricingPainelPage.razor.rz.scp.css */
/* Painel de Pricing — apenas layout/posicionamento; visual vem do tema Telerik
   e das classes globais (section-card, kpi-card, page-toolbar). */

.gv-pricing-page .kpi-row[b-wbbsonpq05] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
}

/* Grade de cards por cliente — responsiva, mesma densidade do protótipo. */
.gv-pricing-cards[b-wbbsonpq05] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
}

.gv-pricing-card[b-wbbsonpq05] {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    align-items: flex-start;
}

.gv-pricing-card__head[b-wbbsonpq05] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    width: 100%;
}

.gv-pricing-card__title[b-wbbsonpq05] {
    display: flex;
    flex-direction: column;
    flex: 1;
    line-height: 1.3;
}

.gv-pricing-card__name[b-wbbsonpq05] {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-pricing-card__sub[b-wbbsonpq05] {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-pricing-card__stats[b-wbbsonpq05] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
    width: 100%;
}

.gv-pricing-card__stats > div[b-wbbsonpq05] {
    display: flex;
    flex-direction: column;
}

.gv-pricing-card__stat-lbl[b-wbbsonpq05] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-pricing-card__stat-val[b-wbbsonpq05] {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-pricing-card__total[b-wbbsonpq05] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--kendo-color-on-base, #fafafa);
}

/* Badge bonif. — pill com dot (mesma linguagem do Painel de Vagas). */
.gv-pricing-card .gv-badge[b-wbbsonpq05] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .12rem .5rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
}

.gv-pricing-card .gv-badge-dot[b-wbbsonpq05] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.gv-pricing-card .gv-badge--info[b-wbbsonpq05] {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}
/* /Features/Rh/Gv/Saldo/GvSaldoListPage.razor.rz.scp.css */
/* ── Célula código + secundário (mesmo padrão do Pricing do RH, spec 0293) ──
   Reusa a linguagem visual gv-fte-node do GvPricingDetalhePage para consistência. */
.gv-saldo-list[b-jdaje2fbhy]  .gv-fte-node {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.25;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-fte-node__main {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-fte-node__sub {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-fte-vaga-link {
    color: var(--kendo-color-primary, #5b9cff);
    text-decoration: none;
    font-weight: 600;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-fte-vaga-link:hover {
    text-decoration: underline;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-fte-badge {
    display: inline-block;
    padding: .1rem .5rem;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 600;
    white-space: nowrap;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-fte-badge--saldo {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .7));
    background: rgba(255, 255, 255, .08);
}

/* ── Badges (origem / estado / pendente) ──────────────────────────────────
   Mesma linguagem visual da Lista de Vagas/Dashboard, em tokens Kendo dark-first.
   Renderizadas dentro do TelerikGrid → alcançadas via ::deep. */
.gv-saldo-list[b-jdaje2fbhy]  .gv-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .12rem .5rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-badge--success {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-badge--warning {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-badge--danger {
    color: var(--kendo-color-error, #ff6b6b);
    background: rgba(255, 107, 107, .12);
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-badge--neutral {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .65));
    background: rgba(255, 255, 255, .06);
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-badge--dark {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .45));
    background: rgba(0, 0, 0, .25);
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

/* ── Valor (R$): negativo em destaque; oculto quando sem permissão ────────── */
.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-vl {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-vl--neg {
    color: var(--kendo-color-error, #ff6b6b);
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-vl--hidden {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .4));
    letter-spacing: .15em;
}

/* ── Célula Origem: "Saldo #N · Origem X" + "nasceu em VG-NNN" (vaga de origem) ── */
.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-origem {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-origem__main {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-origem__sub {
    font-size: 11.5px;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
    text-decoration: none;
    width: fit-content;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-origem__sub:hover {
    color: var(--kendo-color-info, #5b9cff);
    text-decoration: underline;
}

/* ── Célula de classificação: pendente ganha respiro entre badge e editor ──── */
.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-classif {
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* ── KPI cards: clicáveis (alternam aba / sinal), com total R$ por bucket ───── */
/* Os 5 cards numa única linha (o .kpi-row global é grid de 3 colunas). */
.gv-saldo-kpis[b-jdaje2fbhy] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.gv-saldo-kpi[b-jdaje2fbhy] {
    cursor: pointer;
    transition: border-color .12s ease, background .12s ease;
}

.gv-saldo-kpi:hover[b-jdaje2fbhy] {
    border-color: var(--kendo-color-primary, #5b9cff);
}

.gv-saldo-kpi--active[b-jdaje2fbhy] {
    border-color: var(--kendo-color-primary, #5b9cff);
    background: rgba(91, 156, 255, .08);
}

.gv-saldo-kpi--neg.gv-saldo-kpi--active[b-jdaje2fbhy] {
    border-color: var(--kendo-color-error, #ff6b6b);
    background: rgba(255, 107, 107, .08);
}

/* Valor R$ em destaque no centro do card; o número negativo vai em vermelho. */
.gv-saldo-kpi .kpi-card__number[b-jdaje2fbhy] {
    font-variant-numeric: tabular-nums;
}

.gv-saldo-kpi__number--neg[b-jdaje2fbhy] {
    color: var(--kendo-color-error, #ff6b6b);
}

/* Linha de apoio (contagem de saldos / aviso do negativo). */
.gv-saldo-kpi__sub[b-jdaje2fbhy] {
    font-size: .8rem;
    font-weight: 500;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

/* ── TabStrip usada como seletor: o painel de conteúdo fica vazio (grid mora
   abaixo); escondê-lo deixa só a barra de abas. ::deep ancorado em elemento
   próprio (.gv-saldo-tabs). */
.gv-saldo-tabs[b-jdaje2fbhy] {
    margin-bottom: .75rem;
}

.gv-saldo-tabs[b-jdaje2fbhy]  .k-tabstrip-content,
.gv-saldo-tabs[b-jdaje2fbhy]  .k-content {
    display: none;
}

/* ── Estado consumido: badge + link da vaga de uso (rastreio A→B) ──────────── */
.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-estado {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    align-items: flex-start;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-uso-link {
    font-size: 11.5px;
    color: var(--kendo-color-info, #5b9cff);
    text-decoration: none;
}

.gv-saldo-list[b-jdaje2fbhy]  .gv-saldo-uso-link:hover {
    text-decoration: underline;
}
/* /Features/Rh/Gv/Share/GvShareColaboradorPage.razor.rz.scp.css */
.gv-colab-share-lead[b-7h3d8bo5rf] {
    margin: 0 0 1rem;
    font-size: .82rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-colab-share-page .section-card__header[b-7h3d8bo5rf] {
    display: flex;
    align-items: baseline;
    gap: .75rem;
}

.gv-colab-vaga-link[b-7h3d8bo5rf] {
    margin-left: auto;
    font-size: .76rem;
    color: var(--kendo-color-primary, #ff5a5f);
    text-decoration: none;
}

.gv-colab-vaga-link:hover[b-7h3d8bo5rf] {
    text-decoration: underline;
}

.gv-colab-list[b-7h3d8bo5rf] {
    display: flex;
    flex-direction: column;
}

.gv-colab-row[b-7h3d8bo5rf] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: .45rem 0;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .06));
}

.gv-colab-row:last-child[b-7h3d8bo5rf] {
    border-bottom: none;
}

.gv-colab-cli[b-7h3d8bo5rf] {
    color: var(--kendo-color-on-base, #fafafa);
    font-size: .88rem;
}

.gv-colab-pc[b-7h3d8bo5rf] {
    color: var(--kendo-color-primary, #ff5a5f);
    font-weight: 700;
}
/* /Features/Rh/Gv/Share/GvSharePanel.razor.rz.scp.css */
.gv-share-tag[b-6orchsnq62] {
    margin-left: auto;
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--kendo-color-warning, #f0ad4e);
    background: rgba(240, 173, 78, .14);
    padding: .1rem .45rem;
    border-radius: 4px;
}

.gv-share-panel .section-card__header[b-6orchsnq62] {
    display: flex;
    align-items: center;
}

.gv-share-hint[b-6orchsnq62] {
    margin: 0 0 .75rem;
    font-size: .75rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

.gv-share-list[b-6orchsnq62] {
    display: flex;
    flex-direction: column;
    gap: .7rem;
}

.gv-share-item[b-6orchsnq62] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.gv-share-line[b-6orchsnq62] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .5rem;
}

.gv-share-cli[b-6orchsnq62] {
    font-size: .85rem;
    color: var(--kendo-color-on-base, #fafafa);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gv-share-vals[b-6orchsnq62] {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    flex-shrink: 0;
}

.gv-share-vl[b-6orchsnq62] {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .55));
}

.gv-share-pc[b-6orchsnq62] {
    font-size: .9rem;
    color: var(--kendo-color-primary, #ff5a5f);
    font-weight: 700;
}

.gv-share-bar[b-6orchsnq62] {
    height: 5px;
    border-radius: 3px;
    background: var(--kendo-color-border, rgba(255, 255, 255, .08));
    overflow: hidden;
}

.gv-share-bar__fill[b-6orchsnq62] {
    height: 100%;
    border-radius: 3px;
    background: var(--kendo-color-primary, #ff5a5f);
}

.gv-share-colab-link[b-6orchsnq62] {
    display: inline-block;
    margin-top: .9rem;
    font-size: .78rem;
    font-weight: 600;
    color: var(--kendo-color-primary, #ff5a5f);
    cursor: pointer;
    text-decoration: none;
}

.gv-share-colab-link:hover[b-6orchsnq62] {
    text-decoration: underline;
}
/* /Features/Rh/Gv/Vagas/GvVagaComporPage.razor.rz.scp.css */
/* Layout/posicionamento da composição. Badge/sum reusam o componente já existente
   no app; tema é o Telerik. */

.vaga-compor-grid[b-4x6jnv7duz] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 1024px) {
    .vaga-compor-grid[b-4x6jnv7duz] {
        grid-template-columns: 1fr;
    }
}

.gv-compor-fte-header[b-4x6jnv7duz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gv-compor-filtros[b-4x6jnv7duz] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
    margin-bottom: .75rem;
}

.gv-compor-fte-list[b-4x6jnv7duz] {
    max-height: 60vh;
    overflow-y: auto;
}

.gv-compor-fte[b-4x6jnv7duz] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem 0;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

.gv-compor-fte__info[b-4x6jnv7duz] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.gv-compor-fte__name[b-4x6jnv7duz] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-weight: 600;
}

/* Mini-cards V1/V2/Base/Buffer. */
.gv-compor-kpis[b-4x6jnv7duz] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .5rem;
    margin-bottom: 1rem;
}

.gv-compor-kpi[b-4x6jnv7duz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .25rem;
    padding: .55rem 0;
    border-radius: 6px;
    background: var(--kendo-color-base-subtle, rgba(255, 255, 255, .04));
}

.gv-compor-kpi > span[b-4x6jnv7duz] {
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
}

.gv-compor-inv[b-4x6jnv7duz] {
    margin: -.5rem 0 .75rem;
    font-size: .72rem;
}

.gv-compor-line[b-4x6jnv7duz] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .55rem 0;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

.gv-compor-line__info[b-4x6jnv7duz] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.gv-compor-line__vl[b-4x6jnv7duz] {
    font-weight: 600;
}

.gv-compor-share[b-4x6jnv7duz] {
    margin-top: 1rem;
}

.gv-compor-share__title[b-4x6jnv7duz] {
    display: block;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: .35rem;
}

.gv-sum[b-4x6jnv7duz] {
    display: flex;
    flex-direction: column;
}

.gv-sum-row[b-4x6jnv7duz] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: .35rem 0;
    font-size: .82rem;
}

.gv-sum-row strong[b-4x6jnv7duz] {
    text-align: right;
}

/* Badge — mesmo componente visual já usado nas demais telas da GV. */
.gv-badge[b-4x6jnv7duz] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .15rem .55rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
}

.gv-badge-dot[b-4x6jnv7duz] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.gv-badge--success[b-4x6jnv7duz] {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-badge--info[b-4x6jnv7duz] {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

/* Badge de tipo de fonte (spec 0300) — identifica FTE vs Saldo na lista. */
.gv-badge--fte[b-4x6jnv7duz] {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

.gv-badge--saldo[b-4x6jnv7duz] {
    color: var(--kendo-color-tertiary, #b693f0);
    background: rgba(182, 147, 240, .14);
}

.gv-badge--warning[b-4x6jnv7duz] {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .14);
}

/* Linha de saldo na lista de disponíveis — leve realce para distinguir do FTE. */
.gv-compor-fte--saldo[b-4x6jnv7duz] {
    border-left: 2px solid rgba(182, 147, 240, .5);
    padding-left: .65rem;
}

.gv-compor-saldo-vl[b-4x6jnv7duz] {
    margin: .15rem 0 .35rem;
    font-size: 1.1rem;
    font-weight: 700;
}

/* Toggle "Desmembrar no ato" (spec 0301) — checkbox + texto na mesma linha. */
.gv-compor-toggle[b-4x6jnv7duz] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    cursor: pointer;
}

/* Aviso de excedente ao atribuir FTE (valor acima do necessário). */
.gv-compor-aviso[b-4x6jnv7duz] {
    color: var(--kendo-color-warning, #f2c94c);
}
/* /Features/Rh/Gv/Vagas/GvVagaCriarPage.razor.rz.scp.css */
/* Layout (posicionamento) apenas — sem estilo visual; tema é o Telerik. */

/* Duas colunas: formulário principal + lateral (Resumo / Próximo passo). */
.vaga-criar-grid[b-3mz8q9hig0] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 1024px) {
    .vaga-criar-grid[b-3mz8q9hig0] {
        grid-template-columns: 1fr;
    }
}

.vaga-criar-aside[b-3mz8q9hig0] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Resumo: rótulo à esquerda, valor à direita. */
.gv-sum[b-3mz8q9hig0] {
    display: flex;
    flex-direction: column;
}

.gv-sum-row[b-3mz8q9hig0] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: .4rem 0;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .06));
    font-size: .82rem;
}

.gv-sum-row:last-child[b-3mz8q9hig0] {
    border-bottom: none;
}

.gv-sum-row strong[b-3mz8q9hig0] {
    text-align: right;
}

/* Linha do switch "Forçar Cliente": switch + texto lado a lado. */
.gv-forcar-row[b-3mz8q9hig0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: .5rem;
}

/* O switch não encolhe nem transborda sobre o texto ao lado. */
.gv-forcar-switch[b-3mz8q9hig0] {
    flex-shrink: 0;
}

/* Toggle sem rótulo: oculta os labels on/off do Telerik (que sem tradução
   renderizam as chaves "Switch_OnLabel"/"Switch_OffLabel"). O ::deep ancora no
   .gv-forcar-row (elemento do próprio componente) para alcançar os spans do switch. */
.gv-forcar-row[b-3mz8q9hig0]  .k-switch-label-on,
.gv-forcar-row[b-3mz8q9hig0]  .k-switch-label-off {
    display: none;
}
/* /Features/Rh/Gv/Vagas/GvVagaDetalhePage.razor.rz.scp.css */
/* Layout/posicionamento do detalhe. Badges/resumo reusam o mesmo componente
   visual já existente no app (gv-badge / gv-sum); o tema é o Telerik. */

.vaga-det-grid[b-zouvm01wi4] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 1024px) {
    .vaga-det-grid[b-zouvm01wi4] {
        grid-template-columns: 1fr;
    }
}

.vaga-det-aside[b-zouvm01wi4] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.vaga-title-row[b-zouvm01wi4] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.vaga-title-row h1[b-zouvm01wi4] {
    margin: 0;
}

.gv-det-kpis[b-zouvm01wi4] {
    margin-bottom: 1.25rem;
}

.gv-kpi-label-row[b-zouvm01wi4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}

.gv-kpi-sub[b-zouvm01wi4] {
    margin-top: auto;
    font-size: .7rem;
}

/* Card combinado VL1 + Base a cobrir: VL1 é o valor principal; a base entra
   como linha secundária discreta no rodapé do card. */
.gv-vl1base__base[b-zouvm01wi4] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .5rem;
    padding-top: .5rem;
    border-top: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
    font-size: .8rem;
    color: var(--flowt-text-muted, #9aa0a6);
}

.gv-vl1base__base strong[b-zouvm01wi4] {
    color: var(--kendo-color-on-app-surface, inherit);
}

.gv-vl1base__inv[b-zouvm01wi4] {
    margin-left: auto;
    font-size: .72rem;
}

/* Linhas de composição (read-only). */
.gv-comp-line[b-zouvm01wi4] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem 0;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

.gv-comp-line__info[b-zouvm01wi4] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.gv-comp-line__head[b-zouvm01wi4] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .5rem;
}

.gv-comp-line__code[b-zouvm01wi4] {
    font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    letter-spacing: .02em;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, .72));
}

.gv-comp-line__name[b-zouvm01wi4] {
    font-weight: 600;
}

.gv-comp-line__tag[b-zouvm01wi4] {
    font-size: .68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: .1rem .42rem;
    border-radius: 4px;
    background: var(--kendo-color-base-subtle, rgba(255, 255, 255, .08));
    color: var(--kendo-color-subtle, rgba(255, 255, 255, .72));
}

.gv-comp-line__meta[b-zouvm01wi4] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .8rem;
    font-size: .8rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, .58));
}

.gv-comp-line__meta > span[b-zouvm01wi4] {
    position: relative;
}

.gv-comp-line__meta > span + span[b-zouvm01wi4]::before {
    content: "·";
    position: absolute;
    left: -.48rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, .35));
}

.gv-comp-line__cross[b-zouvm01wi4] {
    color: var(--kendo-color-warning, #e0a800);
    font-weight: 600;
}

.gv-comp-line__type[b-zouvm01wi4] {
    flex: 0 0 auto;
}

.gv-comp-line__vl[b-zouvm01wi4] {
    font-weight: 600;
}

.gv-comp-total[b-zouvm01wi4] {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: .5rem;
    padding-top: .6rem;
}

.gv-comp-total__saldo[b-zouvm01wi4] {
    margin-left: 1rem;
    color: var(--flowt-text-muted, #9aa0a6);
    font-size: .85rem;
}

/* Colaborador alocado. */
.gv-colab[b-zouvm01wi4] {
    display: flex;
    align-items: center;
    gap: .9rem;
}

.gv-colab__avatar[b-zouvm01wi4] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: .85rem;
    font-weight: 600;
    background: var(--kendo-color-base-subtle, rgba(255, 255, 255, .08));
}

.gv-colab__info[b-zouvm01wi4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.gv-colab__saldo[b-zouvm01wi4] {
    text-align: right;
    display: flex;
    flex-direction: column;
}

.gv-colab__saldo-lbl[b-zouvm01wi4] {
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.gv-colab__saldo-vl[b-zouvm01wi4] {
    font-size: 1rem;
    font-weight: 700;
}

/* Histórico (colapsável). */
.gv-hist-header[b-zouvm01wi4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.gv-hist-toggle[b-zouvm01wi4] {
    font-size: .75rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, .6));
}

/* Timeline do histórico. */
.gv-hist-timeline[b-zouvm01wi4] {
    list-style: none;
    margin: .9rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.gv-hist-item[b-zouvm01wi4] {
    display: flex;
    gap: .7rem;
    padding: .55rem 0;
    position: relative;
}

.gv-hist-item:not(:last-child)[b-zouvm01wi4]::before {
    /* linha vertical conectando os ícones */
    content: "";
    position: absolute;
    left: 13px;
    top: 30px;
    bottom: -8px;
    width: 2px;
    background: var(--kendo-color-border, rgba(255, 255, 255, .1));
}

.gv-hist-item__icon[b-zouvm01wi4] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 16px;
    background: var(--kendo-color-base-subtle, rgba(255, 255, 255, .08));
    color: var(--kendo-color-primary, #4ea1ff);
    z-index: 1;
}

.gv-hist-item__body[b-zouvm01wi4] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
    padding-top: .15rem;
}

.gv-hist-item__head[b-zouvm01wi4] {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    flex-wrap: wrap;
}

.gv-hist-item__acao[b-zouvm01wi4] {
    font-weight: 600;
}

.gv-hist-item__at[b-zouvm01wi4] {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, .5));
}

.gv-hist-item__frase[b-zouvm01wi4] {
    font-size: .85rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, .78));
}

.gv-hist-item__ator[b-zouvm01wi4] {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, .5));
}

.gv-obs[b-zouvm01wi4] {
    margin: .75rem 0 0;
    padding-top: .6rem;
    border-top: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
    font-style: italic;
}

.gv-share-hint[b-zouvm01wi4] {
    margin: -.25rem 0 .6rem;
    font-size: .72rem;
}

.gv-origem-banner[b-zouvm01wi4] {
    margin-bottom: 1rem;
}

.gv-origem-link[b-zouvm01wi4] {
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
}

.gv-origem-link:hover[b-zouvm01wi4] {
    text-decoration: underline;
}

.gv-encerrada-card[b-zouvm01wi4] {
    margin-bottom: 1rem;
}

/* Resumo / Informações — rótulo à esquerda, valor à direita. */
.gv-sum[b-zouvm01wi4] {
    display: flex;
    flex-direction: column;
}

.gv-sum-row[b-zouvm01wi4] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: .4rem 0;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .06));
    font-size: .82rem;
}

.gv-sum-row:last-child[b-zouvm01wi4] {
    border-bottom: none;
}

/* Linha secundária — informação derivada (ex.: Área derivada do Centro de Custo). */
.gv-sum-row--sub[b-zouvm01wi4] {
    padding-top: .15rem;
    border-bottom: none;
    font-size: .76rem;
    opacity: .7;
}

.gv-sum-row strong[b-zouvm01wi4] {
    text-align: right;
}

/* Badge — mesmo componente visual já usado nas demais telas da GV. */
.gv-badge[b-zouvm01wi4] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .15rem .55rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
}

.gv-badge-dot[b-zouvm01wi4] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.gv-badge--success[b-zouvm01wi4] {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-badge--info[b-zouvm01wi4] {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

.gv-badge--warning[b-zouvm01wi4] {
    color: var(--kendo-color-warning, #f5b945);
    background: rgba(245, 185, 69, .12);
}

.gv-badge--neutral[b-zouvm01wi4] {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .65));
    background: rgba(255, 255, 255, .06);
}

.gv-badge--dark[b-zouvm01wi4] {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .45));
    background: rgba(0, 0, 0, .25);
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

.gv-det-kpis.kpi-row[b-zouvm01wi4] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 1rem;
}

@media (max-width: 1280px) {
    .gv-det-kpis.kpi-row[b-zouvm01wi4] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .gv-det-kpis.kpi-row[b-zouvm01wi4] {
        grid-template-columns: 1fr;
    }
}
/* /Features/Rh/Gv/Vagas/GvVagaListPage.razor.rz.scp.css */
/* ── Célula Cargo de duas linhas (densidade: agrupa Cargo · Nível) ─────────── */
.gv-vaga-list[b-udr5m401uu]  .gv-cargo-cell {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.gv-vaga-list[b-udr5m401uu]  .gv-cargo-cell__name {
    font-weight: 600;
    color: var(--kendo-color-on-base, #fafafa);
}

.gv-vaga-list[b-udr5m401uu]  .gv-cargo-cell__sub {
    font-size: .72rem;
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .6));
}

/* ── Badges (status / forçado / sem colab.) ────────────────────────────────
   Pill com dot, mesma linguagem visual do Dashboard, em tokens Kendo dark-first.
   Renderizadas dentro do TelerikGrid → alcançadas via ::deep. Resolve também o
   gap dos badges `forçado`/`sem colab.` que antes não tinham CSS. */
.gv-vaga-list[b-udr5m401uu]  .gv-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .12rem .5rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
}

/* Segundo badge na mesma célula (ex.: status + sem colab.) ganha respiro. */
.gv-vaga-list[b-udr5m401uu]  .gv-badge + .gv-badge {
    margin-left: .35rem;
}

.gv-vaga-list[b-udr5m401uu]  .gv-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.gv-vaga-list[b-udr5m401uu]  .gv-badge--success {
    color: var(--kendo-color-success, #4fbf67);
    background: rgba(79, 191, 103, .12);
}

.gv-vaga-list[b-udr5m401uu]  .gv-badge--info {
    color: var(--kendo-color-info, #5b9cff);
    background: rgba(91, 156, 255, .12);
}

.gv-vaga-list[b-udr5m401uu]  .gv-badge--warning {
    color: var(--kendo-color-warning, #f2c94c);
    background: rgba(242, 201, 76, .12);
}

.gv-vaga-list[b-udr5m401uu]  .gv-badge--neutral {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .65));
    background: rgba(255, 255, 255, .06);
}

.gv-vaga-list[b-udr5m401uu]  .gv-badge--dark {
    color: var(--kendo-color-subtle, rgba(250, 250, 250, .45));
    background: rgba(0, 0, 0, .25);
    border: 1px solid var(--kendo-color-border, rgba(255, 255, 255, .08));
}

.gv-stats-row.kpi-row[b-udr5m401uu] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.gv-stat-clickable[b-udr5m401uu] {
    cursor: pointer;
}
/* /Features/Ut/Comunica/ComunicaDisparoPage.razor.rz.scp.css */
/* Linha de busca do grid de Selecionados (textbox + botão). Detalhe não coberto
   pelas classes globais de layout (screen-layout.md). */
.comunica-search[b-asa0pxn5vs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
/* /Features/Ut/PingView/PingViewSessionIndicator.razor.rz.scp.css */
.pv-indicator[b-37oq653s5k] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0 0.35rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    cursor: default;
    user-select: none;
}

.pv-dot[b-37oq653s5k] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--pv-dot-color, #9aa0a6);
    box-shadow: 0 0 0 0 var(--pv-dot-color, #9aa0a6);
    flex: 0 0 auto;
}

/* Verde = online/ativo; âmbar = idle; cinza = offline/lapso. Tokens dark-first. */
.pv-dot--online[b-37oq653s5k] {
    --pv-dot-color: #2e7d32;
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.2);
}

.pv-dot--idle[b-37oq653s5k] {
    --pv-dot-color: #b8860b;
    box-shadow: 0 0 0 3px rgba(184, 134, 11, 0.2);
}

.pv-dot--offline[b-37oq653s5k] {
    --pv-dot-color: #9aa0a6;
}

.pv-timer[b-37oq653s5k] {
    font-size: 0.82rem;
    opacity: 0.85;
}
/* /Layout/ActionPanelHost.razor.rz.scp.css */
/* Spec 0066 — single-instance action panel with two layers.
   panel-app: starts below the top bar (top: 56px), z-index 199 (below 300).
   panel-global: covers the top bar (top: 0), z-index 301 (above 300).

   Spec 0067 — header/footer scaffolding rendered by the host when the content
   implements IPanelContent. Legacy bare rendering preserved (transitional). */

.action-panel-host[b-3epwrxfov2] {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 360px;
    transform: translateX(100%);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--kendo-color-surface, #141414);
    border-left: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.08));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    outline: none;
}

.action-panel-host.panel-app[b-3epwrxfov2] {
    top: var(--flowt-topbar-height, 56px);
    z-index: 199;
}

.action-panel-host.panel-global[b-3epwrxfov2] {
    top: 0;
    z-index: 301;
    width: 480px;
}

.action-panel-host.open[b-3epwrxfov2] {
    transform: translateX(0);
}

.action-panel-host.panel-medium[b-3epwrxfov2] {
    width: 720px;
}

.action-panel-host.panel-large[b-3epwrxfov2] {
    width: 1080px;
}

.action-panel-host.panel-xlarge[b-3epwrxfov2] {
    width: 1280px;
}

.action-panel-backdrop[b-3epwrxfov2] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    animation: backdrop-in-b-3epwrxfov2 0.2s ease;
}

.action-panel-backdrop.panel-app[b-3epwrxfov2] {
    top: var(--flowt-topbar-height, 56px);
    z-index: 198;
}

.action-panel-backdrop.panel-global[b-3epwrxfov2] {
    top: 0;
    z-index: 300;
}

@keyframes backdrop-in-b-3epwrxfov2 {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ── Scaffolding (spec 0067) ──────────────────────────────────────────────── */

.panel-header[b-3epwrxfov2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.06));
    flex: 0 0 auto;
}

.panel-header-text[b-3epwrxfov2] {
    min-width: 0;
}

.panel-title[b-3epwrxfov2] {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--kendo-color-on-surface, #e8e8e8);
}

.panel-subtitle[b-3epwrxfov2] {
    margin: 4px 0 0;
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.55));
}

.panel-close[b-3epwrxfov2] {
    background: transparent;
    border: 0;
    color: var(--kendo-color-subtle, rgba(255, 255, 255, 0.6));
    font-size: 1.5rem;
    line-height: 1;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    flex: 0 0 auto;
}

.panel-close:hover[b-3epwrxfov2] {
    background: var(--kendo-color-surface-alt, rgba(255, 255, 255, 0.06));
    color: var(--kendo-color-on-surface, #e8e8e8);
}

.panel-body[b-3epwrxfov2] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 20px 24px;
}

.panel-footer[b-3epwrxfov2] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 14px 24px 18px;
    border-top: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.06));
    flex: 0 0 auto;
}
/* /Layout/ErrorLayout.razor.rz.scp.css */
/* ── Shell ───────────────────────────────────────────────────────────────── */

.error-shell[b-hckt44amk6] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--kendo-color-base, #1a1a1a);
    color: var(--kendo-color-on-base, #fafafa);
}

/* ── Header ──────────────────────────────────────────────────────────────── */

.error-header[b-hckt44amk6] {
    padding: 1.5rem 2rem;
    flex-shrink: 0;
}

.error-brand[b-hckt44amk6] {
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.35;
    text-transform: uppercase;
}

/* ── Body (centered content area) ───────────────────────────────────────── */

.error-body[b-hckt44amk6] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}
/* /Layout/LoginLayout.razor.rz.scp.css */
/* ── Shell escuro full-bleed (compartilhado por Login e SelectCompany) ─────── */

/* Página — fundo preto com drapeado de seda */
.login-page[b-btlsefeoqz] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background-color: #0A0A0A;
    padding: 40px 24px 56px;
    overflow: hidden;
}

/* Textura de seda por cima da cor sólida, levemente transparente */
.login-page[b-btlsefeoqz]::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('/images/login-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.6;
    pointer-events: none;
}

/* Conteúdo acima da textura */
.login-center[b-btlsefeoqz],
.login-footer[b-btlsefeoqz] {
    position: relative;
    z-index: 1;
}

.login-center[b-btlsefeoqz] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* Rodapé — versão via ReleaseFooter restilizado */
.login-footer[b-btlsefeoqz] {
    flex-shrink: 0;
    margin-top: 24px;
    text-align: center;
}

/* ── Regras de tela compartilhadas entre Login e SelectCompany ───────────── */
/* Vivem no scope do layout (via ::deep) porque ambos os children renderizam
   o mesmo visual de formulário com as mesmas classes. Duplicar em cada child
   foi o problema raiz reportado pelo usuário em V0.901/0150: a tela de seleção
   de empresa vinha sem nenhum gap porque herdava de Login.razor.css (scope
   alheio) e o navegador caía no default. */

/* ── Card glassmorphism (compartilhado Login + SelectCompany) ────────────── */

[b-btlsefeoqz] .login-card {
    width: 100%;
    max-width: 500px;
    background: rgba(28, 28, 30, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 48px 56px 52px;
    backdrop-filter: blur(8px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}

[b-btlsefeoqz] .login-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 36px;
}

[b-btlsefeoqz] .login-logo img {
    display: block;
    width: auto;
}

/* Dentro do card o form ocupa a largura toda; logo/título/subtítulo
   centralizados (sobrescreve só o alinhamento — cor/tamanho herdam). */
[b-btlsefeoqz] .login-card .login-form-container {
    max-width: none;
}

[b-btlsefeoqz] .login-card .login-form-header {
    text-align: center;
    align-items: center;
}

/* Campos no tema escuro translúcido, foco na cor primária. */
[b-btlsefeoqz] .login-input .k-input-inner,
[b-btlsefeoqz] .login-input.k-input {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
}

[b-btlsefeoqz] .login-input.k-input {
    border-color: rgba(255, 255, 255, 0.12);
}

[b-btlsefeoqz] .login-input.k-focus,
[b-btlsefeoqz] .login-input:focus-within {
    border-color: var(--kendo-color-primary, #c41e3a);
    box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.25);
}

[b-btlsefeoqz] .login-input .k-input-inner::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

@media (max-width: 560px) {
    [b-btlsefeoqz] .login-card {
        padding: 36px 24px 40px;
        border-radius: 16px;
    }
}

/* ── Form container e campos ─────────────────────────────────────────────── */

[b-btlsefeoqz] .login-form-container {
    width: 100%;
    max-width: 380px;
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

[b-btlsefeoqz] .login-form-header {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

[b-btlsefeoqz] .login-title {
    font-size: 1.75rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--kendo-color-on-base, #fafafa);
    margin: 0;
    line-height: 1.2;
}

[b-btlsefeoqz] .login-subtitle {
    font-size: 0.9rem;
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.5;
    margin: 0;
}

[b-btlsefeoqz] .login-fields {
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
}

[b-btlsefeoqz] .login-field {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

[b-btlsefeoqz] .login-label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.7;
    letter-spacing: 0.01em;
}

[b-btlsefeoqz] .login-input {
    width: 100%;
}

[b-btlsefeoqz] .login-btn {
    width: 100%;
}

/* ── Responsive: telas estreitas reduzem o padding do shell ──────────────── */

@media (max-width: 860px) {
    .login-page[b-btlsefeoqz] {
        padding: 24px 16px 40px;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Estilos estruturais da casca ficam em wwwroot/css/app.css para poderem usar
   as CSS variables do tema Telerik (--kendo-color-*). Este arquivo fica
   reservado para futuros estilos escopados do MainLayout. */
/* /Layout/Sidebar.razor.rz.scp.css */
/* Spec 0066 — Sidebar enxuta.
   Estrutura: header (só hamburger) + faixa do app + nav.
   Tudo que era footer (família tema, toggle dark, idioma, bloco usuário)
   migrou para a TopBar. App selector e logo também saíram da sidebar. */

/* ── Header: só hamburguer ────────────────────────────────────────────── */

.sidebar-header[b-xhi0l7rtg2] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 44px;
    padding: 0 0.5rem;
    flex-shrink: 0;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.05));
}

.sidebar-hamburger[b-xhi0l7rtg2] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--kendo-color-on-base, #fafafa);
    cursor: pointer;
    border-radius: 6px;
    opacity: 0.7;
    transition: opacity 120ms ease, background 120ms ease;
    padding: 0;
}

.sidebar-hamburger:hover[b-xhi0l7rtg2] {
    opacity: 1;
    background: var(--kendo-color-base-hover, rgba(255, 255, 255, 0.06));
}

.app-sidebar.collapsed .sidebar-header[b-xhi0l7rtg2] {
    justify-content: center;
    padding: 0.25rem 0;
}

/* ── App strip ────────────────────────────────────────────────────────── */

.sidebar-app-bar[b-xhi0l7rtg2] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    padding: 0.75rem 0.875rem 0.625rem;
    margin: 0 0.5rem;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.08));
    flex-shrink: 0;
}

.sidebar-app-icon[b-xhi0l7rtg2] {
    font-size: 20px !important;
    width: 20px;
    flex-shrink: 0;
    text-align: center;
    color: var(--kendo-color-primary, #e52020);
}

.sidebar-app-name[b-xhi0l7rtg2] {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.85;
}

.app-sidebar.collapsed .sidebar-app-bar[b-xhi0l7rtg2] {
    justify-content: center;
    padding: 0.5rem 0;
    margin: 0 0.25rem;
}

/* ── Navigation ───────────────────────────────────────────────────────── */

.sidebar-nav[b-xhi0l7rtg2] {
    display: flex;
    flex-direction: column;
    padding: 0.625rem 0.5rem;
    gap: 0.125rem;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

[b-xhi0l7rtg2] .sidebar-nav-icon {
    font-size: 18px !important;
    width: 20px;
    flex-shrink: 0;
    text-align: center;
    opacity: 0.8;
}

.sidebar-section-label[b-xhi0l7rtg2] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem 0.25rem;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.45;
    white-space: nowrap;
    overflow: hidden;
}

.app-sidebar.collapsed .sidebar-section-label[b-xhi0l7rtg2] {
    justify-content: center;
    padding: 0.375rem 0;
    gap: 0;
}

.sidebar-section-empty[b-xhi0l7rtg2] {
    padding: 0.25rem 1.5rem 0.5rem;
    font-size: 0.75rem;
    font-style: italic;
    opacity: 0.45;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-xhi0l7rtg2] .sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    color: var(--kendo-color-on-base, #fafafa);
    text-decoration: none;
    font-size: 0.875rem;
    white-space: nowrap;
    overflow: hidden;
    transition: background 120ms ease, color 120ms ease;
    min-width: 0;
}

[b-xhi0l7rtg2] .sidebar-link:hover {
    background: var(--kendo-color-base-hover, rgba(255, 255, 255, 0.06));
}

[b-xhi0l7rtg2] .sidebar-link.active {
    background: var(--kendo-color-primary, #e52020);
    color: var(--kendo-color-on-primary, #fff);
}

.nav-label[b-xhi0l7rtg2] {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Itens-folha sob uma seção carregam ícone próprio (spec 0234) e alinham com os
   itens top-level — o cabeçalho de seção acima já agrupa visualmente. Fallback:
   filho sem ícone recebe o indent antigo para alinhar com o texto da seção. */
[b-xhi0l7rtg2] .sidebar-link--child:not(:has(.sidebar-nav-icon)) {
    padding-left: calc(0.75rem + 20px + 0.625rem);
}

.sidebar-nav-skeleton[b-xhi0l7rtg2] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.25rem;
}

[b-xhi0l7rtg2] .sidebar-skeleton-item { border-radius: 6px; }

.sidebar-menu-error[b-xhi0l7rtg2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
}

.sidebar-menu-error-text[b-xhi0l7rtg2] {
    font-size: 0.78rem;
    opacity: 0.7;
    color: var(--kendo-color-error, #d13438);
}

.sidebar-menu-retry[b-xhi0l7rtg2] {
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.55;
    border-radius: 6px;
    padding: 0.25rem;
}

.sidebar-menu-retry:hover[b-xhi0l7rtg2] {
    opacity: 1;
    background: var(--kendo-color-base-hover, rgba(255, 255, 255, 0.06));
}

/* ── Collapsed state ──────────────────────────────────────────────────── */

.app-sidebar.collapsed .sidebar-nav[b-xhi0l7rtg2] {
    padding: 0.625rem 0.375rem;
}

.app-sidebar.collapsed[b-xhi0l7rtg2]  .sidebar-link {
    justify-content: center;
    padding: 0.5rem 0;
    gap: 0;
}

.app-sidebar.collapsed .nav-label[b-xhi0l7rtg2] {
    display: none;
}

/* ── Footer (release info) ────────────────────────────────────────────── */

.sidebar-footer[b-xhi0l7rtg2] {
    margin-top: auto;
    border-top: 1px solid var(--kendo-color-border, rgba(255, 255, 255, 0.05));
    padding: 6px 8px;
    flex-shrink: 0;
}

.app-sidebar.collapsed .sidebar-footer[b-xhi0l7rtg2] {
    padding: 6px 4px;
    text-align: center;
}
/* /Pages/Apps.razor.rz.scp.css */
.apps-launcher[b-pbpdc7k353] {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 100%;
    padding: 48px 32px;
}

.apps-launcher-inner[b-pbpdc7k353] {
    width: 100%;
    max-width: 1280px;
}

.apps-launcher-title[b-pbpdc7k353] {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 28px 0;
    color: var(--kendo-color-on-app-surface, #e2e8f0);
    letter-spacing: -0.01em;
}

/* ── Grid ─────────────────────────────────── */

.apps-grid[b-pbpdc7k353] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

/* ── Card ─────────────────────────────────── */

.app-card[b-pbpdc7k353] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 20px 20px 20px;
    min-height: 88px;
    border-radius: 10px;
    border: 1px solid var(--kendo-color-border, rgba(255,255,255,.08));
    background: var(--kendo-color-surface, #1e2028);
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease, transform 120ms ease;
    user-select: none;
}

.app-card:hover[b-pbpdc7k353] {
    background: var(--kendo-color-surface-hovered, #262a35);
    border-color: var(--kendo-color-primary, #e63946);
    transform: translateY(-1px);
}

.app-card:active[b-pbpdc7k353] {
    transform: translateY(0);
}

.app-card--disabled[b-pbpdc7k353] {
    opacity: 0.45;
    cursor: not-allowed;
}

.app-card--disabled:hover[b-pbpdc7k353] {
    transform: none;
    border-color: var(--kendo-color-border, rgba(255,255,255,.08));
}

/* skeleton state */
.app-card--skeleton[b-pbpdc7k353] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    cursor: default;
    pointer-events: none;
}

.app-card--skeleton:hover[b-pbpdc7k353] {
    transform: none;
    border-color: var(--kendo-color-border, rgba(255,255,255,.08));
}

/* ── Icon ─────────────────────────────────── */

.app-card-icon[b-pbpdc7k353] {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--kendo-color-primary, #e63946) 14%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-card-icon .material-icons[b-pbpdc7k353] {
    font-size: 22px;
    color: var(--kendo-color-primary, #e63946);
}

/* ── Text ─────────────────────────────────── */

.app-card-body[b-pbpdc7k353] {
    flex: 1;
    min-width: 0;
}

.app-card-name[b-pbpdc7k353] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kendo-color-on-app-surface, #e2e8f0);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-card-desc[b-pbpdc7k353] {
    font-size: 0.8125rem;
    color: var(--kendo-color-subtle-text, #8892a4);
    margin-top: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Arrow ────────────────────────────────── */

.app-card-arrow[b-pbpdc7k353] {
    flex-shrink: 0;
    font-size: 20px;
    color: var(--kendo-color-subtle-text, #8892a4);
    opacity: 0;
    transition: opacity 120ms ease;
}

.app-card:hover .app-card-arrow[b-pbpdc7k353] {
    opacity: 1;
}

/* ── Empty state ──────────────────────────── */

.apps-empty[b-pbpdc7k353] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 80px 0;
    color: var(--kendo-color-subtle-text, #8892a4);
}

.apps-empty-icon[b-pbpdc7k353] {
    font-size: 48px;
    opacity: 0.4;
}

.apps-empty-text[b-pbpdc7k353] {
    font-size: 0.9375rem;
    margin: 0;
}

/* /Pages/Login.razor.rz.scp.css */
/* Regras compartilhadas entre Login e SelectCompany (card, logo, form
   container, header, campos, botão) vivem em Layout/LoginLayout.razor.css.
   Aqui ficam apenas regras exclusivas da tela de Login (SSO). */

/* ── SSO divider + button ────────────────────────────────────────────────── */

.login-divider[b-8xq7isjoel] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.75rem;
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.4;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.login-divider[b-8xq7isjoel]::before,
.login-divider[b-8xq7isjoel]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: currentColor;
    opacity: 0.25;
}

[b-8xq7isjoel] .login-sso-btn {
    width: 100%;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
}

[b-8xq7isjoel] .login-sso-btn:hover {
    background: rgba(255, 255, 255, 0.10);
}
/* /Pages/SelectCompany.razor.rz.scp.css */
.login-form-container--auto[b-wjzem7e39q] {
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 3rem 0;
}

.login-subtitle--auto[b-wjzem7e39q] {
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.6;
    color: var(--kendo-color-on-base, #fafafa);
}
/* /Pages/UserProfile.razor.rz.scp.css */
.profile-page[b-981e44aimy] {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: 560px;
}

/* ── Header ──────────────────────────────────────────────────────────────── */

.profile-header[b-981e44aimy] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255,255,255,0.08));
}

.profile-avatar-lg[b-981e44aimy] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--kendo-color-primary, #e52020);
    color: var(--kendo-color-on-primary, #fff);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    flex-shrink: 0;
}

.profile-name[b-981e44aimy] {
    margin: 0 0 0.375rem;
    font-size: 1.25rem;
    font-weight: 600;
}

.profile-role-badge[b-981e44aimy] {
    display: inline-block;
    padding: 0.2rem 0.625rem;
    border-radius: 4px;
    background: var(--kendo-color-primary-subtle, rgba(229,32,32,0.15));
    color: var(--kendo-color-primary, #e52020);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* ── Sections ────────────────────────────────────────────────────────────── */

.profile-section[b-981e44aimy] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.profile-section-title[b-981e44aimy] {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.4;
}

.profile-fields[b-981e44aimy] {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--kendo-color-border, rgba(255,255,255,0.08));
    border-radius: 8px;
    overflow: hidden;
}

.profile-field[b-981e44aimy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--kendo-color-border, rgba(255,255,255,0.08));
}

.profile-field:last-child[b-981e44aimy] {
    border-bottom: none;
}

.profile-field-label[b-981e44aimy] {
    font-size: 0.82rem;
    opacity: 0.5;
    flex-shrink: 0;
}

.profile-field-value[b-981e44aimy] {
    font-size: 0.9rem;
    text-align: right;
}

.profile-tag[b-981e44aimy] {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
}

.profile-tag--off[b-981e44aimy] {
    background: var(--kendo-color-base-hover, rgba(255,255,255,0.06));
    color: var(--kendo-color-on-base, #fafafa);
    opacity: 0.6;
}

.profile-placeholder[b-981e44aimy] {
    margin: 0;
    font-size: 0.875rem;
    opacity: 0.35;
    font-style: italic;
}
/* /Shared/Grid/FlowtGrid.razor.rz.scp.css */
/* FlowtGrid skeleton — substitui visualmente as linhas do grid enquanto
   OnRead esta em curso. Header e pager do TelerikGrid permanecem visiveis;
   o skeleton sobrepoe apenas a area de conteudo.

   Paleta: alinhada ao padrao ja em uso pelo dashboard-card__skeleton
   (rgba branco baixa opacidade), dark-first, sem amarracao Telerik. */

.flowt-grid[b-akrnc64vpx] {
    position: relative;
    width: 100%;
    /* Contenção: se o grid exceder o container por qualquer motivo de runtime
       (medição JS do Telerik, janela estreita, soma de colunas fixas), ele rola
       DENTRO do wrapper em vez de sangrar além do padding da página e ser
       clipado na borda da janela. Quando o conteúdo cabe, é no-op. */
    overflow-x: auto;
}

/* Default da casa: grid expande ate a altura natural do conteudo; scroll
   fica com o container pai. Neutraliza o overflow:auto que o Telerik
   aplica em .k-grid-content (causava scroll duplicado em paginas longas).
   Opt-in: ScrollMode="Scrollable" no FlowtGrid omite essa classe e
   preserva o comportamento legacy do Telerik. */
.flowt-grid--no-internal-scroll[b-akrnc64vpx]  .k-grid-content,
.flowt-grid--no-internal-scroll[b-akrnc64vpx]  .k-grid-content-virtual {
    overflow-y: visible;
    height: auto;
    max-height: none;
}

/* Sem scroll interno vertical, o header do Telerik não pode reservar a calha
   da scrollbar (padding/scrollbar-gutter): sobra ~17px que deixa o conteúdo
   mais largo que o header e CORTA a última coluna (Ações) à direita. Zera a
   calha no header e no wrapper para o conteúdo alinhar e a coluna de ação
   aparecer inteira. Afeta toda grid no default (todas as telas admin). Spec 0279. */
.flowt-grid--no-internal-scroll[b-akrnc64vpx] {
    /* O Telerik dimensiona a calha do header por esta variável — zerá-la remove a
       reserva de ~17px na raiz, cobrindo os casos em que o override só de
       padding/margin no header não pega (inline style/ordem de cascata). */
    --kendo-scrollbar-width: 0px;
}

.flowt-grid--no-internal-scroll[b-akrnc64vpx]  .k-grid-header {
    padding-inline-end: 0 !important;
    scrollbar-gutter: auto !important;
}

.flowt-grid--no-internal-scroll[b-akrnc64vpx]  .k-grid-header-wrap {
    margin-inline-end: 0 !important;
    border-inline-end-width: 0 !important;
}

/* Durante o loading, o skeleton reserva min-height; a regra acima nao pode
   anular esse min-height. Mantemos o piso do skeleton enquanto loading. */
.flowt-grid--no-internal-scroll.flowt-grid--loading[b-akrnc64vpx]  .k-grid-content,
.flowt-grid--no-internal-scroll.flowt-grid--loading[b-akrnc64vpx]  .k-grid-content-virtual {
    min-height: var(--flowt-grid-skel-h, 360px);
}

/* Reserva altura minima para o skeleton em primeiro load, quando a grid
   ainda nao tem linhas e o .k-grid-content tem altura ~0. Sem isso, nao
   havia onde o skeleton sobrepor. Removida ao sair do loading. */
.flowt-grid--loading[b-akrnc64vpx] {
    min-height: calc(var(--flowt-grid-skel-h, 360px) + 88px);
}

/* Durante o loading, oculta o conteudo real (mantendo a altura quando
   ja existe) e deixa o skeleton fazer o trabalho visual. Header e pager
   do TelerikGrid permanecem visiveis — sao informacao estrutural. */
.flowt-grid--loading[b-akrnc64vpx]  .k-grid-content,
.flowt-grid--loading[b-akrnc64vpx]  .k-grid-content-virtual {
    visibility: hidden;
    min-height: var(--flowt-grid-skel-h, 360px);
}

.flowt-grid__skeleton[b-akrnc64vpx] {
    position: absolute;
    /* O header do TelerikGrid tem altura variavel (~36-44px conforme tema). */
    top: 44px;
    left: 0;
    right: 0;
    /* Deixa o pager visivel; em grids sem pager o usuario nao percebe a folga. */
    bottom: 44px;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    pointer-events: none;
    overflow: hidden;
}

.flowt-grid__skeleton-sr[b-akrnc64vpx] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.flowt-grid__skeleton-row[b-akrnc64vpx] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    height: 36px;
    padding: 0 16px;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.flowt-grid__skeleton-cell[b-akrnc64vpx] {
    flex: 1 1 0;
    height: 12px;
    border-radius: 4px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.06) 0%,
        rgba(255, 255, 255, 0.12) 50%,
        rgba(255, 255, 255, 0.06) 100%
    );
    background-size: 200% 100%;
    animation: flowt-grid-shimmer-b-akrnc64vpx 1.4s ease-in-out infinite;
}

/* Varia a largura das celulas pra simular conteudo real de tabela
   (codigos curtos, nomes longos, datas, badges, acoes). Padrao
   ciclico em ate 6 celulas. */
.flowt-grid__skeleton-cell:nth-child(6n + 1)[b-akrnc64vpx] { max-width: 72px; }
.flowt-grid__skeleton-cell:nth-child(6n + 3)[b-akrnc64vpx] { max-width: 140px; }
.flowt-grid__skeleton-cell:nth-child(6n + 4)[b-akrnc64vpx] { max-width: 96px; }
.flowt-grid__skeleton-cell:nth-child(6n + 5)[b-akrnc64vpx] { max-width: 110px; }
.flowt-grid__skeleton-cell:nth-child(6n)[b-akrnc64vpx]     { max-width: 80px; }

.flowt-grid__skeleton-row:nth-child(odd) .flowt-grid__skeleton-cell[b-akrnc64vpx] {
    animation-delay: 0.15s;
}

@keyframes flowt-grid-shimmer-b-akrnc64vpx {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Acessibilidade: motion-reduce desliga o shimmer. */
@media (prefers-reduced-motion: reduce) {
    .flowt-grid__skeleton-cell[b-akrnc64vpx] {
        animation: none;
        background: rgba(255, 255, 255, 0.08);
    }
}
