:root {
    --cor-maxi: #24a578;
    --cor-primaria: #46b995;
    --cor-primaria-suave: color-mix(in srgb, var(--cor-primaria) 12%, transparent);
    --tw-sidebar-width: 15.5rem;
    --tw-sidebar-collapsed: 4.5rem;
    --tw-sidebar-ease: 0.6s ease-in-out;
}

.tw-layout {
    overflow-x: hidden;
}

.tw-layout .main-sidebar {
    display: none !important;
}

.tw-layout .wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.tw-layout .wrapper > .control-sidebar {
    display: none !important;
}

.tw-layout .content-wrapper,
.tw-layout .main-header,
.tw-layout .main-footer {
    margin-left: var(--tw-sidebar-width) !important;
    transition: margin-left var(--tw-sidebar-ease) !important;
}

.tw-layout .wrapper .content-wrapper {
    min-height: 0 !important;
    flex: 1 0 auto;
}

.tw-layout .content-wrapper {
    margin-top: 0 !important;
    padding-top: 0;
    padding-bottom: 0 !important;
}

.tw-layout .content {
    padding-top: 0.5rem;
    padding-left: 0;
    padding-right: 0;
}

.tw-layout.tw-sidebar--collapsed .content-wrapper,
.tw-layout.tw-sidebar--collapsed .main-header,
.tw-layout.tw-sidebar--collapsed .main-footer {
    margin-left: var(--tw-sidebar-collapsed) !important;
}

.tw-painel .tw-content-wrapper {
    background: #f9fafb !important;
}

/* Sidebar */
.tw-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    width: var(--tw-sidebar-width);
    background: linear-gradient(180deg, #ffffff 0%, #f8f9fc 100%);
    border-right: 1px solid rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition:
        width var(--tw-sidebar-ease),
        transform var(--tw-sidebar-ease),
        box-shadow var(--tw-sidebar-ease) !important;
}

.tw-layout.tw-sidebar--collapsed .tw-sidebar {
    width: var(--tw-sidebar-collapsed);
}

.tw-sidebar__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.6rem;
    padding: 0 0.85rem;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    text-decoration: none;
}

.tw-sidebar__brand--maxi {
    background-color: var(--cor-primaria);
    border-bottom-color: rgba(0, 0, 0, 0.06);
}

.tw-sidebar__brand-full {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-width: 0;
}

.tw-sidebar__brand-icon {
    height: 2rem;
    width: auto;
    flex-shrink: 0;
    object-fit: contain;
}

.tw-sidebar__brand-text {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #fff;
    white-space: nowrap;
}

.tw-sidebar__logo {
    height: 1.7rem;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    transition: height var(--tw-sidebar-ease);
}

.tw-sidebar__logo--wide {
    display: block;
}

.tw-sidebar__logo--mark {
    display: none;
}

.tw-layout.tw-sidebar--collapsed .tw-sidebar__brand-full {
    display: none;
}

.tw-layout.tw-sidebar--collapsed .tw-sidebar__logo--wide {
    display: none;
}

.tw-layout.tw-sidebar--collapsed .tw-sidebar__logo--mark {
    display: block;
    height: 2rem;
}

.tw-sidebar__nav {
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0.25rem 0.65rem 1.5rem;
}

.tw-sidebar__section {
    margin: 0.75rem 0.65rem 0.2rem;
    color: #94a3b8;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    transition: opacity 0.26s ease 0.15s;
}

.tw-sidebar__admin-block {
    margin-top: 0.75rem;
    padding-top: 0.85rem;
    border-top: 1px solid #e5e7eb;
}

.tw-sidebar__section--admin {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.35rem 0.65rem 0.15rem 0.85rem;
}

.tw-sidebar__section--admin i {
    width: 1rem;
    flex-shrink: 0;
    font-size: 0.72rem;
    text-align: center;
    color: #94a3b8;
}

.tw-sidebar__admin-block > .tw-sidebar__section--admin:first-child {
    margin-top: 0;
}

.tw-sidebar__link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.02rem 0;
    padding: 0.52rem 0.8rem;
    border-radius: 0.6rem;
    color: #4a5568;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    list-style: none;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease,
        padding var(--tw-sidebar-ease),
        gap var(--tw-sidebar-ease);
}

.tw-sidebar__link::-webkit-details-marker {
    display: none;
}

.tw-sidebar__link i:first-child {
    width: 1.25rem;
    text-align: center;
    flex-shrink: 0;
    color: #94a3b8;
}

.tw-sidebar__link:hover {
    background: rgba(15, 23, 42, 0.04);
    color: var(--cor-primaria);
    text-decoration: none;
}

