@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');

:root {
    /* Ponte legado → DS (layout) */
    --caprind-base-font-size: var(--ds-root-font-size);
    --caprind-font-scale: var(--ds-font-scale);
    --caprind-home-center-logo-scale: var(--ds-home-logo-scale);
    --caprind-area-bg-overlay: var(--ds-area-bg-overlay);
}

html {
    font-size: calc(var(--ds-root-font-size) * var(--ds-font-scale));
}

html, body {
    font-family: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.45;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 100%;
    margin: 0;
    overflow: hidden;
}

/* Topbar: forca global (evita conflito de css isolado/cache) */
.page main .app-menubar {
    height: 3rem !important;
    min-height: 3rem !important;
}

.page .sidebar.sidebar-rail .navmenu-brand-block {
    padding-top: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(93, 155, 210, 0.45) !important;
}

.page[data-caprind-theme-family="light"] .sidebar.sidebar-rail .navmenu-brand-block {
    background: transparent !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-brand-block .sidebar-rail-pin-btn {
    background: rgba(15, 23, 42, 0.08) !important;
    color: #334155 !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-brand-block .sidebar-rail-pin-btn:hover {
    background: rgba(15, 23, 42, 0.14) !important;
    color: #0f172a !important;
}

.sidebar.sidebar-rail {
    overflow-x: hidden;
}

/* Menu lateral — tema escuro: faixa clara (logo + itens) para legibilidade */
.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail {
    background: linear-gradient(180deg, #edf4fb 0%, #e2eef9 100%) !important;
    border-right: 1px solid rgba(93, 155, 210, 0.55) !important;
    color: #1e293b !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-brand-block {
    background: transparent !important;
    border-bottom: 1px solid rgba(93, 155, 210, 0.45) !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-content .nav-item a,
.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-content .nav-item a:hover,
.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-content .nav-item a.active {
    color: #1e293b !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-content .nav-item a:hover {
    background-color: rgba(15, 23, 42, 0.06) !important;
    color: #0f172a !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-content .nav-item a.active {
    background-color: rgba(255, 255, 255, 0.72) !important;
    color: #1e293b !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar.sidebar-rail .navmenu-content .tree-caret {
    color: rgba(15, 23, 42, 0.45) !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar-rail-pin-btn {
    background: rgba(15, 23, 42, 0.08) !important;
    color: #334155 !important;
}

.page:not([data-caprind-theme-family="light"]) .sidebar-rail-pin-btn:hover {
    background: rgba(15, 23, 42, 0.14) !important;
    color: #0f172a !important;
}

/* Menu lateral — família clara: textos escuros (fundo por caprind-theme-*.css) */
.page[data-caprind-theme-family="light"] .sidebar.sidebar-rail .navmenu-content .nav-item a,
.page[data-caprind-theme-family="light"] .sidebar.sidebar-rail .navmenu-content .nav-item a:hover,
.page[data-caprind-theme-family="light"] .sidebar.sidebar-rail .navmenu-content .nav-item a.active {
    color: #1e293b !important;
}

.page[data-caprind-theme-family="light"] .sidebar.sidebar-rail .navmenu-content .nav-item a:hover {
    color: #0f172a !important;
}

.page[data-caprind-theme-family="light"] .sidebar.sidebar-rail .navmenu-content .nav-item a.active {
    background-color: #f1f5f9 !important;
    color: #1e293b !important;
}

.page[data-caprind-theme-family="light"] .sidebar.sidebar-rail .navmenu-content .tree-caret {
    color: rgba(15, 23, 42, 0.45) !important;
}

@media (min-width: 992px) {
    .sidebar.sidebar-rail:not(:hover):not(.sidebar-rail--pinned) .navmenu-brand-logo--full {
        display: none !important;
    }

    .sidebar.sidebar-rail:not(:hover):not(.sidebar-rail--pinned) .navmenu-brand-icon {
        display: block !important;
    }

    .sidebar.sidebar-rail:hover .navmenu-brand-icon,
    .sidebar.sidebar-rail.sidebar-rail--pinned .navmenu-brand-icon {
        display: none !important;
    }
}

.page:not([data-caprind-theme-family="light"]) main .app-menubar {
    background: linear-gradient(180deg, #123552 0%, #0f2f4a 100%) !important;
    border-bottom: 1px solid rgba(93, 155, 210, 0.62) !important;
}

.page:not([data-caprind-theme-family="light"]) main .app-statusbar {
    border-top: 1px solid rgba(93, 155, 210, 0.62) !important;
    box-shadow: 0 -1px 0 rgba(147, 197, 253, 0.18);
}

/* Botão hambúrguer: exibir somente em telas pequenas. */
@media (min-width: 992px) {
    .page main .mobile-menu-button {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    .page main .mobile-menu-button {
        display: inline-flex !important;
    }
}

/* Override defensivo: garante mesmo espaçamento no rail colapsado. */
@media (min-width: 992px) {
    .sidebar.sidebar-rail:not(:hover):not(.sidebar-rail--pinned) .navmenu-brand-block {
        padding-top: 0 !important;
    }
}

/* Início (/) e área interna: foto estática de fundo */
main.app-area--home,
main.app-area--inner {
    background-color: var(--ds-color-brand-800, var(--ds-color-brand-800));
    background-image: none;
    min-width: 0;
}

main.app-area--home {
    --ds-area-bg-overlay: transparent;
}

main.app-area--inner {
    --ds-area-bg-overlay: linear-gradient(180deg, rgba(11, 29, 49, 0.14) 0%, rgba(12, 34, 56, 0.10) 100%);
}

main.app-area--home .app-area-bg__photo,
main.app-area--inner .app-area-bg__photo {
    top: var(--app-topbar-height);
    right: 0;
    bottom: var(--app-statusbar-height);
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
    transform: none;
    animation: none;
    opacity: 1;
    will-change: auto;
    filter: contrast(1.08) saturate(1.12) brightness(1.04);
    image-rendering: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

main.app-area--home .app-area-bg__overlay,
main.app-area--inner .app-area-bg__overlay {
    top: var(--app-topbar-height);
    right: 0;
    bottom: var(--app-statusbar-height);
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background: var(--ds-area-bg-overlay);
}

main.app-area--home .app-area-bg__overlay {
    display: none;
}

@media (max-width: 767.98px) {
    main.app-area--home,
    main.app-area--inner {
        background-position: unset;
    }

    main.app-area--home .app-area-bg__photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 38%;
    }

    main.app-area--inner .app-area-bg__photo {
        object-fit: contain;
        object-position: center center;
    }

    .login-industrial-bg__photo {
        object-position: 72% center;
    }
}

article {
    background-color: transparent;
    background-image: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 600;
    letter-spacing: 0.1px;
}

input, select, textarea, button, .btn, .form-control {
    font-family: inherit;
    font-size: 0.95rem;
}

.bg-image {
    display: flex;
    min-height: 100vh;
    background-color: var(--ds-color-brand-800, var(--ds-color-brand-800));
}

/* Login / registro: foto sem overlay em tela cheia (só o card fica por cima) */
.login-industrial-bg {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    --caprind-login-surface-top: var(--ds-color-brand-900);
    --caprind-login-surface-bottom: var(--ds-color-brand-800);
    background-color: transparent;
    background-image: none;
}

/* Login com o mesmo fundo da tela inicial autenticada (/) */
.login-industrial-bg.login-industrial-bg--home-style {
    background-color: var(--ds-color-brand-800, var(--ds-color-brand-800)) !important;
    background-image: none !important;
}

.login-shell--with-home-logo {
    justify-content: flex-end;
    gap: clamp(0.15rem, 0.7vh, 0.5rem);
    min-height: 0;
}

.login-home-logo-slot {
    --login-home-logo-scale: 0.85;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    max-width: min(calc(92vw * var(--login-home-logo-scale)), calc(28rem * var(--login-home-logo-scale)));
    min-height: 0;
    min-width: 0;
    padding: 0 clamp(0.25rem, 1vw, 0.75rem) clamp(0.05rem, 0.35vh, 0.25rem);
    box-sizing: border-box;
}

/* Sobrescreve CaprindHomeLogo.razor.css (isolado) nas telas de autenticação */
.login-home-logo-slot .caprind-home-logo-block {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.login-home-logo-slot .caprind-home-logo,
.login-home-logo-slot img.caprind-home-logo {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
}

.login-page-layout--legacy.login-industrial-bg--home-style > .login-shell.login-shell--with-home-logo {
    align-self: stretch;
    justify-self: center;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    flex: 1 1 auto;
    justify-content: flex-end;
    padding-top: clamp(0.35rem, 1.5vh, 0.85rem);
    padding-bottom: 0.2rem;
    box-sizing: border-box;
}

.login-page-layout--legacy.login-industrial-bg--home-style > .login-shell.login-shell--with-home-logo > form {
    flex: 0 0 auto;
    width: 100%;
}

.login-page-layout--legacy.login-industrial-bg--home-style .login-home-logo-slot {
    flex: 1 1 auto;
    min-height: 0;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden;
}

@media (min-width: 768px) {
    .login-home-logo-slot {
        max-width: min(calc(88vw * var(--login-home-logo-scale)), calc(42rem * var(--login-home-logo-scale)));
    }
}

@media (min-width: 1200px) {
    .login-home-logo-slot {
        max-width: min(calc(62vw * var(--login-home-logo-scale)), calc(1000px * var(--login-home-logo-scale)));
    }
}

/* Telas de autenticação centralizadas (registro, esqueci senha, definir senha) */
.login-page-layout:not(.login-page-layout--legacy) > .login-shell.login-shell--with-home-logo {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: clamp(0.25rem, 1vh, 0.75rem);
    padding-block: clamp(0.5rem, 1.5vh, 1.25rem);
}

.login-page-layout:not(.login-page-layout--legacy) > .login-shell.login-shell--with-home-logo > form {
    flex: 0 0 auto;
    width: 100%;
    max-width: min(94vw, 920px);
}

.login-page-layout:not(.login-page-layout--legacy) .login-home-logo-slot {
    flex: 0 0 auto;
    align-items: center;
    padding-bottom: 0;
}

.login-industrial-bg__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    z-index: 0;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
    transform: scale(1.06);
    transform-origin: center center;
    will-change: transform;
    animation:
        caprind-login-bg-in 1.4s ease-out both,
        caprind-login-bg-kenburns 36s ease-in-out 1.4s infinite alternate;
}

@keyframes caprind-login-bg-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes caprind-login-bg-kenburns {
    from {
        transform: scale(1.06) translate3d(0, 0, 0);
    }

    to {
        transform: scale(1.14) translate3d(-2.5%, -1.25%, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-industrial-bg__photo,
    main .app-area-bg__photo {
        animation: none;
        transform: none;
        opacity: 1;
    }
}

.login-industrial-bg > :not(.login-industrial-bg__photo) {
    position: relative;
    z-index: 2;
}

.login-industrial-bg .login-card-materio.login-card-shell {
    --caprind-login-card-bg: linear-gradient(180deg, color-mix(in srgb, var(--ds-color-brand-900) 55%, transparent) 0%, color-mix(in srgb, var(--ds-color-brand-800) 50%, transparent) 100%);
    --caprind-label-notch-login: color-mix(in srgb, var(--ds-color-brand-900) 82%, transparent);
    --caprind-login-autofill-inset: color-mix(in srgb, var(--ds-color-brand-900) 82%, transparent);
    --caprind-login-brand-divider: color-mix(in srgb, #ffffff 8%, transparent);
    --caprind-login-footer-border: color-mix(in srgb, #ffffff 8%, transparent);
    --caprind-login-theme-btn-bg: color-mix(in srgb, #ffffff 6%, transparent);
    --caprind-login-theme-btn-bg-hover: color-mix(in srgb, #ffffff 12%, transparent);
}

.financeiro-extrato-baixa-titulos-wrap {
    max-height: 14rem;
    margin-bottom: 0.75rem;
}

/* Login / registro: um único cartão centralizado (marca pode ficar dentro do cartão) */
.login-page-layout {
    position: relative;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding: clamp(0.75rem, 2vh, 1.25rem) clamp(0.75rem, 4vw, 1.5rem) 0;
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100dvh;
}

.login-page-layout > .login-shell {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: min(94vw, 920px);
    margin-inline: auto;
    padding-block: clamp(0.75rem, 2vh, 1.5rem);
    box-sizing: border-box;
    z-index: 3;
}

.login-page-layout > .login-shell > form {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Landing /assinatura: desktop com rolagem interna; celular rola a página inteira */
.login-industrial-bg:has(.assinatura-landing-shell) {
    overflow-x: hidden;
    overflow-y: auto;
    height: 100dvh;
    max-height: 100dvh;
    min-height: 100dvh;
}

.login-page-layout:has(.assinatura-landing-shell) {
    height: 100dvh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
}

.login-page-layout:has(.assinatura-landing-shell) > .login-shell {
    flex: 1 1 auto;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 0;
    overflow: visible;
    max-width: min(96vw, 72rem);
    padding-block: clamp(0.35rem, 1.2vh, 1rem);
}

@media (max-width: 767.98px) {
    .login-industrial-bg:has(.assinatura-landing-shell) {
        overflow-x: hidden;
        overflow-y: auto;
        height: auto;
        min-height: 100dvh;
        max-height: none;
        -webkit-overflow-scrolling: touch;
    }

    .login-page-layout:has(.assinatura-landing-shell) {
        height: auto;
        min-height: 100dvh;
        max-height: none;
        overflow: visible;
    }

    .login-page-layout:has(.assinatura-landing-shell) > .login-shell {
        flex: 1 0 auto;
        align-items: stretch;
        justify-content: flex-start;
        min-height: auto;
        max-height: none;
        overflow: visible;
        padding-block: clamp(0.75rem, 2.5vh, 1.5rem);
    }
}

.login-page-footer {
    position: relative;
    flex: 0 0 auto;
    align-self: stretch;
    width: 100%;
    margin-top: 0;
    min-height: 2.75rem;
    padding: 0.35rem clamp(0.75rem, 3vw, 1.5rem) clamp(0.5rem, 1.2vh, 0.75rem);
    z-index: 2;
}

.login-page-footer__version {
    position: absolute;
    right: clamp(0.75rem, 3vw, 1.5rem);
    bottom: clamp(0.45rem, 1.2vh, 0.75rem);
    margin: 0;
    color: #f8fafc;
    font-size: clamp(0.72rem, 1.65vw, 0.82rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55), 0 0 1px rgba(0, 0, 0, 0.85);
}

.login-copyright-notice {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    padding: 0.35rem clamp(4.5rem, 12vw, 8rem) 0.35rem 0.5rem;
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
    color: #f8fafc;
    font-size: clamp(0.72rem, 1.65vw, 0.82rem);
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.01em;
    text-align: center;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55), 0 0 1px rgba(0, 0, 0, 0.85);
}

.login-page-footer .login-copyright-notice {
    z-index: 1;
}

.login-copyright-notice__line + .login-copyright-notice__line {
    margin-top: 0.2rem;
}

.login-copyright-notice__reg {
    font-size: 0.72em;
    vertical-align: super;
    line-height: 0;
}

@media (max-width: 520px) {
    .login-page-footer {
        min-height: auto;
    }

    .login-page-footer__version {
        position: static;
        text-align: right;
        margin-top: 0.35rem;
    }

    .login-copyright-notice {
        padding-inline: 0.5rem;
    }
}

/* Login estilo legado (VB6): versão no canto, formulário com rótulos à esquerda */
.login-page-version-top {
    position: absolute;
    top: clamp(0.5rem, 1.5vh, 0.85rem);
    left: clamp(0.75rem, 3vw, 1.25rem);
    z-index: 4;
    margin: 0;
    color: #f8fafc;
    font-size: clamp(1.17rem, 2.625vw, 1.32rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-align: left;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55), 0 0 1px rgba(0, 0, 0, 0.85);
}

.login-industrial-bg > .login-page-version-top {
    position: absolute;
}

.login-page-version-top--right {
    left: auto;
    right: clamp(0.75rem, 3vw, 1.25rem);
    font-size: clamp(1.17rem, 2.625vw, 1.32rem);
    text-align: right;
}

.login-industrial-bg.login-page-layout.login-page-layout--legacy {
    display: grid !important;
    flex-direction: unset !important;
}

.login-page-layout--legacy {
    --login-legacy-content-width: min(94vw, 61.2rem);
    --login-legacy-card-max-width: min(94vw, 56rem);
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    grid-template-columns: minmax(0, 1fr);
    align-content: stretch;
    min-height: 100dvh;
    max-height: 100dvh;
    height: 100dvh;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.login-industrial-bg.login-page-layout--legacy > .login-industrial-bg__photo {
    grid-row: 1 / -1;
    grid-column: 1;
}

.login-page-layout--legacy > .login-shell {
    grid-row: 1;
    grid-column: 1;
    z-index: 2;
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    align-self: end;
    justify-self: center;
    width: 100%;
    max-width: var(--login-legacy-content-width);
    margin: 0;
    padding: 0 clamp(0.75rem, 2.5vw, 1.25rem) 0.2rem;
    min-height: 0;
    box-sizing: border-box;
    overflow: visible;
}

.login-page-layout--legacy > .login-shell > form {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    margin: 0;
    box-sizing: border-box;
}

.login-page-layout--legacy > .login-page-footer {
    grid-row: 2;
    grid-column: 1;
    z-index: 3;
    flex: none;
    margin-top: 0;
    padding: 0.15rem clamp(0.75rem, 3vw, 1.5rem) 0.4rem;
    min-height: auto;
}

.login-legacy-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    max-width: var(--login-legacy-content-width, min(94vw, 61.2rem));
    margin-inline: auto;
    padding: 0;
    color: #f1f5f9;
    text-align: center;
    box-sizing: border-box;
    min-width: 0;
}

.login-legacy-card.login-card-materio {
    margin-top: 0;
    padding-top: 1.35rem;
    padding-bottom: 1.25rem;
    width: 100%;
    max-width: var(--login-legacy-card-max-width, min(94vw, 56rem));
    margin-inline: auto;
    box-sizing: border-box;
}

.login-legacy-card .login-brand-slot--in-card.login-brand-slot--legacy {
    margin-bottom: clamp(0.75rem, 1.8vh, 1.15rem);
    padding-bottom: clamp(0.55rem, 1.4vh, 0.85rem);
    display: flex;
    justify-content: center;
}

.login-legacy-card .login-brand-slot--in-card.login-brand-slot--legacy .caprind-brand--login-legacy {
    --caprind-legacy-logo-size: clamp(6.5rem, 14vw, 10.5rem);
    --caprind-legacy-title-size: clamp(1.35rem, 2.8vw, 2.15rem);
    --caprind-legacy-tag-size: clamp(0.55rem, 1.05vw, 0.72rem);
}

.login-legacy-card .caprind-brand__legacy-tag {
    align-self: center;
    text-align: center;
}

.login-legacy-card .login-card-footer--version-only {
    justify-content: center;
    text-align: center;
}

.login-legacy-card.login-card-materio .login-float-input {
    text-align: center;
    text-transform: uppercase;
}

.login-legacy-card.login-card-materio #assinatura-email.login-float-input {
    text-transform: lowercase;
}

.login-legacy-card.login-card-materio .login-float-input--numeric {
    text-transform: none;
}

.login-legacy-card.login-card-materio .login-password-floating .login-float-input {
    padding-left: 2.85rem;
    padding-right: 2.85rem;
}

.login-legacy-card.login-card-materio .login-float-wrap--cnpj .login-float-input {
    padding-left: 2.85rem;
    padding-right: 2.85rem;
}

.login-card-materio .login-cnpj-search-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
    margin: 0;
    padding: 0.15rem 0.35rem;
    border: 0;
    color: rgba(158, 200, 236, 0.9) !important;
    text-decoration: none;
    line-height: 1;
}

.login-card-materio .login-cnpj-search-btn:hover:not(:disabled),
.login-card-materio .login-cnpj-search-btn:focus:not(:disabled) {
    color: #fff !important;
}

.login-card-materio .login-cnpj-search-btn:disabled {
    opacity: 0.65;
}

.login-brand-slot--legacy {
    max-width: 100%;
    width: 100%;
    margin-bottom: 0.25rem;
    pointer-events: auto;
    display: flex;
    justify-content: center;
}

.login-brand-slot--legacy .caprind-brand {
    align-items: center;
    margin-inline: auto;
}

/* Notebook (ex.: 1366×768): card colado ao rodapé, logo grande no card */
@media (max-width: 1400px), (max-height: 820px) {
    .login-page-layout--legacy {
        --login-legacy-content-width: min(100%, 44rem);
        --login-legacy-card-max-width: min(100%, 44rem);
    }

    .login-page-layout--legacy > .login-shell {
        max-width: min(100%, 44rem);
        padding-inline: clamp(0.5rem, 2.5vw, 0.85rem);
    }

    .login-legacy-panel {
        max-width: 100%;
        align-items: center;
    }

    .login-legacy-card.login-card-materio {
        margin-top: 0;
        padding-top: 0.85rem;
        padding-bottom: 0.65rem;
    }

    .login-legacy-card .login-brand-slot--in-card.login-brand-slot--legacy .caprind-brand--login-legacy {
        --caprind-legacy-logo-size: clamp(5.5rem, 18vh, 8.5rem);
        --caprind-legacy-title-size: clamp(1.1rem, 2.4vw, 1.45rem);
        --caprind-legacy-tag-size: clamp(0.5rem, 1vw, 0.62rem);
    }

    .login-page-layout--legacy .login-card-shell.login-legacy-card {
        padding-left: clamp(0.85rem, 2.5vw, 1.15rem);
        padding-right: clamp(0.85rem, 2.5vw, 1.15rem);
        margin-inline: auto;
    }

    .login-legacy-card .login-card-header.mb-3 {
        margin-bottom: 0.5rem !important;
    }

    .login-legacy-card .login-card-title {
        font-size: 1.05rem !important;
    }

    .login-legacy-card .login-card-lead {
        font-size: 0.85rem !important;
    }

    .login-legacy-card .login-field-wrap.mb-3 {
        margin-bottom: 0.5rem !important;
    }

    .login-legacy-card.login-card-materio .login-float-input {
        min-height: calc(2.85rem + 2px);
        padding-top: 0.95rem;
        padding-bottom: 0.5rem;
    }

    .login-legacy-card .login-options-row {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center !important;
        justify-content: space-between;
        gap: 0.35rem 0.5rem;
        margin-bottom: 0.65rem !important;
    }

    .login-legacy-card .login-options-row .form-check {
        padding-left: 1.75rem;
        margin-bottom: 0;
    }

    .login-legacy-card .form-check-label,
    .login-legacy-card .login-remember-label {
        color: #ffffff !important;
        text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
    }

    .login-legacy-card .login-remember-check {
        border-color: rgba(255, 255, 255, 0.72);
        background-color: rgba(255, 255, 255, 0.08);
    }

    .login-legacy-card .login-accent-link {
        align-self: auto;
        text-align: right;
        white-space: nowrap;
    }

    .login-legacy-card .login-btn-primary {
        padding-top: 0.45rem !important;
        padding-bottom: 0.45rem !important;
    }

    .login-brand-slot--legacy {
        margin-bottom: 0;
    }

    .login-page-layout--legacy .login-copyright-notice {
        padding-inline: 0.65rem;
        font-size: 0.68rem;
        line-height: 1.35;
    }
}

.login-page-layout--legacy .login-industrial-bg__photo {
    object-position: right center;
}

.login-page-layout--legacy .login-page-footer .login-copyright-notice {
    padding-inline: clamp(0.75rem, 5vw, 2.5rem);
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    margin-inline: auto;
}

@media (max-width: 767.98px) {
    .login-industrial-bg.login-page-layout--legacy {
        overflow-x: hidden;
        overflow-y: auto;
        max-height: none;
        height: auto;
        min-height: 100dvh;
        -webkit-overflow-scrolling: touch;
    }

    .login-page-layout--legacy {
        --login-legacy-content-width: min(100%, calc(100vw - 1.25rem));
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto;
        height: auto;
        min-height: 100dvh;
        max-height: none;
        overflow: visible;
        padding: 0;
        box-sizing: border-box;
    }

    .login-page-layout--legacy > .login-shell {
        width: 100% !important;
        max-width: 100%;
        margin-inline: auto;
        padding: 0 clamp(0.625rem, 3vw, 0.875rem) 0.15rem;
        min-width: 0;
        align-items: center;
        justify-content: flex-end;
        align-self: end;
    }

    .login-page-layout--legacy > .login-shell > form {
        width: 100%;
        min-width: 0;
        justify-content: flex-end;
        align-items: center;
    }

    .login-legacy-panel {
        max-width: 100%;
        width: 100%;
        padding-inline: 0;
        box-sizing: border-box;
        align-items: center;
    }

    .login-page-layout--legacy .login-legacy-card.login-card-shell,
    .login-page-layout--legacy .login-card-shell.login-legacy-card {
        padding-left: clamp(0.75rem, 4vw, 1.15rem);
        padding-right: clamp(0.75rem, 4vw, 1.15rem);
        max-width: 100%;
        margin-inline: auto;
        box-sizing: border-box;
    }

    .login-page-layout--legacy .login-card-footer--version-only {
        justify-content: center;
        text-align: center;
    }

    .login-page-layout--legacy .login-options-row {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.55rem;
    }

    .login-page-layout--legacy .login-options-row .form-check {
        width: 100%;
        padding-left: 0;
    }

    .login-page-layout--legacy .login-options-row .login-accent-link {
        align-self: flex-end;
        text-align: right;
        white-space: normal;
    }

    .login-page-layout--legacy .login-card-footer--version-only {
        padding-inline: 0;
    }
}

.login-entry-gate-loading {
    margin: 0;
    padding: 2rem 1rem;
    text-align: center;
    color: #f8fafc;
    font-size: 0.95rem;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}

.login-legacy-row {
    display: grid;
    grid-template-columns: minmax(4.75rem, 5.5rem) minmax(0, 1fr);
    align-items: center;
    gap: 0.55rem 0.75rem;
}

.login-legacy-label {
    margin: 0;
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 600;
    text-align: right;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}

.login-legacy-field {
    display: flex;
    align-items: stretch;
    min-width: 0;
}

.login-legacy-field--password .login-legacy-input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
}

.login-legacy-input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 2.05rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid rgba(148, 163, 184, 0.55);
    border-radius: 3px;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.92rem;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
}

.login-legacy-input:focus {
    border-color: #60a5fa;
    outline: none;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.35);
}

.login-legacy-input--readonly {
    background: #e2e8f0;
    color: #1e293b;
}

.login-legacy-addon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    flex: 0 0 auto;
    min-width: 2.35rem;
    padding: 0 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.55);
    border-left: none;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #dbeafe 100%);
    color: #1d4ed8;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
}

.login-legacy-addon--sql .bi {
    font-size: 0.95rem;
}

.login-legacy-addon--key {
    border-left: none;
    border-color: rgba(148, 163, 184, 0.55);
    background: linear-gradient(180deg, #fffbeb 0%, #fde68a 100%);
    color: #b45309;
    cursor: pointer;
}

.login-legacy-addon--key:hover,
.login-legacy-addon--key:focus {
    filter: brightness(1.03);
}

.login-legacy-hint {
    color: rgba(226, 232, 240, 0.88);
    font-size: 0.78rem;
}

.login-legacy-validation {
    grid-column: 2;
    color: #fecaca;
    font-size: 0.78rem;
    margin-top: -0.35rem;
    margin-bottom: 0.35rem;
}

.login-legacy-footer-links {
    width: 100%;
    max-width: 32rem;
    margin-top: 0.15rem;
    padding-top: 0.35rem;
    padding-inline: 0;
    box-sizing: border-box;
    justify-content: center !important;
    text-align: center;
}

.login-legacy-check-label,
.login-legacy-link,
.login-legacy-muted {
    color: rgba(241, 245, 249, 0.92);
    font-size: 0.82rem;
    white-space: nowrap;
}

.login-legacy-link {
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.login-legacy-link:hover,
.login-legacy-link:focus {
    color: #ffffff;
}

.login-legacy-check {
    border-color: rgba(255, 255, 255, 0.45);
}

.login-legacy-actions {
    width: 100%;
    box-sizing: border-box;
}

.login-legacy-btn {
    min-height: 2.35rem;
    padding: 0.4rem 0.85rem;
    border-radius: 3px;
    font-size: 0.88rem;
    font-weight: 600;
    border: 1px solid rgba(15, 23, 42, 0.35);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
}

.login-legacy-btn--enter {
    background: linear-gradient(180deg, #64748b 0%, #475569 55%, #334155 100%);
    color: #ffffff;
}

.login-legacy-btn--enter:hover,
.login-legacy-btn--enter:focus {
    background: linear-gradient(180deg, #74859a 0%, #526173 55%, #3b4c61 100%);
    color: #ffffff;
}

.login-legacy-btn--anydesk {
    background: linear-gradient(180deg, #1e4f8a 0%, #163d6c 100%);
    color: #ffffff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}

.login-legacy-btn--anydesk:hover,
.login-legacy-btn--anydesk:focus {
    color: #ffffff;
    filter: brightness(1.06);
}

.login-legacy-anydesk-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 2px;
    background: #ef4444;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}

@media (max-width: 520px) {
    .login-legacy-row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .login-legacy-label {
        text-align: left;
    }

    .login-legacy-actions {
        padding-left: 0;
    }

    .login-legacy-footer-links {
        padding-left: 0;
    }

    .login-legacy-validation {
        grid-column: 1;
    }

    .login-legacy-footer-links {
        flex-direction: column;
        gap: 0.45rem !important;
    }

    .login-legacy-check-label,
    .login-legacy-link {
        white-space: normal;
    }
}

.login-brand-slot {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    z-index: 2;
    flex: 0 1 auto;
    max-width: min(94vw, calc(38rem * 0.85));
    min-width: 0;
    pointer-events: none;
    display: flex;
    justify-content: center;
    width: 100%;
}

.login-brand-slot .caprind-brand {
    pointer-events: auto;
    align-items: flex-start;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
}

.login-brand-slot .caprind-brand--hero .caprind-brand__top {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: 100%;
}

.login-brand-slot .caprind-brand--hero .caprind-brand__slogan {
    align-items: center;
    align-self: stretch;
    justify-content: flex-start;
}

.login-brand-slot .caprind-brand__titles {
    align-items: flex-start;
    text-align: left;
}

.login-brand-slot .caprind-brand__name,
.login-brand-slot .caprind-brand__tag {
    text-align: left;
}

/* Marca dentro do cartão (login e registro) */
.login-brand-slot--in-card {
    width: 100%;
    max-width: 100%;
    pointer-events: auto;
    margin-bottom: clamp(1rem, 2.5vh, 1.75rem);
    padding-bottom: clamp(0.65rem, 1.8vh, 1.15rem);
    border-bottom: 1px solid var(--ds-color-border);
}

.login-brand-slot--in-card .caprind-brand--hero {
    --caprind-brand-scale: 1.02;
    max-width: min(100%, calc(34rem * 1.02));
    margin-left: auto;
    margin-right: auto;
}

/* Login, registro e esqueci senha: marca +20% (logo e textos via --caprind-brand-scale) */
.login-brand-slot--in-card.login-brand-slot--auth-enlarged .caprind-brand--hero {
    --caprind-brand-scale: 1.224;
    max-width: min(100%, calc(34rem * 1.224));
}

.login-shell {
    border-radius: 20px;
    position: relative;
    z-index: 2;
}

@media (max-width: 767.98px) {
    .login-industrial-bg {
        overflow-x: hidden;
        overflow-y: auto;
        height: auto;
        min-height: 100dvh;
        max-height: none;
        -webkit-overflow-scrolling: touch;
    }

    .login-page-layout {
        overflow-x: hidden;
        overflow-y: visible;
        min-height: 100dvh;
        max-height: none;
    }

    .login-page-layout {
        padding: clamp(0.75rem, 3vw, 1.25rem) clamp(0.75rem, 4vw, 1.25rem) 1.25rem;
    }

    .login-brand-slot:not(.login-brand-slot--in-card) {
        max-width: min(94vw, calc(26rem * 0.85));
    }

    .login-brand-slot--in-card .caprind-brand--hero {
        max-width: min(94vw, calc(28rem * 1.02));
    }

    .login-brand-slot--in-card.login-brand-slot--auth-enlarged .caprind-brand--hero {
        max-width: min(94vw, calc(28rem * 1.224));
    }

    .login-page-layout .login-shell {
        width: 100% !important;
        max-width: min(96vw, 28rem);
    }
}

.app-page {
    background-color: var(--ds-color-brand-800, var(--ds-color-brand-800));
    min-height: 100%;
    height: 100%;
    width: 100%;
    margin-top: 0;
    padding: 0.45rem 1.25rem 1.25rem 1.25rem;
}

@media (min-width: 992px) {
    .page.page--with-sidebar-rail main.app-area--inner .app-page {
        padding-left: 2.25rem;
    }
}

main.app-area--home .app-page {
    background-color: transparent;
}

.page:not([data-caprind-theme-family="light"]) .caprind-home-logo--theme-light {
    display: none !important;
}

.page[data-caprind-theme-family="light"] .caprind-home-logo--theme-dark {
    display: none !important;
}

main.app-area--home .caprind-home-shell {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-height: 100%;
    overflow: hidden;
    padding-top: clamp(0.75rem, 2vh, 1.5rem);
    padding-left: clamp(1.25rem, 4vw, 3rem);
    padding-right: clamp(1rem, 3vw, 2.25rem);
    padding-bottom: clamp(0.75rem, 2vh, 1.5rem);
    box-sizing: border-box;
}

/* Sobrescreve article > .container-fluid.app-page-fill que força coluna (especificidade maior) */
main.app-area--home article > .container-fluid.app-page.app-page-fill.rh-list-page.caprind-home-shell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

main.app-area--home .caprind-home-cliente-slot {
    --ds-home-logo-scale: 0.65;
    position: relative;
    z-index: 2;
    align-self: center;
    width: 100%;
    max-width: min(calc(92vw * var(--ds-home-logo-scale)), calc(28rem * var(--ds-home-logo-scale)));
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(0.25rem, 1vw, 0.75rem);
}

main.app-area--home .caprind-home-cliente-slot .caprind-home-logo,
main.app-area--home .caprind-home-cliente-slot img.caprind-home-logo {
    max-width: min(calc(92vw * var(--ds-home-logo-scale)), calc(33.6rem * var(--ds-home-logo-scale)));
}

main.app-area--home .caprind-home-cliente-slot .caprind-brand--home-center .caprind-brand__legacy-title {
    color: #ffffff !important;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.85);
}

@media (max-width: 767.98px) {
    main.app-area--home .caprind-home-shell,
    main.app-area--home article > .container-fluid.app-page.app-page-fill.rh-list-page.caprind-home-shell {
        padding: clamp(0.75rem, 3vw, 1.25rem) clamp(0.75rem, 4vw, 1.25rem) 1.25rem;
    }

    main.app-area--home .caprind-home-cliente-slot {
        max-width: min(calc(94vw * var(--ds-home-logo-scale)), calc(28rem * var(--ds-home-logo-scale)));
    }
}

@media (min-width: 768px) {
    main.app-area--home .caprind-home-cliente-slot {
        max-width: min(calc(88vw * var(--ds-home-logo-scale)), calc(42rem * var(--ds-home-logo-scale)));
    }

    main.app-area--home .caprind-home-cliente-slot .caprind-home-logo,
    main.app-area--home .caprind-home-cliente-slot img.caprind-home-logo {
        max-width: min(calc(88vw * var(--ds-home-logo-scale)), calc(50.4rem * var(--ds-home-logo-scale)));
    }
}

@media (min-width: 1200px) {
    main.app-area--home .caprind-home-cliente-slot {
        max-width: min(calc(72vw * var(--ds-home-logo-scale)), calc(1000px * var(--ds-home-logo-scale)));
    }

    main.app-area--home .caprind-home-cliente-slot .caprind-home-logo,
    main.app-area--home .caprind-home-cliente-slot img.caprind-home-logo {
        max-width: min(calc(62vw * var(--ds-home-logo-scale)), calc(75rem * var(--ds-home-logo-scale)));
    }
}

/* Área central: textos da marca CAPRIND e da empresa cliente sempre brancos (todos os temas) */
main.app-area--home .caprind-home-shell,
main.app-area--home .empresa-cliente-brand,
.login-industrial-bg .caprind-brand {
    color: #ffffff;
}

main.app-area--home .caprind-brand,
.login-industrial-bg .caprind-brand {
    --caprind-text: #ffffff;
}

main.app-area--home .caprind-brand__name,
main.app-area--home .caprind-brand__tag,
main.app-area--home .caprind-brand__line:not(.caprind-brand__line--accent),
main.app-area--home .caprind-brand__reg,
.login-industrial-bg .caprind-brand__name,
.login-industrial-bg .caprind-brand__tag,
.login-industrial-bg .caprind-brand__line:not(.caprind-brand__line--accent),
.login-industrial-bg .caprind-brand__reg {
    color: #ffffff !important;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45), 0 0 2px rgba(0, 0, 0, 0.8);
}

main.app-area--home .caprind-brand__tag,
.login-industrial-bg .caprind-brand__tag {
    color: rgba(255, 255, 255, 0.92) !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

main.app-area--home .caprind-brand__line--accent,
.login-industrial-bg .caprind-brand__line--accent,
.page[data-caprind-theme-family="light"] main.app-area--home .caprind-brand__line--accent,
.page[data-caprind-theme="light-blue"] main.app-area--home .caprind-brand__line--accent,
.page[data-caprind-theme="light-green"] main.app-area--home .caprind-brand__line--accent,
.page[data-caprind-theme="light-red"] main.app-area--home .caprind-brand__line--accent {
    color: #4db8f0 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45), 0 0 14px rgba(77, 184, 240, 0.45);
}

.app-page-fill {
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.app-fill-form {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.app-fill-form > .app-page {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    max-width: 100%;
}

.app-section-title {
    color: var(--ds-color-brand-700, var(--ds-color-brand-700));
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 1rem;
}

.app-panel {
    background: var(--ds-color-surface-card, var(--ds-color-surface-card, #ffffff));
    border: 1px solid var(--ds-color-border, color-mix(in srgb, var(--ds-color-brand-200) 55%, var(--ds-color-border)));
    border-radius: 12px;
    box-shadow: var(--ds-shadow-sm, 0 4px 16px color-mix(in srgb, var(--ds-color-brand-800) 8%, transparent));
    padding: 1rem;
}

/* --- Tema Caprind (campos / rótulos como no login; páginas com fundo claro) --- */
:root {
    /* Marca: ponte legado → Design System (--ds-*) */
    --caprind-shell-bg: var(--ds-color-brand-800);
    --caprind-accent: var(--ds-color-primary);
    --caprind-accent-hover: var(--ds-color-primary-hover);
    --caprind-toast-bg: var(--ds-color-surface-card);
    --caprind-toast-border: color-mix(in srgb, var(--ds-color-primary) 50%, transparent);
    --caprind-toast-text: var(--ds-color-text);
    --caprind-toast-muted: var(--ds-color-text-muted);
    --caprind-toast-shadow: var(--ds-shadow-lg, 0 22px 50px rgba(4, 12, 24, 0.45));
    --caprind-toast-logo-bg: var(--ds-color-bg-muted);
    --caprind-toast-logo-border: color-mix(in srgb, var(--ds-color-primary) 35%, transparent);
    --caprind-toast-accent: var(--ds-color-primary);
    --caprind-toast-success-accent: var(--ds-color-primary);
    --caprind-toast-error-accent: var(--ds-color-danger);
    --caprind-toast-warning-accent: var(--ds-color-warning);
    --caprind-toast-info-accent: var(--ds-color-info);
    --caprind-toast-btn-confirm-bg: var(--ds-color-primary);
    --caprind-toast-btn-confirm-hover: var(--ds-color-primary-hover);
    --caprind-toast-btn-confirm-text: var(--ds-color-link-hover);
    --caprind-toast-btn-cancel-border: color-mix(in srgb, var(--ds-color-primary) 45%, transparent);
    --caprind-toast-btn-cancel-text: var(--ds-color-text);
    --caprind-toast-btn-cancel-hover-bg: var(--ds-color-bg-muted);
    --caprind-toast-warning-accent-hover: var(--ds-color-warning-hover);
    --caprind-relatorio-viewer-bg: var(--ds-color-brand-800);
    --caprind-relatorio-toolbar-bg: var(--ds-color-brand-100);
    --caprind-relatorio-toolbar-border: color-mix(in srgb, var(--ds-color-brand-300) 55%, #9eb8d4);
    --caprind-relatorio-toolbar-text: var(--ds-color-brand-700);
    --caprind-relatorio-toolbar-muted: var(--ds-color-secondary);
    --caprind-welcome-toast-bg: var(--ds-color-surface-card);
    --caprind-welcome-toast-border: color-mix(in srgb, var(--ds-color-primary) 50%, transparent);
    --caprind-welcome-toast-text: var(--ds-color-text);
    --caprind-welcome-toast-muted: var(--ds-color-text-muted);
    --caprind-welcome-toast-accent: var(--ds-color-primary);
    --caprind-welcome-toast-shadow: var(--ds-shadow-lg, 0 22px 50px rgba(4, 12, 24, 0.45));
    --caprind-welcome-toast-logo-bg: var(--ds-color-bg-muted);
    --caprind-welcome-toast-logo-border: color-mix(in srgb, var(--ds-color-primary) 35%, transparent);
    --empresa-logo-fallback-bg: var(--ds-color-primary-subtle);
    --empresa-logo-fallback-border: color-mix(in srgb, var(--ds-color-primary) 42%, transparent);
    --empresa-logo-fallback-color: var(--ds-color-primary);
    --caprind-tab-bar-bg: linear-gradient(180deg, var(--ds-color-brand-700) 0%, var(--ds-color-brand-800) 100%);
    --caprind-tab-bar-border: color-mix(in srgb, var(--ds-color-primary) 45%, transparent);
    --caprind-tab-bar-text: var(--ds-color-text);
    --caprind-tab-bar-shadow: var(--ds-shadow-md, 0 2px 10px rgba(4, 12, 24, 0.28));
    --caprind-tab-bg: var(--ds-color-bg-muted);
    --caprind-tab-border: var(--ds-color-border);
    --caprind-tab-text: color-mix(in srgb, var(--ds-color-text) 90%, transparent);
    --caprind-tab-text-hover: var(--ds-color-link-hover);
    --caprind-tab-close: color-mix(in srgb, var(--ds-color-text) 82%, transparent);
    --caprind-tab-active-bg: linear-gradient(180deg, var(--ds-color-brand-600) 0%, var(--ds-color-brand-700) 100%);
    --caprind-tab-active-border: color-mix(in srgb, var(--ds-color-primary) 55%, transparent);
    --caprind-tab-active-accent: var(--ds-color-primary);
    --caprind-tab-active-text: var(--ds-color-link-hover);
    --caprind-tab-active-shadow: 0 -2px 0 var(--ds-color-primary) inset, 0 4px 14px rgba(0, 0, 0, 0.22);
    /* Borda de campos = botões outline “ghost” (sem roxo no contorno) */
    --caprind-field-border: var(--ds-input-border);
    --caprind-field-border-hover: color-mix(in srgb, var(--ds-input-border-focus) 65%, transparent);
    --caprind-field-border-focus: var(--ds-input-border-focus);
    --caprind-field-focus-ring: color-mix(in srgb, var(--ds-color-primary) 30%, transparent);
    --caprind-field-bg: var(--ds-input-bg);
    --caprind-field-text: var(--ds-input-text);
    --caprind-select-popup-bg: var(--ds-color-brand-800);
    --caprind-select-popup-text: var(--ds-input-text);
    --caprind-select-popup-highlight: var(--ds-color-brand-600);
    --caprind-label-notch-login: color-mix(in srgb, var(--ds-color-brand-900) 98%, transparent);
    --caprind-login-card-bg: var(--ds-color-surface-card);
    --caprind-login-card-text: var(--ds-color-text);
    --caprind-login-card-muted: var(--ds-color-text-muted);
    --caprind-login-card-link: var(--ds-color-link-hover);
    --caprind-login-card-link-hover: var(--ds-color-link-hover);
    --caprind-login-card-border: var(--ds-color-border);
    --caprind-login-card-shadow: var(--ds-shadow-lg, 0 16px 40px rgba(4, 8, 14, 0.32));
    --caprind-login-brand-divider: var(--ds-color-border);
    --caprind-login-footer-border: var(--ds-color-border);
    --caprind-login-db-badge-bg: var(--ds-color-bg-muted);
    --caprind-login-db-badge-text: var(--ds-color-text-muted);
    --caprind-login-db-badge-hover: var(--ds-color-text);
    --caprind-login-eye-color: color-mix(in srgb, var(--ds-color-text) 88%, transparent);
    --caprind-login-label-color: var(--ds-color-text);
    --caprind-login-lead-color: var(--ds-color-text-muted);
    --caprind-login-remember-label: var(--ds-color-text);
    --caprind-login-theme-btn-border: color-mix(in srgb, var(--ds-color-primary) 45%, transparent);
    --caprind-login-theme-btn-text: var(--ds-color-text);
    --caprind-login-theme-btn-bg: color-mix(in srgb, var(--ds-color-brand-700) 42%, transparent);
    --caprind-login-theme-btn-border-hover: color-mix(in srgb, var(--ds-color-primary) 70%, transparent);
    --caprind-login-theme-btn-bg-hover: color-mix(in srgb, var(--ds-color-brand-600) 62%, transparent);
    --caprind-login-placeholder: var(--ds-input-placeholder);
    --caprind-login-autofill-inset: var(--ds-color-brand-900);
    --caprind-login-page-footer-text: color-mix(in srgb, var(--ds-color-text) 94%, transparent);
    --caprind-login-page-footer-text-shadow: 0 1px 8px color-mix(in srgb, #000000 55%, transparent), 0 0 1px color-mix(in srgb, #000000 85%, transparent);
    --caprind-label-on-light: var(--ds-color-brand-700);
    /* Entalhe das labels nos formulários (mesmo azul base do shell) */
    --caprind-form-notch-bg: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
    --caprind-form-notch-text: var(--ds-table-header-text);
    /* Listas claras (modais / leitura em fundo claro) */
    --caprind-list-light-shell: var(--ds-color-surface-card, #ffffff);
    --caprind-list-light-border: color-mix(in srgb, var(--ds-color-brand-200) 55%, var(--ds-color-border));
    --caprind-list-light-thead-bg: color-mix(in srgb, var(--ds-color-brand-100) 70%, var(--ds-color-bg-muted));
    --caprind-list-light-thead-color: var(--ds-color-text-inverse);
    --caprind-list-light-cell: color-mix(in srgb, var(--ds-color-text-inverse) 88%, var(--ds-color-brand-800));
    --caprind-text: var(--ds-color-text-inverse, #ffffff);
    --caprind-list-light-row-border: color-mix(in srgb, var(--ds-color-brand-100) 40%, var(--ds-color-border));
    --caprind-list-light-stripe: color-mix(in srgb, var(--ds-color-brand-100) 35%, var(--ds-color-link-hover));
    --caprind-list-light-hover: color-mix(in srgb, var(--ds-color-brand-100) 55%, var(--ds-color-primary-subtle));

    /* Listas / tabelas na área interna — tons do shell */
    --caprind-dash-surface: var(--ds-color-brand-800);
    --caprind-dash-surface-2: var(--ds-color-bg-elevated);
    --caprind-dash-thead: var(--ds-table-header-bg);
    --caprind-dash-header-text: var(--ds-table-header-text);
    --caprind-dash-body: var(--ds-color-text);
    --caprind-dash-muted: var(--ds-color-text-muted);
    --caprind-dash-border: var(--ds-color-border);
    --caprind-dash-stripe: var(--ds-table-row-stripe);
    --caprind-dash-hover: var(--ds-table-row-hover);
    --caprind-dash-active: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    /* Coluna de ações (listas) */
    --caprind-actions-strip: color-mix(in srgb, var(--ds-color-brand-900) 88%, transparent);
    --caprind-table-total-bg: color-mix(in srgb, var(--ds-color-brand-900) 88%, transparent);
    --caprind-actions-icon: var(--ds-color-link-hover);
    /* Ações de linha — ícones coloridos por tipo (tema escuro / listas dashboard) */
    --caprind-row-view-border: color-mix(in srgb, var(--ds-color-secondary) 72%, transparent);
    --caprind-row-view-icon: color-mix(in srgb, var(--ds-color-secondary) 75%, var(--ds-color-text));
    --caprind-row-view-icon-hover: var(--ds-color-link-hover);
    --caprind-row-edit-border: color-mix(in srgb, var(--ds-color-primary) 88%, transparent);
    --caprind-row-edit-icon: color-mix(in srgb, var(--ds-color-primary) 82%, var(--ds-color-text));
    --caprind-row-edit-icon-hover: var(--ds-color-link-hover);
    --caprind-row-success-border: color-mix(in srgb, var(--ds-color-success) 88%, transparent);
    --caprind-row-success-icon: color-mix(in srgb, var(--ds-color-success) 78%, var(--ds-color-text));
    --caprind-row-success-icon-hover: var(--ds-color-link-hover);
    --caprind-row-info-border: color-mix(in srgb, var(--ds-color-info) 88%, transparent);
    --caprind-row-info-icon: color-mix(in srgb, var(--ds-color-info) 78%, var(--ds-color-text));
    --caprind-row-info-icon-hover: var(--ds-color-link-hover);
    --caprind-row-warning-border: color-mix(in srgb, var(--ds-color-warning) 88%, transparent);
    --caprind-row-warning-icon: color-mix(in srgb, var(--ds-color-warning) 82%, var(--ds-color-text));
    --caprind-row-warning-icon-hover: var(--ds-color-link-hover);
    --caprind-row-danger-border: color-mix(in srgb, var(--ds-color-danger) 92%, transparent);
    --caprind-row-danger-icon: color-mix(in srgb, var(--ds-color-danger) 72%, var(--ds-color-text));
    --caprind-row-danger-icon-hover: var(--ds-color-link-hover);
    --caprind-row-action-bg: color-mix(in srgb, #000000 18%, transparent);
    /* Botões ghost no fundo escuro (ex.: “Voltar para lista”) — demais outline seguem este padrão */
    --caprind-btn-ghost-border: var(--ds-input-border);
    --caprind-btn-ghost-text: color-mix(in srgb, var(--ds-color-text) 92%, transparent);
    --caprind-btn-ghost-hover-bg: var(--ds-color-bg-muted);
    /* Barras de rolagem (Firefox + WebKit) — fundo escuro #122c4b */
    --caprind-scrollbar-size: var(--ds-scrollbar-size, 10px);
    --caprind-scrollbar-track: var(--ds-scrollbar-track);
    --caprind-scrollbar-thumb: var(--ds-scrollbar-thumb);
    --caprind-scrollbar-thumb-hover: var(--ds-scrollbar-thumb-hover);
    --caprind-scrollbar-thumb-active: var(--ds-scrollbar-thumb-active);
    --caprind-scrollbar-corner: var(--ds-scrollbar-corner);
    /* Barra de ações dos formulários (topo) — transparente para herdar o tema */
    --caprind-form-toolbar-bg: var(--ds-form-toolbar-bg, transparent);
    --caprind-form-toolbar-border: var(--ds-form-toolbar-border, transparent);
    --caprind-form-toolbar-radius: var(--ds-form-toolbar-radius, 0);
    --caprind-form-toolbar-shadow: var(--ds-form-toolbar-shadow, none);
    --caprind-form-toolbar-padding: var(--ds-form-toolbar-padding, 0);
}

.page[data-caprind-theme-family="light"] {
    --caprind-form-toolbar-bg: transparent;
    --caprind-form-toolbar-border: transparent;
    --caprind-form-toolbar-shadow: none;
    color-scheme: light;
}

.page[data-caprind-theme-family="dark"],
.page:not([data-caprind-theme-family="light"]) {
    color-scheme: dark;
}

/* --- Barras de rolagem (área principal, painéis, listagens, modais) --- */
main.app-area--inner article,
main.app-area--inner article *,
main.app-area--inner article .rh-list-page .app-page-content,
main.app-area--inner article .pedido-compras-form-scroll,
main.app-area--inner article .compras-produtos-table-wrap,
main.app-area--inner article .app-page-header-actions,
main.app-area--inner article .app-form-toolbar-bar,
aside.sidebar.sidebar-rail .navmenu-content,
.modal-dialog-scrollable .modal-body,
.app-menubar-scroll,
.app-statusbar,
.table-responsive,
.compras-produtos-table-wrap {
    scrollbar-width: thin;
    scrollbar-color: var(--ds-color-border, var(--ds-scrollbar-thumb)) var(--ds-color-bg-muted, var(--ds-scrollbar-track));
}

main.app-area--inner article::-webkit-scrollbar,
main.app-area--inner article *::-webkit-scrollbar,
main.app-area--inner article .rh-list-page .app-page-content::-webkit-scrollbar,
main.app-area--inner article .pedido-compras-form-scroll::-webkit-scrollbar,
main.app-area--inner article .ds-form-scroll-panel::-webkit-scrollbar,
main.app-area--inner article .compras-produtos-table-wrap::-webkit-scrollbar,
main.app-area--inner article .app-page-header-actions::-webkit-scrollbar,
main.app-area--inner article .app-form-toolbar-bar::-webkit-scrollbar,
aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar,
.modal-dialog-scrollable .modal-body::-webkit-scrollbar,
.app-menubar-scroll::-webkit-scrollbar,
.app-statusbar::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar,
.compras-produtos-table-wrap::-webkit-scrollbar {
    width: var(--ds-scrollbar-size, 10px);
    height: var(--ds-scrollbar-size, 10px);
}

main.app-area--inner article::-webkit-scrollbar-button,
main.app-area--inner article *::-webkit-scrollbar-button,
main.app-area--inner article .rh-list-page .app-page-content::-webkit-scrollbar-button,
main.app-area--inner article .pedido-compras-form-scroll::-webkit-scrollbar-button,
main.app-area--inner article .ds-form-scroll-panel::-webkit-scrollbar-button,
main.app-area--inner article .compras-produtos-table-wrap::-webkit-scrollbar-button,
main.app-area--inner article .app-page-header-actions::-webkit-scrollbar-button,
main.app-area--inner article .app-form-toolbar-bar::-webkit-scrollbar-button,
aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-button,
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-button,
.app-menubar-scroll::-webkit-scrollbar-button,
.app-statusbar::-webkit-scrollbar-button,
.table-responsive::-webkit-scrollbar-button,
.compras-produtos-table-wrap::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

main.app-area--inner article::-webkit-scrollbar-track,
main.app-area--inner article *::-webkit-scrollbar-track,
main.app-area--inner article .rh-list-page .app-page-content::-webkit-scrollbar-track,
main.app-area--inner article .pedido-compras-form-scroll::-webkit-scrollbar-track,
main.app-area--inner article .ds-form-scroll-panel::-webkit-scrollbar-track,
main.app-area--inner article .compras-produtos-table-wrap::-webkit-scrollbar-track,
main.app-area--inner article .app-page-header-actions::-webkit-scrollbar-track,
main.app-area--inner article .app-form-toolbar-bar::-webkit-scrollbar-track,
aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-track,
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-track,
.app-menubar-scroll::-webkit-scrollbar-track,
.app-statusbar::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track,
.compras-produtos-table-wrap::-webkit-scrollbar-track {
    background: var(--ds-color-bg-muted, var(--ds-scrollbar-track));
    border-radius: 999px;
}

main.app-area--inner article::-webkit-scrollbar-thumb,
main.app-area--inner article *::-webkit-scrollbar-thumb,
main.app-area--inner article .rh-list-page .app-page-content::-webkit-scrollbar-thumb,
main.app-area--inner article .pedido-compras-form-scroll::-webkit-scrollbar-thumb,
main.app-area--inner article .ds-form-scroll-panel::-webkit-scrollbar-thumb,
main.app-area--inner article .compras-produtos-table-wrap::-webkit-scrollbar-thumb,
main.app-area--inner article .app-page-header-actions::-webkit-scrollbar-thumb,
main.app-area--inner article .app-form-toolbar-bar::-webkit-scrollbar-thumb,
aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-thumb,
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-thumb,
.app-menubar-scroll::-webkit-scrollbar-thumb,
.app-statusbar::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb,
.compras-produtos-table-wrap::-webkit-scrollbar-thumb {
    background-color: var(--ds-color-border-strong, var(--ds-scrollbar-thumb));
    border-radius: 999px;
    border: 2px solid var(--ds-color-bg-muted, var(--ds-scrollbar-track));
    background-clip: padding-box;
}

main.app-area--inner article::-webkit-scrollbar-thumb:hover,
main.app-area--inner article *::-webkit-scrollbar-thumb:hover,
main.app-area--inner article .rh-list-page .app-page-content::-webkit-scrollbar-thumb:hover,
main.app-area--inner article .pedido-compras-form-scroll::-webkit-scrollbar-thumb:hover,
main.app-area--inner article .ds-form-scroll-panel::-webkit-scrollbar-thumb:hover,
main.app-area--inner article .compras-produtos-table-wrap::-webkit-scrollbar-thumb:hover,
main.app-area--inner article .app-page-header-actions::-webkit-scrollbar-thumb:hover,
main.app-area--inner article .app-form-toolbar-bar::-webkit-scrollbar-thumb:hover,
aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-thumb:hover,
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-thumb:hover,
.app-menubar-scroll::-webkit-scrollbar-thumb:hover,
.app-statusbar::-webkit-scrollbar-thumb:hover,
.table-responsive::-webkit-scrollbar-thumb:hover,
.compras-produtos-table-wrap::-webkit-scrollbar-thumb:hover {
    background-color: var(--ds-color-text-subtle, var(--ds-scrollbar-thumb-hover));
    border-color: var(--ds-color-bg-muted, var(--ds-scrollbar-track));
}

main.app-area--inner article::-webkit-scrollbar-thumb:active,
main.app-area--inner article *::-webkit-scrollbar-thumb:active,
main.app-area--inner article .rh-list-page .app-page-content::-webkit-scrollbar-thumb:active,
main.app-area--inner article .pedido-compras-form-scroll::-webkit-scrollbar-thumb:active,
main.app-area--inner article .ds-form-scroll-panel::-webkit-scrollbar-thumb:active,
main.app-area--inner article .compras-produtos-table-wrap::-webkit-scrollbar-thumb:active,
main.app-area--inner article .app-page-header-actions::-webkit-scrollbar-thumb:active,
main.app-area--inner article .app-form-toolbar-bar::-webkit-scrollbar-thumb:active,
aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-thumb:active,
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-thumb:active,
.app-menubar-scroll::-webkit-scrollbar-thumb:active,
.app-statusbar::-webkit-scrollbar-thumb:active,
.table-responsive::-webkit-scrollbar-thumb:active,
.compras-produtos-table-wrap::-webkit-scrollbar-thumb:active {
    background-color: var(--ds-color-text-muted, var(--ds-scrollbar-thumb-active));
    border-color: var(--ds-color-bg-muted, var(--ds-scrollbar-track));
}

main.app-area--inner article::-webkit-scrollbar-corner,
main.app-area--inner article *::-webkit-scrollbar-corner,
main.app-area--inner article .rh-list-page .app-page-content::-webkit-scrollbar-corner,
main.app-area--inner article .pedido-compras-form-scroll::-webkit-scrollbar-corner,
main.app-area--inner article .compras-produtos-table-wrap::-webkit-scrollbar-corner,
main.app-area--inner article .app-page-header-actions::-webkit-scrollbar-corner,
main.app-area--inner article .app-form-toolbar-bar::-webkit-scrollbar-corner,
aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-corner,
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-corner,
.app-menubar-scroll::-webkit-scrollbar-corner,
.app-statusbar::-webkit-scrollbar-corner,
.table-responsive::-webkit-scrollbar-corner,
.compras-produtos-table-wrap::-webkit-scrollbar-corner {
    background: var(--ds-color-bg-muted, var(--ds-scrollbar-corner));
}

/* Scrollbar do menu lateral: estilo claro sobre fundo branco (todos os temas) */
aside.sidebar.sidebar-rail .navmenu-content {
    scrollbar-color: rgba(100, 116, 139, 0.55) rgba(15, 23, 42, 0.06) !important;
}

aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, 0.06) !important;
}

aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.55) !important;
    border: 2px solid transparent;
    background-clip: padding-box;
}

aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-thumb:hover {
    background: rgba(71, 85, 105, 0.72) !important;
}

aside.sidebar.sidebar-rail .navmenu-content::-webkit-scrollbar-thumb:active {
    background: rgba(51, 65, 85, 0.82) !important;
}

article .app-page .form-control:not(.no-caprind-field):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]),
article .app-page textarea.form-control:not(.no-caprind-field),
article .app-page select.form-select:not(.no-caprind-field),
article .app-panel .form-control:not(.no-caprind-field):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]),
article .app-panel textarea.form-control:not(.no-caprind-field),
article .app-panel select.form-select:not(.no-caprind-field) {
    border-radius: 10px !important;
    border: 2px solid var(--ds-input-border, var(--ds-input-border)) !important;
    background: var(--ds-input-bg, var(--ds-input-bg)) !important;
    color: var(--ds-input-text, var(--ds-input-text)) !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

article .app-page .form-control:not(.no-caprind-field)::placeholder,
article .app-panel .form-control:not(.no-caprind-field)::placeholder {
    color: rgba(200, 205, 235, 0.45);
}

article .app-page .form-control:not(.no-caprind-field):-webkit-autofill,
article .app-panel .form-control:not(.no-caprind-field):-webkit-autofill {
    -webkit-text-fill-color: var(--ds-input-text, var(--ds-input-text));
    transition: background-color 9999s ease-out;
    box-shadow: 0 0 0 1000px rgba(28, 26, 48, 0.92) inset !important;
    border: 2px solid var(--ds-input-border, var(--ds-input-border)) !important;
}

article .app-page .form-control:not(.no-caprind-field):hover:not(:focus):not(:disabled),
article .app-panel .form-control:not(.no-caprind-field):hover:not(:focus):not(:disabled),
article .app-page select.form-select:not(.no-caprind-field):hover:not(:focus):not(:disabled),
article .app-panel select.form-select:not(.no-caprind-field):hover:not(:focus):not(:disabled) {
    border-color: var(--ds-input-border-hover, color-mix(in srgb, var(--ds-input-border-focus) 65%, transparent)) !important;
}

article .app-page .form-control:not(.no-caprind-field):focus,
article .app-panel .form-control:not(.no-caprind-field):focus,
article .app-page select.form-select:not(.no-caprind-field):focus,
article .app-panel select.form-select:not(.no-caprind-field):focus {
    border-color: var(--ds-input-border-focus, var(--ds-input-border-focus)) !important;
    box-shadow: 0 0 0 3px var(--ds-input-focus-ring, color-mix(in srgb, var(--ds-color-primary) 30%, transparent));
    outline: none;
}

article .app-page .form-control:not(.no-caprind-field):disabled,
article .app-panel .form-control:not(.no-caprind-field):disabled,
article .app-page select.form-select:not(.no-caprind-field):disabled,
article .app-panel select.form-select:not(.no-caprind-field):disabled {
    opacity: 0.82;
    cursor: not-allowed;
}

/* Combos nativos (<select>): popup da lista alinhado ao tema (todas as telas) */
.page[data-caprind-theme-family="dark"] select,
.page:not([data-caprind-theme-family="light"]) select {
    color-scheme: dark;
}

.page[data-caprind-theme-family="dark"] select option,
.page[data-caprind-theme-family="dark"] select optgroup,
.page:not([data-caprind-theme-family="light"]) select option,
.page:not([data-caprind-theme-family="light"]) select optgroup {
    background-color: var(--ds-color-brand-800);
    color: var(--ds-input-text);
}

.page[data-caprind-theme-family="dark"] select option:checked,
.page:not([data-caprind-theme-family="light"]) select option:checked {
    background-color: var(--ds-color-brand-600);
    color: #fff;
}

.page[data-caprind-theme-family="light"] select {
    color-scheme: light;
}

article .app-page .form-label,
article .app-panel .form-label {
    color: var(--ds-color-brand-700);
    font-weight: 600;
}

article .app-page .form-text,
article .app-panel .form-text {
    color: rgba(18, 53, 82, 0.72);
}

article .empresa-form-section-title {
    color: var(--ds-color-brand-700);
}

article .app-section-title {
    color: #123552;
}

article .app-toolbar .btn-primary:not(.no-caprind-btn),
article .app-panel .btn-primary:not(.no-caprind-btn) {
    background: linear-gradient(180deg, var(--ds-color-primary) 0%, var(--ds-color-primary-hover) 100%);
    border: none;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(61, 154, 224, 0.32);
}

article .app-toolbar .btn-primary:not(.no-caprind-btn):hover,
article .app-panel .btn-primary:not(.no-caprind-btn):hover,
article .app-toolbar .btn-primary:not(.no-caprind-btn):focus,
article .app-panel .btn-primary:not(.no-caprind-btn):focus {
    background: var(--ds-color-primary-hover);
    color: #fff !important;
    filter: brightness(1.03);
}

article .app-toolbar .btn-outline-primary:not(.no-caprind-btn),
article .app-panel .btn-outline-primary:not(.no-caprind-btn) {
    border-color: var(--ds-input-border, var(--ds-input-border)) !important;
    color: var(--ds-color-primary) !important;
}

article .app-toolbar .btn-outline-primary:not(.no-caprind-btn):hover,
article .app-panel .btn-outline-primary:not(.no-caprind-btn):hover {
    background: rgba(61, 154, 224, 0.15);
    border-color: var(--ds-input-border-hover, color-mix(in srgb, var(--ds-input-border-focus) 65%, transparent)) !important;
    color: var(--ds-color-primary-hover) !important;
}

/* Formulários internos: fundo = shell (menu) + labels brancas encaixadas na borda (entalhe) */
main.app-area--inner article .container-fluid.app-page,
main.app-area--inner article .app-panel {
    background-color: var(--ds-color-brand-800, var(--ds-color-brand-800));
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.35);
}

main.app-area--inner article .container-fluid.app-page.text-black,
main.app-area--inner article .container-fluid.text-black.app-page {
    color: rgba(238, 242, 250, 0.95) !important;
}

main.app-area--inner article .app-section-title,
main.app-area--inner article .empresa-form-section-title {
    color: #fff !important;
}

/* Título da página: marca em branco; nome da tela em cinza claro no mesmo tamanho (legível), hierarquia por cor/peso */
main.app-area--inner article .app-section-title .app-section-title-brand {
    color: #fff !important;
    font-weight: 600;
    font-size: 1.25rem;
    letter-spacing: 0.02em;
}

main.app-area--inner article .app-section-title .app-section-title-screen {
    color: rgba(255, 255, 255, 0.62) !important;
    font-weight: 500;
    font-size: 1.25rem;
}

main.app-area--inner article .app-section-title .app-section-title-sep {
    color: rgba(255, 255, 255, 0.48) !important;
    font-weight: 500;
    font-size: 1.25rem;
}

main.app-area--inner article .empresa-required-hint,
main.app-area--inner article .text-muted {
    color: rgba(255, 255, 255, 0.68) !important;
}

/* Lista RH / formulários: sem faixa cinza por baixo do cartão azul */
main.app-area--inner article .rh-list-page,
main.app-area--inner article .rh-list-page .app-page-content {
    background-color: transparent;
}

main.app-area--inner article .rh-list-page .compras-grupos-familias-layout {
    background-color: transparent;
}

/* Listagens — formulários longos (sem grade) continuam com rolagem na página */
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page):not(.caprind-home-shell):not(.bancos-page):not(.situacao-producao-list-page):not(.monitor-trabalho-list-page):not(:has(> .app-pagination-bottom)):not(:has(> .app-page-content)):not(:has(> .app-panel.compras-produtos-panel)):not(:has(> .compras-produtos-panel)):not(:has(> .app-panel:has(.compras-produtos-table-wrap))):not(:has(> .carteira-titulos-page)) {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 100%;
}

/* Listagens — preenchem viewport; só a tabela rola; paginação sempre visível */
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page):not(.caprind-home-shell):not(.bancos-page):not(.situacao-producao-list-page):not(.monitor-trabalho-list-page):not(.ds-page--scroll-y):not(.estoque-saida-page):is(
    :has(> .app-pagination-bottom),
    :has(> .app-page-content),
    :has(> .app-panel.compras-produtos-panel),
    :has(> .compras-produtos-panel),
    :has(> .app-panel:has(.compras-produtos-table-wrap)),
    :has(> .app-panel:has(> .table-responsive)),
    :has(> .carteira-titulos-page)
) {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-page-header {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .fornecedor-tabs {
    flex: 0 0 auto;
    flex-shrink: 0;
}

/* Painel só de filtros / ações (exceto corpo scrollável de formulários DS) */
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-panel:not(:has(.compras-produtos-table-wrap)):not(:has(> .table-responsive)):not(:has(.app-pagination-bottom)):not(.ds-form-scroll-panel):not(.pedido-compras-form-panel) {
    flex: 0 0 auto;
    flex-shrink: 0;
}

/* Formulários DS: cabeçalho fixo; corpo com scroll interno */
main.app-area--inner article .rh-list-page.ds-page--form {
    overflow: hidden;
    max-height: 100%;
    height: 100%;
}

main.app-area--inner article .rh-list-page.ds-page--form > .ds-form-scroll-panel,
main.app-area--inner article .rh-list-page.ds-page--form > .app-panel.ds-form-scroll-panel {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* Formulário DS com tabelas internas (cotação, itens…): rolagem no painel inteiro */
main.app-area--inner article .rh-list-page.ds-page--form > .app-panel.ds-form-scroll-panel:has(.compras-produtos-table-wrap),
main.app-area--inner article .rh-list-page.ds-page--form > .app-panel.ds-form-scroll-panel:has(.table-responsive) {
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1rem;
}

/* Pedido de compras: painel com totais fixos + miolo rolável */
main.app-area--inner article .rh-list-page.ds-page--form > .compras-produtos-panel.pedido-compras-form-panel {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

@media (max-width: 767.98px) {
    main.app-area--inner article .rh-list-page.ds-page--form {
        height: auto;
        max-height: none;
        overflow: visible;
    }

    main.app-area--inner article .rh-list-page.ds-page--form > .ds-form-scroll-panel,
    main.app-area--inner article .rh-list-page.ds-page--form > .app-panel.ds-form-scroll-panel {
        flex: 0 0 auto;
        min-height: auto;
        max-height: none;
        overflow: visible;
    }

    main.app-area--inner article form.app-fill-form:has(.ds-page--form) {
        height: auto;
        max-height: none;
        overflow: visible;
    }
}

/* Painel da grade (filtros + tabela + paginação no mesmo card ou só tabela) */
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-panel:not(.ds-form-scroll-panel):has(.compras-produtos-table-wrap),
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-panel:not(.ds-form-scroll-panel):has(> .table-responsive),
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-panel:not(.ds-form-scroll-panel):has(.app-pagination-bottom),
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .compras-produtos-panel,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel:has(.compras-produtos-table-wrap),
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel:has(> .table-responsive),
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel:has(.app-pagination-bottom) {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* DS scroll-y: grade com scroll interno; paginação visível */
main.app-area--inner article .rh-list-page.ds-page--scroll-y {
    overflow: hidden;
    max-height: 100%;
    height: 100%;
}

main.app-area--inner article .rh-list-page.ds-page--scroll-y > .compras-produtos-panel,
main.app-area--inner article .rh-list-page.ds-page--scroll-y > .app-panel.compras-produtos-panel,
main.app-area--inner article .rh-list-page.ds-page--scroll-y > .compras-produtos-panel.carteira-cards-panel,
main.app-area--inner article .rh-list-page.ds-page--scroll-y > .app-panel.compras-produtos-panel.carteira-cards-panel {
    overflow: hidden;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
}

main.app-area--inner article .rh-list-page.ds-page--scroll-y .carteira-cards-scroll {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

main.app-area--inner article .rh-list-page.ds-page--scroll-y .compras-produtos-table-wrap:not(.carteira-cards-scroll),
main.app-area--inner article .rh-list-page.ds-page--scroll-y .ds-data-table .ds-table-wrap {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: auto;
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page):not(.ds-page--scroll-y):not(.estoque-saida-page) > .app-page-content {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

main.app-area--inner article .rh-list-page.ds-page--scroll-y > .app-page-content {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel > .compras-produtos-filtros-row,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel > .row.g-2,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel > .instituicao-extrato-filtros,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel > .instituicao-extrato-resumo,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel > .faturamento-listagem-cabecalho,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel > .faturamento-emitente-resumo {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .app-pagination-bottom {
    flex: 0 0 auto;
    flex-shrink: 0;
    margin-top: auto;
    position: relative;
    z-index: 2;
    background-color: inherit;
}

/* Título de bloco no painel (evita Bootstrap .text-body escuro sobre fundo azul) */
main.app-area--inner article .app-panel .app-panel-section-heading {
    color: rgba(255, 255, 255, 0.96);
}

/* Resumo de impostos (modal NF-e / painéis escuros) — evita .text-body ilegível */
.fornecedor-modal .app-impostos-resumo,
main.app-area--inner article .app-impostos-resumo {
    border-color: rgba(120, 146, 176, 0.35) !important;
}

.fornecedor-modal .app-impostos-resumo .app-impostos-resumo-titulo,
main.app-area--inner article .app-impostos-resumo .app-impostos-resumo-titulo {
    color: rgba(255, 255, 255, 0.96);
}

.fornecedor-modal .app-impostos-resumo .app-impostos-resumo-label,
main.app-area--inner article .app-impostos-resumo .app-impostos-resumo-label {
    color: rgba(255, 255, 255, 0.72);
}

.fornecedor-modal .app-impostos-resumo .app-impostos-resumo-valor,
main.app-area--inner article .app-impostos-resumo .app-impostos-resumo-valor {
    color: rgba(255, 255, 255, 0.96);
    font-weight: 500;
}

/* Dá respiro no cabeçalho (logo + título) em relação à linha superior. */
main.app-area--inner article .rh-list-page .app-section-title,
main.app-area--inner article .compras-produtos-page .app-section-title,
main.app-area--inner article .vendas-produtos-page .app-section-title,
main.app-area--inner article .engenharia-produtos-page .app-section-title {
    margin-top: 25px;
}

/* Notebook / HD (ex.: 1366×768): listas compactas, paginação sempre na área visível */
@media (max-height: 820px), (max-width: 1400px) {
    main.app-area--inner article .app-page.app-page-fill.rh-list-page:not(.caprind-dashboard-page):not(.caprind-home-shell) {
        padding: 0.35rem 0.85rem 0.4rem;
    }

    main.app-area--inner article .rh-list-page .app-panel,
    main.app-area--inner article .rh-list-page .compras-produtos-panel {
        padding: 0.65rem 0.75rem;
    }

    main.app-area--inner article .rh-list-page .app-section-title,
    main.app-area--inner article .compras-produtos-page .app-section-title,
    main.app-area--inner article .vendas-produtos-page .app-section-title,
    main.app-area--inner article .engenharia-produtos-page .app-section-title {
        margin-top: 0.35rem;
        margin-bottom: 0.45rem;
    }

    main.app-area--inner article .rh-list-page .app-pagination-bottom {
        padding-bottom: 0.1rem;
    }

    main.app-area--inner article .rh-list-page .compras-produtos-filtros-row,
    main.app-area--inner article .rh-list-page .compras-produtos-panel > .row.g-2 {
        margin-bottom: 0.5rem !important;
    }
}

main.app-area--inner article .rh-list-page .table-responsive:has(> .table.app-data-table) .app-data-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    box-shadow: inset 0 -1px 0 var(--ds-color-border);
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-table-wrap,
main.app-area--inner article .carteira-titulos-page .compras-produtos-table-wrap,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-page-content > .table-responsive,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-page-content > .admin-clientes-table-wrap,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-page-content .table-responsive:has(> .table.app-data-table),
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel > .table-responsive:has(> .table.app-data-table) {
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

/* Faturamento NF-e/NFS-e — filtros e emitente fixos; só a tabela rola */
main.app-area--inner article .compras-produtos-page .compras-produtos-panel > .faturamento-listagem-cabecalho {
    flex: 0 0 auto;
    flex-shrink: 0;
}

/* Entalhe dos rótulos nos filtros de listagem — levemente acima da borda (2px) do campo */
main.app-area--inner article .faturamento-listagem-cabecalho [class*="col-"]:has(> label.form-label:first-child + .form-control),
main.app-area--inner article .faturamento-listagem-cabecalho [class*="col-"]:has(> label.form-label:first-child + select.form-select),
main.app-area--inner article .faturamento-listagem-cabecalho [class*="col-"]:has(> label.form-label:first-child + .input-group) {
    position: relative;
    padding-top: 0.65rem;
}

main.app-area--inner article .faturamento-listagem-cabecalho [class*="col-"]:has(> label.form-label:first-child + .form-control) > label.form-label:first-child,
main.app-area--inner article .faturamento-listagem-cabecalho [class*="col-"]:has(> label.form-label:first-child + select.form-select) > label.form-label:first-child,
main.app-area--inner article .faturamento-listagem-cabecalho [class*="col-"]:has(> label.form-label:first-child + .input-group) > label.form-label:first-child {
    position: absolute;
    left: 0.85rem;
    top: 0;
    z-index: 3;
    margin: 0 !important;
    padding: 0 0.35rem;
    width: auto !important;
    max-width: calc(100% - 2rem);
    transform: translateY(calc(-50% - 4px));
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    background-color: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
    border-radius: 2px;
    pointer-events: none;
}

/* Proposta comercial — toolbar e abas fixas; conteúdo da aba rola */
main.app-area--inner article .compras-produtos-panel > .app-panel-toolbar,
main.app-area--inner article .compras-produtos-panel > .app-list-toolbar,
main.app-area--inner article .compras-produtos-panel > .proposta-comercial-toolbar,
main.app-area--inner article .rh-list-page .compras-produtos-panel > .app-panel-toolbar,
main.app-area--inner article .rh-list-page .compras-produtos-panel > .app-list-toolbar,
main.app-area--inner article .rh-list-page .compras-produtos-panel > .proposta-comercial-toolbar {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .compras-produtos-panel > .fornecedor-tabs,
main.app-area--inner article .rh-list-page .compras-produtos-panel > .fornecedor-tabs {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .compras-produtos-panel > .fornecedor-tab-pane,
main.app-area--inner article .rh-list-page .compras-produtos-panel > .fornecedor-tab-pane {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

/* Pedido de compras: rolagem no miolo; totais sempre visíveis no rodapé do painel */
main.app-area--inner article .compras-produtos-panel.pedido-compras-form-panel {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

main.app-area--inner article .pedido-compras-form-scroll .app-field:has(.financeiro-field-combo-drop--open) {
    position: relative;
    z-index: 5;
    overflow: visible;
}

main.app-area--inner article .pedido-compras-form-scroll .financeiro-field-combo-drop--open {
    overflow: visible;
}

/* Mesma altura de rótulo/entalhe entre DsFormField, combos e MoedaCampo na mesma linha */
main.app-area--inner article .pedido-compras-form-scroll .row > [class*="col-"] > .ds-field {
    position: relative;
    margin-top: 1rem;
    padding-top: 0.55rem;
    display: block;
}

main.app-area--inner article .pedido-compras-form-scroll .row > [class*="col-"] > .ds-field > .form-label:first-child,
main.app-area--inner article .pedido-compras-form-scroll .app-field .caprind-moeda-campo > .form-label:first-child {
    position: absolute;
    left: 0.85rem;
    top: 0;
    z-index: 3;
    margin: 0 !important;
    padding: 0 0.35rem;
    width: auto !important;
    max-width: calc(100% - 2.5rem);
    transform: translateY(-50%);
    transform-origin: left center;
    color: var(--ds-table-header-text) !important;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    background-color: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
    border-radius: 2px;
    pointer-events: none;
}

main.app-area--inner article .pedido-compras-form-scroll .app-field .caprind-moeda-campo {
    position: relative;
    padding-top: 0.55rem;
    margin-top: 0;
}

/* Combos/Moeda na mesma linha que DsFormField: mesmo entalhe e espaçamento */
main.app-area--inner article .pedido-compras-form-scroll .row > [class*="col-"] > .app-field {
    position: relative;
    margin-top: 1rem;
    padding-top: 0.55rem;
    display: block;
}

main.app-area--inner article .pedido-compras-form-scroll .app-field .financeiro-field-combo,
main.app-area--inner article .pedido-compras-form-scroll .app-field .caprind-moeda-campo {
    position: static;
    padding-top: 0 !important;
    margin-top: 0;
}

main.app-area--inner article .pedido-compras-form-scroll .app-field .financeiro-field-combo > .form-label:first-child,
main.app-area--inner article .pedido-compras-form-scroll .app-field .caprind-moeda-campo > .form-label:first-child {
    position: absolute;
    left: 0.85rem;
    top: 0;
    z-index: 3;
    margin: 0 !important;
    padding: 0 0.35rem;
    width: auto !important;
    max-width: calc(100% - 2.5rem);
    transform: translateY(-50%);
    transform-origin: left center;
    color: var(--ds-table-header-text) !important;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    background-color: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
    border-radius: 2px;
    pointer-events: none;
}

/* Condições de pagamento: botões na lateral, altura igual ao textarea */
main.app-area--inner article .pedido-compras-form-scroll .condicoes-pagamento-input-group {
    align-items: stretch;
}

main.app-area--inner article .pedido-compras-form-scroll .condicoes-pagamento-input-group > .form-control {
    flex: 1 1 auto;
    min-width: 0;
    resize: vertical;
}

main.app-area--inner article .pedido-compras-form-scroll .condicoes-pagamento-input-group > .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-left: 0.65rem;
    padding-right: 0.65rem;
}

main.app-area--inner article .pedido-compras-form-panel > .pedido-compras-form-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1rem;
}

main.app-area--inner article .pedido-compras-form-panel > .mb-3,
main.app-area--inner article .pedido-compras-form-panel > .app-panel-toolbar {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .pedido-compras-form-panel > .pedido-totais-legado {
    flex: 0 0 auto;
    flex-shrink: 0;
    margin-top: 0.75rem !important;
}

main.app-area--inner article .pedido-compras-form-scroll > .fornecedor-tab-pane {
    flex: unset;
    min-height: auto;
    overflow: visible;
}

main.app-area--inner article .proposta-comercial-toolbar .proposta-numero-badge {
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.45rem 0.75rem;
}

main.app-area--inner article .proposta-comercial-toolbar .proposta-acoes-toolbar {
    margin-left: auto;
}

main.app-area--inner article .compras-produtos-page .compras-produtos-panel .compras-produtos-panel:not(.compras-produtos-table-wrap) {
    flex: 0 0 auto;
    display: block;
    overflow: visible;
}

main.app-area--inner article .faturamento-emitente-resumo {
    flex: 0 0 auto;
}

main.app-area--inner article .faturamento-emitente-resumo-titulo {
    line-height: 1.2;
    letter-spacing: 0.02em;
}

main.app-area--inner article .faturamento-emitente-resumo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
    gap: 0.2rem 0.85rem;
    align-items: baseline;
}

main.app-area--inner article .faturamento-emitente-item {
    min-width: 0;
}

main.app-area--inner article .faturamento-emitente-item--wide {
    grid-column: span 2;
}

@media (min-width: 992px) {
    main.app-area--inner article .faturamento-emitente-resumo-grid {
        grid-template-columns: minmax(12rem, 2fr) repeat(4, minmax(6.5rem, 1fr)) minmax(12rem, 2fr) repeat(3, minmax(6.5rem, 1fr));
    }

    main.app-area--inner article .faturamento-emitente-item--wide {
        grid-column: auto;
    }
}

main.app-area--inner article .faturamento-emitente-label {
    display: block;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.72rem;
    line-height: 1.15;
}

main.app-area--inner article .faturamento-emitente-valor {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.96);
}

main.app-area--inner article .compras-produtos-page .compras-produtos-filtro-data,
main.app-area--inner article .vendas-produtos-page .compras-produtos-filtro-data {
    min-width: 9.25rem;
    max-width: 10.5rem;
    width: 10.5rem;
}

/* Financeiro — recebimentos/pagamentos: filtros compactos na mesma linha */
main.app-area--inner article .financeiro-contas-panel {
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}

main.app-area--inner article .financeiro-contas-panel > .financeiro-contas-filtros-linha,
main.app-area--inner article .financeiro-contas-filtros > .financeiro-contas-filtros-linha,
main.app-area--inner article .financeiro-contas-panel > .financeiro-contas-mes-toolbar,
main.app-area--inner article .financeiro-contas-filtros > .financeiro-contas-mes-toolbar {
    flex-shrink: 0;
}

main.app-area--inner article .financeiro-contas-filtros {
    padding: var(--ds-space-3) var(--ds-space-4);
}

main.app-area--inner article .financeiro-contas-filtros-linha {
    --financeiro-filtro-data-width: 9.35rem;
}

main.app-area--inner article .financeiro-contas-filtro-texto {
    min-width: 10rem;
}

main.app-area--inner article .financeiro-contas-filtro-data {
    flex: 0 0 auto;
    width: var(--financeiro-filtro-data-width);
    max-width: var(--financeiro-filtro-data-width);
}

main.app-area--inner article .financeiro-contas-filtro-data .form-control-sm {
    width: 100%;
    min-width: 0;
}

main.app-area--inner article .financeiro-contas-mes-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}

main.app-area--inner article .financeiro-contas-mes-btns .btn-sm {
    min-width: 2.35rem;
    padding: 0.18rem 0.42rem;
    font-size: 0.78rem;
    line-height: 1.2;
}

main.app-area--inner article .financeiro-contas-mes-mobile {
    flex: 0 1 auto;
    min-width: 7rem;
    max-width: 12rem;
}

/* Recebimentos — colunas compactas com scroll horizontal; botões de ação uniformes */
main.app-area--inner article .app-data-table.financeiro-contas-receber-table {
    width: 100%;
    min-width: 68rem;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(2),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(2),
main.app-area--inner article .app-data-table.financeiro-contas-pagar-table th:nth-child(2),
main.app-area--inner article .app-data-table.financeiro-contas-pagar-table td:nth-child(2) {
    width: 9rem;
    min-width: 9rem;
    max-width: 9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 0.65rem;
    font-variant-numeric: tabular-nums;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(3),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(3),
main.app-area--inner article .app-data-table.financeiro-contas-pagar-table th:nth-child(3),
main.app-area--inner article .app-data-table.financeiro-contas-pagar-table td:nth-child(3) {
    min-width: 10rem;
    max-width: 16rem;
    padding-left: 0.65rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(4),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(4),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(5),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(5) {
    min-width: 6.25rem;
    white-space: nowrap;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(6),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(6) {
    min-width: 4.5rem;
    white-space: nowrap;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(7),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(7) {
    min-width: 4.5rem;
    max-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(8),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(8),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(9),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(9),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(10),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(10) {
    min-width: 5.75rem;
    white-space: nowrap;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table th:nth-child(11),
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td:nth-child(11) {
    min-width: 7.5rem;
    max-width: 9.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table .app-actions-col {
    width: auto;
    min-width: 10.75rem;
    max-width: none;
    white-space: nowrap;
    text-align: center !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table .app-actions-col .app-row-actions {
    justify-content: center;
    width: 100%;
    gap: 0.28rem;
}

main.app-area--inner article .app-data-table.financeiro-contas-receber-table .app-row-action-btn.btn {
    width: 2.2rem;
    height: 2.2rem;
    flex-shrink: 0;
}

main.app-area--inner article .table-responsive:has(> .financeiro-contas-receber-table) th.app-actions-col:last-child,
main.app-area--inner article .table-responsive:has(> .financeiro-contas-receber-table) td.app-actions-col:last-child {
    position: static;
    box-shadow: none;
}

/* Compras — pedidos: 5 ícones (visualizar, PDF, e-mail, editar, excluir) */
main.app-area--inner article .app-data-table.compras-pedidos-list-table .app-actions-col {
    width: auto;
    min-width: 15.5rem;
    max-width: none;
    white-space: nowrap;
    text-align: center !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

main.app-area--inner article .app-data-table.compras-pedidos-list-table .app-actions-col .app-row-actions {
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.28rem;
}

main.app-area--inner article .app-data-table.compras-pedidos-list-table .app-row-action-btn.btn {
    width: 2.2rem;
    height: 2.2rem;
    flex-shrink: 0;
}

main.app-area--inner article .table-responsive:has(> .compras-pedidos-list-table) th.app-actions-col:last-child,
main.app-area--inner article .table-responsive:has(> .compras-pedidos-list-table) td.app-actions-col:last-child {
    position: static;
    box-shadow: none;
}

/* Compras — cotações: 4 ícones (PDF, visualizar, editar, excluir) */
main.app-area--inner article .app-data-table.compras-cotacoes-list-table .app-actions-col {
    width: auto;
    min-width: 12.5rem;
    max-width: none;
    white-space: nowrap;
    text-align: center !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

main.app-area--inner article .app-data-table.compras-cotacoes-list-table .app-actions-col .app-row-actions {
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.28rem;
}

main.app-area--inner article .app-data-table.compras-cotacoes-list-table .app-row-action-btn.btn {
    width: 2.2rem;
    height: 2.2rem;
    flex-shrink: 0;
}

main.app-area--inner article .table-responsive:has(> .compras-cotacoes-list-table) th.app-actions-col:last-child,
main.app-area--inner article .table-responsive:has(> .compras-cotacoes-list-table) td.app-actions-col:last-child {
    position: static;
    box-shadow: none;
}

/* Listagens — ano ao lado dos botões de mês (ListaPeriodoAnoMes) */
main.app-area--inner article .lista-periodo-mes-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.6rem;
}

main.app-area--inner article .lista-periodo-mes-toolbar--compact {
    gap: 0.25rem 0.45rem;
    margin-bottom: 0.35rem !important;
}

main.app-area--inner article .lista-periodo-ano-mes-grupo {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}

main.app-area--inner article .lista-periodo-field {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex: 0 0 auto;
}

main.app-area--inner article .lista-periodo-field__label {
    margin-bottom: 0;
    line-height: 1;
    color: var(--ds-color-text-muted, rgba(148, 163, 184, 0.95));
    font-size: 0.9rem;
}

main.app-area--inner article .lista-periodo-field .form-select {
    width: auto;
    min-width: 4.1rem;
    max-width: 6.5rem;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
}

main.app-area--inner article .lista-periodo-mes-mobile.lista-periodo-field .form-select {
    min-width: 3.6rem;
    max-width: 5.5rem;
}

main.app-area--inner article .lista-periodo-modo {
    flex: 0 0 auto;
}

main.app-area--inner article .lista-periodo-modo-opcoes {
    min-height: 1.75rem;
}

main.app-area--inner article .lista-periodo-modo-switch {
    padding-left: 2.1rem;
    min-height: 1.25rem;
}

main.app-area--inner article .lista-periodo-modo-switch .form-check-input {
    margin-top: 0;
}

main.app-area--inner article .lista-periodo-modo-rotulo {
    font-size: 0.78rem;
    line-height: 1.2;
    white-space: nowrap;
}

main.app-area--inner article .lista-periodo-modo-rotulo--ativo {
    font-weight: 600;
    color: inherit;
}

main.app-area--inner article .lista-periodo-modo-rotulo--inativo {
    font-weight: 400;
    color: rgba(148, 163, 184, 0.95);
}

main.app-area--inner article .lista-periodo-ano {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
}

main.app-area--inner article .lista-periodo-ano .form-select {
    padding-left: 0.35rem;
    padding-right: 1.35rem;
    text-align: center;
}

main.app-area--inner article .lista-periodo-mes-btns {
    flex: 1 1 auto;
    min-width: 0;
}

main.app-area--inner article .lista-periodo-mes-btns .btn-sm {
    min-width: 2.35rem;
    padding: 0.18rem 0.42rem;
    font-size: 0.78rem;
    line-height: 1.2;
}

main.app-area--inner article .lista-periodo-mes-btns .btn-sm:first-child {
    min-width: auto;
    padding-left: 0.45rem;
    padding-right: 0.45rem;
}

main.app-area--inner article .lista-periodo-mes-mobile {
    flex: 0 0 auto;
    min-width: 0;
    max-width: none;
}

main.app-area--inner article .carteira-periodo-acima-lista {
    margin-bottom: 0.25rem;
}

main.app-area--inner article .carteira-periodo-acima-lista .lista-periodo-mes-toolbar {
    margin-bottom: 0.25rem !important;
}

/* Carteira vendas / produção — filtros em linha compacta */
main.app-area--inner article .carteira-lista-filtros-panel .form-label {
    font-size: 0.8125rem;
    margin-bottom: 0.15rem;
    white-space: nowrap;
}

main.app-area--inner article .carteira-lista-filtros-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.3rem 0.45rem;
    --carteira-lista-filtro-buscar-w: 8.25rem;
    --carteira-lista-filtro-status-w: 6.75rem;
    --carteira-lista-filtro-filtrar-por-w: 7.25rem;
    --carteira-lista-filtro-data-w: 8.35rem;
    --carteira-lista-filtro-empresa-w: 9rem;
    --carteira-lista-filtro-select-w: 7.5rem;
    --carteira-lista-filtro-texto-min: 6.5rem;
    --carteira-lista-filtro-texto-max: 12rem;
}

main.app-area--inner article .carteira-lista-filtros-campo {
    flex: 0 1 auto;
    min-width: 0;
}

main.app-area--inner article .carteira-lista-filtros-campo--buscar-em {
    width: var(--carteira-lista-filtro-buscar-w);
    max-width: var(--carteira-lista-filtro-buscar-w);
}

main.app-area--inner article .carteira-lista-filtros-campo--status {
    width: var(--carteira-lista-filtro-status-w);
    max-width: var(--carteira-lista-filtro-status-w);
}

main.app-area--inner article .carteira-lista-filtros-campo--filtrar-por,
main.app-area--inner article .carteira-lista-filtros-campo--select {
    width: var(--carteira-lista-filtro-filtrar-por-w);
    max-width: var(--carteira-lista-filtro-filtrar-por-w);
}

main.app-area--inner article .carteira-lista-filtros-campo--empresa {
    width: var(--carteira-lista-filtro-empresa-w);
    max-width: var(--carteira-lista-filtro-empresa-w);
}

main.app-area--inner article .carteira-lista-filtros-campo--select-sm {
    width: var(--carteira-lista-filtro-select-w);
    max-width: var(--carteira-lista-filtro-select-w);
}

main.app-area--inner article .carteira-lista-filtros-campo--data {
    width: var(--carteira-lista-filtro-data-w);
    max-width: var(--carteira-lista-filtro-data-w);
}

main.app-area--inner article .carteira-lista-filtros-campo--texto {
    flex: 1 1 var(--carteira-lista-filtro-texto-min);
    min-width: var(--carteira-lista-filtro-texto-min);
    max-width: var(--carteira-lista-filtro-texto-max);
}

main.app-area--inner article .carteira-lista-filtros-campo--texto .input-group {
    width: 100%;
}

main.app-area--inner article .carteira-lista-filtros-campo .form-select,
main.app-area--inner article .carteira-lista-filtros-campo .form-control {
    width: 100%;
}

main.app-area--inner article .carteira-lista-filtros-campo--data .form-control {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
    font-size: 0.8125rem;
}

main.app-area--inner article .carteira-lista-filtros-check {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-end;
    padding-bottom: 0.2rem;
}

main.app-area--inner article .carteira-lista-filtros-check .form-check-label {
    white-space: nowrap;
}

/* Grupos: no desktop os filhos entram na mesma linha flex; em telas menores viram bloco lado a lado */
main.app-area--inner article .carteira-lista-filtros-grupo {
    display: contents;
}

    main.app-area--inner article .carteira-lista-filtros-grupo--busca .carteira-lista-filtros-campo--texto {
    flex: 1 1 var(--carteira-lista-filtro-texto-min);
    min-width: var(--carteira-lista-filtro-texto-min);
    max-width: var(--carteira-lista-filtro-texto-max);
}

main.app-area--inner article .carteira-lista-filtros-grupo--busca .carteira-lista-filtros-campo--filtrar-por {
    width: var(--carteira-lista-filtro-filtrar-por-w);
    max-width: var(--carteira-lista-filtro-filtrar-por-w);
}

main.app-area--inner article .carteira-lista-filtros-grupo--duplo .carteira-lista-filtros-campo--select-sm {
    width: var(--carteira-lista-filtro-select-w);
    max-width: var(--carteira-lista-filtro-select-w);
}

main.app-area--inner article .carteira-lista-filtros-periodo-por {
    flex: 0 0 auto;
    padding-bottom: 0.15rem;
}

main.app-area--inner article .carteira-lista-filtros-periodo-por.lista-periodo-modo .lista-periodo-modo-opcoes {
    min-height: 1.75rem;
}

main.app-area--inner article .engenharia-produtos-page .carteira-lista-filtros-linha {
    --carteira-lista-filtro-filtrar-por-w: 8.25rem;
    --carteira-lista-filtro-select-w: 6.85rem;
    --carteira-lista-filtro-empresa-w: 8.5rem;
}

@media (max-width: 991.98px) {
    main.app-area--inner article .carteira-lista-filtros-linha {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: end;
        gap: 0.35rem 0.45rem;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 0.3rem 0.45rem;
        grid-column: 1 / -1;
        min-width: 0;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo--busca .carteira-lista-filtros-campo--buscar-em,
    main.app-area--inner article .carteira-lista-filtros-grupo--busca .carteira-lista-filtros-campo--filtrar-por {
        flex: 0 1 7.5rem;
        width: auto;
        max-width: none;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo--busca .carteira-lista-filtros-campo--texto {
        flex: 1 1 6.5rem;
        width: auto;
        max-width: none;
        min-width: 0;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo--duplo .carteira-lista-filtros-campo,
    main.app-area--inner article .carteira-lista-filtros-grupo--duplo .carteira-lista-filtros-campo--select-sm {
        flex: 1 1 calc(50% - 0.25rem);
        min-width: 0;
        width: auto;
        max-width: none;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo--periodo .carteira-lista-filtros-periodo-por {
        flex: 0 0 auto;
        padding-bottom: 0.15rem;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo--periodo {
        flex-wrap: nowrap;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo--periodo .carteira-lista-filtros-campo--data {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        max-width: none;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo--periodo .carteira-lista-filtros-check {
        flex: 0 0 auto;
    }

    main.app-area--inner article .carteira-lista-filtros-campo--empresa {
        grid-column: 1 / -1;
        width: 100%;
        max-width: 100%;
    }

    main.app-area--inner article .carteira-lista-filtros-campo,
    main.app-area--inner article .carteira-lista-filtros-campo--buscar-em,
    main.app-area--inner article .carteira-lista-filtros-campo--status,
    main.app-area--inner article .carteira-lista-filtros-campo--filtrar-por,
    main.app-area--inner article .carteira-lista-filtros-campo--select,
    main.app-area--inner article .carteira-lista-filtros-campo--select-sm,
    main.app-area--inner article .carteira-lista-filtros-campo--data,
    main.app-area--inner article .carteira-lista-filtros-campo--texto {
        width: auto;
        max-width: none;
        min-width: 0;
    }

    main.app-area--inner article .carteira-lista-filtros-check,
    main.app-area--inner article .carteira-lista-filtros-periodo-por {
        align-self: flex-end;
        padding-bottom: 0.2rem;
    }
}

@media (max-width: 575.98px) {
    main.app-area--inner article .carteira-lista-filtros-grupo--periodo {
        flex-wrap: wrap;
    }

    main.app-area--inner article .carteira-lista-filtros-grupo--periodo .carteira-lista-filtros-campo--data {
        flex: 1 1 calc(50% - 0.25rem);
    }
}

main.app-area--inner article .carteira-producao-filtro-periodo-linha {
    width: 100%;
}

main.app-area--inner article .carteira-producao-filtro-periodo-por {
    flex: 0 0 auto;
}

main.app-area--inner article .carteira-producao-periodo-toggle {
    min-height: 1.875rem;
}

main.app-area--inner article .carteira-producao-periodo-switch {
    padding-left: 2.35rem;
}

main.app-area--inner article .carteira-producao-periodo-rotulo {
    font-size: 0.8125rem;
    line-height: 1.3;
    white-space: nowrap;
}

main.app-area--inner article .carteira-producao-periodo-rotulo--ativo {
    font-weight: 600;
    color: inherit;
}

main.app-area--inner article .carteira-producao-periodo-rotulo--inativo {
    font-weight: 400;
    color: rgba(148, 163, 184, 0.95);
}

main.app-area--inner article .carteira-producao-filtro-periodo-inline {
    flex: 1 1 auto;
    min-width: 0;
}

main.app-area--inner article .carteira-producao-filtro-periodo-inline.lista-periodo-mes-toolbar {
    margin-bottom: 0;
}

main.app-area--inner article .carteira-producao-filtro-periodo-inline .lista-periodo-mes-btns {
    flex: 1 1 auto;
    min-width: 0;
}

main.app-area--inner article .carteira-producao-filtro-dia {
    flex: 0 0 auto;
    width: 8.7rem;
    max-width: 8.7rem;
}

main.app-area--inner article .carteira-producao-filtro-dia .form-control-sm {
    width: 100%;
    min-width: 0;
}

main.app-area--inner article .carteira-producao-filtro-processo {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    main.app-area--inner article .lista-periodo-mes-toolbar {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }

    main.app-area--inner article .lista-periodo-mes-btns {
        flex: 1 1 100%;
    }
}

@media (max-width: 767.98px) {
    main.app-area--inner article .financeiro-contas-mes-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    main.app-area--inner article .financeiro-contas-filtro-data {
        width: auto;
        max-width: none;
    }
}

main.app-area--inner article .compras-produtos-page .compras-produtos-toolbar-col,
main.app-area--inner article .vendas-produtos-page .compras-produtos-toolbar-col {
    flex: 0 0 auto;
}

main.app-area--inner article .compras-produtos-page .compras-produtos-toolbar,
main.app-area--inner article .vendas-produtos-page .compras-produtos-toolbar {
    justify-content: flex-end;
    width: auto;
    margin-left: auto;
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .carteira-titulos-page,
main.app-area--inner article .carteira-titulos-page {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page):has(> .carteira-titulos-page) > :not(.carteira-titulos-page) {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .carteira-titulos-page > .app-panel:not(:has(.compras-produtos-table-wrap)):not(:has(.app-pagination-bottom)),
main.app-area--inner article .carteira-titulos-page > .compras-produtos-panel:not(:has(.compras-produtos-table-wrap)):not(:has(.app-pagination-bottom)) {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .carteira-titulos-page > .app-panel:has(.compras-produtos-table-wrap),
main.app-area--inner article .carteira-titulos-page > .compras-produtos-panel:has(.compras-produtos-table-wrap),
main.app-area--inner article .carteira-titulos-page > .app-panel:has(.app-pagination-bottom),
main.app-area--inner article .carteira-titulos-page > .compras-produtos-panel:has(.app-pagination-bottom) {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

main.app-area--inner article .carteira-titulos-page .app-pagination-bottom {
    flex: 0 0 auto;
    flex-shrink: 0;
    margin-top: auto;
    position: relative;
    z-index: 2;
    background-color: inherit;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-panel .form-label {
    font-size: 0.8125rem;
    margin-bottom: 0.2rem;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-linha-compacta {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.35rem 0.5rem;
    --carteira-filtro-filtrar-por-w: 9.43rem;
    --carteira-filtro-valor-w: 11.05rem;
    --carteira-filtro-valor-max-w: 13rem;
    --carteira-filtro-periodo-w: 8.78rem;
    --carteira-filtro-btn-icon: #fde68a;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-ano {
    flex: 0 0 auto;
    width: 4.35rem;
    min-width: 4.35rem;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-ano .form-select {
    padding-left: 0.35rem;
    padding-right: 1.35rem;
    text-align: center;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-linha-compacta .financeiro-contas-mes-btns {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-campo {
    flex: 0 1 auto;
    min-width: 0;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-campo--filtrar-por {
    width: var(--carteira-filtro-filtrar-por-w);
    max-width: var(--carteira-filtro-filtrar-por-w);
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-campo--valor {
    width: var(--carteira-filtro-valor-w);
    max-width: var(--carteira-filtro-valor-max-w);
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-campo--periodo {
    width: var(--carteira-filtro-periodo-w);
    max-width: var(--carteira-filtro-periodo-w);
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-acao {
    flex: 0 0 auto;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-btn-filtrar:not(:disabled) .bi {
    color: var(--carteira-filtro-btn-icon) !important;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-btn-filtrar:not(:disabled):hover .bi,
main.app-area--inner article .carteira-titulos-page .carteira-filtros-btn-filtrar:not(:disabled):focus .bi {
    color: #fff !important;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-btn-filtrar:disabled .bi {
    color: rgba(255, 255, 255, 0.55) !important;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-mes-mobile {
    flex: 0 0 auto;
    width: 5rem;
    min-width: 5rem;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-mes-situacao {
    align-items: center;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-mes-situacao .financeiro-contas-mes-btns {
    flex: 0 1 auto;
    max-width: 100%;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-situacao {
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
}

main.app-area--inner article .carteira-titulos-page .carteira-filtros-situacao .btn-sm {
    padding: 0.2rem 0.55rem;
    font-size: 0.8125rem;
}

@media (max-width: 1199.98px) {
    main.app-area--inner article .carteira-titulos-page .carteira-filtros-mes-situacao .carteira-filtros-situacao {
        justify-content: flex-start;
        width: 100%;
    }
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-linha-compacta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 0.5rem;
    background: rgba(15, 23, 42, 0.35);
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-grupo-titulo {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-sep {
    color: rgba(148, 163, 184, 0.75);
    font-size: 0.8125rem;
    line-height: 1;
    user-select: none;
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-ambiente-rotulo {
    font-size: 0.8125rem;
    line-height: 1.3;
    white-space: nowrap;
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-ambiente-rotulo--ativo {
    font-weight: 600;
    color: inherit;
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-ambiente-rotulo--inativo {
    font-weight: 400;
    color: rgba(148, 163, 184, 0.95);
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-bloco-ajuda {
    font-size: 0.75rem;
    line-height: 1.35;
    color: rgba(148, 163, 184, 0.95);
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-switch-api {
    padding-left: 2.35rem;
    min-height: 1.5rem;
}

main.app-area--inner article .carteira-titulos-page .carteira-emissao-switch-api-label {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
}

main.app-area--inner article .carteira-titulos-table thead th {
    vertical-align: middle;
}

main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-pdf {
    color: #fca5a5 !important;
    border-color: rgba(248, 113, 113, 0.45) !important;
}

main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-pdf:hover:not(:disabled),
main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-pdf:focus:not(:disabled) {
    color: #fecaca !important;
    background: rgba(248, 113, 113, 0.22) !important;
    border-color: #f87171 !important;
}

main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-email {
    color: #93c5fd !important;
    border-color: rgba(96, 165, 250, 0.45) !important;
}

main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-email:hover:not(:disabled),
main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-email:focus:not(:disabled) {
    color: #bfdbfe !important;
    background: rgba(59, 130, 246, 0.22) !important;
    border-color: #60a5fa !important;
}

main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-abrir {
    color: #86efac !important;
    border-color: rgba(74, 222, 128, 0.45) !important;
}

main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-abrir:hover:not(:disabled),
main.app-area--inner article .carteira-titulos-table .app-row-action-btn.btn-carteira-abrir:focus:not(:disabled) {
    color: #bbf7d0 !important;
    background: rgba(34, 197, 94, 0.22) !important;
    border-color: #4ade80 !important;
}

main.app-area--inner article .carteira-titulos-table .badge-status-boleto {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

@media (max-width: 991.98px) {
    main.app-area--inner article .compras-produtos-page .compras-produtos-toolbar,
    main.app-area--inner article .vendas-produtos-page .compras-produtos-toolbar {
        width: 100%;
        justify-content: flex-end;
    }

    main.app-area--inner article .compras-produtos-page .compras-produtos-toolbar .btn,
    main.app-area--inner article .vendas-produtos-page .compras-produtos-toolbar .btn {
        flex: 0 0 auto;
        min-width: 0;
    }
}

@media (max-width: 575.98px) {
    main.app-area--inner article .compras-produtos-page .compras-produtos-toolbar .btn,
    main.app-area--inner article .vendas-produtos-page .compras-produtos-toolbar .btn {
        min-width: 0;
    }

    /* Listagens largas (ex.: financeiro): largura mínima confortável + rolagem horizontal no wrap */
    main.app-area--inner article .compras-produtos-page .compras-produtos-table,
    main.app-area--inner article .vendas-produtos-page .compras-produtos-table {
        min-width: 52rem;
    }
}

/* Coluna código (produto / desenho): largura mínima que comporta o valor, sem roubar espaço da descrição */
main.app-area--inner article .app-data-table th.app-col-codigo,
main.app-area--inner article .app-data-table td.app-col-codigo {
    width: 1%;
    white-space: nowrap;
    max-width: 12rem;
    padding-left: 0.45rem;
    padding-right: 0.45rem;
}

/* Financeiro: não deixar app-col-codigo estourar sobre a coluna do fornecedor/cliente */
main.app-area--inner article .app-data-table.financeiro-contas-pagar-table th.app-col-codigo,
main.app-area--inner article .app-data-table.financeiro-contas-pagar-table td.app-col-codigo,
main.app-area--inner article .app-data-table.financeiro-contas-receber-table th.app-col-codigo,
main.app-area--inner article .app-data-table.financeiro-contas-receber-table td.app-col-codigo {
    width: 9rem;
    min-width: 9rem;
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

main.app-area--inner article .app-data-table th.app-col-codigo .app-sort-th-btn {
    white-space: nowrap;
}

/* Cabeçalhos ordenáveis (listagens: botão no th) */
main.app-area--inner article .app-sort-th {
    white-space: nowrap;
    vertical-align: middle;
}

main.app-area--inner article .app-sort-th-btn {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.2rem;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    text-align: inherit;
    white-space: nowrap;
    line-height: 1.2;
    cursor: pointer;
    max-width: 100%;
    vertical-align: middle;
}

main.app-area--inner article .app-sort-th-btn .bi {
    flex-shrink: 0;
}

/* Cabeçalho alinhado à direita: mesmo alinhamento que células text-end (valores monetários). */
main.app-area--inner article .app-sort-th-end .app-sort-th-btn {
    width: 100%;
    justify-content: flex-end;
}

main.app-area--inner article .app-sort-th-center .app-sort-th-btn {
    width: 100%;
    justify-content: center;
}

main.app-area--inner article .app-sort-th-btn:hover {
    text-decoration: underline;
}

main.app-area--inner article .app-sort-th-btn:focus-visible {
    outline: 2px solid var(--ds-color-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

main.app-area--inner article .app-sort-icon-muted {
    opacity: 0.42;
}

/* Empresa: sem cartões brancos — mesmo azul que o restante da página */
main.app-area--inner article .empresa-form-section {
    background: var(--ds-color-brand-800);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

main.app-area--inner article .empresa-cert-field {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}

main.app-area--inner article .empresa-logo-upload-box {
    background: #fff;
    border-color: rgba(148, 163, 184, 0.85);
}

main.app-area--inner article .empresa-logo-preview {
    background: #fff;
}

main.app-area--inner article .empresa-logo-placeholder,
main.app-area--inner article .empresa-logo-placeholder span {
    color: #64748b;
}

main.app-area--inner article .empresa-logo-placeholder i {
    color: #94a3b8;
}

main.app-area--inner article .empresa-cert-card {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
}

main.app-area--inner article .empresa-cert-card label {
    color: rgba(255, 255, 255, 0.62);
}

main.app-area--inner article .empresa-cert-card div {
    color: rgba(238, 242, 250, 0.95);
}

main.app-area--inner article .empresa-cert-model {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}

main.app-area--inner article .empresa-cert-model-title {
    color: #fff;
}

main.app-area--inner article .empresa-cert-model-grid label {
    color: rgba(255, 255, 255, 0.72);
}

main.app-area--inner article .empresa-cert-model-grid input[disabled] {
    background: rgba(0, 0, 0, 0.22);
    color: rgba(238, 242, 250, 0.88);
    border-color: rgba(255, 255, 255, 0.14);
}

main.app-area--inner article .empresa-cert-alert {
    background: rgba(0, 0, 0, 0.28);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(238, 242, 250, 0.92);
}

/* Empresa — contrato Caprind (cabeçalho institucional, fundo claro como no PDF) */
main.app-area--inner article .empresa-contrato-cabecalho {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #c6d6ec;
    box-shadow: 0 2px 10px rgba(18, 44, 75, 0.08);
}

main.app-area--inner article .empresa-contrato-cabecalho__faixa {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1rem;
    padding: 0.9rem 1.1rem;
    background: #e8f4fc;
    color: #122c4b;
}

main.app-area--inner article .empresa-contrato-cabecalho__logo {
    flex: 0 0 auto;
    width: auto;
    height: auto;
    max-height: 5.75rem;
    max-width: min(18rem, 52vw);
    object-fit: contain;
    object-position: left center;
    border-radius: 4px;
}

main.app-area--inner article .empresa-contrato-cabecalho__info {
    flex: 1 1 12rem;
    min-width: 0;
}

main.app-area--inner article .empresa-contrato-cabecalho__marca {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #122c4b;
}

main.app-area--inner article .empresa-contrato-cabecalho__titulo {
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.35;
    color: #122c4b;
}

main.app-area--inner article .empresa-contrato-cabecalho__meta {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    line-height: 1.4;
    color: #5a6b7d;
}

main.app-area--inner article .empresa-contrato-cabecalho__rotulo {
    flex: 0 0 auto;
    align-self: center;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #3d9ae0;
    text-transform: uppercase;
}

main.app-area--inner article .empresa-contrato-cabecalho__accent {
    height: 3px;
    background: #3d9ae0;
}

main.app-area--inner article .empresa-contrato-calculo {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12) !important;
}

main.app-area--inner article .empresa-contrato-calculo-tabela th {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

main.app-area--inner article .empresa-contrato-calculo-tabela td {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
    vertical-align: middle;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

main.app-area--inner article .empresa-contrato-calculo-servidor {
    color: rgba(255, 255, 255, 0.72);
}

main.app-area--inner article .empresa-contrato-calculo-rodape {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Empresa — contrato Caprind (texto legado txtContrato) */
main.app-area--inner article textarea.empresa-contrato-texto {
    background: var(--ds-input-bg, var(--ds-input-bg)) !important;
    color: var(--ds-input-text, var(--ds-input-text)) !important;
    border: 2px solid var(--ds-input-border, var(--ds-input-border)) !important;
    font-family: Tahoma, "Segoe UI", sans-serif;
    font-size: 0.85rem;
    line-height: 1.35;
    white-space: pre-wrap;
    opacity: 1;
    cursor: default;
}

main.app-area--inner article .empresa-contrato-observacoes {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: rgba(255, 255, 255, 0.72);
}

/* Faixa de ações no topo do painel (evitar Bootstrap bg-light em tema escuro) */
main.app-area--inner article .app-panel .app-panel-toolbar {
    background: transparent;
    border: none !important;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

main.app-area--inner article .empresa-modal-card {
    background: #0a2540;
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.45);
}

main.app-area--inner article .empresa-modal-title {
    color: #fff;
}

main.app-area--inner article .app-field input[disabled] {
    background-color: rgba(255, 255, 255, 0.08);
    color: rgba(238, 242, 250, 0.78);
}

main.app-area--inner article .app-page .form-label,
main.app-area--inner article .app-panel .form-label {
    color: #fff !important;
}

/* Label no entalhe: mesmo padrão visual do login (campo .app-field) */
main.app-area--inner article .app-field {
    position: relative;
    margin-top: 0.65rem;
    padding-top: 0.35rem;
}

main.app-area--inner article .app-field > .form-label:first-child {
    position: absolute;
    left: 0.85rem;
    top: 0;
    z-index: 3;
    margin: 0 !important;
    padding: 0 0.35rem;
    width: auto !important;
    max-width: calc(100% - 2.5rem);
    transform: translateY(-50%);
    transform-origin: left center;
    color: var(--ds-table-header-text) !important;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    background-color: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
    border-radius: 2px;
    pointer-events: none;
}

main.app-area--inner article .app-field > .required-mark {
    color: #fecaca;
}

/* Filtros em colunas (ex.: RH) sem .app-field */
main.app-area--inner article .app-panel [class*="col-"]:has(> label.form-label:first-child + .form-control),
main.app-area--inner article .app-panel [class*="col-"]:has(> label.form-label:first-child + select.form-select),
main.app-area--inner article .app-page [class*="col-"]:has(> label.form-label:first-child + .form-control),
main.app-area--inner article .app-page [class*="col-"]:has(> label.form-label:first-child + select.form-select) {
    position: relative;
    padding-top: 0.55rem;
}

main.app-area--inner article .app-panel [class*="col-"]:has(> label.form-label:first-child + .form-control) > label.form-label:first-child,
main.app-area--inner article .app-panel [class*="col-"]:has(> label.form-label:first-child + select.form-select) > label.form-label:first-child,
main.app-area--inner article .app-page [class*="col-"]:has(> label.form-label:first-child + .form-control) > label.form-label:first-child,
main.app-area--inner article .app-page [class*="col-"]:has(> label.form-label:first-child + select.form-select) > label.form-label:first-child {
    position: absolute;
    left: 0.85rem;
    top: 0;
    z-index: 3;
    margin: 0 !important;
    padding: 0 0.35rem;
    width: auto !important;
    max-width: calc(100% - 2rem);
    transform: translateY(-50%);
    /* cor do texto: regras gerais de .form-label + tema (evita #fff com !important que vencia o tema claro) */
    font-size: 0.8125rem;
    font-weight: 500;
    background-color: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
    border-radius: 2px;
    pointer-events: none;
}

/*
 * Combos financeiros (cliente / banco): entalhe relativo ao próprio wrapper.
 * Rótulo acima do input-group; cor de texto vem das regras gerais de .form-label por tema.
 */
main.app-area--inner article .app-page .financeiro-field-combo,
main.app-area--inner article .app-panel .financeiro-field-combo {
    position: relative;
    padding-top: 0.55rem;
}

main.app-area--inner article .app-page .financeiro-field-combo > label.form-label:first-child,
main.app-area--inner article .app-panel .financeiro-field-combo > label.form-label:first-child {
    position: absolute;
    left: 0.85rem;
    top: 0;
    z-index: 5;
    margin: 0 !important;
    padding: 0 0.35rem;
    width: auto !important;
    max-width: calc(100% - 2rem);
    transform: translateY(-50%);
    font-size: 0.8125rem;
    font-weight: 500;
    background-color: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
    border-radius: 2px;
    pointer-events: none;
}

/* Lista suspensa dos combos: tema escuro (evita list-group branco do Bootstrap) */
.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-pessoa-combo-list.list-group,
.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-instituicao-combo-list.list-group {
    background-color: rgba(18, 44, 75, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-pessoa-combo-list .list-group-item,
.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-instituicao-combo-list .list-group-item {
    background-color: transparent;
    color: rgba(238, 242, 250, 0.95);
    border-color: rgba(255, 255, 255, 0.08);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-pessoa-combo-list .list-group-item:hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-pessoa-combo-list .list-group-item:focus,
.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-instituicao-combo-list .list-group-item:hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-instituicao-combo-list .list-group-item:focus {
    background-color: rgba(61, 154, 224, 0.18);
    color: rgba(238, 242, 250, 0.98);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-pessoa-combo-list .text-muted,
.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-instituicao-combo-list .text-muted {
    color: rgba(255, 255, 255, 0.55) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-plano-conta-combo-list.list-group {
    background-color: rgba(18, 44, 75, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-plano-conta-combo-list .list-group-item {
    background-color: transparent;
    color: rgba(238, 242, 250, 0.95);
    border-color: rgba(255, 255, 255, 0.08);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-plano-conta-combo-list .list-group-item:hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-plano-conta-combo-list .list-group-item:focus {
    background-color: rgba(61, 154, 224, 0.18);
    color: rgba(238, 242, 250, 0.98);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .financeiro-plano-conta-combo-list .text-muted {
    color: rgba(255, 255, 255, 0.55) !important;
}

main.app-area--inner article .financeiro-field-combo-drop--open {
    z-index: 1400;
}

main.app-area--inner article .financeiro-plano-conta-combo-list,
main.app-area--inner article .financeiro-instituicao-combo-list,
main.app-area--inner article .financeiro-pessoa-combo-list {
    z-index: 1401;
}

/* Painel movimentações da instituição: combo conta contábil não corta a lista */
main.app-area--inner article .instituicao-mov-panel {
    overflow: visible;
}

main.app-area--inner article .instituicao-mov-panel > .row.g-2,
main.app-area--inner article .instituicao-mov-panel .financeiro-field-combo,
main.app-area--inner article .instituicao-mov-panel .financeiro-field-combo-drop {
    overflow: visible;
}

main.app-area--inner article .instituicao-mov-panel > .table-responsive {
    overflow: auto;
    max-height: min(52vh, 28rem);
    -webkit-overflow-scrolling: touch;
}

main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .compras-produtos-panel.instituicao-mov-panel,
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel.instituicao-mov-panel:has(> .table-responsive),
main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-panel.instituicao-mov-panel:has(.compras-produtos-table-wrap) {
    overflow: visible;
}

/*
 * Modais dentro de .app-page.text-black: tema CLARO só com data-caprind-theme="light".
 * Tema escuro: cartão alinhado ao painel (sem forçar fundo branco).
 */
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content {
    color: #1e293b !important;
    background-color: #fff !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-header {
    background: #fff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #1e293b !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-title {
    color: #123552 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-body,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-footer {
    background: #fff !important;
    color: #1e293b !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-footer {
    border-top: 1px solid #e2e8f0 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .text-muted {
    color: #64748b !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-label {
    color: #374151 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content [class*="col-"]:has(> label.form-label:first-child + .form-control) > label.form-label:first-child,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content [class*="col-"]:has(> label.form-label:first-child + select.form-select) > label.form-label:first-child {
    color: var(--ds-table-header-text) !important;
    background-color: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]),
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content textarea.form-control:not(.no-caprind-field),
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field) {
    background: var(--ds-color-surface-card, #fff) !important;
    /* text-inverse no tema claro é #fff — não usar em campos (fundo claro) */
    color: var(--ds-input-text, #1a1f2e) !important;
    -webkit-text-fill-color: var(--ds-input-text, #1a1f2e) !important;
    border: 2px solid color-mix(in srgb, var(--ds-color-brand-200) 55%, #b8c5d8) !important;
    border-radius: 10px !important;
    box-shadow: none;
    caret-color: var(--ds-input-text, #1a1f2e);
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field)::placeholder,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content textarea.form-control:not(.no-caprind-field)::placeholder {
    color: rgba(71, 85, 105, 0.55) !important;
    -webkit-text-fill-color: rgba(71, 85, 105, 0.55) !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-text {
    color: #64748b !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field):hover:not(:focus):not(:disabled),
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field):hover:not(:focus):not(:disabled) {
    border-color: color-mix(in srgb, var(--ds-color-secondary) 45%, #94a3b8) !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field):focus,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field):focus {
    border-color: var(--ds-color-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-color-primary) 22%, transparent) !important;
    outline: none;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field):disabled,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field):disabled {
    background: #f1f5f9 !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    opacity: 1;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-check-label {
    color: #334155 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-check-input {
    border-color: #94a3b8;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-check-input:checked {
    background-color: var(--ds-color-primary) !important;
    border-color: var(--ds-color-primary) !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .form-check-input:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-color-primary) 25%, transparent);
    border-color: var(--ds-color-primary);
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .modal .modal-content,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content {
    color: rgba(238, 242, 250, 0.95) !important;
    background-color: var(--ds-color-bg-elevated) !important;
    border: 1px solid var(--ds-color-border) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-header {
    background: var(--ds-color-bg-elevated) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: rgba(238, 242, 250, 0.95) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-title {
    color: #fff !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-body,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-footer {
    background: var(--ds-color-bg-elevated) !important;
    color: rgba(238, 242, 250, 0.95) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .text-muted {
    color: rgba(255, 255, 255, 0.68) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-check-label {
    color: rgba(255, 255, 255, 0.88) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-check-input {
    border-color: rgba(255, 255, 255, 0.35);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-check-input:checked {
    background-color: var(--ds-color-primary) !important;
    border-color: var(--ds-color-primary) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(61, 154, 224, 0.28);
    border-color: var(--ds-color-primary);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-label {
    color: rgba(255, 255, 255, 0.88) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]),
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content textarea.form-control:not(.no-caprind-field),
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field) {
    border-radius: 10px !important;
    border: 2px solid var(--ds-input-border, var(--ds-input-border)) !important;
    background: var(--ds-input-bg, var(--ds-input-bg)) !important;
    color: var(--ds-input-text, var(--ds-input-text)) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field) option {
    background-color: var(--ds-color-brand-800);
    color: var(--ds-input-text);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field)::placeholder,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content textarea.form-control:not(.no-caprind-field)::placeholder {
    color: rgba(200, 205, 235, 0.45);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field):hover:not(:focus):not(:disabled),
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field):hover:not(:focus):not(:disabled) {
    border-color: var(--ds-input-border-hover, color-mix(in srgb, var(--ds-input-border-focus) 65%, transparent)) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field):focus,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field):focus {
    border-color: var(--ds-input-border-focus, var(--ds-input-border-focus)) !important;
    box-shadow: 0 0 0 3px var(--ds-input-focus-ring, color-mix(in srgb, var(--ds-color-primary) 30%, transparent));
    outline: none;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .form-control:not(.no-caprind-field):disabled,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content select.form-select:not(.no-caprind-field):disabled {
    opacity: 0.82;
    cursor: not-allowed;
}

main.app-area--inner article .modal.show {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1300 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100dvh;
    margin: 0 !important;
    padding: clamp(0.75rem, 2vw, 1rem);
    overflow-x: hidden;
    overflow-y: auto;
}

main.app-area--inner article .modal.show .modal-dialog {
    margin: auto !important;
    flex-shrink: 0;
    max-height: calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
}

/* Modais Blazor (d-block): sempre centralizados na viewport */
.modal.fade.show.d-block {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1300 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100dvh;
    margin: 0 !important;
    padding: clamp(0.75rem, 2vw, 1rem);
    overflow-x: hidden;
    overflow-y: auto;
}

.modal.fade.show.d-block .modal-dialog {
    margin: auto !important;
    flex-shrink: 0;
    max-height: calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
}

.modal-backdrop.fade.show {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1290 !important;
}

/* Abas em formulários sobre fundo escuro */
main.app-area--inner article .empresa-tabs .nav-link {
    color: rgba(255, 255, 255, 0.78);
    border-color: rgba(255, 255, 255, 0.18);
}

main.app-area--inner article .empresa-tabs .nav-link:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.35);
}

main.app-area--inner article .empresa-tabs .nav-link.active {
    color: #fff;
    background-color: rgba(220, 53, 69, 0.48);
    border-color: rgba(220, 53, 69, 0.72);
}

/* Abas .nav-tabs sem classe empresa-tabs (ex.: RH / Funcionário) — evita azul Bootstrap/link no fundo escuro */
main.app-area--inner article .nav-tabs .nav-link {
    color: rgba(255, 255, 255, 0.82);
    border-color: rgba(255, 255, 255, 0.18);
}

main.app-area--inner article .nav-tabs .nav-link:hover {
    color: #f1f5f9;
    border-color: rgba(255, 255, 255, 0.35);
}

main.app-area--inner article .nav-tabs .nav-link.active {
    color: #fff;
    background-color: rgba(220, 53, 69, 0.48);
    border-color: rgba(220, 53, 69, 0.72);
}

/* Subnav (ex.: PCP Carteira / Gerenciar ordem) — evita link azul Bootstrap no fundo escuro */
main.app-area--inner article .app-subnav .nav-pills .nav-link,
main.app-area--inner article .nav-pills.app-subnav-pills .nav-link {
    color: rgba(255, 255, 255, 0.82);
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

main.app-area--inner article .app-subnav .nav-pills .nav-link:hover,
main.app-area--inner article .nav-pills.app-subnav-pills .nav-link:hover {
    color: #f1f5f9;
    background-color: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.35);
}

main.app-area--inner article .app-subnav .nav-pills .nav-link.active,
main.app-area--inner article .nav-pills.app-subnav-pills .nav-link.active {
    color: #fff;
    background-color: rgba(220, 53, 69, 0.48);
    border-color: rgba(220, 53, 69, 0.72);
}

/* Dicas de listagem (alert-secondary) — fundo translúcido em vez do cinza Bootstrap */
main.app-area--inner article .alert.alert-secondary {
    color: rgba(255, 255, 255, 0.88);
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
}

main.app-area--inner article .alert.alert-secondary strong {
    color: #fff;
}

main.app-area--inner article .form-check-label {
    color: rgba(255, 255, 255, 0.88);
}

/* Tema escuro interno: outline = “ghost” só em painel/toolbar (evita modais dentro de .app-page) */
main.app-area--inner article .app-panel .btn-outline-secondary:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-toolbar .btn-outline-secondary:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-panel .btn-outline-light:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-toolbar .btn-outline-light:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-panel .btn-outline-primary:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-toolbar .btn-outline-primary:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-panel .btn-outline-info:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-toolbar .btn-outline-info:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-panel .btn-outline-success:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-toolbar .btn-outline-success:not(.no-caprind-btn):not(.app-row-action-btn) {
    background-color: transparent !important;
    color: color-mix(in srgb, var(--ds-color-text) 92%, transparent) !important;
    border-color: var(--ds-input-border) !important;
    box-shadow: none !important;
}

main.app-area--inner article .app-panel .btn-outline-secondary:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-panel .btn-outline-secondary:not(.no-caprind-btn):not(.app-row-action-btn):focus,
main.app-area--inner article .app-toolbar .btn-outline-secondary:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-toolbar .btn-outline-secondary:not(.no-caprind-btn):not(.app-row-action-btn):focus,
main.app-area--inner article .app-panel .btn-outline-light:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-panel .btn-outline-light:not(.no-caprind-btn):not(.app-row-action-btn):focus,
main.app-area--inner article .app-toolbar .btn-outline-light:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-toolbar .btn-outline-light:not(.no-caprind-btn):not(.app-row-action-btn):focus,
main.app-area--inner article .app-panel .btn-outline-info:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-panel .btn-outline-info:not(.no-caprind-btn):not(.app-row-action-btn):focus,
main.app-area--inner article .app-toolbar .btn-outline-info:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-toolbar .btn-outline-info:not(.no-caprind-btn):not(.app-row-action-btn):focus {
    background-color: var(--ds-color-bg-muted) !important;
    color: #fff !important;
    border-color: rgba(230, 240, 255, 0.55) !important;
}

main.app-area--inner article .app-panel .btn-outline-primary:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-panel .btn-outline-primary:not(.no-caprind-btn):not(.app-row-action-btn):focus,
main.app-area--inner article .app-toolbar .btn-outline-primary:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-toolbar .btn-outline-primary:not(.no-caprind-btn):not(.app-row-action-btn):focus {
    background-color: var(--ds-color-bg-muted) !important;
    color: #fff !important;
    border-color: rgba(230, 240, 255, 0.55) !important;
}

main.app-area--inner article .app-panel .btn-outline-success:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-panel .btn-outline-success:not(.no-caprind-btn):not(.app-row-action-btn):focus,
main.app-area--inner article .app-toolbar .btn-outline-success:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-toolbar .btn-outline-success:not(.no-caprind-btn):not(.app-row-action-btn):focus {
    background-color: rgba(34, 197, 94, 0.14) !important;
    color: #fff !important;
    border-color: rgba(167, 243, 208, 0.45) !important;
}

main.app-area--inner article .app-panel .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn),
main.app-area--inner article .app-toolbar .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn) {
    background-color: transparent !important;
    color: #fecaca !important;
    border-color: rgba(248, 113, 113, 0.65) !important;
    box-shadow: none !important;
    --bs-btn-color: #fecaca;
    --bs-btn-border-color: rgba(248, 113, 113, 0.65);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(248, 113, 113, 0.22);
    --bs-btn-hover-border-color: #f87171;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgba(220, 38, 38, 0.35);
    --bs-btn-active-border-color: #ef4444;
}

main.app-area--inner article .app-panel .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn) i,
main.app-area--inner article .app-panel .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn) .app-icon,
main.app-area--inner article .app-toolbar .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn) i,
main.app-area--inner article .app-toolbar .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn) .app-icon {
    color: currentColor !important;
}

main.app-area--inner article .app-panel .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-panel .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn):focus,
main.app-area--inner article .app-toolbar .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn):hover,
main.app-area--inner article .app-toolbar .btn-outline-danger:not(.no-caprind-btn):not(.app-row-action-btn):focus {
    background-color: rgba(248, 113, 113, 0.22) !important;
    color: #fff !important;
    border-color: #f87171 !important;
}

/* Modal — botões: tema claro (fundo branco no cartão) */
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-secondary:not(.no-caprind-btn),
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn),
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-info:not(.no-caprind-btn),
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-success:not(.no-caprind-btn),
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn) {
    background-color: #fff !important;
    color: #374151 !important;
    border-color: #b8c5d8 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn) {
    color: var(--ds-color-text-inverse, #123552) !important;
    border-color: color-mix(in srgb, var(--ds-color-primary) 55%, #fff) !important;
    --bs-btn-color: var(--ds-color-text-inverse, #123552);
    --bs-btn-border-color: color-mix(in srgb, var(--ds-color-primary) 55%, #fff);
    --bs-btn-hover-color: var(--ds-color-text-inverse, #0f2f4a);
    --bs-btn-hover-bg: color-mix(in srgb, var(--ds-color-primary) 12%, #fff);
    --bs-btn-hover-border-color: var(--ds-color-primary);
    --bs-btn-active-color: var(--ds-color-text-inverse, #0a1f33);
    --bs-btn-active-bg: color-mix(in srgb, var(--ds-color-primary) 18%, #fff);
    --bs-btn-active-border-color: var(--ds-color-primary-hover);
    --bs-btn-focus-shadow-rgb: 61, 154, 224;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn) i,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn) .app-icon {
    color: currentColor !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn):hover,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn):focus {
    background-color: color-mix(in srgb, var(--ds-color-primary) 12%, #fff) !important;
    color: var(--ds-color-text-inverse, #0f2f4a) !important;
    border-color: var(--ds-color-primary) !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn) {
    color: #dc2626 !important;
    border-color: #ef4444 !important;
    --bs-btn-color: #dc2626;
    --bs-btn-border-color: #ef4444;
    --bs-btn-hover-color: #991b1b;
    --bs-btn-hover-bg: rgba(248, 113, 113, 0.14);
    --bs-btn-hover-border-color: #dc2626;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgba(220, 38, 38, 0.85);
    --bs-btn-active-border-color: #b91c1c;
    --bs-btn-focus-shadow-rgb: 239, 68, 68;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn) i,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn) .app-icon {
    color: currentColor !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-secondary:not(.no-caprind-btn):hover,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-secondary:not(.no-caprind-btn):focus,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-info:not(.no-caprind-btn):hover,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-info:not(.no-caprind-btn):focus,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-success:not(.no-caprind-btn):hover,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-success:not(.no-caprind-btn):focus {
    background-color: #f1f5f9 !important;
    color: #1f2937 !important;
    border-color: #94a3b8 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn):hover,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn):focus {
    background-color: rgba(248, 113, 113, 0.16) !important;
    color: #991b1b !important;
    border-color: #dc2626 !important;
}

/* Modal — botões: tema escuro (ghost + destaque marca / perigo) */
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-secondary:not(.no-caprind-btn),
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-info:not(.no-caprind-btn),
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-success:not(.no-caprind-btn) {
    background-color: transparent !important;
    color: color-mix(in srgb, var(--ds-color-text) 92%, transparent) !important;
    border-color: var(--ds-input-border) !important;
    --bs-btn-color: rgba(224, 234, 250, 0.92);
    --bs-btn-border-color: rgba(198, 214, 236, 0.42);
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn) {
    background-color: transparent !important;
    color: #b8daf6 !important;
    border-color: rgba(61, 154, 224, 0.55) !important;
    --bs-btn-color: #b8daf6;
    --bs-btn-border-color: rgba(61, 154, 224, 0.55);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(61, 154, 224, 0.18);
    --bs-btn-hover-border-color: var(--ds-color-primary);
    --bs-btn-focus-shadow-rgb: 61, 154, 224;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn) i,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn) .app-icon {
    color: currentColor !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn):hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-primary:not(.no-caprind-btn):focus {
    background-color: rgba(61, 154, 224, 0.18) !important;
    color: #fff !important;
    border-color: var(--ds-color-primary) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn) {
    background-color: transparent !important;
    color: #fecaca !important;
    border-color: rgba(248, 113, 113, 0.72) !important;
    --bs-btn-color: #fecaca;
    --bs-btn-border-color: rgba(248, 113, 113, 0.72);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(248, 113, 113, 0.22);
    --bs-btn-hover-border-color: #f87171;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn) i,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn) .app-icon {
    color: currentColor !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-secondary:not(.no-caprind-btn):hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-secondary:not(.no-caprind-btn):focus,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-info:not(.no-caprind-btn):hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-info:not(.no-caprind-btn):focus,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-success:not(.no-caprind-btn):hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-success:not(.no-caprind-btn):focus {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
    border-color: rgba(230, 240, 255, 0.55) !important;
}

.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn):hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-outline-danger:not(.no-caprind-btn):focus {
    background-color: rgba(248, 113, 113, 0.22) !important;
    color: #fff !important;
    border-color: #f87171 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn),
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn) {
    background: linear-gradient(180deg, var(--ds-color-primary) 0%, var(--ds-color-primary-hover) 100%) !important;
    color: #fff !important;
    border: none !important;
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--ds-color-primary);
    --bs-btn-border-color: transparent;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn):hover,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn):focus,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn):hover,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn):focus {
    filter: brightness(1.03);
    color: #fff !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn) i,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn) .app-icon,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn) i,
.page[data-caprind-theme="dark"] main.app-area--inner article .modal .modal-content .btn-secondary:not(.no-caprind-btn) .app-icon {
    color: currentColor !important;
}

.app-toolbar {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

/* Barra de formulário alternativa (ex.: proposta comercial) */
.app-panel-toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
}

/* Voltar: fundo vermelho, canto superior direito da página */
.login-page-root button.app-btn-voltar:not(.no-caprind-btn),
main.app-area--inner article button.app-btn-voltar:not(.no-caprind-btn):not(.page-link):not(.nav-link),
main.app-area--inner article .app-toolbar > button:has(.bi-arrow-left-circle):not(.no-caprind-btn),
main.app-area--inner article .app-panel-toolbar > button:has(.bi-arrow-left-circle):not(.no-caprind-btn),
main.app-area--inner article .app-list-toolbar > button:has(.bi-arrow-left-circle):not(.no-caprind-btn),
main.app-area--inner article .compras-produtos-toolbar > button:has(.bi-arrow-left-circle):not(.no-caprind-btn) {
    background-color: #dc3545 !important;
    border-color: #b02a37 !important;
    color: #fff !important;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(220, 53, 69, 0.45);
}

/* Cabeçalho da página: título à esquerda, ações à direita (mesma linha, sem quebra) */
.app-page-header {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
    width: 100%;
    min-width: 0;
}

.app-page-header .app-section-title {
    margin-bottom: 0 !important;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-page-header .app-page-header-actions,
.app-form-toolbar-bar {
    display: inline-flex;
    flex: 0 1 auto;
    flex-wrap: nowrap;
    margin-left: auto;
    justify-content: flex-end;
    align-items: center;
    align-self: center;
    min-height: 2.65rem;
    gap: 0.5rem;
    max-width: 100%;
    padding: var(--ds-space-2, var(--ds-form-toolbar-padding, 0.35rem 0.5rem));
    background: var(--ds-color-surface-muted, var(--ds-form-toolbar-bg, transparent));
    border: 1px solid var(--ds-color-border, var(--ds-form-toolbar-border, transparent));
    border-radius: var(--ds-radius-md, var(--ds-form-toolbar-radius, 0));
    box-shadow: var(--ds-shadow-sm, var(--ds-form-toolbar-shadow, none));
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.app-page-header .app-page-header-voltar {
    display: none;
}

/* Formulários: reserva espaço no topo para título + ações à direita */
main.app-area--inner article .app-page-fill {
    position: relative;
}

main.app-area--inner article .app-page-fill > .app-page-header,
main.app-area--inner article .app-page-fill > form > .app-page-header,
main.app-area--inner article .app-page-fill > .app-panel > EditForm > .app-page-header,
main.app-area--inner article .app-page-fill > EditForm > .app-page-header {
    margin-bottom: 1rem;
    min-height: 2.65rem;
    padding-right: 0;
}

main.app-area--inner article .app-page-fill > .app-page-header .app-page-header-actions,
main.app-area--inner article .app-page-fill > form > .app-page-header .app-page-header-actions {
    max-width: min(100%, 100%);
}

/* Barras de ação legadas fora do cabeçalho — mesmo visual da faixa do header */
main.app-area--inner article .app-page-fill > .app-toolbar,
main.app-area--inner article .app-page-fill > form > .app-page-header ~ .app-toolbar,
main.app-area--inner article .app-page-fill > .app-page-header ~ .app-toolbar,
main.app-area--inner article .app-page-fill .app-panel > .app-panel-toolbar:first-child {
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
    margin: 0 0 1rem !important;
    width: auto;
    max-width: 100%;
    justify-content: flex-end;
    align-items: center;
    display: inline-flex;
    flex-wrap: nowrap;
    min-height: 2.65rem;
    margin-left: auto !important;
    padding: 0;
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
    overflow-x: auto;
}

main.app-area--inner article .app-page-fill > .app-page-header:not(:has(.app-page-header-actions .app-btn-voltar)) ~ .app-toolbar,
main.app-area--inner article .app-page-fill > form > .app-page-header:not(:has(.app-page-header-actions .app-btn-voltar)) ~ .app-toolbar {
    right: auto;
    max-width: 100%;
}

main.app-area--inner article .app-page-fill:has(> .app-page-header ~ .app-toolbar) > .app-page-header,
main.app-area--inner article .app-page-fill > form > .app-page-header:has(~ .app-toolbar),
main.app-area--inner article .app-page-fill:has(.app-panel > .app-panel-toolbar:first-child) > .app-page-header {
    padding-right: 0;
}

main.app-area--inner article .app-page-fill .app-panel > .app-panel-toolbar:first-child {
    top: auto;
    right: auto;
}

main.app-area--inner article .app-page-fill > .app-page-header:not(:has(.app-page-header-actions .app-btn-voltar)) ~ .app-panel > .app-panel-toolbar:first-child,
main.app-area--inner article .app-page-fill:not(:has(.app-page-header-actions .app-btn-voltar)) .app-panel > .app-panel-toolbar:first-child {
    right: auto;
    max-width: 100%;
}

main.app-area--inner article .app-page-fill .app-panel > .app-panel-toolbar:first-child .ms-auto {
    margin-left: 0 !important;
}

main.app-area--inner article .compras-produtos-page > .app-page-header,
main.app-area--inner article .vendas-produtos-page > .app-page-header {
    margin-top: 25px;
}

@media (max-width: 991.98px) {
    main.app-area--inner article .compras-produtos-page > .app-page-header,
    main.app-area--inner article .vendas-produtos-page > .app-page-header {
        margin-top: 0;
    }
}

main.app-area--inner article .compras-produtos-page > .app-page-header .app-section-title,
main.app-area--inner article .vendas-produtos-page > .app-page-header .app-section-title {
    margin-top: 0;
}

/* Relatórios PDF: barra superior com Voltar à direita */
main.app-area--inner article .app-relatorio-toolbar,
main.app-area--inner article .border-bottom.bg-white.app-relatorio-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    width: 100%;
}

main.app-area--inner article .app-relatorio-toolbar > .app-btn-voltar,
main.app-area--inner article .border-bottom.bg-white.app-relatorio-toolbar > .app-btn-voltar {
    margin-left: auto !important;
    position: static !important;
}

.login-page-root button.app-btn-voltar:not(.no-caprind-btn):hover,
.login-page-root button.app-btn-voltar:not(.no-caprind-btn):focus,
main.app-area--inner article button.app-btn-voltar:not(.no-caprind-btn):hover,
main.app-area--inner article button.app-btn-voltar:not(.no-caprind-btn):focus,
main.app-area--inner article .app-toolbar > button:has(.bi-arrow-left-circle):hover,
main.app-area--inner article .app-toolbar > button:has(.bi-arrow-left-circle):focus,
main.app-area--inner article .app-panel-toolbar > button:has(.bi-arrow-left-circle):hover,
main.app-area--inner article .app-panel-toolbar > button:has(.bi-arrow-left-circle):focus,
main.app-area--inner article .app-list-toolbar > button:has(.bi-arrow-left-circle):hover,
main.app-area--inner article .app-list-toolbar > button:has(.bi-arrow-left-circle):focus,
main.app-area--inner article .compras-produtos-toolbar > button:has(.bi-arrow-left-circle):hover,
main.app-area--inner article .compras-produtos-toolbar > button:has(.bi-arrow-left-circle):focus {
    background-color: #bb2d3b !important;
    border-color: #a52834 !important;
    color: #fff !important;
}

.login-page-root button.app-btn-voltar:not(.no-caprind-btn) .bi,
main.app-area--inner article button.app-btn-voltar:not(.no-caprind-btn) .bi,
main.app-area--inner article .app-toolbar > button:has(.bi-arrow-left-circle) .bi,
main.app-area--inner article .app-panel-toolbar > button:has(.bi-arrow-left-circle) .bi,
main.app-area--inner article .app-list-toolbar > button:has(.bi-arrow-left-circle) .bi,
main.app-area--inner article .compras-produtos-toolbar > button:has(.bi-arrow-left-circle) .bi {
    color: #fff !important;
}

/* Visualização PDF em tela cheia — oculta foto de fundo do shell industrial */
main.app-area--inner:has(article .app-relatorio-pdf-page),
main.app-area--inner:has(article > .container-fluid[style*="100vh"]) {
    background-color: var(--ds-color-brand-800) !important;
}

main.app-area--inner:has(article .app-relatorio-pdf-page) .app-area-bg__photo,
main.app-area--inner:has(article .app-relatorio-pdf-page) .app-area-bg__overlay,
main.app-area--inner:has(article > .container-fluid[style*="100vh"]) .app-area-bg__photo,
main.app-area--inner:has(article > .container-fluid[style*="100vh"]) .app-area-bg__overlay {
    display: none !important;
}

main.app-area--inner:has(article .app-relatorio-pdf-page) article,
main.app-area--inner:has(article > .container-fluid[style*="100vh"]) article {
    overflow: hidden;
    background-color: var(--ds-color-brand-800);
}

main.app-area--inner article > .container-fluid.app-relatorio-pdf-page,
main.app-area--inner article > .container-fluid[style*="100vh"] {
    height: 100% !important;
    max-height: 100%;
    min-height: 0 !important;
    background-color: var(--ds-color-brand-800);
}

main.app-area--inner article > .container-fluid.app-relatorio-pdf-page > .app-relatorio-toolbar,
main.app-area--inner article > .container-fluid[style*="100vh"] > .app-relatorio-toolbar,
main.app-area--inner article > .container-fluid[style*="100vh"] > .border-bottom.app-relatorio-toolbar,
main.app-area--inner article > .container-fluid[style*="100vh"] > .border-bottom.bg-white.d-flex {
    background: var(--ds-color-brand-100) !important;
    border-bottom-color: color-mix(in srgb, var(--ds-color-brand-300) 55%, #9eb8d4) !important;
    color: var(--ds-color-brand-700) !important;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}

/* Cabeçalho de relatório PDF / iframe */
main.app-area--inner article .app-relatorio-toolbar,
main.app-area--inner article .border-bottom.bg-white.d-flex.flex-wrap {
    width: 100%;
}

main.app-area--inner article .app-relatorio-toolbar .text-muted,
main.app-area--inner article .app-relatorio-toolbar .small.text-muted {
    color: var(--ds-color-secondary) !important;
}

main.app-area--inner article .analise-critica-resumo-card {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(198, 214, 236, 0.26);
    color: rgba(255, 255, 255, 0.94);
}

main.app-area--inner article .analise-critica-resumo-card-title {
    color: #ffffff;
}

main.app-area--inner article .analise-critica-resumo-card-label {
    color: rgba(255, 255, 255, 0.68);
}

/* Modal: Voltar do rodapé não sobe para o topo nem fica vermelho */
main.app-area--inner article .modal button.app-btn-voltar,
main.app-area--inner article .modal-footer button.app-btn-voltar,
main.app-area--inner article .modal-footer button:has(.bi-arrow-left-circle) {
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    order: unset !important;
    background-color: var(--bs-btn-bg, #6c757d) !important;
    border-color: var(--bs-btn-border-color, #6c757d) !important;
    color: var(--bs-btn-color, #fff) !important;
    font-weight: inherit;
    box-shadow: none;
}

main.app-area--inner article .app-toolbar .app-form-actions,
main.app-area--inner article .app-panel-toolbar .app-form-actions {
    order: 1;
}

/* Listagens: mesma barra de ações (Filtrar / Novo / Voltar) em todas as telas */
.app-list-toolbar,
.compras-produtos-toolbar {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
    background: transparent;
    border: none;
    box-shadow: none;
}

/* Listagens: Voltar + ações na mesma linha do cabeçalho (sem alterar cada página) */
main.app-area--inner article .rh-list-page {
    position: relative;
}

main.app-area--inner article .rh-list-page > .app-page-header {
    position: relative;
    min-height: 2.65rem;
    margin-bottom: 1rem;
    padding-right: 0;
    z-index: 2;
}

main.app-area--inner article .rh-list-page:not(.ds-page) > .app-page-header .app-section-title {
    padding-right: min(52%, 32rem);
}

main.app-area--inner article .rh-list-page:not(.ds-page) > .app-page-header .app-page-header-actions {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-left: 0;
    z-index: 4;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Páginas DS: cabeçalho flexível (sem posicionamento absoluto legado) */
main.app-area--inner article .ds-page > .app-page-header {
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

main.app-area--inner article .ds-page > .app-page-header .app-section-title {
    padding-right: 0;
    flex: 1 1 auto;
    min-width: 0;
}

main.app-area--inner article .ds-page > .app-page-header .app-page-header-actions {
    position: static;
    top: auto;
    right: auto;
    transform: none;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    width: auto;
    max-width: 100%;
    margin-left: auto;
    overflow: visible;
}

main.app-area--inner article .ds-page .app-page-header-actions .ds-btn {
    flex: 0 0 auto;
    flex-shrink: 0;
}

/* Mobile/tablet: cabeçalho empilhado — título acima, ações em grade (todas as telas) */
@media (max-width: 767.98px) {
    .app-page-header {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .app-page-header .app-section-title {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
        padding-right: 0 !important;
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
        word-break: break-word;
    }

    main.app-area--inner article .rh-list-page > .app-page-header .app-section-title,
    main.app-area--inner article .rh-list-page:not(.ds-page) > .app-page-header .app-section-title,
    main.app-area--inner article .ds-page > .app-page-header .app-section-title {
        padding-right: 0 !important;
    }

    main.app-area--inner article .rh-list-page > .app-page-header .app-page-header-actions,
    main.app-area--inner article .rh-list-page:not(.ds-page) > .app-page-header .app-page-header-actions,
    main.app-area--inner article .ds-page > .app-page-header .app-page-header-actions,
    main.app-area--inner article .app-page-header .app-page-header-actions,
    main.app-area--inner article .app-form-toolbar-bar {
        position: static !important;
        top: auto !important;
        right: auto !important;
        transform: none !important;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: stretch;
        align-self: stretch;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        overflow: visible;
        gap: 0.35rem;
    }

    main.app-area--inner article .app-page-header .app-page-header-actions > .btn,
    main.app-area--inner article .app-page-header .app-page-header-actions > .app-form-btn,
    main.app-area--inner article .app-page-header .app-page-header-actions > .ds-btn,
    main.app-area--inner article .app-form-toolbar-bar > .btn,
    main.app-area--inner article .app-form-toolbar-bar > .app-form-btn,
    main.app-area--inner article .app-form-toolbar-bar > .ds-btn {
        flex: 1 1 calc(50% - 0.2rem);
        min-width: min(100%, 8.5rem);
        max-width: 100%;
    }

    main.app-area--inner article .rh-list-page > .app-page-header ~ .app-panel:first-child .app-list-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ .app-panel:first-child .row .app-list-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ .app-panel:first-child .compras-produtos-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ form > .app-panel:first-child .app-list-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ form > .app-panel:first-child .row .app-list-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ form > .app-panel:first-child .compras-produtos-toolbar {
        position: static !important;
        top: auto !important;
        right: auto !important;
        max-width: 100%;
        margin-top: 0.25rem !important;
    }

    main.app-area--inner article .app-list-toolbar,
    main.app-area--inner article .compras-produtos-toolbar,
    main.app-area--inner article .app-panel-toolbar {
        flex-wrap: wrap;
        max-width: 100%;
    }

    main.app-area--inner article .app-list-toolbar .btn,
    main.app-area--inner article .compras-produtos-toolbar .btn,
    main.app-area--inner article .app-panel-toolbar .btn {
        flex: 1 1 calc(50% - 0.2rem);
        min-width: min(100%, 8.5rem);
    }
}

/* Cabeçalho só com Voltar: puxa a primeira toolbar de filtros para a mesma faixa */
main.app-area--inner article .rh-list-page > .app-page-header:has(.app-btn-voltar):not(:has(.app-page-header-actions .btn-outline-primary, .app-page-header-actions .btn-outline-success, .app-page-header-actions .btn-outline-danger, .app-page-header-actions .btn-primary, .app-page-header-actions .btn-outline-warning, .app-page-header-actions .btn-warning)) ~ .app-panel:first-child .app-list-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:has(.app-btn-voltar):not(:has(.app-page-header-actions .btn-outline-primary, .app-page-header-actions .btn-outline-success, .app-page-header-actions .btn-outline-danger, .app-page-header-actions .btn-primary, .app-page-header-actions .btn-outline-warning, .app-page-header-actions .btn-warning)) ~ .app-panel:first-child .row .app-list-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:has(.app-btn-voltar):not(:has(.app-page-header-actions .btn-outline-primary, .app-page-header-actions .btn-outline-success, .app-page-header-actions .btn-outline-danger, .app-page-header-actions .btn-primary, .app-page-header-actions .btn-outline-warning, .app-page-header-actions .btn-warning)) ~ .app-panel:first-child .compras-produtos-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:has(.app-btn-voltar):not(:has(.app-page-header-actions .btn-outline-primary, .app-page-header-actions .btn-outline-success, .app-page-header-actions .btn-outline-danger, .app-page-header-actions .btn-primary, .app-page-header-actions .btn-outline-warning, .app-page-header-actions .btn-warning)) ~ form > .app-panel:first-child .app-list-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:has(.app-btn-voltar):not(:has(.app-page-header-actions .btn-outline-primary, .app-page-header-actions .btn-outline-success, .app-page-header-actions .btn-outline-danger, .app-page-header-actions .btn-primary, .app-page-header-actions .btn-outline-warning, .app-page-header-actions .btn-warning)) ~ form > .app-panel:first-child .row .app-list-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:has(.app-btn-voltar):not(:has(.app-page-header-actions .btn-outline-primary, .app-page-header-actions .btn-outline-success, .app-page-header-actions .btn-outline-danger, .app-page-header-actions .btn-primary, .app-page-header-actions .btn-outline-warning, .app-page-header-actions .btn-warning)) ~ form > .app-panel:first-child .compras-produtos-toolbar {
    position: absolute;
    top: 0;
    right: 10.75rem;
    z-index: 3;
    margin: 0 !important;
    padding: 0;
    max-width: calc(100% - 12rem);
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

main.app-area--inner article .rh-list-page > .app-page-header:not(:has(.app-btn-voltar)) ~ .app-panel:first-child .app-list-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:not(:has(.app-btn-voltar)) ~ .app-panel:first-child .row .app-list-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:not(:has(.app-btn-voltar)) ~ .app-panel:first-child .compras-produtos-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:not(:has(.app-btn-voltar)) ~ form > .app-panel:first-child .app-list-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:not(:has(.app-btn-voltar)) ~ form > .app-panel:first-child .row .app-list-toolbar,
main.app-area--inner article .rh-list-page > .app-page-header:not(:has(.app-btn-voltar)) ~ form > .app-panel:first-child .compras-produtos-toolbar {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    margin: 0 !important;
    padding: 0;
    max-width: min(100%, 46rem);
    overflow-x: auto;
}

/* Listagens e barras de formulário: ícones com cor semântica forte */
main.app-area--inner article .app-list-toolbar .btn-outline-primary:not(:disabled) .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-primary:not(:disabled) .bi {
    color: #5eb8ff !important;
}

main.app-area--inner article .app-list-toolbar .btn-outline-primary:not(:disabled):hover .bi,
main.app-area--inner article .app-list-toolbar .btn-outline-primary:not(:disabled):focus .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-primary:not(:disabled):hover .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-primary:not(:disabled):focus .bi {
    color: #fff !important;
}

main.app-area--inner article .app-list-toolbar .btn-outline-danger:not(:disabled) .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-danger:not(:disabled) .bi {
    color: #fb7185 !important;
}

main.app-area--inner article .app-list-toolbar .btn-outline-danger:not(:disabled):hover .bi,
main.app-area--inner article .app-list-toolbar .btn-outline-danger:not(:disabled):focus .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-danger:not(:disabled):hover .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-danger:not(:disabled):focus .bi {
    color: #fff !important;
}

main.app-area--inner article .app-list-toolbar .btn-outline-danger:disabled .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-danger:disabled .bi {
    color: rgba(251, 113, 133, 0.38) !important;
}

main.app-area--inner article .app-list-toolbar .btn-outline-success:not(:disabled) .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-success:not(:disabled) .bi {
    color: #4ade80 !important;
}

main.app-area--inner article .app-list-toolbar .btn-outline-success:not(:disabled):hover .bi,
main.app-area--inner article .app-list-toolbar .btn-outline-success:not(:disabled):focus .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-success:not(:disabled):hover .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-success:not(:disabled):focus .bi {
    color: #fff !important;
}

main.app-area--inner article .app-list-toolbar .btn-outline-secondary:not(:disabled) .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-secondary:not(:disabled) .bi {
    color: #b8c9dc !important;
}

main.app-area--inner article .app-list-toolbar .btn-outline-secondary:not(:disabled):hover .bi,
main.app-area--inner article .app-list-toolbar .btn-outline-secondary:not(:disabled):focus .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-secondary:not(:disabled):hover .bi,
main.app-area--inner article .app-panel-toolbar .btn-outline-secondary:not(:disabled):focus .bi {
    color: #fff !important;
}

.app-form-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    align-items: center;
}

.app-page-header .app-page-header-actions .app-form-btn,
.app-form-toolbar-bar .app-form-btn,
main.app-area--inner article .app-toolbar .app-form-btn,
main.app-area--inner article .app-panel-toolbar .app-form-btn {
    min-width: 0;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Moeda nas barras de ação: evita largura 0 no flex e campo impossível de focar/digitar */
.app-form-actions .input-group.app-moeda-field {
    flex: 1 1 14rem;
    min-width: 12rem;
    max-width: 100%;
}

.app-moeda-input {
    min-width: 6rem;
}

.app-form-btn {
    min-width: 112px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.app-page-header .app-page-header-actions .app-form-btn,
.app-form-toolbar-bar .app-form-btn {
    min-width: 0;
}

.app-row-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.app-row-action-btn {
    min-width: 0;
    padding: 0.2rem 0.45rem;
    font-size: 0.8rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.app-actions-col,
.app-col-acoes {
    width: 1%;
    min-width: 5.75rem;
    max-width: 7.5rem;
    white-space: nowrap;
    vertical-align: middle;
}

.app-data-table th.app-actions-col,
.app-data-table th.app-col-acoes,
main.app-area--inner article .app-data-table th.app-actions-col,
main.app-area--inner article .app-data-table th.app-col-acoes,
main.app-area--inner article .db-table th.app-actions-col,
.modal .modal-content .app-data-table th.app-actions-col {
    text-align: center !important;
}

.app-data-table td.app-actions-col,
.app-data-table td.app-col-acoes {
    text-align: center !important;
}

/* Foto: área da imagem um pouco mais larga que o botão abaixo */
.funcionario-foto-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    max-width: 100%;
}

.funcionario-foto-box {
    width: 188px;
    height: 220px;
    border: 1px solid #d9e1ec;
    border-radius: 8px;
    background: #f8fbff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.funcionario-foto-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.funcionario-foto-placeholder {
    color: #7c8ea6;
    font-size: 2.25rem;
}

.funcionario-foto-choose {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 168px;
    max-width: 100%;
}

.usuario-assinatura-preview {
    min-width: 220px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.usuario-assinatura-img {
    max-width: 220px;
    max-height: 64px;
    object-fit: contain;
}

.usuario-assinatura-placeholder {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
}

.app-page-content {
    flex: 1 1 auto;
}

.app-pagination-bottom {
    margin-top: auto;
}

.app-listagem-rodape {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
}

.app-listagem-rodape-inicio {
    flex: 0 1 auto;
    min-width: 0;
}

.app-listagem-rodape-pages {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
}

.app-listagem-rodape-pages nav.app-pagination {
    width: 100%;
}

.app-listagem-rodape-pages nav.app-pagination .pagination {
    flex-wrap: nowrap;
}

.app-listagem-rodape-meta {
    flex: 0 1 auto;
    margin-left: auto;
    justify-content: flex-end;
}

@media (min-width: 992px) {
    .app-listagem-rodape {
        flex-wrap: nowrap;
        gap: 0.5rem 1rem;
    }
}

@media (max-width: 991.98px) {
    .app-listagem-rodape-pages {
        flex: 1 1 100%;
        order: 3;
    }

    .app-listagem-rodape-meta {
        margin-left: 0;
        flex: 1 1 100%;
        justify-content: space-between;
    }
}

.rh-list-page {
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: var(--ds-color-brand-800, var(--ds-color-brand-800));
}

main.app-area--inner article > form.app-fill-form > .container-fluid.app-page.app-page-fill.rh-list-page,
main.app-area--inner article > .container-fluid.app-page.app-page-fill.rh-list-page {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
}

main.app-area--inner article .rh-list-page.bancos-page {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 100%;
}

main.app-area--inner article .rh-list-page.situacao-producao-list-page,
main.app-area--inner article .rh-list-page.monitor-trabalho-list-page {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100%;
}

main.app-area--inner article .rh-list-page.situacao-producao-list-page > .compras-produtos-panel:not(.pcp-cards-panel),
main.app-area--inner article .rh-list-page.monitor-trabalho-list-page > .compras-produtos-panel:not(.pcp-cards-panel) {
    flex: 0 0 auto;
    overflow: visible;
    min-height: auto;
    max-height: none;
}

main.app-area--inner article .rh-list-page.situacao-producao-list-page > .compras-produtos-panel.pcp-cards-panel,
main.app-area--inner article .rh-list-page.monitor-trabalho-list-page > .compras-produtos-panel.pcp-cards-panel {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

main.app-area--inner article .rh-list-page:is(
    :has(> .app-pagination-bottom),
    :has(> .app-page-content),
    :has(> .app-panel.compras-produtos-panel),
    :has(> .compras-produtos-panel),
    :has(> .app-panel:has(.compras-produtos-table-wrap)),
    :has(> .app-panel:has(> .table-responsive)),
    :has(> .carteira-titulos-page)
):not(.caprind-dashboard-page):not(.caprind-home-shell):not(.bancos-page):not(.situacao-producao-list-page):not(.monitor-trabalho-list-page) {
    overflow: hidden;
}

main.app-area--inner article .rh-list-page > .app-page-header {
    flex-shrink: 0;
}

main.app-area--inner article .rh-list-page > .app-page-content {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

main.app-area--inner article .rh-list-page > .app-page-content > .table-responsive,
main.app-area--inner article .rh-list-page > .app-page-content > .admin-clientes-table-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

main.app-area--inner article .rh-list-page > .app-pagination-bottom {
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    background-color: var(--ds-color-brand-800, var(--ds-color-brand-800));
}

.rh-list-page .app-page-content {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background-color: transparent;
}

main.app-area--home .rh-list-page,
main.app-area--home .rh-list-page .app-page-content {
    background-color: transparent;
}

.rh-list-page .app-data-table {
    margin-bottom: 0;
}

.rh-list-page.admin-clientes-list-page .admin-clientes-table-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    border: none;
    box-shadow: none;
    background: transparent;
}

.rh-list-page.admin-clientes-list-page .admin-clientes-table-wrap > .admin-clientes-list-table {
    border-radius: 12px;
    border: 1px solid var(--ds-color-border);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42);
}

main.app-area--inner article .rh-list-page.admin-clientes-list-page .admin-clientes-list-table thead th {
    position: sticky;
    top: 0;
    z-index: 4;
    background: var(--ds-table-header-bg) !important;
    box-shadow: inset 0 -1px 0 var(--ds-color-border);
}

main.app-area--inner article .rh-list-page.admin-clientes-list-page .admin-clientes-list-table td.admin-clientes-toggle-col {
    width: 4.75rem;
    min-width: 4.75rem;
    padding-left: 0.65rem;
    padding-right: 0.65rem;
}

.admin-clientes-list-switch {
    min-height: 1.5rem;
    padding-left: 2.5rem;
}

.admin-clientes-list-switch .form-check-input {
    width: 2.35rem;
    height: 1.2rem;
    margin-left: -2.5rem;
    cursor: pointer;
}

.admin-clientes-list-switch .form-check-input:disabled {
    cursor: wait;
    opacity: 0.55;
}

.admin-clientes-filtro-linha {
    gap: 0.65rem 1rem;
}

.admin-clientes-filtro-texto {
    flex: 1 1 14rem;
    min-width: 12rem;
    max-width: 24rem;
}

.admin-clientes-filtro-switch {
    flex: 0 0 auto;
    min-height: 1.75rem;
    padding-left: 2.35rem;
    white-space: nowrap;
}

.admin-clientes-filtro-switch .form-check-input {
    width: 2.1rem;
    height: 1.1rem;
    margin-left: -2.35rem;
    margin-top: 0.1rem;
    cursor: pointer;
}

.admin-clientes-filtro-switch .form-check-label {
    font-size: 0.8125rem;
    line-height: 1.35;
}

.admin-clientes-filtro-toolbar {
    margin-left: auto;
    flex: 0 0 auto;
    flex-wrap: nowrap;
}

.admin-clientes-nome-banco-col {
    min-width: 9rem;
    max-width: 14rem;
}

.admin-clientes-nome-banco-input {
    min-width: 8.5rem;
    max-width: 13rem;
    font-size: 0.8125rem;
}

.admin-clientes-chamados-filtro-status,
.admin-clientes-usuarios-filtro-setor {
    flex: 0 1 12rem;
    min-width: 9rem;
    max-width: 16rem;
}

.admin-clientes-chamados-filtro-status .form-select,
.admin-clientes-usuarios-filtro-setor .form-select {
    width: 100%;
}

.rh-list-page.admin-clientes-list-page .admin-clientes-chamados-table-wrap {
    overflow-x: auto;
}

.rh-list-page.admin-clientes-list-page .admin-clientes-chamados-assunto {
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-clientes-form .campo-nome-razao {
    min-width: 12rem;
}

/* Modal reajuste de contrato — cards e tabela legíveis no tema escuro e claro */
.fornecedor-modal .admin-reajuste-contrato-resumo {
    border: 1px solid rgba(120, 146, 176, 0.35);
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
    background: rgba(255, 255, 255, 0.06);
}

.fornecedor-modal .admin-reajuste-contrato-resumo-label {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 0.15rem;
}

.fornecedor-modal .admin-reajuste-contrato-resumo-valor {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.96);
}

.fornecedor-modal .admin-reajuste-contrato-resumo-valor--novo {
    color: var(--ds-color-primary);
}

.fornecedor-modal .admin-reajuste-contrato-aniversario {
    color: #75d99a;
}

.fornecedor-modal .admin-reajuste-indice-escolhido-badge {
    font-weight: 600;
    color: var(--ds-color-primary);
    background: rgba(110, 168, 254, 0.12);
    border-color: rgba(110, 168, 254, 0.35);
}

.fornecedor-modal .admin-reajuste-indice-card--escolhido {
    border-color: rgba(110, 168, 254, 0.55);
    box-shadow: 0 0 0 1px rgba(110, 168, 254, 0.25);
}

.fornecedor-modal .admin-reajuste-indice-valor {
    font-size: 1.1rem;
}

.fornecedor-modal .admin-reajuste-indice-referencia {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 0.15rem;
}

.fornecedor-modal .admin-reajuste-contrato-preview-table {
    --bs-table-bg: transparent;
    --bs-table-color: rgba(238, 242, 250, 0.95);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
    --bs-table-striped-color: rgba(238, 242, 250, 0.95);
    --bs-table-border-color: rgba(120, 146, 176, 0.28);
}

.fornecedor-modal .admin-reajuste-contrato-preview-table thead th {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
    border-bottom-color: rgba(120, 146, 176, 0.35);
}

.fornecedor-modal .admin-reajuste-contrato-preview-novo {
    color: var(--ds-color-primary);
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-contrato-resumo {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.12);
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-contrato-resumo-label {
    color: #64748b;
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-contrato-resumo-valor {
    color: #0f172a;
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-contrato-resumo-valor--novo {
    color: #0d6efd;
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-contrato-aniversario {
    color: #198754;
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-indice-escolhido-badge {
    color: #0d6efd;
    background: rgba(13, 110, 253, 0.08);
    border-color: rgba(13, 110, 253, 0.25);
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-indice-card--escolhido {
    border-color: rgba(13, 110, 253, 0.45);
    box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.15);
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-indice-referencia {
    color: rgba(33, 37, 41, 0.55);
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-contrato-preview-table {
    --bs-table-color: #1e293b;
    --bs-table-striped-bg: rgba(15, 23, 42, 0.04);
    --bs-table-striped-color: #1e293b;
    --bs-table-border-color: rgba(15, 23, 42, 0.1);
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-contrato-preview-table thead th {
    background: #f1f5f9;
    color: #334155;
    border-bottom-color: rgba(15, 23, 42, 0.12);
}

.page[data-caprind-theme-family="light"] .fornecedor-modal .admin-reajuste-contrato-preview-novo {
    color: #0d6efd;
}

.rh-list-page.admin-clientes-list-page .admin-clientes-reajuste-mes-atual,
.rh-list-page.admin-clientes-list-page .admin-clientes-reajuste-mes-atual .text-muted {
    color: #dc3545 !important;
    font-weight: 600;
}

.page[data-caprind-theme-family="dark"] .rh-list-page.admin-clientes-list-page .admin-clientes-reajuste-mes-atual,
.page[data-caprind-theme-family="dark"] .rh-list-page.admin-clientes-list-page .admin-clientes-reajuste-mes-atual .text-muted {
    color: #f87171 !important;
}

@media (max-width: 991.98px) {
    .admin-clientes-filtro-toolbar {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }
}

/* Compras — grupos/famílias: mesma lógica da lista RH, área cinza cobre o fundo do main */
.rh-list-page .compras-grupos-familias-layout {
    flex: 1 1 auto;
    min-height: 0;
    background-color: transparent;
}

main.app-area--home .rh-list-page .compras-grupos-familias-layout {
    background-color: transparent;
}

.rh-list-page .compras-grupos-familias-layout > .row {
    min-height: 100%;
}

/* Compras — famílias: transparente só no Início (foto); nas outras rotas herda o shell */
main.app-area--home article form.app-fill-form .container-fluid.app-page.compras-grupos-familias-page.rh-list-page {
    background-color: transparent;
}

.app-page.compras-grupos-familias-page {
    padding-left: 0;
    padding-right: 0;
}

.compras-grupos-familias-page .app-section-title {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

main.app-area--home .compras-grupos-familias-page .app-section-title {
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.95), 0 0 3px rgba(255, 255, 255, 1);
}

.compras-grupos-familias-page .compras-gf-panel {
    margin-left: 1.25rem;
    margin-right: 1.25rem;
}

.compras-grupos-familias-page .compras-gf-table {
    font-size: 0.95rem;
}

.compras-grupos-familias-page .compras-gf-table thead th {
    font-weight: 600;
}

.compras-grupos-familias-page .modal-body .form-label,
.compras-grupos-familias-page .modal-body .form-control,
.compras-grupos-familias-page .modal-body .form-select {
    font-size: 0.95rem;
}

/* Todas as telas no article: formulário preenche altura e cobre o fundo imagem do main */
article > form.app-fill-form {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
}

article > form.app-fill-form > .container-fluid.app-page.app-page-fill:not(.rh-list-page),
article > .container-fluid.app-page.app-page-fill:not(.rh-list-page) {
    flex: 1 1 auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

article > .container-fluid.app-page:not(.app-page-fill) {
    flex: 1 1 auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.app-search {
    max-width: 380px;
}

.app-auth-card {
    color: var(--ds-color-text);
    background: var(--ds-color-surface-card);
    border-radius: 16px;
    border: 1px solid var(--ds-color-border);
    box-shadow: var(--ds-shadow-lg, 0 16px 40px rgba(4, 8, 14, 0.32));
    position: relative;
}

.login-page-layout .app-auth-card.login-card-shell {
    color: var(--ds-color-text) !important;
}

.login-page-layout .app-auth-card.login-card-shell .login-card-muted {
    color: var(--ds-color-text-muted) !important;
}

.login-page-layout .app-auth-card.login-card-shell .login-card-link {
    color: var(--ds-color-link-hover) !important;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.login-page-layout .app-auth-card.login-card-shell .login-card-link:hover,
.login-page-layout .app-auth-card.login-card-shell .login-card-link:focus {
    color: var(--ds-color-link-hover) !important;
}

.login-page-layout .app-auth-card.login-card-shell .form-control.app-auth-input:not(.login-float-input) {
    color: var(--ds-color-text-inverse, #212529) !important;
}

.login-page-layout .app-auth-card.login-card-shell .login-db-badge {
    background: var(--ds-color-bg-muted);
    color: var(--ds-color-text-muted);
    border-color: var(--ds-color-border);
}

.login-page-layout .app-auth-card.login-card-shell .login-db-badge-link:hover {
    color: var(--ds-color-text);
}

.login-page-layout .app-auth-card.login-card-shell .lnr-eye {
    color: color-mix(in srgb, var(--ds-color-text) 88%, transparent);
}

/* Login — layout tipo “Materio”: títulos, flutuante, ação roxa; variáveis = :root / tema Caprind */
.login-card-materio {
    --login-accent: var(--ds-color-primary);
    --login-accent-hover: var(--ds-color-primary-hover);
    --login-field-border: var(--ds-input-border);
    --login-field-bg: var(--ds-input-bg);
    --login-field-text: var(--ds-input-text);
    --login-label-notch-bg: color-mix(in srgb, var(--ds-color-brand-900) 98%, transparent);
    padding-top: 2rem;
    padding-bottom: 1.75rem;
}

.login-card-materio:has(.login-brand-slot--in-card) {
    padding-top: 1.35rem;
}

.login-card-materio .login-card-title {
    color: var(--ds-color-text) !important;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.login-card-materio .login-card-lead {
    color: var(--ds-color-text-muted);
    font-size: 0.95rem;
    line-height: 1.45;
}

.login-card-materio .login-float-input {
    border-radius: 10px !important;
    min-height: calc(3.5rem + 2px);
    border: 2px solid var(--login-field-border);
    background: var(--login-field-bg) !important;
    color: var(--login-field-text) !important;
    text-align: left;
    padding-top: 1.15rem;
    padding-bottom: 0.7rem;
    padding-left: 0.95rem;
    padding-right: 0.95rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.login-card-materio .login-float-input::placeholder {
    color: var(--ds-input-placeholder);
}

.login-card-materio .login-float-input:-webkit-autofill,
.login-card-materio .login-float-input:-webkit-autofill:hover,
.login-card-materio .login-float-input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--login-field-text);
    transition: background-color 9999s ease-out;
    box-shadow: 0 0 0 1000px var(--ds-color-brand-900) inset;
    border: 2px solid var(--login-field-border);
}

/* Label estilo outlined (entalhe na borda): texto branco + faixa que “corta” o traço */
.login-card-materio .form-floating {
    position: relative;
}

.login-card-materio .form-floating > label {
    position: absolute;
    z-index: 3;
    left: 0.85rem;
    top: 0;
    width: auto !important;
    max-width: calc(100% - 3.25rem);
    margin: 0;
    padding: 0 0.35rem;
    height: auto;
    line-height: 1.2;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: var(--ds-color-text);
    text-align: left;
    pointer-events: none;
    transform: translateY(-50%);
    transform-origin: left center;
    background-color: var(--login-label-notch-bg);
    border-radius: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.15s ease, transform 0.15s ease, font-size 0.15s ease;
}

.login-card-materio .form-floating > .login-float-input:focus ~ label,
.login-card-materio .form-floating > .login-float-input:not(:placeholder-shown) ~ label {
    color: var(--ds-color-text);
    left: 0.78rem;
    top: 0;
    padding: 0 0.35rem;
    font-size: 0.75rem;
    transform: translateY(-50%) scale(0.96);
    transform-origin: left center;
}

.login-card-materio .login-float-input:hover:not(:focus) {
    border-color: color-mix(in srgb, var(--ds-input-border-focus) 65%, transparent);
}

.login-card-materio .login-float-input:focus {
    border-color: var(--ds-input-border-focus);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-color-primary) 30%, transparent);
    outline: none;
}

.login-card-materio .login-password-floating .login-float-input {
    padding-right: 2.85rem;
}

.login-card-materio .login-float-wrap {
    position: relative;
}

.login-card-materio .login-eye-toggle {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: rgba(158, 200, 236, 0.9) !important;
    font-size: 1.1rem;
    z-index: 4;
    margin-top: 0.1rem;
}

.login-card-materio .login-eye-toggle:hover {
    color: #fff !important;
}

/* Campos e botões ~30% mais estreitos na horizontal (70% da largura do cartão), centralizados */
.login-card-materio .login-field-wrap {
    width: 70%;
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
}

.login-card-materio .login-options-row {
    width: 70%;
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
}

.login-card-materio .login-btn-primary,
.login-card-materio .login-btn-secondary-outline {
    width: 70% !important;
    max-width: 70%;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
}

.login-card-materio .login-remember-check {
    border-radius: 0.35rem;
    border-color: rgba(255, 255, 255, 0.45);
    background-color: rgba(255, 255, 255, 0.12);
}

.login-card-materio .login-remember-check:checked {
    background-color: var(--login-accent);
    border-color: var(--login-accent);
}

.login-card-materio .login-remember-label {
    color: var(--ds-color-text) !important;
    font-size: 0.92rem;
    padding-left: 0.35rem;
}

.login-card-materio .login-accent-link {
    color: var(--ds-color-link-hover) !important;
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
}

.login-card-materio .login-accent-link:hover,
.login-card-materio .login-accent-link:focus {
    color: var(--ds-color-link-hover) !important;
    text-decoration: underline;
}

.login-card-materio .login-btn-primary {
    background: linear-gradient(180deg, var(--login-accent) 0%, var(--login-accent-hover) 100%);
    border: none;
    color: #fff !important;
    letter-spacing: 0.04em;
    font-size: 0.9rem;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--login-accent) 38%, transparent);
}

.login-card-materio .login-btn-primary:hover,
.login-card-materio .login-btn-primary:focus {
    background: var(--login-accent-hover);
    color: #fff !important;
    filter: brightness(1.03);
}

.login-card-materio .login-btn-primary:active {
    filter: brightness(0.96);
}

.login-card-materio .login-btn-secondary-outline {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.38);
    color: #fff !important;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
}

.login-card-materio .login-btn-secondary-outline:hover,
.login-card-materio .login-btn-secondary-outline:focus {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff !important;
}

.login-card-materio .login-btn-secondary-outline:active {
    background: rgba(255, 255, 255, 0.06);
}

.login-card-materio .login-theme-toggle-btn {
    border: 1px solid color-mix(in srgb, var(--ds-color-primary) 45%, transparent);
    color: var(--ds-color-text);
    background: color-mix(in srgb, var(--ds-color-brand-700) 42%, transparent);
    font-weight: 600;
}

.login-card-materio .login-theme-toggle-btn:hover,
.login-card-materio .login-theme-toggle-btn:focus {
    border-color: color-mix(in srgb, var(--ds-color-primary) 70%, transparent);
    color: var(--ds-color-text);
    background: color-mix(in srgb, var(--ds-color-brand-600) 62%, transparent);
}

/* Fallback robusto: garante render do botão de tema nas telas de autenticação. */
.login-card-materio .login-theme-toggle-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    visibility: visible !important;
    opacity: 1 !important;
}

.login-card-materio .login-card-footer--materio {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    border-top: 1px solid var(--ds-color-border);
    padding-top: 1.1rem;
    margin-top: 0.15rem;
}

.login-card-materio .login-card-footer--version-only {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
    gap: 0;
    padding-top: 0.85rem;
    margin-top: 0.75rem;
}

.login-card-version {
    margin: 0;
    color: var(--ds-color-text-muted);
    font-size: clamp(0.78rem, 1.5vw, 0.88rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.login-card-materio .login-card-footer--materio.login-card-footer--split {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    gap: 0.65rem 1rem;
}

.login-card-materio .login-card-footer--split .login-card-footer-start {
    flex: 1 1 auto;
    min-width: 0;
}

.login-card-materio .login-card-footer--split .login-card-db-footer strong {
    color: var(--ds-color-text);
    font-weight: 600;
}

.login-card-materio .login-card-footer--split .login-register {
    flex: 0 1 auto;
    text-align: right;
    margin-left: auto;
}

.login-card-materio .login-card-footer--split:not(:has(.login-card-db-footer)) {
    justify-content: flex-end;
}

.login-card-materio .login-register--center {
    text-align: center;
}

.login-card-materio .login-db-badge {
    background: var(--ds-color-bg-muted);
    color: var(--ds-color-text-muted);
    border-color: var(--ds-color-border);
}

@media (min-width: 768px) {
    /* Evita o cartão “encolher” após carregar dados; largura confortável no desktop (~900px) */
    .login-page-layout .login-shell {
        flex-shrink: 0;
        width: 100% !important;
        max-width: min(94vw, 920px);
    }

    .login-page-layout .login-card-shell {
        width: 100%;
        max-width: 880px;
    }

    .login-page-layout .login-field-wrap {
        max-width: 100%;
    }
}

.login-card-shell {
    width: 100%;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

.login-field-wrap {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.login-password-wrap {
    position: relative;
    align-items: center;
}

.login-card-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    margin-top: 0.35rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--ds-color-border);
}

.login-card-footer .login-register {
    text-align: right;
}

.login-db-badge {
    position: static;
    font-size: 12px;
    background: #0f3e6c;
    color: #fff;
    padding: 6px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.login-db-badge-link {
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: filter 0.15s ease, transform 0.15s ease;
}

.login-db-badge-link:hover {
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.app-auth-input {
    border-radius: 14px;
    min-height: 2.5rem;
    padding: 0.45rem 0.95rem;
    border: 1px solid #0a58ca6e;
}

.login-forgot {
    padding-left: 15px;
}

/* Tabelas de lista — padrão claro (ex.: dentro de modal) */
.app-data-table.table {
    --bs-table-bg: var(--ds-color-surface-card, #ffffff);
    --bs-table-striped-bg: color-mix(in srgb, var(--ds-color-brand-100) 35%, var(--ds-color-link-hover));
    --bs-table-hover-bg: color-mix(in srgb, var(--ds-color-brand-100) 55%, var(--ds-color-primary-subtle));
    --bs-table-active-bg: #dbe8f8;
    --bs-table-border-color: color-mix(in srgb, var(--ds-color-brand-100) 40%, var(--ds-color-border));
    color: color-mix(in srgb, var(--ds-color-text-inverse) 88%, var(--ds-color-brand-800));
    margin-bottom: 0;
}

.app-data-table {
    background: var(--ds-color-surface-card, #ffffff);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ds-color-brand-200) 55%, var(--ds-color-border));
    box-shadow: 0 1px 4px rgba(15, 40, 71, 0.07);
}

.app-data-table thead th {
    background: color-mix(in srgb, var(--ds-color-brand-100) 70%, var(--ds-color-bg-muted)) !important;
    color: var(--ds-color-text-inverse);
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
    padding: 0.85rem 1.05rem;
    border-bottom: 1px solid color-mix(in srgb, var(--ds-color-brand-100) 40%, var(--ds-color-border));
    vertical-align: middle;
}

.app-data-table td {
    color: color-mix(in srgb, var(--ds-color-text-inverse) 88%, var(--ds-color-brand-800));
    vertical-align: middle;
    padding: 0.72rem 1.05rem;
    border-color: color-mix(in srgb, var(--ds-color-brand-100) 40%, var(--ds-color-border));
}

.app-data-table.table-sm thead th {
    padding: 0.65rem 0.85rem;
    font-size: 0.78rem;
}

.app-data-table.table-sm td {
    padding: 0.5rem 0.85rem;
    font-size: 0.9rem;
}

/* Área interna: listas estilo dashboard escuro (Materio) */
main.app-area--inner article .app-data-table.table {
    --bs-table-bg: var(--ds-color-brand-800);
    --bs-table-color: var(--ds-color-text);
    --bs-table-striped-bg: var(--ds-table-row-stripe);
    --bs-table-striped-color: var(--ds-color-text);
    --bs-table-hover-bg: var(--ds-table-row-hover);
    --bs-table-active-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-border-color: var(--ds-color-border);
    color: var(--ds-color-text);
    margin-bottom: 0;
}

main.app-area--inner article .app-data-table {
    background: var(--ds-color-bg-elevated);
    border-radius: 12px;
    border: 1px solid var(--ds-color-border);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42);
}

main.app-area--inner article .app-data-table thead th {
    background: var(--ds-table-header-bg) !important;
    color: var(--ds-table-header-text);
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.085em;
    padding: 0.95rem 1.1rem;
    border-bottom: 1px solid var(--ds-color-border);
    vertical-align: middle;
}

main.app-area--inner article .app-data-table td {
    color: var(--ds-color-text);
    padding: 0.85rem 1.1rem;
    border-color: var(--ds-color-border);
    vertical-align: middle;
}

main.app-area--inner article .app-data-table.table-sm thead th {
    padding: 0.72rem 0.95rem;
    font-size: 0.68rem;
}

main.app-area--inner article .app-data-table.table-sm td {
    padding: 0.65rem 0.95rem;
    font-size: 0.88rem;
}

main.app-area--inner article .app-data-table a:not(.btn) {
    color: #ffffff;
    font-weight: 500;
    text-decoration: none;
}

main.app-area--inner article .app-data-table a:not(.btn):hover {
    color: #ffffff;
    text-decoration: underline;
    opacity: 0.92;
}

main.app-area--inner article .app-data-table .text-muted {
    color: var(--ds-color-text-muted) !important;
}

main.app-area--inner article .app-data-table .badge {
    border-radius: 999px;
    font-weight: 600;
    padding: 0.38em 0.78em;
    font-size: 0.78rem;
}

main.app-area--inner article .app-data-table .badge.bg-success {
    background: rgba(34, 197, 94, 0.22) !important;
    color: #6ee7a8 !important;
}

main.app-area--inner article .app-data-table .badge.bg-danger {
    background: rgba(248, 113, 113, 0.2) !important;
    color: #fca5a5 !important;
}

main.app-area--inner article .app-data-table .badge.bg-secondary {
    background: rgba(148, 163, 184, 0.22) !important;
    color: #d1d9e8 !important;
}

main.app-area--inner article .app-data-table .badge.bg-warning {
    background: rgba(251, 191, 36, 0.2) !important;
    color: #fcd34d !important;
}

main.app-area--inner article .app-data-table .badge.bg-info {
    background: rgba(56, 189, 248, 0.18) !important;
    color: #7dd3fc !important;
}

main.app-area--inner article .app-data-table tbody tr.app-table-row-selected > * {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ds-color-text);
    background-color: color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
    color: var(--ds-color-text) !important;
}

main.app-area--inner article .app-data-table tbody tr.table-secondary > *,
main.app-area--inner article .app-data-table tbody tr.table-primary > * {
    --bs-table-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-bg-state: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-bg-type: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-accent-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-color: var(--ds-color-text);
    --bs-table-color-state: var(--ds-color-text);
    --bs-table-color-type: var(--ds-color-text);
    background-color: color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
    color: var(--ds-color-text) !important;
    box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
}

/* Tema escuro: tabelas no painel sem app-data-table herdam o padrão das listas */
.page:not([data-caprind-theme-family="light"]) main.app-area--inner article .app-panel .table:not(.app-data-table):not(.db-table) {
    --bs-table-bg: var(--ds-color-brand-800);
    --bs-table-color: var(--ds-color-text);
    --bs-table-striped-bg: var(--ds-table-row-stripe);
    --bs-table-striped-color: var(--ds-color-text);
    --bs-table-hover-bg: var(--ds-table-row-hover);
    --bs-table-active-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-border-color: var(--ds-color-border);
    color: var(--ds-color-text);
    margin-bottom: 0;
}

.page:not([data-caprind-theme-family="light"]) main.app-area--inner article .app-panel .table:not(.app-data-table):not(.db-table) thead th,
.page:not([data-caprind-theme-family="light"]) main.app-area--inner article .app-panel .table:not(.app-data-table):not(.db-table) thead.table-light th {
    background: var(--ds-table-header-bg) !important;
    color: var(--ds-table-header-text) !important;
    border-color: var(--ds-color-border);
}

.page:not([data-caprind-theme-family="light"]) main.app-area--inner article .app-panel .table:not(.app-data-table):not(.db-table) td {
    color: var(--ds-color-text);
    border-color: var(--ds-color-border);
}

.page:not([data-caprind-theme-family="light"]) main.app-area--inner article .app-panel .table:not(.app-data-table):not(.db-table) tbody tr.table-secondary > *,
.page:not([data-caprind-theme-family="light"]) main.app-area--inner article .app-panel .table:not(.app-data-table):not(.db-table) tbody tr.table-primary > * {
    --bs-table-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-bg-state: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-bg-type: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-accent-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-color: var(--ds-color-text);
    --bs-table-color-state: var(--ds-color-text);
    --bs-table-color-type: var(--ds-color-text);
    background-color: color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
    color: var(--ds-color-text) !important;
    box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
}

/* DRE: seções e totais legíveis no tema escuro (Bootstrap 5.3 usa box-shadow nas células) */
main.app-area--inner article .financeiro-dre-table tbody tr.financeiro-dre-linha-secao > *,
main.app-area--inner article .financeiro-dre-table tbody tr.financeiro-dre-linha-resultado > * {
    --bs-table-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-bg-state: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-bg-type: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-accent-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-color: var(--ds-color-text);
    --bs-table-color-state: var(--ds-color-text);
    --bs-table-color-type: var(--ds-color-text);
    background-color: color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
    color: var(--ds-color-text) !important;
    box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
}

main.app-area--inner article .financeiro-dre-table tbody tr.financeiro-dre-linha-resultado > * {
    --bs-table-bg: rgba(61, 154, 224, 0.38);
    --bs-table-bg-state: rgba(61, 154, 224, 0.38);
    --bs-table-bg-type: rgba(61, 154, 224, 0.38);
    --bs-table-accent-bg: rgba(61, 154, 224, 0.38);
    background-color: rgba(61, 154, 224, 0.38) !important;
    box-shadow: inset 0 0 0 9999px rgba(61, 154, 224, 0.38) !important;
    border-top: 2px solid var(--ds-color-border);
}

main.app-area--inner article .financeiro-dre-table tbody tr.financeiro-dre-linha-subtotal > * {
    border-top-color: var(--ds-color-border) !important;
}

main.app-area--inner article .financeiro-dre-table tbody tr.financeiro-dre-linha-grupo > * {
    color: var(--ds-color-text) !important;
}

.page:not([data-caprind-theme-family="light"]) main.app-area--inner article .caprind-dashboard-kpi-value.text-success {
    color: #6ee7a8 !important;
}

.page:not([data-caprind-theme-family="light"]) main.app-area--inner article .caprind-dashboard-kpi-value.text-danger {
    color: #fca5a5 !important;
}

/* Extrato fluxo (instituição): sem listras; linha SALDO só com separador; valores legíveis por tema */
main.app-area--inner article .instituicao-extrato-panel {
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

main.app-area--inner article .instituicao-extrato-filtros,
main.app-area--inner article .instituicao-extrato-resumo {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .instituicao-extrato-filtros-acoes {
    min-width: 0;
}

main.app-area--inner article .instituicao-extrato-corpo {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

main.app-area--inner article .instituicao-extrato-corpo > .table-responsive.compras-produtos-table-wrap {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

main.app-area--inner article .app-data-table.app-extrato-fluxo-table tbody tr.app-extrato-tr-saldo > * {
    background-color: transparent !important;
    border-top: 1px solid var(--ds-color-border);
    color: var(--ds-color-text) !important;
}

main.app-area--inner article .app-data-table.app-extrato-fluxo-table .app-extrato-valor-credito {
    color: #f8fafc !important;
    font-weight: 600;
}

main.app-area--inner article .app-data-table.app-extrato-fluxo-table .app-extrato-valor-debito {
    color: #f1f5f9 !important;
    font-weight: 600;
}

/* Coluna Ações: faixa roxo-ardósia + botões só ícone (minimalista) */
main.app-area--inner article .app-data-table th.app-actions-col,
main.app-area--inner article .app-data-table td.app-actions-col,
main.app-area--inner article .app-data-table th.app-col-acoes,
main.app-area--inner article .app-data-table td.app-col-acoes {
    background-color: color-mix(in srgb, var(--ds-color-brand-900) 88%, transparent);
    border-left: 1px solid var(--ds-color-border);
}

main.app-area--inner article .app-data-table th.app-actions-col:first-child,
main.app-area--inner article .app-data-table td.app-actions-col:first-child,
main.app-area--inner article .app-data-table th.app-col-acoes:first-child,
main.app-area--inner article .app-data-table td.app-col-acoes:first-child {
    border-left: none;
    border-right: 1px solid var(--ds-color-border);
}

main.app-area--inner article .app-data-table .app-actions-col,
main.app-area--inner article .app-data-table .app-col-acoes {
    width: 1%;
    min-width: 5.75rem;
    max-width: 7.5rem;
    vertical-align: middle;
    text-align: center !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

main.app-area--inner article .app-data-table.app-extrato-fluxo-table .app-actions-col {
    min-width: 5.5rem;
    max-width: 6.25rem;
}

main.app-area--inner article .app-data-table.app-extrato-fluxo-table th.app-actions-col:last-child,
main.app-area--inner article .app-data-table.app-extrato-fluxo-table td.app-actions-col:last-child {
    border-left: 1px solid var(--ds-color-border);
    border-right: none;
}

main.app-area--inner article .app-data-table.app-extrato-fluxo-table tbody tr.app-extrato-tr-saldo > td.app-actions-col {
    background-color: transparent !important;
    border-left: none !important;
}

main.app-area--inner article .app-data-table td.app-actions-col,
main.app-area--inner article .app-data-table td.app-col-acoes {
    text-align: center !important;
}

main.app-area--inner article .app-data-table .app-actions-col .app-row-actions,
main.app-area--inner article .app-data-table .app-col-acoes .app-row-actions {
    justify-content: center !important;
    width: 100%;
}

/* Coluna Ações à direita (última): sticky em telas estreitas */
@media (max-width: 991.98px) {
    main.app-area--inner article .table-responsive:has(> .table.app-data-table) th.app-actions-col:last-child,
    main.app-area--inner article .table-responsive:has(> .table.app-data-table) td.app-actions-col:last-child {
        position: sticky;
        right: 0;
        z-index: 2;
        box-shadow: -6px 0 12px rgba(0, 0, 0, 0.22);
    }

    main.app-area--inner article .table-responsive:has(> .table.app-data-table) thead th.app-actions-col:last-child {
        z-index: 3;
    }
}

/* Instituições financeiras — lista: 4 ícones centralizados, largura justa */
main.app-area--inner article .app-data-table.instituicao-financeira-list-table .app-actions-col {
    width: 1%;
    min-width: 8.75rem;
    max-width: 9.25rem;
    white-space: nowrap;
    text-align: center !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

main.app-area--inner article .app-data-table.instituicao-financeira-list-table .app-actions-col .app-row-actions {
    justify-content: center;
    width: 100%;
}

main.app-area--inner article .app-data-table.nfse-servicos-list-table .app-actions-col {
    width: auto;
    min-width: 7.5rem;
    max-width: none;
}

main.app-area--inner article .app-data-table.assinatura-cobranca-list-table .app-actions-col {
    width: auto;
    min-width: 12.5rem;
    max-width: none;
}

main.app-area--inner article .app-data-table.assinatura-cobranca-list-table td.text-success {
    color: #4ade80 !important;
}

main.app-area--inner article .app-data-table.assinatura-cobranca-list-table td.text-info {
    color: #7dd3fc !important;
}

main.app-area--inner article .app-data-table.assinatura-cobranca-list-table td.text-warning {
    color: #fcd34d !important;
}

main.app-area--inner article .app-data-table.assinatura-cobranca-list-table td.text-danger {
    color: #fca5a5 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .app-data-table.assinatura-cobranca-list-table td.text-success {
    color: var(--bs-success) !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .app-data-table.assinatura-cobranca-list-table td.text-info {
    color: #087990 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .app-data-table.assinatura-cobranca-list-table td.text-warning {
    color: #997404 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .app-data-table.assinatura-cobranca-list-table td.text-danger {
    color: var(--bs-danger) !important;
}

main.app-area--inner article .app-data-table.nfe-servicos-list-table .app-actions-col {
    width: auto;
    min-width: 18.5rem;
    max-width: none;
}

main.app-area--inner article .app-data-table.nfe-servicos-list-table .app-row-actions {
    flex-wrap: nowrap;
}

/* NF-e de terceiros — coluna Ações com largura fixa (até 5 ícones) */
main.app-area--inner article .app-data-table.nfe-terceiros-list-table .app-actions-col,
main.app-area--inner article .app-data-table.nfe-terceiros-list-table .nfe-terceiros-acoes-col {
    width: 1%;
    min-width: 11.25rem;
    max-width: 11.25rem;
    white-space: nowrap;
    text-align: center !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

main.app-area--inner article .app-data-table.nfe-terceiros-list-table .app-row-actions {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.85rem;
}

main.app-area--inner article .app-data-table.nfe-terceiros-list-table .app-row-action-btn {
    width: 1.85rem;
    height: 1.85rem;
    min-width: 1.85rem;
    padding: 0;
    flex: 0 0 1.85rem;
}

/* Carteira de itens: PI, proposta, ordem faturamento, NF-e produtos */
main.app-area--inner article .app-data-table.vendas-carteira-itens-table .app-actions-col,
.modal .modal-content .app-data-table.vendas-carteira-itens-table .app-actions-col {
    width: auto;
    min-width: 11rem;
    max-width: none;
    white-space: nowrap;
    text-align: center !important;
}

main.app-area--inner article .app-data-table.vendas-carteira-itens-table.vendas-carteira-itens-table--cols-5 .app-actions-col {
    min-width: 13rem;
}

main.app-area--inner article .app-data-table.vendas-carteira-itens-table.vendas-carteira-itens-table--cols-4 .app-actions-col {
    min-width: 11rem;
}

main.app-area--inner article .app-data-table.vendas-carteira-itens-table.vendas-carteira-itens-table--cols-2 .app-actions-col {
    min-width: 6.5rem;
}

main.app-area--inner article .app-data-table.vendas-carteira-itens-table.vendas-carteira-itens-table--cols-3 .app-actions-col {
    min-width: 9rem;
}

main.app-area--inner article .app-data-table.vendas-carteira-itens-table.vendas-carteira-itens-table--wide .app-actions-col {
    min-width: 18.5rem;
}

main.app-area--inner article .app-data-table.vendas-carteira-itens-table .app-actions-col .app-row-actions,
.modal .modal-content .app-data-table.vendas-carteira-itens-table .app-actions-col .app-row-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
}

main.app-area--inner article .app-data-table.vendas-carteira-itens-table .app-row-action-btn.btn,
.modal .modal-content .app-data-table.vendas-carteira-itens-table .app-row-action-btn.btn {
    width: 2.2rem;
    height: 2.2rem;
    min-width: 2.2rem;
    flex-shrink: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

main.app-area--inner article .app-data-table tfoot .app-data-table-total-row td,
.modal .modal-content .app-data-table tfoot .app-data-table-total-row td {
    border-top: 2px solid var(--ds-color-border);
    background-color: color-mix(in srgb, var(--ds-color-brand-900) 88%, transparent);
    font-weight: 600;
}

main.app-area--inner article .table-responsive:has(> .vendas-carteira-itens-table) th.app-actions-col:last-child,
main.app-area--inner article .table-responsive:has(> .vendas-carteira-itens-table) td.app-actions-col:last-child {
    position: static;
    box-shadow: none;
}

main.app-area--inner article .app-data-table.nfse-servicos-list-table .nfse-chave-col {
    min-width: 11rem;
    max-width: 16rem;
}

main.app-area--inner article .app-data-table.instituicao-financeira-list-table .app-descricao-col {
    width: 18%;
    max-width: 12.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

main.app-area--inner article .app-data-table.instituicao-financeira-list-table .instituicao-lista-banco-col {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
    text-align: left !important;
}

main.app-area--inner article .app-data-table.instituicao-financeira-list-table .instituicao-lista-banco {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

main.app-area--inner article .app-data-table.instituicao-financeira-list-table .instituicao-lista-banco .banco-logo-tile {
    --banco-logo-inner: 20px;
    width: 2rem;
    height: 2rem;
    padding: 0.25rem;
    border-radius: 8px;
    box-shadow: none;
}

main.app-area--inner article .app-data-table.instituicao-financeira-list-table .instituicao-lista-banco-codigo {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* Empresas — lista: ícone + código (padrão instituições financeiras) */
.empresa-logo-tile {
    --empresa-logo-inner: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0.25rem;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.14);
    flex-shrink: 0;
    overflow: hidden;
}

.empresa-logo-tile.empresa-logo-tile--fallback {
    background: var(--empresa-logo-fallback-bg);
    border: 1px solid var(--empresa-logo-fallback-border);
    box-shadow: none;
}

.empresa-logo-tile .empresa-logo-in-tile {
    width: var(--empresa-logo-inner);
    height: var(--empresa-logo-inner);
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.empresa-logo-tile .empresa-logo-fallback-in-tile {
    font-size: 1.05rem;
    line-height: 1;
    color: var(--empresa-logo-fallback-color);
}

main.app-area--inner article .app-data-table.empresas-list-table .empresa-lista-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
}

main.app-area--inner article .app-data-table.empresas-list-table .empresa-lista-icone .bi {
    font-size: 1.15rem;
    color: #ffffff;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .app-data-table.empresas-list-table .empresa-lista-icone .bi {
    color: #0f172a;
}

main.app-area--inner article .app-data-table.empresas-list-table .empresa-lista-icone-col {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
    text-align: left !important;
}

main.app-area--inner article .app-data-table.empresas-list-table .empresa-lista-ident {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

main.app-area--inner article .app-data-table.empresas-list-table .empresa-lista-codigo {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    letter-spacing: 0.02em;
}

main.app-area--inner article .app-data-table.admin-historico-sistema-table .admin-historico-descricao {
    max-width: 24rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

main.app-area--inner article .app-data-table.admin-historico-sistema-table .app-actions-col {
    width: 1%;
    min-width: 5.5rem;
    max-width: 5.75rem;
    white-space: nowrap;
    text-align: center !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

main.app-area--inner article .app-data-table.admin-historico-sistema-table .app-actions-col .app-row-actions {
    justify-content: center;
    width: 100%;
    gap: 0.28rem;
}

main.app-area--inner article .app-data-table .app-row-actions {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.28rem;
    justify-content: center !important;
    align-items: center;
    width: 100%;
    white-space: nowrap;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn,
main.app-area--inner article .db-table .app-row-action-btn.btn {
    min-width: 0;
    width: 2.1rem;
    height: 2.1rem;
    padding: 0;
    border-radius: 8px;
    font-size: 0;
    line-height: 0;
    letter-spacing: 0;
    background: color-mix(in srgb, #000000 18%, transparent);
    box-shadow: none;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn i,
main.app-area--inner article .app-data-table .app-row-action-btn.btn .app-icon,
main.app-area--inner article .db-table .app-row-action-btn.btn i,
main.app-area--inner article .db-table .app-row-action-btn.btn .app-icon {
    font-size: 1.02rem;
    line-height: 1;
    margin: 0 !important;
    vertical-align: 0;
    color: inherit !important;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-secondary,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-secondary {
    border: 1px solid color-mix(in srgb, var(--ds-color-secondary) 72%, transparent) !important;
    color: color-mix(in srgb, var(--ds-color-secondary) 75%, var(--ds-color-text)) !important;
    --bs-btn-color: color-mix(in srgb, var(--ds-color-secondary) 75%, var(--ds-color-text));
    --bs-btn-border-color: color-mix(in srgb, var(--ds-color-secondary) 72%, transparent);
    --bs-btn-hover-color: var(--ds-color-link-hover);
    --bs-btn-hover-bg: rgba(148, 163, 184, 0.22);
    --bs-btn-hover-border-color: #94a3b8;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-secondary:hover,
main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-secondary:focus,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-secondary:hover,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-secondary:focus {
    background: rgba(148, 163, 184, 0.24) !important;
    border-color: #94a3b8 !important;
    color: var(--ds-color-link-hover) !important;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-primary,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-primary {
    border: 1px solid color-mix(in srgb, var(--ds-color-primary) 88%, transparent) !important;
    color: color-mix(in srgb, var(--ds-color-primary) 82%, var(--ds-color-text)) !important;
    --bs-btn-color: color-mix(in srgb, var(--ds-color-primary) 82%, var(--ds-color-text));
    --bs-btn-border-color: color-mix(in srgb, var(--ds-color-primary) 88%, transparent);
    --bs-btn-hover-color: var(--ds-color-link-hover);
    --bs-btn-hover-bg: rgba(96, 165, 250, 0.22);
    --bs-btn-hover-border-color: #60a5fa;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-primary:hover,
main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-primary:focus,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-primary:hover,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-primary:focus {
    background: rgba(96, 165, 250, 0.26) !important;
    border-color: #60a5fa !important;
    color: var(--ds-color-link-hover) !important;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-success,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-success {
    border: 1px solid color-mix(in srgb, var(--ds-color-success) 88%, transparent) !important;
    color: color-mix(in srgb, var(--ds-color-success) 78%, var(--ds-color-text)) !important;
    --bs-btn-color: color-mix(in srgb, var(--ds-color-success) 78%, var(--ds-color-text));
    --bs-btn-border-color: color-mix(in srgb, var(--ds-color-success) 88%, transparent);
    --bs-btn-hover-color: var(--ds-color-link-hover);
    --bs-btn-hover-bg: rgba(74, 222, 128, 0.22);
    --bs-btn-hover-border-color: #4ade80;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-success:hover,
main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-success:focus,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-success:hover,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-success:focus {
    background: rgba(74, 222, 128, 0.26) !important;
    border-color: #4ade80 !important;
    color: var(--ds-color-link-hover) !important;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-info,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-info {
    border: 1px solid color-mix(in srgb, var(--ds-color-info) 88%, transparent) !important;
    color: color-mix(in srgb, var(--ds-color-info) 78%, var(--ds-color-text)) !important;
    --bs-btn-color: color-mix(in srgb, var(--ds-color-info) 78%, var(--ds-color-text));
    --bs-btn-border-color: color-mix(in srgb, var(--ds-color-info) 88%, transparent);
    --bs-btn-hover-color: var(--ds-color-link-hover);
    --bs-btn-hover-bg: rgba(45, 212, 191, 0.22);
    --bs-btn-hover-border-color: #2dd4bf;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-info:hover,
main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-info:focus,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-info:hover,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-info:focus {
    background: rgba(45, 212, 191, 0.26) !important;
    border-color: #2dd4bf !important;
    color: var(--ds-color-link-hover) !important;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-warning,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-warning {
    border: 1px solid color-mix(in srgb, var(--ds-color-warning) 88%, transparent) !important;
    color: color-mix(in srgb, var(--ds-color-warning) 82%, var(--ds-color-text)) !important;
    --bs-btn-color: color-mix(in srgb, var(--ds-color-warning) 82%, var(--ds-color-text));
    --bs-btn-border-color: color-mix(in srgb, var(--ds-color-warning) 88%, transparent);
    --bs-btn-hover-color: var(--ds-color-link-hover);
    --bs-btn-hover-bg: rgba(251, 191, 36, 0.22);
    --bs-btn-hover-border-color: #fbbf24;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-warning:hover,
main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-warning:focus,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-warning:hover,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-warning:focus {
    background: rgba(251, 191, 36, 0.26) !important;
    border-color: #fbbf24 !important;
    color: var(--ds-color-link-hover) !important;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-danger,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-danger {
    border: 1px solid color-mix(in srgb, var(--ds-color-danger) 92%, transparent) !important;
    color: color-mix(in srgb, var(--ds-color-danger) 72%, var(--ds-color-text)) !important;
    --bs-btn-color: color-mix(in srgb, var(--ds-color-danger) 72%, var(--ds-color-text));
    --bs-btn-border-color: color-mix(in srgb, var(--ds-color-danger) 92%, transparent);
    --bs-btn-hover-color: var(--ds-color-link-hover);
    --bs-btn-hover-bg: rgba(248, 113, 113, 0.22);
    --bs-btn-hover-border-color: #f87171;
    --bs-btn-focus-shadow-rgb: 248, 113, 113;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgba(220, 38, 38, 0.35);
    --bs-btn-active-border-color: #ef4444;
}

main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-danger:hover,
main.app-area--inner article .app-data-table .app-row-action-btn.btn-outline-danger:focus,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-danger:hover,
main.app-area--inner article .db-table .app-row-action-btn.btn-outline-danger:focus {
    background: rgba(248, 113, 113, 0.28) !important;
    border-color: #f87171 !important;
    color: var(--ds-color-link-hover) !important;
}

main.app-area--inner article .app-data-table a.app-row-action-btn {
    text-decoration: none;
}

main.app-area--inner article .db-table th.app-actions-col,
main.app-area--inner article .db-table td.app-actions-col {
    background-color: color-mix(in srgb, var(--ds-color-brand-900) 88%, transparent);
    border-left: 1px solid var(--ds-color-border);
}

/* Modal: ações compactas sem faixa escura */
.modal .modal-content .app-data-table .app-row-action-btn.btn {
    width: 2.05rem;
    height: 2.05rem;
    padding: 0;
    font-size: 0;
    line-height: 0;
    min-width: 0;
    border-radius: 8px;
}

.modal .modal-content .app-data-table .app-row-action-btn.btn i,
.modal .modal-content .app-data-table .app-row-action-btn.btn .app-icon {
    font-size: 1rem;
    margin: 0 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table th.app-actions-col,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table td.app-actions-col {
    background: transparent;
    border-left: none;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table th.app-actions-col:last-child,
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table td.app-actions-col:last-child {
    border-left: 1px solid #e1e9f2;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .app-row-action-btn.btn {
    background: #f8fafc;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .app-row-action-btn.btn-outline-secondary {
    border-color: #94a3b8 !important;
    color: #475569 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .app-row-action-btn.btn-outline-primary {
    border-color: #60a5fa !important;
    color: #2563eb !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .app-row-action-btn.btn-outline-success {
    border-color: #4ade80 !important;
    color: #16a34a !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .app-row-action-btn.btn-outline-info {
    border-color: #2dd4bf !important;
    color: #0891b2 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .app-row-action-btn.btn-outline-warning {
    border-color: #fbbf24 !important;
    color: #d97706 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .app-row-action-btn.btn-outline-danger {
    border-color: #f87171 !important;
    color: #dc2626 !important;
}

.modal .modal-content .app-data-table .app-actions-col,
.modal .modal-content .app-data-table .app-col-acoes {
    min-width: 5.5rem;
    max-width: 7.5rem;
    text-align: center !important;
}

main.app-area--inner article .table-responsive:has(> .table.app-data-table) {
    border-radius: 12px;
    /* auto: recorta cantos arredondados e evita vazamento atrás do painel/fundo */
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--ds-color-border);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42);
    background: var(--ds-color-bg-elevated);
}

main.app-area--inner article .table-responsive:has(> .table.app-data-table) > .app-data-table {
    border: none;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

main.app-area--inner article .app-page-content > .table.app-data-table {
    border-color: var(--ds-color-border);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42);
}

main.app-area--inner article .app-pagination-bottom hr {
    border-color: rgba(255, 255, 255, 0.12);
    opacity: 1;
}

/* Paginação: botões arredondados (estilo dashboard) */
main.app-area--inner article nav.app-pagination .pagination {
    gap: 0.35rem;
}

main.app-area--inner article nav.app-pagination .page-item {
    margin: 0;
}

main.app-area--inner article nav.app-pagination .page-link {
    border-radius: 999px;
    min-width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.55rem;
    line-height: 1;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 600;
    font-size: 0.875rem;
}

main.app-area--inner article nav.app-pagination .page-item.active .page-link {
    background: linear-gradient(180deg, #dc3545 0%, #b02a37 100%);
    border-color: transparent;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(220, 53, 69, 0.42);
}

main.app-area--inner article nav.app-pagination .page-item.disabled .page-link {
    opacity: 0.4;
    pointer-events: none;
}

main.app-area--inner article nav.app-pagination .page-link:hover {
    background: rgba(61, 154, 224, 0.26);
    border-color: rgba(61, 154, 224, 0.48);
    color: #fff !important;
}

main.app-area--inner article nav.app-pagination .page-item:not(.disabled):not(.active) .page-link:focus {
    box-shadow: 0 0 0 3px rgba(61, 154, 224, 0.38);
}

.app-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.85rem 1rem;
}

.empresa-tabs {
    flex-wrap: wrap;
    row-gap: 0.35rem;
}

.empresa-tabs .nav-item {
    margin-bottom: 0;
}

/* Instituição financeira (visualizar): abas Dados/Extrato na toolbar — alinhar à base com os botões */
main.app-area--inner article .app-toolbar .instituicao-fin-secao-tabs {
    align-self: flex-end;
}

.app-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.app-field-full {
    grid-column: 1 / -1;
}

.app-field input[disabled] {
    background-color: #eef3f9;
    color: #526176;
}

.app-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    margin-top: 1rem;
}

.empresa-form-section {
    background: #f8fbff;
    border: 1px solid #d9e1ec;
    border-radius: 12px;
    padding: 0.9rem;
    margin-bottom: 0.9rem;
}

.empresa-top-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0.9rem;
    align-items: stretch;
    grid-auto-rows: 1fr;
    margin-bottom: 0.9rem;
}

.empresa-top-grid > .empresa-form-section {
    margin-bottom: 0;
    height: 100%;
}

.empresa-top-grid > .empresa-form-section:first-child {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.empresa-top-grid > .empresa-form-section:first-child .empresa-logo-field {
    height: 100%;
    flex: 1;
}

.empresa-top-grid > .empresa-form-section:first-child .empresa-logo-upload-box {
    width: 100%;
    max-width: 100%;
    flex: 1;
    min-height: 260px;
}

.empresa-form-section-title {
    margin-bottom: 0.75rem;
    font-size: 1rem;
    color: #1f2a37;
    font-weight: 700;
}

.empresa-required-hint {
    font-size: 0.85rem;
    color: #415166;
}

.required-mark {
    color: #b42318;
    font-weight: 700;
}

.empresa-arquivos-grid {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(320px, 1fr);
    gap: 1.15rem;
    align-items: start;
}

.empresa-logo-field {
    align-items: flex-start;
}

.empresa-logo-upload-btn {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.empresa-cert-field {
    background: #f4f8fd;
    border: 1px solid #d4dfec;
    border-radius: 12px;
    padding: 0.85rem;
    min-height: 220px;
}

.empresa-logo-upload-box {
    width: 220px;
    height: 220px;
    border: 1px dashed #9fb3cb;
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.empresa-logo-preview {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.empresa-cert-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.7rem;
}

.empresa-cert-card {
    border: 1px solid #d9e1ec;
    border-radius: 10px;
    background: #fff;
    padding: 0.6rem 0.75rem;
    min-height: 66px;
}

.empresa-cert-card label {
    display: block;
    margin: 0;
    font-size: 0.78rem;
    color: #5d6b7c;
    font-weight: 600;
}

.empresa-cert-card div {
    margin-top: 0.2rem;
    font-size: 0.88rem;
    color: #1f2a37;
    word-break: break-word;
}

.empresa-cert-model {
    border: 1px solid #d9e1ec;
    border-radius: 6px;
    background: #f8fbff;
    padding: 0.55rem;
    font-family: inherit;
    font-size: 0.95rem;
}

.empresa-cert-model-title {
    margin: 0 0 0.45rem 0;
    color: #1f2a37;
    font-weight: 700;
    font-size: 0.92rem;
}

.empresa-cert-model-grid {
    display: grid;
    grid-template-columns: 120px 1fr 170px;
    gap: 0.45rem;
}

.empresa-cert-model-grid label {
    display: block;
    font-size: 0.85rem;
    color: #415166;
    font-weight: 600;
    margin-bottom: 0.12rem;
}

.empresa-cert-model-grid input[disabled] {
    background: #eef3f9;
    color: #2d3a4a;
    border: 1px solid #d9e1ec;
    min-height: 36px;
    font-size: 0.95rem;
    font-family: inherit;
}

.empresa-cert-col-span-2 {
    grid-column: span 2;
}

.empresa-cert-alert {
    border: 1px solid #d9e1ec;
    background: #eef3f9;
    color: #415166;
    border-radius: 4px;
    padding: 0.4rem 0.55rem;
    font-size: 0.92rem;
    font-family: inherit;
}

.empresa-cert-alert strong {
    display: block;
    margin-bottom: 0.15rem;
}

.empresa-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(17, 25, 40, 0.45);
    z-index: 2100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.empresa-modal-card {
    width: min(560px, 100%);
    background: #fff;
    border-radius: 12px;
    border: 1px solid #d9e1ec;
    box-shadow: 0 14px 34px rgba(10, 21, 36, 0.25);
    padding: 1rem;
}

.empresa-modal-title {
    margin-bottom: 0.7rem;
    color: #1f2a37;
    font-weight: 700;
}

.empresa-logo-placeholder {
    color: #637991;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    align-items: center;
}

.empresa-logo-placeholder i {
    font-size: 1.5rem;
}

@media (max-width: 992px) {
    .empresa-top-grid {
        grid-template-columns: 1fr;
    }

    .empresa-arquivos-grid {
        grid-template-columns: 1fr;
    }

    .empresa-cert-field {
        min-height: auto;
    }

    .empresa-cert-model-grid {
        grid-template-columns: 1fr;
    }

    .empresa-cert-col-span-2 {
        grid-column: auto;
    }
}

@media (max-width: 768px) {
    .app-form-grid {
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }

    .empresa-tabs,
    main.app-area--inner article .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }

    .empresa-tabs .nav-item,
    main.app-area--inner article .nav-tabs .nav-item {
        flex: 0 0 auto;
    }

    .empresa-tabs .nav-link,
    main.app-area--inner article .nav-tabs .nav-link {
        padding: 0.45rem 0.7rem;
        font-size: 0.92rem;
    }

    .app-actions {
        justify-content: stretch;
        flex-wrap: wrap;
    }

    .app-actions .btn {
        flex: 1 1 100%;
    }

    .empresa-form-section {
        padding: 0.75rem;
    }

    .empresa-logo-upload-box {
        width: 100%;
        min-height: 180px;
        height: 180px;
    }

    .login-shell {
        width: 100%;
        padding: 0.85rem;
    }

    .login-card-shell {
        width: 100%;
        padding: 1rem 0.95rem 1.15rem;
    }

    .login-field-wrap {
        max-width: 100%;
    }

    .login-card-materio .login-btn-primary,
    .login-card-materio .login-btn-secondary-outline {
        width: 70% !important;
    }

    .login-options-row {
        flex-direction: column;
        align-items: stretch !important;
        text-align: center;
        gap: 0.75rem !important;
    }

    .login-options-row .login-accent-link {
        display: block;
        width: 100%;
        text-align: center;
    }

    .login-card-footer {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .login-register {
        text-align: center !important;
    }

    .login-db-badge {
        justify-content: center;
        width: 100%;
    }

    .lnr-eye {
        right: 14px;
    }
}

.app-icon {
    font-size: 1rem;
    vertical-align: -0.05em;
    margin-right: 0.35rem;
}

.lnr-eye {
    position: absolute;
    right: 18px;
    cursor: pointer;
    color: black;
    font-size: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.lnr-find {
    position: absolute;
    right: -8px;
    cursor: pointer;
    color: black;
    font-size: 15px;
    top: 10px;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0071c1;
    font-family: inherit;
}

.link-info {
    color: black;
}

.text-muted {
    --bs-text-opacity: 1;
    color: black !important;
}


.btn-primary {
    font-size: 13px;
    color: #fff;
    background-color: #0f3e6c;
    border-color: #0f3e6c;
    border-radius: 19px;
    max-width: 200px;
    margin-right: 10px;
}

#form-login {
    border-radius: 10px;
}

.btn-secondary {
    font-size: 13px;
    color: #fff;
    background-color: lightsteelblue;
    border-color: #1861ac;
    border-radius: 19px;
    max-width: 200px;
    margin-right: 10px
}

.btn-danger {
    font-size: 13px;
    font-family: inherit;
    color: #fff;
    background-color: darkred;
    border-color: darkred;
    border-radius: 19px;
    max-width: 200px;
    margin-right: 10px
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

/* Campos obrigatórios inválidos: ver caprind-required-fields.css */

#blazor-error-ui {
    background: var(--ds-color-brand-800);
    color: #f5f8ff;
    bottom: 0;
    box-shadow: none;
    display: none;
    left: 0;
    padding: 0;
    position: fixed;
    width: 100%;
    z-index: 1250;
    font-size: 0.85rem;
}

.page:has(.app-statusbar) #blazor-error-ui {
    bottom: var(--app-statusbar-height, 2rem);
}

#blazor-error-ui[style*="display: block"],
#blazor-error-ui[style*="display:block"] {
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    border-top: 1px solid rgba(93, 155, 210, 0.45);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.28);
}

#blazor-error-ui .reload {
    color: #9ed4ff;
    margin-left: 0.5rem;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
    color: rgba(245, 248, 255, 0.85);
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.app-toast-host {
    position: fixed;
    inset: 0;
    z-index: 10000;
    pointer-events: none;
}

.app-toast-host > .app-toast,
.app-toast-host > .app-toast-backdrop {
    pointer-events: auto;
}

.app-toast {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10002;
    min-width: 420px;
    max-width: min(560px, 92vw);
}

.app-toast-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10001;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(1px);
}

.app-toast-caprind {
    position: relative;
    overflow: hidden;
    padding: 1.05rem 1.15rem 1.05rem 1.25rem;
    border-radius: 14px;
    background: var(--ds-color-surface-card, var(--ds-color-surface-card));
    border: 1px solid var(--ds-color-border, color-mix(in srgb, var(--ds-color-primary) 50%, transparent));
    color: var(--ds-color-text, var(--ds-color-text));
    box-shadow: var(--ds-shadow-lg, var(--ds-shadow-lg, 0 22px 50px rgba(4, 12, 24, 0.45)));
    animation: app-toast-caprind-in 0.34s ease-out;
}

.app-toast-accent {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--ds-color-primary, var(--ds-color-primary)) 0%, var(--ds-color-primary-hover, var(--ds-color-primary-hover)) 100%);
}

.app-toast-success {
    --caprind-toast-accent: var(--ds-color-primary);
}

.app-toast-error {
    --caprind-toast-accent: var(--ds-color-danger);
}

.app-toast-warning {
    --caprind-toast-accent: var(--ds-color-warning);
}

.app-toast-info {
    --caprind-toast-accent: var(--ds-color-info);
}

.app-toast-content {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.app-toast-caprind-content {
    align-items: center;
    padding-left: 0.35rem;
}

.app-toast-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.1rem;
    height: 3.1rem;
    flex-shrink: 0;
    border-radius: 12px;
    background: var(--ds-color-bg-muted, var(--ds-color-bg-muted));
    border: 1px solid var(--ds-color-border, color-mix(in srgb, var(--ds-color-primary) 35%, transparent));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.app-toast-logo {
    width: 2.2rem;
    height: 2.2rem;
    object-fit: contain;
    flex-shrink: 0;
}

.app-toast-body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.app-toast-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.02em;
    color: var(--ds-color-text-muted, var(--ds-color-text-muted));
    text-transform: uppercase;
}

.app-toast-kicker-icon {
    font-size: 0.95rem;
    color: var(--ds-color-primary, var(--ds-color-primary));
}

.app-toast-title {
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.15;
    color: var(--ds-color-text, var(--ds-color-text));
    word-break: break-word;
}

.app-toast-message {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ds-color-text, var(--ds-color-text));
    word-break: break-word;
}

.app-toast-confirm-message {
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ds-color-text, var(--ds-color-text));
    word-break: break-word;
}

.app-toast-confirm {
    min-width: 460px;
    max-width: min(620px, 94vw);
}

.app-toast-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.95rem;
    padding-left: calc(3.1rem + 1.2rem);
}

.app-toast-btn-confirm,
.app-toast-btn-cancel {
    min-width: 118px;
    font-weight: 700;
    border-radius: 8px;
}

.app-toast-btn-confirm {
    background: var(--ds-color-primary, var(--ds-color-primary));
    border: 1px solid transparent;
    color: var(--ds-color-link-hover, var(--ds-color-link-hover));
}

.app-toast-btn-confirm:hover,
.app-toast-btn-confirm:focus {
    background: var(--ds-color-primary-hover, var(--ds-color-primary-hover));
    color: var(--ds-color-link-hover, var(--ds-color-link-hover));
}

.app-toast-btn-cancel {
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--ds-color-primary) 45%, transparent);
    color: var(--ds-color-text);
}

.app-toast-btn-cancel:hover,
.app-toast-btn-cancel:focus {
    background: var(--ds-color-bg-muted);
    color: var(--ds-color-text);
}

.app-toast-error .app-toast-btn-confirm {
    --caprind-toast-btn-confirm-bg: var(--ds-color-danger);
    --caprind-toast-btn-confirm-hover: var(--ds-color-danger-hover);
}

.app-toast-warning .app-toast-btn-confirm {
    --caprind-toast-btn-confirm-bg: var(--ds-color-warning);
    --caprind-toast-btn-confirm-hover: var(--ds-color-warning-hover);
    --caprind-toast-btn-confirm-text: var(--ds-color-text-inverse);
}

.app-toast.app-toast-welcome {
    position: fixed;
    top: calc(var(--app-topbar-height, 3rem) + 0.85rem);
    left: 50%;
    transform: translateX(-50%);
    bottom: auto;
    min-width: 420px;
    z-index: 2001;
}

@keyframes app-toast-caprind-in {
    from {
        opacity: 0;
        filter: blur(3px);
    }

    to {
        opacity: 1;
        filter: blur(0);
    }
}

.pagina-em-desenvolvimento-panel {
    max-width: 36rem;
}

.pagina-em-desenvolvimento-logo {
    object-fit: contain;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    padding: 6px;
}

.pagina-em-desenvolvimento-mensagem {
    font-size: 1.05rem;
    line-height: 1.45;
}

.page[data-caprind-theme-family="light"] .pagina-em-desenvolvimento-logo {
    background: rgba(15, 23, 42, 0.06);
}

.page[data-caprind-theme="dark"] .compras-produto-accordion .accordion-item {
    background: rgba(13, 37, 66, 0.72) !important;
    border: 1px solid rgba(141, 184, 235, 0.34) !important;
}

.page[data-caprind-theme="dark"] .compras-produto-accordion .accordion-button {
    background: rgba(26, 57, 95, 0.86) !important;
    color: #eaf3ff !important;
    font-weight: 600;
}

.page[data-caprind-theme="dark"] .compras-produto-accordion .accordion-button:not(.collapsed) {
    background: rgba(40, 84, 136, 0.9) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.page[data-caprind-theme="dark"] .compras-produto-accordion .accordion-button::after {
    filter: brightness(0) invert(1);
}

.page[data-caprind-theme="dark"] .compras-produto-accordion .accordion-button:focus {
    box-shadow: 0 0 0 0.15rem rgba(156, 196, 255, 0.35) !important;
}

.page[data-caprind-theme="dark"] .compras-produto-accordion .accordion-body {
    background: rgba(11, 31, 56, 0.72) !important;
}

@media (max-width: 767.98px) {
    .app-toast {
        top: max(0.75rem, env(safe-area-inset-top));
        bottom: auto;
        left: 50%;
        transform: translateX(-50%);
        min-width: 0;
        width: min(94vw, 420px);
        max-width: min(94vw, 420px);
    }

    .app-toast-caprind {
        padding: 0.95rem 1rem 0.95rem 1.05rem;
        border-radius: 12px;
    }

    .app-toast-confirm {
        min-width: 0;
        width: min(94vw, 460px);
    }

    .app-toast-message,
    .app-toast-confirm-message {
        font-size: 0.94rem;
        line-height: 1.3;
    }

    .app-toast-title {
        font-size: 1.08rem;
    }

    .app-toast-confirm-actions {
        justify-content: stretch;
        gap: 0.4rem;
        padding-left: 0;
    }

    .app-toast-btn-confirm,
    .app-toast-btn-cancel {
        min-width: 0;
        flex: 1 1 0;
    }

    .app-toast-welcome {
        top: max(calc(var(--app-topbar-height, 3rem) + 0.65rem), env(safe-area-inset-top));
        min-width: 0;
        width: min(94vw, 420px);
    }

    .app-toast-logo-wrap {
        width: 2.85rem;
        height: 2.85rem;
    }

    .app-toast-logo {
        width: 2rem;
        height: 2rem;
    }
}

.db-card {
    background: #fff;
    border-radius: 10px;
    padding: 14px 16px;
    box-shadow: 0 2px 8px rgba(15, 62, 108, 0.1);
}

.db-title {
    font-size: 12px;
    color: #5f6b7a;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.db-number {
    font-size: 28px;
    font-weight: 700;
    color: #0f3e6c;
}

.db-table {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

/* Bancos (autenticação): cartões e tabela integrados ao fundo azul dos formulários */
main.app-area--inner article .db-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: none;
}

main.app-area--inner article .db-title {
    color: rgba(255, 255, 255, 0.62);
}

main.app-area--inner article .db-number {
    color: rgba(255, 255, 255, 0.96);
}

/* Bancos: mesma lista escura (dashboard) */
main.app-area--inner article .db-table {
    background: var(--ds-color-bg-elevated);
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--ds-color-border);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42);
}

main.app-area--inner article .db-table .table {
    --bs-table-bg: var(--ds-color-brand-800);
    --bs-table-color: var(--ds-color-text);
    --bs-table-striped-bg: var(--ds-table-row-stripe);
    --bs-table-striped-color: var(--ds-color-text);
    --bs-table-hover-bg: var(--ds-table-row-hover);
    --bs-table-active-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent);
    --bs-table-border-color: var(--ds-color-border);
    color: var(--ds-color-text);
    margin-bottom: 0;
}

main.app-area--inner article .db-table thead th {
    background: var(--ds-table-header-bg) !important;
    color: var(--ds-table-header-text);
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.085em;
    padding: 0.95rem 1.1rem;
    border-color: var(--ds-color-border);
    border-bottom: 1px solid var(--ds-color-border);
}

main.app-area--inner article .db-table td {
    padding: 0.85rem 1.1rem;
    border-color: var(--ds-color-border);
    color: var(--ds-color-text);
}

/*
 * Tabela em modal: no tema escuro herda main.app-area--inner article .app-data-table (lista dashboard).
 * Só forçar lista clara no modal quando tema = light (cartão branco).
 */
.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table.table {
    --bs-table-bg: var(--ds-color-surface-card, #ffffff);
    --bs-table-striped-bg: color-mix(in srgb, var(--ds-color-brand-100) 35%, var(--ds-color-link-hover));
    --bs-table-hover-bg: color-mix(in srgb, var(--ds-color-brand-100) 55%, var(--ds-color-primary-subtle));
    --bs-table-active-bg: #dbe8f8;
    --bs-table-border-color: color-mix(in srgb, var(--ds-color-brand-100) 40%, var(--ds-color-border));
    color: color-mix(in srgb, var(--ds-color-text-inverse) 88%, var(--ds-color-brand-800));
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table {
    background: var(--ds-color-surface-card, #ffffff);
    border: 1px solid color-mix(in srgb, var(--ds-color-brand-200) 55%, var(--ds-color-border));
    box-shadow: none;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table thead th {
    background: color-mix(in srgb, var(--ds-color-brand-100) 70%, var(--ds-color-bg-muted)) !important;
    color: var(--ds-color-text-inverse);
    font-size: 0.8125rem;
    text-transform: none;
    letter-spacing: 0.02em;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table td {
    color: color-mix(in srgb, var(--ds-color-text-inverse) 88%, var(--ds-color-brand-800));
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table a:not(.btn) {
    color: var(--ds-color-primary);
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .text-muted {
    color: #6b7280 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .badge.bg-success {
    background-color: var(--bs-success) !important;
    color: #fff !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .badge.bg-danger {
    background-color: var(--bs-danger) !important;
    color: #fff !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .badge.bg-secondary {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .badge.bg-warning {
    background-color: var(--bs-warning) !important;
    color: #1a1a1a !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .modal .modal-content .app-data-table .badge.bg-info {
    background-color: var(--bs-info) !important;
    color: #0a0a0a !important;
}

/* Modal Contatos (Financeiro) — células legíveis no tema claro */
.page[data-caprind-theme-family="light"] main.app-area--inner article .financeiro-pessoa-contatos-modal .modal-content .fornecedor-contatos-table.table {
    --bs-table-color: #2a3544;
    --bs-table-hover-color: #2a3544;
    color: #2a3544;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .financeiro-pessoa-contatos-modal .modal-content .fornecedor-contatos-table tbody td {
    color: #2a3544 !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .financeiro-pessoa-contatos-modal .modal-content .fornecedor-contatos-table.table-hover > tbody > tr:hover > * {
    color: #2a3544 !important;
    --bs-table-color-state: #2a3544;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .financeiro-pessoa-contatos-modal .modal-content .fornecedor-contatos-table .text-muted {
    color: #64748b !important;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .financeiro-pessoa-contatos-modal .modal-content .fornecedor-contatos-table .badge.text-bg-secondary {
    background-color: rgba(148, 163, 184, 0.45) !important;
    color: #334155 !important;
}

.financeiro-pessoa-contatos-modal .fornecedor-contatos-table .contato-email-action-col {
    width: 1%;
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

/* ========== Layout responsivo (celular / faixa estreita) ========== */
main.app-area--inner article > form.app-fill-form {
    min-width: 0;
    max-width: 100%;
}

.container-fluid.app-page,
.container-fluid.text-black.app-page {
    max-width: 100%;
    padding-left: max(1.25rem, env(safe-area-inset-left, 0px));
    padding-right: max(1.25rem, env(safe-area-inset-right, 0px));
}

@media (min-width: 992px) {
    .page.page--with-sidebar-rail main.app-area--inner .container-fluid.app-page,
    .page.page--with-sidebar-rail main.app-area--inner .container-fluid.text-black.app-page {
        padding-left: max(2.25rem, env(safe-area-inset-left, 0px));
    }
}

@media (max-width: 575.98px) {
    .container-fluid.app-page,
    .container-fluid.text-black.app-page {
        padding-left: max(0.45rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.45rem, env(safe-area-inset-right, 0px));
        padding-top: 0.35rem;
        padding-bottom: 0.75rem;
    }

    main.app-area--inner article .app-section-title:not(:has(.app-section-title-brand)),
    main.app-area--inner article .empresa-form-section-title {
        font-size: clamp(1.3125rem, 5.25vw, 1.6875rem);
        margin-bottom: 0.65rem;
        word-break: break-word;
    }

    main.app-area--inner article .app-section-title:has(.app-section-title-brand) {
        margin-bottom: 0.65rem;
        word-break: break-word;
    }

    main.app-area--inner article .app-section-title .app-section-title-brand {
        font-size: clamp(1.3125rem, 5.25vw, 1.6875rem);
    }

    main.app-area--inner article .app-section-title .app-section-title-screen {
        font-size: clamp(1.3125rem, 5.25vw, 1.6875rem);
    }

    main.app-area--inner article .app-section-title .app-section-title-sep {
        font-size: clamp(1.3125rem, 5.25vw, 1.6875rem);
    }

    main.app-area--inner article .app-panel {
        padding: 0.65rem 0.55rem;
        border-radius: 10px;
    }

    main.app-area--inner article .app-list-toolbar {
        gap: 0.35rem;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    main.app-area--inner article .rh-list-page > .app-page-header .app-page-header-actions {
        position: static;
        transform: none;
    }

    main.app-area--inner article .rh-list-page > .app-page-header .app-section-title {
        padding-right: 0;
    }

    main.app-area--inner article .rh-list-page > .app-page-header ~ .app-panel:first-child .app-list-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ .app-panel:first-child .row .app-list-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ .app-panel:first-child .compras-produtos-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ form > .app-panel:first-child .app-list-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ form > .app-panel:first-child .row .app-list-toolbar,
    main.app-area--inner article .rh-list-page > .app-page-header ~ form > .app-panel:first-child .compras-produtos-toolbar {
        position: static;
        right: auto;
        max-width: 100%;
    }

    main.app-area--inner article .app-list-toolbar .btn {
        flex: 0 0 auto;
        min-width: 0;
    }

    main.app-area--inner article .app-toolbar,
    main.app-area--inner article .app-panel-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    main.app-area--inner article .app-toolbar .app-form-actions,
    main.app-area--inner article .app-panel-toolbar .app-form-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .app-page-header {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .app-page-header .app-page-header-voltar {
        width: auto;
        display: inline-flex;
        justify-content: flex-end;
        margin-left: 0;
    }

    main.app-area--inner article nav.app-pagination .pagination .page-link {
        padding: 0.25rem 0.45rem;
        font-size: 0.85rem;
    }

    /* Modais grandes cabem na largura do ecrã */
    main.app-area--inner article .modal-dialog.modal-xl,
    main.app-area--inner article .modal-dialog.modal-lg {
        margin: 0.35rem auto;
        max-width: calc(100vw - 0.75rem);
        width: calc(100vw - 0.75rem);
    }

    main.app-area--inner article .modal-dialog-scrollable .modal-content {
        max-height: calc(100vh - 0.85rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    }

    main.app-area--inner article .app-data-table .app-row-actions {
        flex-wrap: wrap;
        justify-content: center !important;
    }

    main.app-area--inner article .app-form-actions:not(.app-page-header-actions):not(.app-form-toolbar-bar) {
        flex-direction: column;
        align-items: stretch;
    }

    main.app-area--inner article .app-page-header .app-page-header-actions,
    main.app-area--inner article .app-form-toolbar-bar {
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
        max-width: 100%;
        justify-content: flex-start;
        overflow: visible;
    }

    main.app-area--inner article .app-form-actions:not(.app-page-header-actions):not(.app-form-toolbar-bar) > .btn,
    main.app-area--inner article .app-form-actions:not(.app-page-header-actions):not(.app-form-toolbar-bar) > .app-form-btn {
        width: 100%;
    }

    main.app-area--inner article .app-page-header .app-page-header-actions > .btn,
    main.app-area--inner article .app-page-header .app-page-header-actions > .app-form-btn,
    main.app-area--inner article .app-page-header .app-page-header-actions > .ds-btn,
    main.app-area--inner article .app-form-toolbar-bar > .btn,
    main.app-area--inner article .app-form-toolbar-bar > .app-form-btn,
    main.app-area--inner article .app-form-toolbar-bar > .ds-btn {
        flex: 1 1 calc(50% - 0.2rem);
        min-width: min(100%, 8.5rem);
        max-width: 100%;
    }

    main.app-area--inner article .app-form-actions:not(.app-page-header-actions):not(.app-form-toolbar-bar) > .form-control,
    main.app-area--inner article .app-form-actions:not(.app-page-header-actions):not(.app-form-toolbar-bar) > .input-group {
        width: 100%;
        max-width: 100%;
    }

    main.app-area--inner article .app-page-fill > .app-page-header,
    main.app-area--inner article .app-page-fill > form > .app-page-header,
    main.app-area--inner article .app-page-fill > EditForm > .app-page-header,
    main.app-area--inner article .app-page-fill .app-panel > EditForm > .app-page-header {
        padding-right: 0 !important;
    }

    main.app-area--inner article .app-page-fill > .app-toolbar,
    main.app-area--inner article .app-page-fill > form > .app-page-header ~ .app-toolbar,
    main.app-area--inner article .app-page-fill > .app-page-header ~ .app-toolbar,
    main.app-area--inner article .app-page-fill .app-panel > .app-panel-toolbar:first-child {
        position: static;
        right: auto;
        max-width: 100%;
        margin-top: 0.35rem !important;
        margin-bottom: 0.75rem !important;
        justify-content: flex-end;
    }

    main.app-area--inner article .app-page-header .app-page-header-actions {
        width: auto;
        max-width: 100%;
        justify-content: flex-end;
    }
}

/* Compras - Fornecedores modal layout */
/* Com modal aberto, main precisa ficar acima do sidebar (z-index 1185–1300) senão o menu cobre a esquerda do modal. */
body:has(.fornecedor-modal.modal.show) .page > main.app-area--inner,
body:has(.fornecedor-modal.modal.show) .page > main.app-area--home {
    position: relative;
    z-index: 1310;
}

body:has(.fornecedor-modal.modal.show) .page > aside.sidebar {
    z-index: 1185 !important;
}

body:has(.fornecedor-modal.modal.show) .tab-workspace-panel--active {
    overflow: visible;
}

.fornecedor-modal.modal.show {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1300 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100dvh;
    margin: 0 !important;
    padding: 1rem;
    overflow-x: hidden;
    overflow-y: auto;
}

.fornecedor-modal.modal.show .modal-dialog,
.fornecedor-modal.modal.show .fornecedor-modal-dialog {
    margin: auto !important;
    max-height: calc(100vh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
}

.modal-backdrop.show:has(+ .fornecedor-modal.modal.show),
.fornecedor-modal.modal.show ~ .modal-backdrop.show,
body:has(.fornecedor-modal.modal.show) .modal-backdrop.show:not(.financeiro-plano-conta-busca-backdrop) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1290 !important;
}

/* Modal de busca do plano de contas (aninhada ao formulário de produto) */
.modal-backdrop.show.financeiro-plano-conta-busca-backdrop,
body:has(.fornecedor-modal.modal.show) .modal-backdrop.show.financeiro-plano-conta-busca-backdrop {
    z-index: 1400 !important;
}

/* Precisa vencer .modal.fade.show.d-block (z-index 1300) senão o backdrop cobre os botões */
.modal.fade.show.d-block.financeiro-plano-conta-busca-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1410 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
}

.financeiro-plano-conta-busca-modal .modal-dialog {
    pointer-events: auto;
}

.financeiro-plano-conta-busca-modal .modal-content {
    color: rgba(238, 242, 250, 0.95) !important;
}

.financeiro-plano-conta-busca-modal .modal-content .text-muted,
.financeiro-plano-conta-busca-modal .modal-content .form-text {
    color: rgba(255, 255, 255, 0.68) !important;
}

.financeiro-plano-conta-busca-modal .plano-conta-tree-table {
    --bs-table-bg: transparent;
    --bs-table-color: rgba(238, 242, 250, 0.95);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
    --bs-table-striped-color: rgba(238, 242, 250, 0.95);
    --bs-table-hover-bg: rgba(110, 168, 254, 0.14);
    --bs-table-hover-color: #fff;
    --bs-table-active-bg: rgba(13, 110, 253, 0.28);
    --bs-table-active-color: #fff;
    --bs-table-border-color: rgba(120, 146, 176, 0.28);
    color: rgba(238, 242, 250, 0.95) !important;
}

.financeiro-plano-conta-busca-modal .plano-conta-tree-table thead th {
    color: rgba(255, 255, 255, 0.9) !important;
    background: rgba(255, 255, 255, 0.08);
    border-bottom-color: rgba(120, 146, 176, 0.35);
}

.financeiro-plano-conta-busca-modal .plano-conta-tree-table td,
.financeiro-plano-conta-busca-modal .plano-conta-tree-table .text-break {
    color: rgba(238, 242, 250, 0.95) !important;
}

.financeiro-plano-conta-busca-modal .plano-conta-tree-table .plano-conta-tree-codigo {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    white-space: nowrap;
    flex-shrink: 0;
    margin-right: 0.65rem;
    color: rgba(186, 200, 220, 0.92) !important;
}

.financeiro-plano-conta-busca-modal .plano-conta-tree-table .plano-conta-tree-row--grupo .plano-conta-tree-codigo {
    color: #fff !important;
    font-weight: 600;
}

.financeiro-plano-conta-busca-modal .plano-conta-tree-table .plano-conta-tree-toggle {
    color: rgba(255, 255, 255, 0.75) !important;
}

.financeiro-plano-conta-busca-tree .plano-conta-tree-row.table-active {
    --bs-table-bg-state: rgba(13, 110, 253, 0.28);
    --bs-table-color-state: #fff;
}

.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .modal-content {
    color: #1e293b !important;
}

.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .modal-content .text-muted,
.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .modal-content .form-text {
    color: #64748b !important;
}

.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .plano-conta-tree-table {
    --bs-table-bg: #fff;
    --bs-table-color: #1e293b;
    --bs-table-striped-bg: #f8fafc;
    --bs-table-striped-color: #1e293b;
    --bs-table-hover-bg: #eef6ff;
    --bs-table-hover-color: #0f172a;
    --bs-table-active-bg: #dbeafe;
    --bs-table-active-color: #0f172a;
    --bs-table-border-color: rgba(15, 23, 42, 0.1);
    color: #1e293b !important;
}

.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .plano-conta-tree-table thead th {
    color: #123552 !important;
    background: #f1f5f9;
}

.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .plano-conta-tree-table td,
.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .plano-conta-tree-table .text-break {
    color: #1e293b !important;
}

.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .plano-conta-tree-table .plano-conta-tree-codigo {
    color: #475569 !important;
}

.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .plano-conta-tree-table .plano-conta-tree-row--grupo .plano-conta-tree-codigo {
    color: #1a1f2e !important;
}

.page[data-caprind-theme-family="light"] .financeiro-plano-conta-busca-modal .plano-conta-tree-table .plano-conta-tree-toggle {
    color: #64748b !important;
}

.fornecedor-modal .fornecedor-modal-dialog {
    max-width: min(1320px, 96vw);
}

.fornecedor-modal .fornecedor-modal-body {
    padding-top: .9rem;
    padding-bottom: .75rem;
}

/* Listas dos combos (cliente, operação fiscal) não podem ser cortadas pelos painéis do modal */
main.app-area--inner article .fornecedor-modal .compras-produtos-panel {
    overflow: visible;
    flex: none;
    min-height: auto;
    display: block;
}

main.app-area--inner article .fornecedor-modal .financeiro-field-combo,
main.app-area--inner article .fornecedor-modal .financeiro-field-combo-drop {
    overflow: visible;
}

main.app-area--inner article .fornecedor-modal .financeiro-pessoa-combo-list,
main.app-area--inner article .fornecedor-modal .financeiro-instituicao-combo-list,
main.app-area--inner article .fornecedor-modal .financeiro-plano-conta-combo-list {
    z-index: 1410;
}

/* Combo aberto no rodapé do modal: lista acima do footer e sem corte no body scrollável */
main.app-area--inner article .fornecedor-modal .financeiro-field-combo-drop--open {
    z-index: 1410;
}

main.app-area--inner article .fornecedor-modal .modal-footer,
main.app-area--inner article .fornecedor-modal .fornecedor-modal-footer {
    position: relative;
    z-index: 1;
}

main.app-area--inner article .fornecedor-modal.modal-dialog-scrollable .modal-body:has(.financeiro-field-combo-drop--open),
main.app-area--inner article .fornecedor-modal .modal-content:has(.financeiro-field-combo-drop--open) {
    overflow: visible;
}

/* Conta contábil costuma ficar no fim do formulário do modal — lista abre para cima */
main.app-area--inner article .fornecedor-modal .fornecedor-modal-body .financeiro-plano-conta-combo-list {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 0.25rem;
}

.fornecedor-form-grid .form-label {
    margin-bottom: .3rem !important;
}

.fornecedor-form-grid > .fornecedor-form-linha {
    margin-bottom: 1.15rem;
}

.fornecedor-form-grid > .fornecedor-form-linha:last-child {
    margin-bottom: 0;
}

.fornecedor-form-grid .row > [class*="col-"] {
    position: relative;
    padding-top: .75rem;
}

main.app-area--inner article .fornecedor-form-grid .financeiro-field-combo,
main.app-area--inner article .fornecedor-form-grid .caprind-moeda-campo {
    padding-top: 0 !important;
    margin-top: 0;
}

.fornecedor-form-grid .row > [class*="col-"] > .form-label:first-child,
.fornecedor-form-grid .row > [class*="col-"] > .financeiro-field-combo > .form-label:first-child,
.fornecedor-form-grid .row > [class*="col-"] > .caprind-moeda-campo > .form-label:first-child {
    position: absolute;
    left: .85rem;
    top: 0;
    z-index: 3;
    margin: 0 !important;
    padding: 0 .35rem;
    width: auto !important;
    max-width: calc(100% - 2rem);
    transform: translateY(calc(-50% - 4px));
    color: var(--ds-table-header-text) !important;
    font-size: .8125rem;
    font-weight: 500;
    line-height: 1.2;
    background-color: color-mix(in srgb, var(--ds-color-brand-800) 96%, transparent);
    border-radius: 2px;
    pointer-events: none;
}

.fornecedor-form-grid .fornecedor-flags-section {
    margin-top: .35rem;
    padding-top: .25rem;
}

.fornecedor-form-grid .fornecedor-observacoes-campo {
    margin-top: .5rem;
    padding-top: .15rem;
}

.fornecedor-form-grid .fornecedor-flag-transportadora {
    min-width: 148px;
    padding: .35rem .65rem;
    border: 1px solid rgba(37, 99, 235, 0.35);
    border-radius: .375rem;
    background: rgba(37, 99, 235, 0.06);
}

.fornecedor-form-grid .input-group > .btn {
    white-space: nowrap;
}

.fornecedor-form-grid textarea.form-control {
    min-height: 112px;
}

.fornecedor-form-grid .form-check {
    margin-right: .25rem;
}

.fornecedor-form-grid .campo-id-cliente input {
    text-align: center;
}

.fornecedor-form-grid .campo-nome-razao input {
    font-weight: 600;
}

.fornecedor-flags-grid .form-check {
    flex: 0 0 auto;
    min-width: 132px;
    margin-bottom: .15rem;
}

.fornecedor-modal .fornecedor-modal-footer {
    justify-content: flex-end;
    border-top: 1px solid rgba(120, 146, 176, 0.28);
}

.nfe-cst-info-backdrop {
    z-index: 1065;
}

.nfe-cst-info-modal {
    z-index: 1070;
}

/* Modal CST: tabela e destaque com contraste no tema escuro (evita .table-info + texto branco) */
.nfe-cst-info-modal .modal-content .nfe-cst-ref-table thead th {
    background: rgba(18, 38, 62, 0.95) !important;
    color: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(120, 146, 176, 0.35) !important;
}

.nfe-cst-info-modal .modal-content .nfe-cst-ref-table td {
    color: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(120, 146, 176, 0.22) !important;
}

.nfe-cst-info-modal .modal-content .nfe-cst-ref-table.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(12, 28, 48, 0.55) !important;
}

.nfe-cst-info-modal .modal-content .nfe-cst-ref-table.table-striped > tbody > tr:nth-of-type(even) > * {
    background-color: rgba(8, 20, 36, 0.35) !important;
}

.nfe-cst-info-modal .modal-content .nfe-cst-ref-table tbody tr.nfe-cst-linha-atual > * {
    background-color: rgba(255, 193, 7, 0.2) !important;
    color: #fff !important;
    font-weight: 600;
    box-shadow: inset 4px 0 0 #ffc107;
}

.nfe-cst-info-modal .modal-content .nfe-cst-ref-table tbody tr.nfe-cst-linha-atual td.font-monospace {
    color: #ffe08a !important;
}

.nfe-cst-info-modal .modal-content .app-impostos-resumo {
    border-color: rgba(120, 146, 176, 0.35) !important;
}

.nfe-cst-info-modal .modal-content .app-impostos-resumo .app-impostos-resumo-titulo,
.nfe-cst-info-modal .modal-content .app-impostos-resumo .app-impostos-resumo-valor {
    color: rgba(255, 255, 255, 0.96);
}

.nfe-cst-info-modal .modal-content .app-impostos-resumo .app-impostos-resumo-label {
    color: rgba(255, 255, 255, 0.72);
}

.nfe-cst-info-modal .modal-content .text-muted {
    color: rgba(255, 255, 255, 0.72) !important;
}

.nfe-cst-info-modal .modal-content .text-warning {
    color: #ffc107 !important;
}

.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .nfe-cst-ref-table thead th {
    background: #e8edf5 !important;
    color: #141c28 !important;
}

.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .nfe-cst-ref-table td {
    color: #212529 !important;
}

.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .nfe-cst-ref-table.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: #f3f6fa !important;
}

.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .nfe-cst-ref-table.table-striped > tbody > tr:nth-of-type(even) > * {
    background-color: #fff !important;
}

.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .nfe-cst-ref-table tbody tr.nfe-cst-linha-atual > * {
    background-color: #fff3cd !important;
    color: #664d03 !important;
    box-shadow: inset 4px 0 0 #ffc107;
}

.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .nfe-cst-ref-table tbody tr.nfe-cst-linha-atual td.font-monospace {
    color: #856404 !important;
}

.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .app-impostos-resumo .app-impostos-resumo-titulo,
.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .app-impostos-resumo .app-impostos-resumo-valor {
    color: #212529 !important;
}

.page[data-caprind-theme-family="light"] .nfe-cst-info-modal .modal-content .app-impostos-resumo .app-impostos-resumo-label {
    color: #495057 !important;
}

.fornecedor-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.fornecedor-tabs .nav-item {
    flex: 0 0 auto;
}

.fornecedor-tabs .nav-link {
    border: 1px solid transparent;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
    white-space: nowrap;
    box-shadow: none !important;
}

.fornecedor-tabs .nav-link:focus {
    box-shadow: none !important;
}

.fornecedor-tab-pane {
    border: 1px solid rgba(120, 146, 176, 0.28);
    border-radius: .5rem;
    padding: .9rem;
}

.fornecedor-contatos-table-wrap {
    position: relative;
    margin-top: .5rem;
}

.fornecedor-contatos-table .contato-email-cell {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    max-width: 100%;
}

.fornecedor-contatos-table .contato-email-text {
    min-width: 0;
    word-break: break-word;
}

.fornecedor-contatos-table .btn-contato-copiar-email .app-icon {
    color: inherit;
}

.page[data-caprind-theme="dark"] .fornecedor-contatos-table .btn-contato-copiar-email,
.page:not([data-caprind-theme-family="light"]) .fornecedor-contatos-table .btn-contato-copiar-email {
    color: #93c5fd !important;
    border-color: rgba(96, 165, 250, 0.45) !important;
    background: transparent;
}

.page[data-caprind-theme="dark"] .fornecedor-contatos-table .btn-contato-copiar-email:hover:not(:disabled),
.page[data-caprind-theme="dark"] .fornecedor-contatos-table .btn-contato-copiar-email:focus:not(:disabled),
.page:not([data-caprind-theme-family="light"]) .fornecedor-contatos-table .btn-contato-copiar-email:hover:not(:disabled),
.page:not([data-caprind-theme-family="light"]) .fornecedor-contatos-table .btn-contato-copiar-email:focus:not(:disabled) {
    color: #bfdbfe !important;
    background: rgba(59, 130, 246, 0.22) !important;
    border-color: #60a5fa !important;
}

.page[data-caprind-theme-family="light"] .fornecedor-contatos-table .btn-contato-copiar-email {
    color: #1d6fad !important;
    border-color: rgba(29, 111, 173, 0.42) !important;
    background: transparent;
}

.page[data-caprind-theme-family="light"] .fornecedor-contatos-table .btn-contato-copiar-email:hover:not(:disabled),
.page[data-caprind-theme-family="light"] .fornecedor-contatos-table .btn-contato-copiar-email:focus:not(:disabled) {
    color: #155a8a !important;
    background: rgba(29, 111, 173, 0.1) !important;
    border-color: #1d6fad !important;
}

.page[data-caprind-theme="light-blue"] .fornecedor-contatos-table .btn-contato-copiar-email {
    color: #1e6fad !important;
    border-color: rgba(30, 111, 173, 0.42) !important;
}

.page[data-caprind-theme="light-blue"] .fornecedor-contatos-table .btn-contato-copiar-email:hover:not(:disabled),
.page[data-caprind-theme="light-blue"] .fornecedor-contatos-table .btn-contato-copiar-email:focus:not(:disabled) {
    color: #155a8a !important;
    background: rgba(30, 111, 173, 0.12) !important;
    border-color: #1e6fad !important;
}

.page[data-caprind-theme="light-green"] .fornecedor-contatos-table .btn-contato-copiar-email {
    color: #2d8a58 !important;
    border-color: rgba(45, 138, 88, 0.42) !important;
}

.page[data-caprind-theme="light-green"] .fornecedor-contatos-table .btn-contato-copiar-email:hover:not(:disabled),
.page[data-caprind-theme="light-green"] .fornecedor-contatos-table .btn-contato-copiar-email:focus:not(:disabled) {
    color: #1f6b42 !important;
    background: rgba(45, 138, 88, 0.12) !important;
    border-color: #2d8a58 !important;
}

.page[data-caprind-theme="light-red"] .fornecedor-contatos-table .btn-contato-copiar-email {
    color: #b83a45 !important;
    border-color: rgba(184, 58, 69, 0.42) !important;
}

.page[data-caprind-theme="light-red"] .fornecedor-contatos-table .btn-contato-copiar-email:hover:not(:disabled),
.page[data-caprind-theme="light-red"] .fornecedor-contatos-table .btn-contato-copiar-email:focus:not(:disabled) {
    color: #962e37 !important;
    background: rgba(184, 58, 69, 0.1) !important;
    border-color: #b83a45 !important;
}

.fornecedor-contatos-table thead th {
    position: static;
}

.page[data-caprind-theme="dark"] .fornecedor-contatos-table thead th {
    background: #1a4066;
    color: #eaf3ff;
}

.page[data-caprind-theme-family="dark"] .fornecedor-tabs,
.page[data-caprind-theme="dark"] .fornecedor-tabs {
    border-bottom-color: rgba(141, 184, 235, 0.34);
}

.page[data-caprind-theme-family="dark"] .fornecedor-tabs .nav-link,
.page[data-caprind-theme="dark"] .fornecedor-tabs .nav-link {
    background: rgba(26, 57, 95, 0.66) !important;
    color: #eaf3ff !important;
    border-color: rgba(141, 184, 235, 0.26) !important;
}

.page[data-caprind-theme-family="dark"] .fornecedor-tabs .nav-link.active,
.page[data-caprind-theme="dark"] .fornecedor-tabs .nav-link.active {
    background: var(--ds-color-primary) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--ds-color-primary) 75%, #fff) !important;
}

.page[data-caprind-theme-family="dark"] .fornecedor-tab-pane,
.page[data-caprind-theme="dark"] .fornecedor-tab-pane {
    background: rgba(10, 31, 57, 0.52) !important;
    color: #eaf3ff !important;
    border-color: rgba(141, 184, 235, 0.34) !important;
}

.page[data-caprind-theme="dark"] .fornecedor-contatos-table tbody td {
    color: #eaf3ff;
    background-color: rgba(10, 31, 57, 0.45);
}

.page[data-caprind-theme="dark"] .fornecedor-contatos-table tbody tr:hover td {
    background-color: rgba(24, 56, 92, 0.7);
}

/* Proposta comercial — tabela de itens dentro da aba (painel escuro, lista dashboard) */
.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .fornecedor-tab-pane .app-data-table.table {
    --bs-table-bg: var(--ds-color-brand-800) !important;
    --bs-table-striped-bg: var(--ds-table-row-stripe) !important;
    --bs-table-hover-bg: var(--ds-table-row-hover) !important;
    --bs-table-active-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
    --bs-table-border-color: var(--ds-color-border) !important;
    color: var(--ds-color-text) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .fornecedor-tab-pane .app-data-table {
    background: var(--ds-color-bg-elevated) !important;
    border: 1px solid var(--ds-color-border) !important;
    border-radius: 12px;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .fornecedor-tab-pane .app-data-table thead th {
    background: var(--ds-table-header-bg) !important;
    color: var(--ds-table-header-text) !important;
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.085em;
    border-bottom: 1px solid var(--ds-color-border);
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .fornecedor-tab-pane .app-data-table td {
    color: var(--ds-color-text) !important;
    border-color: var(--ds-color-border) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .fornecedor-tab-pane .app-data-table.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--ds-table-row-stripe) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .fornecedor-tab-pane .app-data-table.table-striped > tbody > tr:nth-of-type(even) > * {
    background-color: var(--ds-color-brand-800) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .fornecedor-tab-pane .app-data-table.table-hover > tbody > tr:hover > * {
    background-color: var(--ds-table-row-hover) !important;
    color: var(--ds-color-text) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .fornecedor-tab-pane .app-data-table tbody tr.app-proposta-item-selected > * {
    background-color: rgba(61, 154, 224, 0.16) !important;
    color: var(--ds-color-text) !important;
}

.page[data-caprind-theme-family="light"] .fornecedor-contatos-table thead th {
    background: #e8edf5;
    color: #141c28;
}

.page[data-caprind-theme-family="light"] .fornecedor-tabs {
    border-bottom-color: #d7e0eb;
}

.page[data-caprind-theme-family="light"] .fornecedor-tabs .nav-link {
    background: #eef4fb !important;
    color: #123552 !important;
    border-color: #d7e0eb !important;
}

.page[data-caprind-theme-family="light"] .fornecedor-tabs .nav-link.active {
    background: var(--ds-color-primary) !important;
    color: #fff !important;
    border-color: var(--ds-color-primary) !important;
}

.page[data-caprind-theme-family="light"] .fornecedor-tab-pane {
    background: #ffffff !important;
    color: #1f2937 !important;
    border-color: #d7e0eb !important;
}

.page[data-caprind-theme-family="light"] .fornecedor-contatos-table tbody td {
    color: #1f2937;
}

@media (max-width: 768px) {
    .fornecedor-modal.modal.show {
        padding: 0.35rem;
    }

    .fornecedor-modal .fornecedor-modal-dialog {
        max-width: 100vw;
        margin: auto !important;
    }

    .fornecedor-modal .modal-content {
        border-radius: .55rem;
    }

    .fornecedor-tabs .nav-link {
        padding: .45rem .65rem;
        font-size: .9rem;
    }

    .fornecedor-tab-pane {
        padding: .7rem;
    }

    .fornecedor-modal .fornecedor-modal-footer .btn {
        width: 100%;
    }

    .fornecedor-flags-grid .form-check {
        min-width: calc(50% - .35rem);
    }
}

/* Logos de bancos (FEBRABAN) — icones-bancos-brasileiros */
img.banco-logo {
    object-fit: contain;
    flex-shrink: 0;
    vertical-align: middle;
}

i.banco-logo-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
}

.banco-campo-grupo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.banco-logo-tile {
    --banco-logo-inner: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--banco-logo-inner) + 1.25rem);
    height: calc(var(--banco-logo-inner) + 1.25rem);
    padding: 0.5rem;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.14);
    flex-shrink: 0;
}

.banco-logo-marca {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
}

.banco-logo-tile .banco-logo-in-tile {
    width: var(--banco-logo-inner);
    height: var(--banco-logo-inner);
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.banco-logo-tile .banco-logo-fallback-in-tile {
    font-size: var(--banco-logo-inner);
    line-height: 1;
    color: #6c757d;
}

/* Ícones coloridos — SVG preto → cor da marca (lista, combo, identificação) */
.banco-logo-tile[data-banco="1"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="1"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="1"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(72%) sepia(79%) saturate(2476%) hue-rotate(359deg) brightness(103%) contrast(104%);
}

.banco-logo-tile[data-banco="3"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="3"] img.banco-logo,
.banco-logo-tile[data-banco="21"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="21"] img.banco-logo,
.banco-logo-tile[data-banco="41"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="41"] img.banco-logo,
.banco-logo-tile[data-banco="70"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="70"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="3"] img.banco-logo-identificacao,
.instituicao-identificacao-logo[data-banco="21"] img.banco-logo-identificacao,
.instituicao-identificacao-logo[data-banco="41"] img.banco-logo-identificacao,
.instituicao-identificacao-logo[data-banco="70"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(32%) sepia(95%) saturate(1200%) hue-rotate(186deg) brightness(95%) contrast(101%);
}

.banco-logo-tile[data-banco="4"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="4"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="4"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(12%) sepia(95%) saturate(6400%) hue-rotate(338deg) brightness(95%) contrast(101%);
}

.banco-logo-tile[data-banco="33"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="33"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="33"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(15%) sepia(99%) saturate(7452%) hue-rotate(358deg) brightness(99%) contrast(113%);
}

.banco-logo-tile[data-banco="77"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="77"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="77"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(55%) sepia(98%) saturate(1800%) hue-rotate(360deg) brightness(102%) contrast(101%);
}

.banco-logo-tile[data-banco="104"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="104"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="104"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(28%) sepia(98%) saturate(1500%) hue-rotate(186deg) brightness(92%) contrast(101%);
}

.banco-logo-tile[data-banco="212"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="212"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="212"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(58%) sepia(65%) saturate(650%) hue-rotate(127deg) brightness(92%) contrast(101%);
}

.banco-logo-tile[data-banco="237"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="237"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="237"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(12%) sepia(95%) saturate(6400%) hue-rotate(338deg) brightness(95%) contrast(101%);
}

.banco-logo-tile[data-banco="260"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="260"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="260"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(19%) sepia(99%) saturate(5000%) hue-rotate(272deg) brightness(95%) contrast(101%);
}

.banco-logo-tile[data-banco="341"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="341"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="341"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(48%) sepia(90%) saturate(1200%) hue-rotate(360deg) brightness(98%) contrast(101%);
}

.banco-logo-tile[data-banco="356"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="356"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="356"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(18%) sepia(90%) saturate(1800%) hue-rotate(186deg) brightness(90%) contrast(101%);
}

.banco-logo-tile[data-banco="399"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="399"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="399"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(12%) sepia(95%) saturate(6400%) hue-rotate(338deg) brightness(95%) contrast(101%);
}

.banco-logo-tile[data-banco="422"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="422"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="422"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(22%) sepia(35%) saturate(900%) hue-rotate(186deg) brightness(90%) contrast(101%);
}

.banco-logo-tile[data-banco="748"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="748"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="748"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(52%) sepia(90%) saturate(500%) hue-rotate(64deg) brightness(95%) contrast(101%);
}

.banco-logo-tile[data-banco="756"] .banco-logo-in-tile,
.banco-logo-marca[data-banco="756"] img.banco-logo,
.instituicao-identificacao-logo[data-banco="756"] img.banco-logo-identificacao {
    filter: brightness(0) saturate(100%) invert(58%) sepia(65%) saturate(650%) hue-rotate(127deg) brightness(92%) contrast(101%);
}

.instituicao-identificacao-logo[data-banco]:not([data-banco=""]) img.banco-logo-identificacao {
    opacity: 1;
}

/* Logo na seção Identificação: 100px, sem caixa colorida */
.instituicao-identificacao-layout {
    align-items: flex-start;
}

.instituicao-identificacao-logo {
    flex-shrink: 0;
    line-height: 0;
}

img.banco-logo.banco-logo-identificacao,
.instituicao-identificacao-logo .banco-logo-fallback {
    width: 100px;
    height: 100px;
    object-fit: contain;
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
}

.instituicao-identificacao-logo .banco-logo-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 100px;
    line-height: 1;
    color: rgba(100, 116, 139, 0.75);
}

.page:not([data-caprind-theme-family="light"]) .instituicao-identificacao-logo .banco-logo-fallback {
    color: rgba(255, 255, 255, 0.55);
}

/* Estoque — títulos de bloco legíveis no tema escuro */
main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-panel-section-heading,
main.app-area--inner article .compras-produtos-page .estoque-data-panel h6 {
    color: rgba(255, 255, 255, 0.96);
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-panel-section-heading,
.page[data-caprind-theme-family="light"] main.app-area--inner article .compras-produtos-page .estoque-data-panel h6 {
    color: #123552 !important;
}

/* Estoque — tabelas legíveis no tema escuro (consulta movimentação, FIFO) */
.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-data-table.table {
    --bs-table-bg: var(--ds-color-brand-800) !important;
    --bs-table-striped-bg: var(--ds-table-row-stripe) !important;
    --bs-table-hover-bg: var(--ds-table-row-hover) !important;
    --bs-table-active-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
    --bs-table-border-color: var(--ds-color-border) !important;
    color: var(--ds-color-text) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-data-table thead th {
    background: var(--ds-table-header-bg) !important;
    color: var(--ds-table-header-text) !important;
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.085em;
    border-bottom: 1px solid var(--ds-color-border);
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-data-table td {
    color: var(--ds-color-text) !important;
    border-color: var(--ds-color-border) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-data-table.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--ds-table-row-stripe) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-data-table.table-striped > tbody > tr:nth-of-type(even) > * {
    background-color: var(--ds-color-brand-800) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-data-table.table-hover > tbody > tr:hover > * {
    background-color: var(--ds-table-row-hover) !important;
    color: var(--ds-color-text) !important;
}

.page[data-caprind-theme-family="dark"] main.app-area--inner article .compras-produtos-page .estoque-data-panel .app-data-table tbody tr.table-active > * {
    background-color: rgba(61, 154, 224, 0.16) !important;
    color: var(--ds-color-text) !important;
}

/* Estoque saída — abas + painel flexível (sem app-toolbar sobrepondo conteúdo) */
main.app-area--inner article .rh-list-page.estoque-saida-page {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

main.app-area--inner article .estoque-saida-page > .app-page-header {
    flex: 0 0 auto;
    flex-shrink: 0;
}

main.app-area--inner article .estoque-saida-page > .estoque-saida-workspace {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
    margin-bottom: 0 !important;
}

main.app-area--inner article .estoque-saida-page .estoque-saida-tab-pane {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0.75rem 0.25rem 0.5rem 0;
    -webkit-overflow-scrolling: touch;
}

main.app-area--inner article .estoque-saida-page .estoque-saida-fifo-wrap {
    max-width: 100%;
    overflow: auto;
    max-height: min(50vh, 28rem);
}

main.app-area--inner article .estoque-saida-page .estoque-saida-fifo-wrap .compras-produtos-table {
    margin-bottom: 0;
}

main.app-area--inner article .estoque-saida-page .estoque-saida-col-check {
    width: 2.75rem;
    min-width: 2.75rem;
    vertical-align: middle;
}

main.app-area--inner article .estoque-saida-page .estoque-saida-col-check .form-check-input {
    float: none;
    margin: 0;
}

main.app-area--inner article .estoque-saida-page .estoque-saida-itens-panel {
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    padding-top: 0.75rem;
}

/* Estoque — treeview consulta movimentação */
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-toggle {
    color: inherit;
    line-height: 1;
    min-width: 1.25rem;
}

main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-re .estoque-tree-indent-re {
    padding-left: 1.35rem;
}

main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov .estoque-tree-indent-mov {
    padding-left: 2.75rem;
}

main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-re td:nth-child(2),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-re td:nth-child(3),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-re td:nth-child(4),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-re td:nth-child(5),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-re td:nth-child(8),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-re td:nth-child(10) {
    border-left: 1px solid rgba(110, 136, 168, 0.28);
}

main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(2),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(3),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(4),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(5),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(6),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(7),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(8),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(9),
main.app-area--inner article .compras-produtos-page .estoque-mov-tree-table .estoque-tree-row-mov td:nth-child(10) {
    border-left: 1px dashed rgba(110, 136, 168, 0.24);
}

/* Engenharia — conjuntos / processos: listas internas com tema dashboard escuro */
main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table.table > tbody > tr > * {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ds-color-text);
    --bs-table-accent-bg: transparent;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table.table {
    --bs-table-bg: var(--ds-color-brand-800) !important;
    --bs-table-striped-bg: var(--ds-table-row-stripe) !important;
    --bs-table-hover-bg: var(--ds-table-row-hover) !important;
    --bs-table-active-bg: color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
    --bs-table-border-color: var(--ds-color-border) !important;
    color: var(--ds-color-text) !important;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table {
    background: var(--ds-color-bg-elevated) !important;
    border: 1px solid var(--ds-color-border) !important;
    border-radius: 12px;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42) !important;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table thead th {
    background: var(--ds-table-header-bg) !important;
    color: var(--ds-table-header-text) !important;
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.085em;
    border-bottom: 1px solid var(--ds-color-border);
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table td {
    color: var(--ds-color-text) !important;
    border-color: var(--ds-color-border) !important;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--ds-table-row-stripe) !important;
    color: var(--ds-color-text) !important;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table.table-striped > tbody > tr:nth-of-type(even) > * {
    background-color: var(--ds-color-brand-800) !important;
    color: var(--ds-color-text) !important;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table.table-hover > tbody > tr:hover > * {
    background-color: var(--ds-table-row-hover) !important;
    color: var(--ds-color-text) !important;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table tbody tr.app-table-row-selected > * {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ds-color-text);
    background-color: color-mix(in srgb, var(--ds-color-primary) 28%, transparent) !important;
    color: var(--ds-color-text) !important;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table .app-actions-col {
    min-width: 7.25rem;
    max-width: none;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table th.app-actions-col,
main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-data-table td.app-actions-col {
    background-color: color-mix(in srgb, var(--ds-color-brand-900) 88%, transparent) !important;
}

main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel .app-panel-section-heading,
main.app-area--inner article .engenharia-produtos-page .compras-produtos-panel legend.form-label {
    color: rgba(255, 255, 255, 0.96);
}

main.app-area--inner article .engenharia-produtos-page .fornecedor-form-grid .form-control[readonly],
main.app-area--inner article .engenharia-produtos-page .fornecedor-form-grid textarea.form-control[readonly],
main.app-area--inner article .engenharia-produtos-page .fornecedor-form-grid select.form-select:disabled {
    opacity: 0.92;
    cursor: default;
    background: var(--ds-input-bg, var(--ds-input-bg)) !important;
    color: var(--ds-input-text, var(--ds-input-text)) !important;
}

/* Engenharia — estrutura do produto (processos) */
main.app-area--inner article .engenharia-produtos-page .processo-estrutura-table-wrap {
    max-height: none;
}

main.app-area--inner article .engenharia-produtos-page .processo-estrutura-table {
    font-size: 0.8125rem;
    white-space: nowrap;
}

main.app-area--inner article .engenharia-produtos-page .processo-estrutura-table th,
main.app-area--inner article .engenharia-produtos-page .processo-estrutura-table td {
    vertical-align: middle;
}

main.app-area--inner article .engenharia-produtos-page .processo-estrutura-col-desenho {
    min-width: 10rem;
    max-width: 16rem;
    white-space: normal;
}

main.app-area--inner article .engenharia-produtos-page .processo-estrutura-row-n0 {
    font-weight: 600;
}

/* Financeiro — plano de contas em árvore */
main.app-area--inner article .plano-conta-tree-panel {
    max-height: calc(100vh - 17rem);
    overflow: auto;
}

main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-col-desc {
    min-width: 18rem;
}

main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-codigo {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: inherit;
    font-weight: 500;
    line-height: inherit;
    white-space: nowrap;
    flex-shrink: 0;
    margin-right: 0.65rem;
    color: var(--ds-color-text-muted);
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-codigo {
    color: #475569;
}

main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-row--grupo .plano-conta-tree-codigo {
    color: var(--ds-color-text);
    font-weight: 600;
}

.page[data-caprind-theme-family="light"] main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-row--grupo .plano-conta-tree-codigo {
    color: #1a1f2e;
}

main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-toggle {
    width: 1.35rem;
    height: 1.35rem;
    line-height: 1;
    color: var(--bs-secondary-color);
}

main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-leaf-spacer {
    display: inline-block;
    width: 1.35rem;
    flex-shrink: 0;
}

main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-row--grupo td {
    font-weight: 600;
}

main.app-area--inner article .plano-conta-tree-table .plano-conta-tree-row--folha td {
    font-weight: 400;
}

/* —— Workspace de abas (até 8 telas abertas) —— */
.tab-workspace-root {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    flex: 1 1 auto;
    position: relative;
    z-index: 1;
    background: transparent;
}

.tab-workspace-panels {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.tab-workspace-panel {
    display: none;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    overflow: auto;
}

.tab-workspace-panel--active {
    display: flex;
    flex-direction: column;
}

.app-tab-bar {
    display: flex;
    align-items: stretch;
    gap: 0.28rem;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    min-height: 2.5rem;
    max-height: 2.5rem;
    padding: 0.28rem 0.55rem 0;
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: 1px solid color-mix(in srgb, var(--ds-color-primary) 45%, transparent);
    background: linear-gradient(180deg, var(--ds-color-brand-700) 0%, var(--ds-color-brand-800) 100%);
    box-shadow: var(--ds-shadow-md, 0 2px 10px rgba(4, 12, 24, 0.28));
    color: var(--ds-color-text);
}

.app-tab {
    display: inline-flex;
    align-items: stretch;
    max-width: 15rem;
    border: 1px solid var(--ds-color-border);
    border-bottom: none;
    border-radius: 0.42rem 0.42rem 0 0;
    background: var(--ds-color-bg-muted);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.app-tab--active {
    border-color: color-mix(in srgb, var(--ds-color-primary) 55%, transparent);
    background: linear-gradient(180deg, var(--ds-color-brand-600) 0%, var(--ds-color-brand-700) 100%);
    box-shadow: 0 -2px 0 var(--ds-color-primary) inset, 0 4px 14px rgba(0, 0, 0, 0.22);
}

.app-tab--active .app-tab__select {
    color: var(--ds-color-link-hover);
    font-weight: 600;
}

.app-tab__select {
    display: inline-flex;
    align-items: center;
    border: 0;
    background: transparent;
    color: color-mix(in srgb, var(--ds-color-text) 90%, transparent);
    padding: 0.32rem 0.55rem 0.36rem;
    min-width: 0;
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.2;
}

.app-tab__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-tab__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: color-mix(in srgb, var(--ds-color-text) 82%, transparent);
    opacity: 1;
    width: 1.65rem;
    padding: 0;
    cursor: pointer;
    font-size: 0.74rem;
}

.app-tab__close:hover,
.app-tab__select:hover {
    color: var(--ds-color-link-hover);
}

article:has(.tab-workspace-root) > .tab-workspace-root {
    min-height: 0;
    max-height: 100%;
}

article:has(.tab-workspace-root) {
    overflow: hidden;
}

article:has(.tab-workspace-root) .tab-workspace-panel--active > * {
    min-height: 0;
    flex: 1 1 auto;
}

.app-tab--dirty .app-tab__select {
    font-style: italic;
}

.app-tab__dirty-dot {
    display: inline-block;
    width: 0.4rem;
    height: 0.4rem;
    margin-right: 0.25rem;
    border-radius: 50%;
    background: #f59e0b;
    flex-shrink: 0;
}

.app-tab--active .app-tab__dirty-dot {
    background: #fbbf24;
}

.tab-workspace-panel-host {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

input[type="email"],
input.app-email-campo,
textarea.app-email-campo {
    text-transform: lowercase;
}

/* Telas pequenas: rolagem vertical quando o conteúdo não couber na viewport */
@media (max-width: 767.98px) {
    main.app-area--inner {
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    main.app-area--inner article {
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page):not(.caprind-home-shell):not(.bancos-page):not(.situacao-producao-list-page):not(.monitor-trabalho-list-page):is(
        :has(> .app-pagination-bottom),
        :has(> .app-page-content),
        :has(> .app-panel.compras-produtos-panel),
        :has(> .compras-produtos-panel),
        :has(> .app-panel:has(.compras-produtos-table-wrap)),
        :has(> .app-panel:has(> .table-responsive)),
        :has(> .carteira-titulos-page)
    ) {
        max-height: none;
        overflow-x: hidden;
        overflow-y: auto;
    }

    main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page):not(.estoque-saida-page) > .app-page-content,
    main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-panel:has(.compras-produtos-table-wrap),
    main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) > .app-panel:has(> .table-responsive),
    main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .compras-produtos-table-wrap,
    main.app-area--inner article .rh-list-page:not(.caprind-dashboard-page) .table-responsive {
        max-height: none;
        overflow-y: visible;
    }

    main.app-area--home .caprind-home-shell {
        overflow-x: hidden;
        overflow-y: auto;
        max-height: none;
    }
}