.tw-sidebar__link:hover i:first-child {
    color: var(--cor-primaria);
}

.tw-sidebar__link.is-active {
    background: var(--cor-primaria);
    color: #fff;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--cor-primaria) 22%, transparent);
}

.tw-sidebar__link.is-active i:first-child {
    color: #fff;
}

.tw-sidebar__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 1;
    transform: translateX(0);
    transition: opacity 0.3s ease 0.14s, transform 0.3s ease 0.14s;
}

.tw-sidebar__chevron {
    margin-left: auto;
    font-size: 0.75rem;
    color: #94a3b8;
    transition: transform var(--tw-sidebar-ease);
}

.tw-sidebar__group[open] > .tw-sidebar__toggle .tw-sidebar__chevron {
    transform: rotate(-90deg);
}

.tw-sidebar__group {
    interpolate-size: allow-keywords;
}

.tw-sidebar__group::details-content {
    block-size: 0;
    overflow: hidden;
    opacity: 0;
    transition:
        block-size 0.32s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.2s ease,
        content-visibility 0.32s allow-discrete;
}

.tw-sidebar__group[open]::details-content {
    block-size: auto;
    opacity: 1;
}

.tw-sidebar__submenu {
    display: flex;
    flex-direction: column;
    padding-left: 0.45rem;
}

.tw-sidebar__submenu .tw-sidebar__link {
    padding: 0.42rem 0.8rem;
    font-size: 0.85rem;
}

.tw-layout.tw-sidebar--collapsed .tw-sidebar__label,
.tw-layout.tw-sidebar--collapsed .tw-sidebar__section,
.tw-layout.tw-sidebar--collapsed .tw-sidebar__chevron {
    width: 0;
    height: 0;
    margin: 0;
    opacity: 0;
    transform: translateX(-0.4rem);
    overflow: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.tw-layout.tw-sidebar--collapsed .tw-sidebar__submenu {
    display: none;
}

.tw-layout.tw-sidebar--collapsed .tw-sidebar__link {
    justify-content: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    gap: 0;
}

.tw-sidebar__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1090;
    border: 0;
    padding: 0;
    background: rgba(15, 23, 42, 0.38);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

@media (max-width: 991.98px) {
    .tw-layout .content-wrapper,
    .tw-layout .main-header,
    .tw-layout .main-footer {
        margin-left: 0 !important;
    }

    .tw-sidebar {
        width: min(var(--tw-sidebar-width), 86vw);
        max-width: 20rem;
        transform: translate3d(-100%, 0, 0);
        box-shadow: none;
        pointer-events: none;
    }

    .tw-layout.tw-sidebar--collapsed .tw-sidebar {
        width: min(var(--tw-sidebar-width), 86vw);
    }

    .tw-layout.tw-sidebar--collapsed .tw-sidebar__brand-full {
        display: flex;
    }

    .tw-layout.tw-sidebar--collapsed .tw-sidebar__logo--mark {
        display: none;
    }

    .tw-layout.tw-sidebar--collapsed .tw-sidebar__label,
    .tw-layout.tw-sidebar--collapsed .tw-sidebar__section,
    .tw-layout.tw-sidebar--collapsed .tw-sidebar__chevron {
        width: auto;
        height: auto;
        margin: unset;
        opacity: 1;
        overflow: hidden;
        pointer-events: auto;
    }

    .tw-layout.tw-sidebar--collapsed .tw-sidebar__submenu {
        display: flex;
    }

    .tw-layout.tw-sidebar--collapsed .tw-sidebar__link {
        justify-content: flex-start;
        padding: 0.7rem 0.8rem;
        gap: 0.75rem;
    }

    .tw-layout.tw-sidebar--open .tw-sidebar {
        transform: translate3d(0, 0, 0);
        pointer-events: auto;
        box-shadow: 12px 0 32px rgba(15, 23, 42, 0.14);
    }

    .tw-layout.tw-sidebar--open .tw-sidebar__backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .tw-layout.tw-sidebar--open {
        overflow: hidden;
    }
}

.tw-layout .modal-backdrop {
    z-index: 1400 !important;
}

.tw-layout .modal {
    z-index: 1410 !important;
}

.tw-layout.modal-open .main-header,
.tw-layout.modal-open .tw-sidebar {
    z-index: 1030;
}

/* Navbar */
.tw-navbar.main-header.navbar {
    height: 3.5rem;
    min-height: 3.5rem;
    padding: 0 1rem;
    background: #fff !important;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: none;
}

.tw-navbar .navbar-nav .nav-item {
    display: flex;
    align-items: center;
}

.tw-navbar .nav-link {
    display: inline-flex;
    align-items: center;
    margin: 0 0.125rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.375rem;
    color: #4b5563 !important;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.tw-navbar .nav-link:hover,
.tw-navbar .nav-link:focus {
    background: #f3f4f6;
    color: #111827 !important;
}

.tw-navbar .tw-sidebar-toggle {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    justify-content: center;
    color: #374151 !important;
}

.tw-navbar__empresa {
    display: block;
    max-width: 16rem;
    margin-left: 0.25rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #6b7280;
    font-size: 0.875rem;
    font-weight: 500;
}

@media (max-width: 575.98px) {
    .tw-navbar__empresa {
        max-width: 8rem;
    }
}

.tw-navbar .tw-navbar__user {
    gap: 0.5rem;
    padding: 0.25rem 0.5rem 0.25rem 0.25rem !important;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
}

.tw-navbar .tw-navbar__user:hover,
.tw-navbar .tw-navbar__user:focus,
.tw-navbar .tw-navbar__user.show {
    background: #f9fafb;
    color: #111827 !important;
    border-color: #d1d5db;
}

.tw-navbar .dropdown-toggle::after {
    display: none;
}

.tw-navbar__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 9999px;
    background: #f3f4f6;
    color: #374151;
    font-size: 0.6875rem;
    font-weight: 600;
}

.tw-navbar__user-name {
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

.tw-navbar__chevron {
    font-size: 0.625rem;
    color: #9ca3af;
}

.tw-navbar .dropdown-menu {
    z-index: 1050;
}

.tw-navbar-dropdown {
    min-width: 12.5rem;
    border-radius: 0.75rem !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05) !important;
}

.tw-navbar-dropdown__name {
    font-size: 0.875rem;
    font-weight: 600;
    color: #111827;
}

.tw-navbar-dropdown__email {
    font-size: 0.75rem;
    color: #6b7280;
}

/* Cabeçalho da página */
.tw-page-header {
    padding: 0.25rem 0 1rem;
}

.tw-page-header__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.75rem;
    color: #6b7280;
}

.tw-page-header__title i {
    margin-right: 0.5rem;
    color: #9ca3af;
    font-size: 1rem;
}

/* Cards — cantos visíveis (header/footer AdminLTE não herdam o raio do .card) */
.tw-pagina .card {
    border: 1px solid #e5e7eb !important;
    border-radius: var(--tw-card-radius, 0.8rem) !important;
    overflow: hidden;
    background-color: #fff;
}

.tw-pagina .card.shadow {
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08) !important;
}

.tw-pagina .card > .card-header:first-child {
    border-top-left-radius: var(--tw-card-radius, 0.8rem);
    border-top-right-radius: var(--tw-card-radius, 0.8rem);
}

.tw-pagina .card > .card-footer:last-child {
    border-bottom-left-radius: var(--tw-card-radius, 0.8rem);
    border-bottom-right-radius: var(--tw-card-radius, 0.8rem);
}

.tw-filtro-card.card {
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.04) !important;
}

.tw-filtro-card .card-header {
    background: #fff;
    border-bottom: 1px solid #f3f4f6;
}

.tw-layout .main-footer.tw-layout-footer {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
    float: none !important;
    width: auto !important;
    flex: 0 0 auto;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0.75rem 1.5rem !important;
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    border-top: 1px solid #e5e7eb;
    color: #9ca3af;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1rem;
}

.tw-layout.layout-footer-fixed .wrapper .main-footer,
.tw-layout.layout-sm-footer-fixed .wrapper .main-footer,
.tw-layout.layout-md-footer-fixed .wrapper .main-footer,
.tw-layout.layout-lg-footer-fixed .wrapper .main-footer,
.tw-layout.layout-xl-footer-fixed .wrapper .main-footer {
    position: static !important;
}

.tw-layout.layout-footer-fixed .wrapper .content-wrapper,
.tw-layout.layout-sm-footer-fixed .wrapper .content-wrapper,
.tw-layout.layout-md-footer-fixed .wrapper .content-wrapper,
.tw-layout.layout-lg-footer-fixed .wrapper .content-wrapper,
.tw-layout.layout-xl-footer-fixed .wrapper .content-wrapper {
    padding-bottom: 0 !important;
}

.tw-layout-footer__copy {
    margin: 0;
}

.tw-layout-footer__versao {
    color: #9ca3af;
}

.tw-layout-footer a {
    color: var(--cor-primaria);
    font-size: inherit;
    font-weight: inherit;
    text-decoration: none;
}

.tw-layout-footer a:hover {
    color: var(--cor-primaria);
    text-decoration: underline;
}

.tw-footer-cookies {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100vw;
    z-index: 2147483647;
    margin: 0;
    border: none;
    border-radius: 0;
    background-color: var(--cor-primaria);
    box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.12);
}

.tw-footer-cookies__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.625rem 1rem;
    width: 100%;
    max-width: 100%;
    padding: 0.75rem 1rem;
    box-sizing: border-box;
}

.tw-footer-cookies__text {
    flex: 1 1 16rem;
    margin: 0;
    color: #fff;
    font-size: 0.9375rem;
    line-height: 1.45;
    text-align: center;
}

.tw-footer-cookies__icon {
    margin-right: 0.35rem;
    font-size: 1rem;
    opacity: 0.95;
}

.tw-footer-cookies__link {
    color: #fff;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.tw-footer-cookies__link:hover {
    color: rgba(255, 255, 255, 0.92);
}

@keyframes tw-pagina-entrar {
    from {
        opacity: 0;
        transform: translateX(2rem);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes tw-pagina-sair {
    to {
        opacity: 0;
        transform: translateX(-1.5rem);
    }
}

.tw-pagina {
    animation: tw-pagina-entrar 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.tw-pagina.is-saindo {
    animation: tw-pagina-sair 0.25s ease-in forwards;
}

@media (prefers-reduced-motion: reduce) {
    .tw-pagina,
    .tw-pagina.is-saindo,
    .tw-sidebar__group::details-content {
        animation: none;
        transition: none;
    }
}

.tw-form-card__footer {
    border-color: rgba(0, 0, 0, 0.08) !important;
}

.tw-form-card__footer .tw-form-acoes .btn-acao-primaria {
    margin-left: auto;
}

/* Dashboard */
.tw-dash-welcome {
    font-size: 0.9375rem;
    color: #4b5563;
}

.tw-dash-callout {
    border-radius: var(--tw-card-radius, 0.8rem);
}

.tw-dash-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
    gap: 1rem;
}

.tw-dash-stat {
    display: flex;
    flex-direction: column;
    padding: 1rem 1.15rem;
    text-decoration: none !important;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.tw-dash-stat:hover {
    border-color: color-mix(in srgb, var(--cor-maxi) 35%, #e5e7eb) !important;
    transform: translateY(-1px);
}

.tw-dash-stat__label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}

.tw-dash-stat__value {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--cor-maxi);
    margin: 0.35rem 0;
}

.tw-dash-stat__hint {
    font-size: 0.8125rem;
    color: #9ca3af;
}

.tw-dash-table thead th {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b7280;
    border-top: none;
}

.tw-dash-table tbody td {
    font-size: 0.875rem;
    vertical-align: middle;
}

.tw-dash-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cor-maxi-link);
    text-decoration: none;
}

.tw-dash-link:hover {
    text-decoration: underline;
}

.tw-dash-actions {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.tw-dash-action {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    text-decoration: none !important;
    color: inherit;
    background: #fff;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.tw-dash-action:hover {
    border-color: color-mix(in srgb, var(--cor-maxi-icon) 45%, #e5e7eb);
    background: color-mix(in srgb, var(--cor-maxi-icon) 6%, #fff);
}

.tw-dash-action__icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--cor-maxi-icon) 14%, #fff);
    color: var(--cor-maxi-icon);
    font-size: 1rem;
}

.tw-dash-action strong {
    font-size: 0.875rem;
    font-weight: 600;
    color: #111827;
}

.tw-dash-action small {
    font-size: 0.75rem;
}

/* Análise de marketing — cards estilo Tailwind (utilitários não compilados no painel) */
.tw-mkt-page {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.tw-mkt-page .tw-dt-page {
    margin-top: 0.25rem;
}

.tw-mkt-page .table.tw-dt thead th,
.tw-mkt-page .table.tw-dt tbody td {
    padding-top: 0.4375rem;
    padding-bottom: 0.4375rem;
}

.tw-mkt-title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    color: #1e293b;
}

.tw-mkt-kpi-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 576px) {
    .tw-mkt-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .tw-mkt-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.tw-mkt-kpi-card {
    display: flex;
    flex-direction: column;
    padding: 0.875rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.tw-mkt-kpi-card:hover {
    border-color: color-mix(in srgb, var(--cor-maxi) 28%, #e2e8f0);
    box-shadow: 0 4px 14px rgb(15 23 42 / 0.08);
    transform: translateY(-2px);
}

.tw-mkt-kpi-card__label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    line-height: 1.35;
}

.tw-mkt-kpi-card__value {
    margin-top: 0.35rem;
    font-size: 1.625rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    color: var(--cor-maxi);
}

.tw-mkt-insight-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 992px) {
    .tw-mkt-insight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tw-mkt-insight-card {
    padding: 0.875rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.05);
}

.tw-mkt-insight-card--amber {
    border-color: rgb(251 191 36 / 0.45);
    background: linear-gradient(135deg, #fffbeb 0%, #fff 55%);
}

.tw-mkt-insight-card--orange {
    border-color: rgb(251 146 60 / 0.45);
    background: linear-gradient(90deg, #fff7ed 0%, #fff 70%);
}

.tw-mkt-insight-card--sky {
    border-color: rgb(56 189 248 / 0.45);
    background: linear-gradient(90deg, #f0f9ff 0%, #fff 70%);
}

.tw-mkt-insight-card--emerald {
    border-color: rgb(52 211 153 / 0.45);
    background: linear-gradient(135deg, #ecfdf5 0%, #fff 55%);
}

.tw-mkt-insight-card__title {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    margin: 0 0 0.35rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1e293b;
}

.tw-mkt-insight-card__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
}

.tw-mkt-insight-card--amber .tw-mkt-insight-card__icon {
    background: #fef3c7;
    color: #b45309;
}

.tw-mkt-insight-card--orange .tw-mkt-insight-card__icon {
    background: #ffedd5;
    color: #c2410c;
}

.tw-mkt-insight-card--sky .tw-mkt-insight-card__icon {
    background: #e0f2fe;
    color: #0369a1;
}

.tw-mkt-insight-card--emerald .tw-mkt-insight-card__icon {
    background: #d1fae5;
    color: #047857;
}

.tw-mkt-insight-card__text {
    margin: 0 0 0 2.625rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #475569;
}

.tw-mkt-insight-card__text strong {
    color: #334155;
}

.tw-export-periodo__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tw-export-periodo__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4375rem 0.875rem;
    border-radius: 9999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #475569;
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.tw-export-periodo__pill:hover {
    border-color: #cbd5e1;
    color: #1e293b;
}

.tw-export-periodo__pill.is-active {
    border-color: rgb(56 189 248 / 0.55);
    background: linear-gradient(135deg, #f0f9ff 0%, #fff 60%);
    color: #0369a1;
}

.tw-export-periodo__icon {
    display: inline-flex;
    font-size: 0.875rem;
    opacity: 0.85;
}

.tw-export-periodo__acao {
    margin: 0.75rem 0 0 2.625rem;
}

.tw-mkt-panel {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.05);
}

.tw-mkt-panel__header {
    padding: 0.625rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    background: rgb(248 250 252 / 0.85);
}

.tw-mkt-panel__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1e293b;
}

.tw-mkt-panel__body {
    padding: 0.75rem 1rem;
}

.tw-mkt-panel__empty {
    margin: 0;
    font-size: 0.875rem;
    color: #64748b;
}

.tw-mkt-panel .tw-mkt-panel__table.tw-dt-shell {
    border: none;
    border-radius: 0;
    box-shadow: none;
    border-top: 1px solid #f1f5f9;
}

.tw-mkt-panel .tw-mkt-panel__table .table.tw-dt {
    margin-bottom: 0;
}

/* Financeiro — pagamento/recebimento de conta */
.tw-fin-resumo-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .tw-fin-resumo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tw-mkt-panel--emerald {
    border-color: rgb(52 211 153 / 0.45);
}

.tw-mkt-panel--emerald .tw-mkt-panel__header {
    border-bottom-color: rgb(52 211 153 / 0.25);
    background: linear-gradient(90deg, #ecfdf5 0%, #fff 70%);
}

.tw-mkt-panel--emerald .tw-mkt-panel__title i {
    color: #047857;
}

.tw-fin-valores {
    margin: 0;
    list-style: none;
}

.tw-fin-valores__item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.4375rem 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.875rem;
}

.tw-fin-valores__item:last-child {
    border-bottom: none;
}

.tw-fin-valores__label {
    color: #64748b;
}

.tw-fin-valores__valor {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: #1e293b;
}

.tw-fin-valores__item--destaque {
    margin-top: 0.25rem;
    padding-top: 0.625rem;
    border-top: 1px solid #e2e8f0;
}

.tw-fin-valores__item--destaque .tw-fin-valores__label {
    font-weight: 600;
    color: #334155;
}

.tw-fin-valores__item--destaque .tw-fin-valores__valor {
    font-size: 1.125rem;
    color: var(--cor-maxi);
}

.tw-dt-rolagem .tw-dt .form-control {
    min-width: 9rem;
}
