:root {
    --cnpj-green: #0b6b50;
    --cnpj-green-dark: #083f34;
    --cnpj-green-soft: #dff5ec;
    --cnpj-gold: #d8a316;
    --cnpj-ink: #13221b;
    --cnpj-sidebar-offset: 20rem;
}

:root.cnpj-sidebar-collapsed {
    --cnpj-sidebar-offset: 5.25rem;
}

.fi-sidebar {
    background: linear-gradient(180deg, #073c32 0%, #0a6a4f 48%, #f7f2de 100%) !important;
    border-right: 0 !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    box-shadow: 18px 0 45px rgba(8, 63, 52, .14);
}

.fi-sidebar-header {
    display: none !important;
}

.fi-sidebar-nav {
    padding: 1.15rem .9rem !important;
}

.fi-sidebar-group-label {
    color: rgba(255, 255, 255, .9) !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase;
}

.fi-sidebar-group-collapse-button {
    color: rgba(255, 255, 255, .82) !important;
}

.fi-sidebar-item-button {
    color: #ecfff7 !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 14px !important;
    margin-block: .18rem !important;
    transition: all .18s ease;
}

.fi-sidebar-item-button:hover {
    background: rgba(255, 255, 255, .14) !important;
    transform: translateX(2px);
}

.fi-sidebar-item-active .fi-sidebar-item-button,
.fi-sidebar-item-button[aria-current="page"] {
    background: #ffffff !important;
    color: var(--cnpj-green) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .12);
}

.fi-sidebar-item-icon,
.fi-sidebar-item-label {
    color: currentColor !important;
}

.fi-topbar {
    position: relative !important;
    z-index: 10050 !important;
    border-bottom: 1px solid rgba(8, 63, 52, .12) !important;
    background: #ffffff !important;
    min-height: 4rem !important;
}

.fi-dropdown-panel,
.fi-popover-panel,
[data-floating-ui-portal] {
    z-index: 10080 !important;
}

.fi-topbar .fi-dropdown,
.fi-topbar .fi-dropdown-trigger,
.fi-topbar .fi-user-menu,
.fi-topbar .fi-user-menu-trigger,
.fi-topbar .fi-dropdown-panel {
    z-index: 2147483000 !important;
}

.fi-topbar .fi-dropdown-panel {
    position: fixed !important;
    isolation: isolate !important;
}

[x-cloak] {
    display: none !important;
}

.cnpj-source-info-menu {
    display: inline-flex;
    align-items: center;
    margin-right: .55rem;
}

.cnpj-top-quick-links {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-right: .72rem;
    padding-right: .72rem;
    border-right: 1px solid rgba(15, 23, 42, .12);
}

.cnpj-top-quick-link {
    --cnpj-top-link-color: #0ea5e9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    min-height: 2.15rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 999px;
    background: #ffffff;
    padding: .38rem .68rem;
    color: #334155;
    font-size: .78rem;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}

.cnpj-top-quick-link:hover {
    border-color: color-mix(in srgb, var(--cnpj-top-link-color) 36%, transparent);
    background: color-mix(in srgb, var(--cnpj-top-link-color) 10%, #ffffff);
    color: #0f172a;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.cnpj-top-quick-link svg {
    width: 1.02rem;
    height: 1.02rem;
    color: var(--cnpj-top-link-color);
    stroke-width: 2.2;
}

.cnpj-top-quick-link.planos {
    --cnpj-top-link-color: #f59e0b;
}

.cnpj-top-quick-link.mensalidade {
    --cnpj-top-link-color: #2563eb;
}

@media (max-width: 760px) {
    .cnpj-top-quick-links {
        gap: .25rem;
        margin-right: .45rem;
        padding-right: .45rem;
    }

    .cnpj-top-quick-link {
        width: 2.15rem;
        padding-inline: 0;
    }

    .cnpj-top-quick-link span {
        display: none;
    }
}

.cnpj-source-info-trigger {
    display: inline-grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    border: 1px solid rgba(202, 138, 4, .22);
    border-radius: 999px;
    background: #fff7ed;
    color: #92400e;
    box-shadow: 0 10px 24px rgba(146, 64, 14, .08);
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.cnpj-source-info-trigger:hover {
    background: #fef3c7;
    box-shadow: 0 14px 30px rgba(146, 64, 14, .16);
    transform: translateY(-1px);
}

.cnpj-source-info-trigger svg {
    width: 1.2rem;
    height: 1.2rem;
}

.cnpj-source-info-backdrop {
    position: fixed;
    z-index: 9997;
    inset: 0;
    display: grid;
    place-items: start end;
    background: rgba(15, 23, 42, .12);
    backdrop-filter: blur(4px);
    padding: 4.2rem .8rem .8rem;
}

.cnpj-source-info-modal {
    overflow: hidden;
    width: min(370px, calc(100vw - 1rem));
    max-height: calc(100dvh - 5rem);
    border: 1px solid rgba(8, 63, 52, .16);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 20px 46px rgba(15, 23, 42, .22);
}

.cnpj-source-info-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    background: linear-gradient(135deg, #075f49 0%, #0f7d61 100%);
    padding: .6rem .72rem;
    color: #fff;
}

.cnpj-source-info-head span {
    display: inline-flex;
    margin-bottom: .08rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    padding: .12rem .36rem;
    font-size: .55rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-source-info-head h2 {
    margin: 0;
    font-size: .9rem;
    line-height: 1.1;
    font-weight: 950;
}

.cnpj-source-info-close {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 10px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.cnpj-source-info-close svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-source-info-body {
    display: grid;
    gap: .48rem;
    padding: .58rem;
    overflow: auto;
    max-height: calc(100dvh - 8.7rem);
}

.cnpj-source-info-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .52rem;
    align-items: center;
    border: 1px solid var(--source-border);
    border-radius: 10px;
    background: var(--source-bg);
    padding: .52rem;
    color: #111827;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.cnpj-source-info-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(15, 23, 42, .10);
}

.cnpj-source-info-card.blue {
    --source-bg: #eff6ff;
    --source-border: #bfdbfe;
    --source-icon-bg: #dbeafe;
    --source-icon-color: #0b7af3;
}

.cnpj-source-info-card.rose {
    --source-bg: #fff1f2;
    --source-border: #fecdd3;
    --source-icon-bg: #ffe4e6;
    --source-icon-color: #e11d48;
}

.cnpj-source-info-icon {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 9px;
    background: var(--source-icon-bg);
    color: var(--source-icon-color);
}

.cnpj-source-info-icon svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-source-info-card strong,
.cnpj-source-info-card small,
.cnpj-source-info-card em {
    display: block;
}

.cnpj-source-info-card strong {
    color: #083f34;
    font-size: .82rem;
    line-height: 1.15;
    font-weight: 950;
}

.cnpj-source-info-card small {
    margin-top: .08rem;
    color: var(--source-icon-color);
    font-size: .68rem;
    line-height: 1.2;
    font-weight: 900;
}

.cnpj-source-info-card em {
    margin-top: .12rem;
    color: #475569;
    font-size: .66rem;
    line-height: 1.25;
    font-style: normal;
    font-weight: 700;
}

.cnpj-source-info-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
}

.cnpj-source-info-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-height: 2.05rem;
    border: 1px solid var(--link-border);
    border-radius: 10px;
    background: var(--link-bg);
    color: var(--link-color);
    font-size: .8rem;
    font-weight: 950;
    text-decoration: none;
}

.cnpj-source-info-links a.amber {
    --link-bg: #fffbeb;
    --link-border: #f59e0b;
    --link-color: #78350f;
}

.cnpj-source-info-links a.teal {
    --link-bg: #ecfdf5;
    --link-border: #a7f3d0;
    --link-color: #047857;
}

.cnpj-source-info-links svg {
    width: .92rem;
    height: .92rem;
}

.cnpj-brand-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    height: 4rem;
    overflow: hidden;
}

.cnpj-brand-logo img {
    display: block;
    width: 11.2rem;
    height: auto;
    max-height: 3.15rem;
    object-fit: contain;
}

.fi-topbar-start > a:has(.cnpj-brand-logo),
.fi-topbar-start > .cnpj-brand-logo {
    display: flex !important;
    align-items: center !important;
}

.cnpj-dashboard-hero {
    overflow: hidden;
    position: relative;
    border-radius: 28px;
    padding: clamp(1.25rem, 3vw, 2.3rem);
    color: white;
    background:
        radial-gradient(circle at 12% 12%, rgba(216, 163, 22, .28), transparent 28%),
        linear-gradient(135deg, #083f34 0%, #0b6b50 50%, #1a835f 100%);
    box-shadow: 0 26px 70px rgba(8, 63, 52, .28);
}

.cnpj-dashboard-hero::after {
    content: '';
    position: absolute;
    inset: auto -8rem -9rem auto;
    width: 22rem;
    height: 22rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .11);
}

.cnpj-dashboard-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .42rem .75rem;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cnpj-dashboard-hero h1 {
    margin-top: 1rem;
    max-width: 850px;
    font-size: clamp(2rem, 5vw, 4.5rem);
    line-height: .96;
    font-weight: 950;
    letter-spacing: -.055em;
}

.cnpj-dashboard-hero p {
    margin-top: 1rem;
    max-width: 780px;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(1rem, 1.8vw, 1.2rem);
    line-height: 1.65;
}

.cnpj-dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.4rem;
}

.cnpj-dashboard-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    padding: .8rem 1rem;
    font-weight: 800;
    text-decoration: none;
}

.cnpj-dashboard-button.primary {
    background: white;
    color: var(--cnpj-green-dark);
}

.cnpj-dashboard-button.secondary {
    border: 1px solid rgba(255, 255, 255, .28);
    color: white;
    background: rgba(255, 255, 255, .08);
}

.cnpj-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.cnpj-card {
    grid-column: span 4;
    border: 1px solid rgba(8, 63, 52, .15);
    border-radius: 22px;
    background: rgba(255, 255, 255, .9);
    padding: 1.15rem;
    box-shadow: 0 18px 45px rgba(8, 63, 52, .08);
}

.cnpj-card.wide { grid-column: span 8; }
.cnpj-card.full { grid-column: span 12; }

.cnpj-card-title {
    color: var(--cnpj-green-dark);
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: -.015em;
}

.cnpj-card p {
    margin-top: .45rem;
    color: #4d5f55;
    line-height: 1.55;
}

.cnpj-card strong.metric {
    display: block;
    margin-top: .6rem;
    color: var(--cnpj-green);
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    line-height: 1;
    font-weight: 950;
}

.cnpj-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .8rem;
}

.cnpj-pill {
    border-radius: 999px;
    background: var(--cnpj-green-soft);
    color: var(--cnpj-green-dark);
    padding: .42rem .7rem;
    font-size: .78rem;
    font-weight: 800;
}

.cnpj-timeline {
    display: grid;
    gap: .75rem;
    margin-top: .8rem;
}

.cnpj-timeline-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .75rem;
    align-items: start;
}

.cnpj-dot {
    width: .72rem;
    height: .72rem;
    border-radius: 999px;
    margin-top: .4rem;
    background: var(--cnpj-gold);
    box-shadow: 0 0 0 5px rgba(216, 163, 22, .16);
}

@media (max-width: 1024px) {
    .cnpj-card,
    .cnpj-card.wide {
        grid-column: span 6;
    }
}

@media (max-width: 640px) {
    .cnpj-dashboard-hero {
        border-radius: 20px;
    }

    .cnpj-dashboard-button,
    .cnpj-card,
    .cnpj-card.wide,
    .cnpj-card.full {
        grid-column: span 12;
        width: 100%;
    }

    .cnpj-dashboard-actions {
        flex-direction: column;
    }
}

.cnpj-home {
    display: grid;
    gap: 1.15rem;
    width: 100%;
}

.cnpj-home-hero,
.cnpj-home-kpi,
.cnpj-home-module,
.cnpj-home-panel {
    border: 1px solid rgba(8, 63, 52, .16);
    box-shadow: 0 22px 54px rgba(15, 23, 42, .08);
}

.cnpj-home-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(340px, .72fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 30px;
    padding: clamp(1rem, 2vw, 1.4rem);
    background:
        radial-gradient(circle at 13% 15%, rgba(216, 163, 22, .22), transparent 26%),
        radial-gradient(circle at 88% 8%, rgba(16, 185, 129, .24), transparent 25%),
        linear-gradient(135deg, #071d19 0%, #083f34 48%, #0f6b50 100%);
}

.cnpj-home-hero::after {
    content: "";
    position: absolute;
    inset: auto -9rem -10rem auto;
    width: 25rem;
    height: 25rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .09);
}

.cnpj-home-hero-copy,
.cnpj-home-status-card {
    position: relative;
    z-index: 1;
}

.cnpj-home-hero-copy {
    padding: clamp(1rem, 2vw, 1.6rem);
    color: #fff;
}

.cnpj-home-kicker {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    border-radius: 999px;
    padding: .42rem .75rem;
    border: 1px solid rgba(255, 255, 255, .20);
    background: rgba(255, 255, 255, .10);
    color: #fef3c7;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.cnpj-home-kicker.light {
    color: #075f49;
    background: #e5f7ef;
    border-color: rgba(11, 107, 80, .16);
}

.cnpj-home-hero h2 {
    max-width: 850px;
    margin: .9rem 0 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4.15rem);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 950;
}

.cnpj-home-hero p {
    max-width: 820px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(.98rem, 1.3vw, 1.16rem);
    line-height: 1.7;
}

.cnpj-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.25rem;
}

.cnpj-home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: 14px;
    padding: .76rem 1rem;
    font-weight: 900;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.cnpj-home-btn:hover {
    transform: translateY(-1px);
}

.cnpj-home-btn.primary {
    color: #083f34;
    background: #fff;
    box-shadow: 0 16px 30px rgba(0, 0, 0, .16);
}

.cnpj-home-btn.ghost {
    color: #fff;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .18);
}

.cnpj-home-status-card {
    border-radius: 26px;
    padding: 1rem;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .34);
    box-shadow: 0 28px 55px rgba(0, 0, 0, .14);
    display: grid;
    gap: .95rem;
}

.cnpj-home-status-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .75rem;
    align-items: center;
}

.cnpj-home-status-head span:not(.cnpj-home-mini-icon),
.cnpj-home-progress span,
.cnpj-home-status-grid span,
.cnpj-home-kpi span,
.cnpj-home-module p,
.cnpj-home-panel p,
.cnpj-home-timeline span {
    color: #526257;
}

.cnpj-home-mini-icon,
.cnpj-home-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 16px;
    color: #075f49;
    background: #dff5ec;
}

.cnpj-home-mini-icon {
    width: 48px;
    height: 48px;
}

.cnpj-home-icon {
    width: 52px;
    height: 52px;
}

.cnpj-home-mini-icon svg,
.cnpj-home-icon svg {
    width: 1.45rem;
    height: 1.45rem;
    fill: currentColor;
}

.cnpj-home-icon.sky { color: #075985; background: #e0f2fe; }
.cnpj-home-icon.gold { color: #92400e; background: #fef3c7; }
.cnpj-home-icon.rose { color: #be123c; background: #ffe4e6; }
.cnpj-home-icon.purple { color: #6d28d9; background: #ede9fe; }
.cnpj-home-icon.teal { color: #0f766e; background: #ccfbf1; }

.cnpj-home-state {
    display: inline-flex;
    align-items: center;
    width: max-content;
    margin-top: .22rem;
    border-radius: 999px;
    padding: .36rem .68rem;
    font-weight: 950;
}

.cnpj-home-state.running { color: #9a5b00; background: #fff1d6; }
.cnpj-home-state.ok { color: #075f49; background: #dff5ec; }
.cnpj-home-state.danger { color: #991b1b; background: #fee2e2; }
.cnpj-home-state.idle { color: #334155; background: #eef2f7; }

.cnpj-home-progress {
    display: grid;
    gap: .55rem;
}

.cnpj-home-progress > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.cnpj-home-progress strong {
    color: #075f49;
    font-weight: 950;
}

.cnpj-home-progress i {
    display: block;
    height: 12px;
    border-radius: 999px;
    min-width: 2px;
    max-width: 100%;
    background: linear-gradient(90deg, #d8a316, #0f6b50);
    position: relative;
}

.cnpj-home-progress::after {
    content: "";
    grid-row: 2;
    grid-column: 1;
    height: 12px;
    border-radius: 999px;
    background: #eadfc9;
    z-index: 0;
}

.cnpj-home-progress i {
    grid-row: 2;
    grid-column: 1;
    z-index: 1;
}

.cnpj-home-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.cnpj-home-status-grid div {
    min-width: 0;
    border-radius: 16px;
    border: 1px solid #e2d3b3;
    background: #fffaf0;
    padding: .75rem;
}

.cnpj-home-status-grid strong {
    display: block;
    margin-top: .2rem;
    color: #083f34;
    font-weight: 950;
    word-break: break-word;
}

.cnpj-home-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .85rem;
}

.cnpj-home-kpi {
    min-width: 0;
    border-radius: 22px;
    padding: 1rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .8rem;
    align-items: center;
    background: linear-gradient(180deg, #fffef9, #ffffff);
}

.cnpj-home-kpi strong {
    display: block;
    margin-top: .18rem;
    color: #083f34;
    font-size: clamp(1.35rem, 2.3vw, 2.05rem);
    line-height: 1;
    font-weight: 950;
}

.cnpj-home-kpi small {
    display: block;
    margin-top: .3rem;
    color: #64736b;
    line-height: 1.35;
}

.cnpj-home-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.cnpj-home-module {
    position: relative;
    overflow: hidden;
    min-height: 240px;
    border-radius: 26px;
    padding: 1.2rem;
    background:
        radial-gradient(circle at 90% 10%, rgba(11, 107, 80, .12), transparent 30%),
        linear-gradient(180deg, #fffef9, #fff);
}

.cnpj-home-module.primary {
    color: #fff;
    background:
        radial-gradient(circle at 84% 12%, rgba(216, 163, 22, .26), transparent 28%),
        linear-gradient(145deg, #083f34, #0f6b50);
}

.cnpj-home-module.primary .cnpj-home-kicker {
    color: #053225;
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.cnpj-home-module h3 {
    margin: .95rem 0 0;
    color: #083f34;
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    line-height: 1.08;
    font-weight: 950;
}

.cnpj-home-module.primary h3,
.cnpj-home-module.primary p {
    color: #fff;
}

.cnpj-home-module p {
    margin: .65rem 0 0;
    line-height: 1.62;
}

.cnpj-home-module a {
    display: inline-flex;
    align-items: center;
    margin-top: 1rem;
    border-radius: 999px;
    padding: .62rem .9rem;
    color: #075f49;
    background: #dff5ec;
    font-weight: 900;
    text-decoration: none;
}

.cnpj-home-module.primary a {
    color: #083f34;
    background: #fff;
}

.cnpj-home-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
    gap: 1rem;
}

.cnpj-home-panel {
    border-radius: 26px;
    padding: 1.2rem;
    background: linear-gradient(180deg, #fffef9, #ffffff);
}

.cnpj-home-panel-head {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .8rem;
}

.cnpj-home-panel h3 {
    margin: .25rem 0 0;
    color: #083f34;
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 950;
}

.cnpj-home-timeline {
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
}

.cnpj-home-timeline div {
    border: 1px solid #e2d3b3;
    border-radius: 18px;
    padding: .9rem 1rem;
    background: #fffaf0;
}

.cnpj-home-timeline strong,
.cnpj-home-timeline span {
    display: block;
}

.cnpj-home-timeline strong {
    color: #083f34;
    font-weight: 950;
}

.cnpj-home-timeline span {
    margin-top: .25rem;
    line-height: 1.48;
}

.cnpj-home-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
}

.cnpj-home-chips a {
    border-radius: 999px;
    border: 1px solid rgba(11, 107, 80, .18);
    background: #e5f7ef;
    color: #075f49;
    padding: .62rem .85rem;
    font-weight: 900;
    text-decoration: none;
}

.cnpj-home-panel.compact {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.cnpj-home-panel-copy {
    margin: .85rem 0 0;
    color: #334155;
    line-height: 1.55;
    font-weight: 700;
}

.cnpj-home-panel.compact .cnpj-home-chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: stretch;
    gap: .75rem;
    flex: 1;
}

.cnpj-home-panel.compact .cnpj-home-chips a {
    min-height: 66px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: .24rem;
    padding: .72rem .88rem;
    border-radius: 10px;
}

.cnpj-home-panel.compact .cnpj-home-chips a strong {
    color: currentColor;
    font-size: 1rem;
    line-height: 1.15;
}

.cnpj-home-panel.compact .cnpj-home-chips a span {
    color: #334155;
    font-size: .82rem;
    line-height: 1.25;
    font-weight: 800;
}

.cnpj-home-panel.compact .cnpj-home-chips a:last-child {
    grid-column: 1 / -1;
    min-height: 64px;
}

@media (max-width: 1400px) {
    .cnpj-home-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cnpj-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
    .cnpj-home-hero,
    .cnpj-home-bottom {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .cnpj-home-kpis,
    .cnpj-home-grid,
    .cnpj-home-status-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-home-hero {
        border-radius: 22px;
    }

    .cnpj-home-actions,
    .cnpj-home-btn {
        width: 100%;
    }

    .cnpj-home-kpi {
        grid-template-columns: auto 1fr;
    }
}

/* Painel de Controle: contraste forte, cards operacionais e ícones coloridos. */
.cnpj-home {
    gap: 1.25rem;
}

.cnpj-home-hero,
.cnpj-home-kpi,
.cnpj-home-module,
.cnpj-home-panel {
    border-color: #b8d7ec;
    box-shadow: 0 20px 48px rgba(15, 23, 42, .10);
}

.cnpj-home-hero {
    border-radius: 10px;
    padding: 1.35rem;
    background:
        linear-gradient(135deg, rgba(6, 95, 70, .96), rgba(14, 116, 144, .96) 58%, rgba(37, 99, 235, .96)),
        #0f766e;
}

.cnpj-home-hero::after {
    display: none;
}

.cnpj-home-hero-copy {
    padding: .6rem;
}

.cnpj-home-kicker {
    color: #064e3b;
    background: #d1fae5;
    border-color: #86efac;
    letter-spacing: 0;
}

.cnpj-home-hero .cnpj-home-kicker {
    color: #053225;
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.cnpj-home-kicker.light {
    color: #065f46;
    background: #dcfce7;
    border-color: #86efac;
}

.cnpj-home-hero h2 {
    max-width: 880px;
    margin-top: .85rem;
    color: #ffffff;
    font-size: 2.35rem;
    line-height: 1.12;
    letter-spacing: 0;
}

.cnpj-home-hero p {
    max-width: 920px;
    color: #f8fafc;
    font-size: 1rem;
    line-height: 1.65;
}

.cnpj-home-btn {
    min-height: 42px;
    border-radius: 8px;
}

.cnpj-home-btn.primary {
    color: #064e3b;
    background: #ffffff;
}

.cnpj-home-btn.ghost {
    color: #ffffff;
    background: rgba(15, 23, 42, .22);
    border-color: rgba(255, 255, 255, .42);
}

.cnpj-home-status-card,
.cnpj-home-kpi,
.cnpj-home-module,
.cnpj-home-panel {
    border-radius: 10px;
    background: #ffffff;
}

.cnpj-home-status-card {
    background: #f8fafc;
    border-color: #bfdbfe;
}

.cnpj-home-status-head span:not(.cnpj-home-mini-icon),
.cnpj-home-progress span,
.cnpj-home-status-grid span,
.cnpj-home-kpi span,
.cnpj-home-module p,
.cnpj-home-panel p,
.cnpj-home-timeline span {
    color: #334155;
}

.cnpj-home-kpi strong,
.cnpj-home-status-grid strong,
.cnpj-home-module h3,
.cnpj-home-panel h3,
.cnpj-home-timeline strong {
    color: #0f172a;
}

.cnpj-home-kpi small {
    color: #475569;
    font-weight: 700;
}

.cnpj-home-mini-icon,
.cnpj-home-icon {
    border-radius: 8px;
    color: #ffffff;
    background: #059669;
}

.cnpj-home-icon.sky { color: #ffffff; background: #0284c7; }
.cnpj-home-icon.gold { color: #ffffff; background: #f59e0b; }
.cnpj-home-icon.rose { color: #ffffff; background: #e11d48; }
.cnpj-home-icon.purple { color: #ffffff; background: #7c3aed; }
.cnpj-home-icon.teal { color: #ffffff; background: #0f766e; }

.cnpj-home-status-grid div,
.cnpj-home-timeline div {
    border-color: #cbd5e1;
    background: #ffffff;
}

.cnpj-home-progress::after {
    background: #dbeafe;
}

.cnpj-home-progress i {
    background: linear-gradient(90deg, #16a34a, #0284c7);
}

.cnpj-home-module {
    min-height: 210px;
    background:
        linear-gradient(180deg, #ffffff, #f8fafc);
}

.cnpj-home-module.primary {
    background:
        linear-gradient(135deg, #065f46, #047857 54%, #0e7490);
}

.cnpj-home-module.primary .cnpj-home-kicker {
    color: #053225 !important;
    background: #ecfdf5 !important;
    border-color: #bbf7d0 !important;
}

.cnpj-home-module.primary h3,
.cnpj-home-module.primary p {
    color: #ffffff;
}

.cnpj-home-module a,
.cnpj-home-chips a {
    border-radius: 8px;
    color: #065f46;
    background: #dcfce7;
    border: 1px solid #86efac;
}

.cnpj-home-module.primary a {
    color: #064e3b;
    background: #ffffff;
    border-color: #ffffff;
}

.cnpj-home-chips a:nth-child(2) {
    color: #075985;
    background: #e0f2fe;
    border-color: #7dd3fc;
}

.cnpj-home-chips a:nth-child(3) {
    color: #92400e;
    background: #fef3c7;
    border-color: #fbbf24;
}

.cnpj-home-chips a:nth-child(4) {
    color: #6d28d9;
    background: #ede9fe;
    border-color: #c4b5fd;
}

.cnpj-home-chips a:nth-child(5) {
    color: #be123c;
    background: #ffe4e6;
    border-color: #fda4af;
}

@media (max-width: 760px) {
    .cnpj-home-hero h2 {
        font-size: 1.75rem;
    }

    .cnpj-home-hero {
        padding: 1rem;
    }

    .cnpj-home-panel.compact .cnpj-home-chips {
        grid-template-columns: 1fr;
    }

    .cnpj-home-panel.compact .cnpj-home-chips a:last-child {
        grid-column: auto;
    }
}

/* CNPJ pages: use full browser width for operational forms/results. */
.fi-main .fi-page,
.fi-main .fi-page > section,
.fi-main .fi-page-content,
.fi-main .fi-page-content > div {
    max-width: none !important;
}
.fi-main {
    max-width: none !important;
}

/* Force Filament resources and operational pages to use the available viewport width. */
.fi-page,
.fi-page-content,
.fi-page-content > div,
.fi-ta,
.fi-section,
.fi-fo,
.fi-form {
    max-width: none !important;
}
.fi-main-ctn .fi-main {
    max-width: none !important;
    width: 100% !important;
}
.fi-ta-table {
    min-width: 100% !important;
}

/* Global field polish for Filament forms. */
.fi-input-wrp {
    border-radius: 14px !important;
}
.fi-input-wrp:focus-within {
    box-shadow: 0 0 0 3px rgba(11, 143, 106, .12) !important;
}
.fi-fo-field-wrp-label span,
.fi-fo-field-wrp-label label {
    font-weight: 800 !important;
    letter-spacing: .02em;
}
.fi-section-header-icon {
    color: #0b6b50 !important;
}

.cnpj-invalid-field {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important;
}

/* Global robust table style for all Filament resource tables. */
.fi-ta {
    border: 1px solid #cdbf9f !important;
    border-radius: 18px !important;
    overflow: visible !important;
    box-shadow: 0 16px 38px rgba(8, 63, 52, .08) !important;
}

.fi-ta-ctn,
.fi-ta-main,
.fi-ta-header-ctn,
.fi-ta-header-toolbar {
    overflow: visible !important;
}

.fi-ta-header-ctn,
.fi-ta-header-toolbar {
    position: relative !important;
    z-index: 1 !important;
}

.fi-ta-search-field,
.fi-ta-search-field .fi-input-wrp {
    position: relative !important;
    z-index: 0 !important;
}

.fi-ta .fi-dropdown-panel,
.fi-ta-filters,
.fi-ta .fi-popover-panel {
    z-index: 9999 !important;
}

.fi-ta table {
    border-collapse: collapse !important;
    width: 100% !important;
}
.fi-ta-header,
.fi-ta-content,
.fi-ta-footer {
    border-color: #cdbf9f !important;
}
.fi-ta-header-cell,
.fi-ta-cell {
    border-right: 1px solid #d8cba9 !important;
    border-bottom: 1px solid #d8cba9 !important;
    vertical-align: middle !important;
}
.fi-ta-header-cell:last-child,
.fi-ta-cell:last-child {
    border-right: 0 !important;
}
.fi-ta-header-cell {
    background: #efe6d0 !important;
    color: #083f34 !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .72rem !important;
    text-align: center !important;
}
.fi-ta-row:nth-child(even) .fi-ta-cell {
    background: #fbf6e8 !important;
}
.fi-ta-row:hover .fi-ta-cell {
    background: #e8f6ef !important;
}
.fi-ta-cell:not(:first-child) {
    text-align: center !important;
}
.fi-ta-cell .fi-ta-text,
.fi-ta-cell .fi-badge,
.fi-ta-cell .fi-icon,
.fi-ta-cell .fi-ta-icon {
    justify-content: center !important;
    margin-inline: auto;
}
.fi-ta-cell:first-child,
.fi-ta-cell:first-child .fi-ta-text {
    text-align: left !important;
    justify-content: flex-start !important;
    margin-inline: 0;
}
.fi-ta-actions-cell,
.fi-ta-actions {
    text-align: center !important;
    justify-content: center !important;
}
.fi-ta-actions .fi-link,
.fi-ta-actions a,
.fi-ta-actions button {
    font-weight: 900 !important;
}
.fi-ta-actions-cell::before {
    content: 'Ações';
    display: none;
}
@media (min-width: 768px) {
    .fi-ta table thead tr th:last-child::after {
        content: 'Ações';
        display: inline;
        font-weight: 900;
    }
    .fi-ta table thead tr th:last-child > * {
        display: none !important;
    }
}

/* Filament table hard override: grid-like accounting layout. */
table.fi-ta-table {
    border-collapse: collapse !important;
    border: 1px solid #cdbf9f !important;
    border-radius: 0 !important;
}
table.fi-ta-table thead tr {
    background: #efe6d0 !important;
}
table.fi-ta-table th.fi-ta-header-cell {
    background: #efe6d0 !important;
    color: #083f34 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-size: .72rem !important;
    text-align: center !important;
    border: 1px solid #cdbf9f !important;
    padding: .9rem .75rem !important;
}
table.fi-ta-table td.fi-ta-cell {
    border: 1px solid #d8cba9 !important;
    vertical-align: middle !important;
    text-align: center !important;
    background: #fffdfa !important;
}
table.fi-ta-table tbody tr:nth-child(even) td.fi-ta-cell {
    background: #f3ead7 !important;
}
table.fi-ta-table tbody tr:hover td.fi-ta-cell {
    background: #e8f6ef !important;
}
table.fi-ta-table td.fi-ta-cell:first-child,
table.fi-ta-table td.fi-ta-cell:first-child * {
    text-align: left !important;
    justify-content: flex-start !important;
}
table.fi-ta-table td.fi-ta-cell:not(:first-child) .fi-ta-text,
table.fi-ta-table td.fi-ta-cell:not(:first-child) .fi-badge,
table.fi-ta-table td.fi-ta-cell:not(:first-child) .fi-icon,
table.fi-ta-table td.fi-ta-cell:not(:first-child) .fi-ta-icon {
    justify-content: center !important;
    margin-inline: auto !important;
}
table.fi-ta-table th.fi-ta-actions-header-cell::before,
table.fi-ta-table th:last-child::before {
    content: 'Ações';
    color: #083f34;
    font-weight: 900;
}
table.fi-ta-table th.fi-ta-actions-header-cell > *,
table.fi-ta-table th:last-child > * {
    display: none !important;
}
table.fi-ta-table td.fi-ta-actions-cell,
table.fi-ta-table td:last-child {
    text-align: center !important;
}
table.fi-ta-table td.fi-ta-actions-cell .fi-ta-actions,
table.fi-ta-table td:last-child .fi-ta-actions {
    justify-content: center !important;
}

/* Final table theme: centered values and strong colored header. */
table.fi-ta-table thead tr,
table.fi-ta-table th.fi-ta-header-cell {
    background: #075f49 !important;
}
table.fi-ta-table th.fi-ta-header-cell,
table.fi-ta-table th.fi-ta-header-cell *,
table.fi-ta-table th.fi-ta-header-cell button,
table.fi-ta-table th.fi-ta-header-cell svg {
    color: #ffffff !important;
}
table.fi-ta-table th.fi-ta-header-cell {
    text-align: center !important;
    border-color: #064b3a !important;
}
table.fi-ta-table th.fi-ta-header-cell > div,
table.fi-ta-table th.fi-ta-header-cell button,
table.fi-ta-table th.fi-ta-header-cell .fi-ta-header-cell-label {
    justify-content: center !important;
    text-align: center !important;
    width: 100%;
}
table.fi-ta-table td.fi-ta-cell,
table.fi-ta-table td.fi-ta-cell * {
    text-align: center !important;
}
table.fi-ta-table td.fi-ta-cell .fi-ta-text,
table.fi-ta-table td.fi-ta-cell .fi-badge,
table.fi-ta-table td.fi-ta-cell .fi-icon,
table.fi-ta-table td.fi-ta-cell .fi-ta-icon,
table.fi-ta-table td.fi-ta-cell .fi-ta-actions {
    justify-content: center !important;
    margin-inline: auto !important;
}
table.fi-ta-table th:last-child::before {
    color: #ffffff !important;
}

/* Correction: no duplicated action header and stronger table header styling. */
table.fi-ta-table > thead > tr > th::before,
table.fi-ta-table > thead > tr > th::after,
table.fi-ta-table th.fi-ta-actions-header-cell::before,
table.fi-ta-table th.fi-ta-actions-header-cell::after,
table.fi-ta-table th:last-child::before,
table.fi-ta-table th:last-child::after {
    content: none !important;
    display: none !important;
}

table.fi-ta-table > thead,
table.fi-ta-table > thead > tr,
table.fi-ta-table > thead > tr > th,
table.fi-ta-table th.fi-ta-header-cell {
    background-color: #075f49 !important;
    background-image: none !important;
    color: #ffffff !important;
}

table.fi-ta-table > thead > tr > th,
table.fi-ta-table > thead > tr > th *,
table.fi-ta-table th.fi-ta-header-cell,
table.fi-ta-table th.fi-ta-header-cell *,
table.fi-ta-table th button,
table.fi-ta-table th svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

table.fi-ta-table > thead > tr > th {
    border: 1px solid #064b3a !important;
    text-align: center !important;
    vertical-align: middle !important;
}

table.fi-ta-table > tbody > tr > td {
    border: 1px solid #d8cba9 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

table.fi-ta-table > tbody > tr > td *,
table.fi-ta-table > tbody > tr > td .fi-ta-text,
table.fi-ta-table > tbody > tr > td .fi-badge,
table.fi-ta-table > tbody > tr > td .fi-ta-actions {
    justify-content: center !important;
    text-align: center !important;
    margin-inline: auto !important;
}

/* Explicit actions label column: keep the real action cell, remove empty generated header noise. */
table.fi-ta-table thead th:last-child:empty,
table.fi-ta-table thead th:last-child:not(:has(*)):not(:has(span)) {
    background: #075f49 !important;
}

/* CNPJ custom search forms: make plain Livewire filters visually match Filament fields. */
.cnpj-filter-card {
    border: 1px solid #ded2b8 !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 18px 42px rgba(8, 63, 52, .07) !important;
}

.cnpj-filter-head {
    padding: 1rem 1.25rem !important;
    border-bottom: 1px solid #e7ddc9 !important;
    background: rgba(255, 255, 255, .94) !important;
}

.cnpj-filter-title {
    color: #063f34 !important;
    font-size: 1.02rem !important;
    font-weight: 900 !important;
}

.cnpj-filter-body {
    gap: 1rem !important;
}

.cnpj-field {
    gap: .45rem !important;
}

.cnpj-field label {
    color: #34443b !important;
    font-size: .72rem !important;
    font-weight: 850 !important;
    letter-spacing: .115em !important;
    text-transform: uppercase !important;
}

.cnpj-input-wrap {
    min-height: 2.5rem !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d8c7a8 !important;
    border-radius: 16px !important;
    background: #fffefa !important;
    box-shadow: none !important;
}

.cnpj-input-wrap:focus-within {
    border-color: #059669 !important;
    box-shadow: 0 0 0 1px #059669, 0 0 0 4px rgba(5, 150, 105, .12) !important;
}

.cnpj-input-wrap .icon {
    align-self: stretch !important;
    display: inline-flex !important;
    width: 2.85rem !important;
    min-width: 2.85rem !important;
    height: auto !important;
    align-items: center !important;
    justify-content: center !important;
    border-right: 1px solid #e3d8c2 !important;
    background: rgba(255, 255, 255, .84) !important;
    color: #047857 !important;
    font-size: .98rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.cnpj-input-wrap input,
.cnpj-input-wrap select {
    min-height: 2.5rem !important;
    padding: 0 .9rem !important;
    color: #111827 !important;
    font-size: .94rem !important;
    line-height: 1.25rem !important;
}

.cnpj-input-wrap input::placeholder {
    color: #7f7a70 !important;
}

.cnpj-input-wrap select {
    appearance: auto !important;
}

.cnpj-input-wrap:has(input:disabled),
.cnpj-input-wrap:has(select:disabled),
.cnpj-input-wrap input:disabled,
.cnpj-input-wrap select:disabled {
    background: #f5efe3 !important;
    color: #7d7568 !important;
    cursor: not-allowed !important;
}

.cnpj-multi summary.cnpj-input-wrap {
    display: flex !important;
    align-items: stretch !important;
}

.cnpj-chip-list {
    min-height: 2.5rem !important;
    padding: .35rem .9rem !important;
}

.cnpj-multi-placeholder {
    align-self: center !important;
    color: #6f6a60 !important;
}

.cnpj-chip {
    border-radius: 8px !important;
    background: #0878f2 !important;
    padding: .28rem .55rem !important;
}

.cnpj-multi-panel {
    top: calc(100% + .45rem) !important;
    border: 1px solid #d8c7a8 !important;
    border-radius: 14px !important;
    background: #fffefa !important;
    box-shadow: 0 22px 48px rgba(8, 63, 52, .18) !important;
}

.cnpj-check {
    min-height: 2.5rem !important;
    padding-inline: .35rem !important;
    color: #111827 !important;
}

.cnpj-check input[type="checkbox"] {
    width: 1rem !important;
    height: 1rem !important;
    border-color: #bda983 !important;
    border-radius: 4px !important;
    accent-color: #047857 !important;
}

.cnpj-actions {
    padding-top: .35rem !important;
}

/* Pesquisa de empresas */
.cnpj-company-search .fi-section {
    border-color: rgba(8, 63, 52, .16) !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .06) !important;
}

.cnpj-company-search .fi-fo-field-wrp-label span {
    color: #0b3f35;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-company-search .fi-input-wrp {
    border-color: rgba(190, 166, 125, .85) !important;
    background: #fffefa !important;
}

.cnpj-company-search .fi-input-wrp:focus-within {
    border-color: #0b8f6f !important;
    box-shadow: 0 0 0 3px rgba(11, 143, 111, .12) !important;
}

.cnpj-company-search .fi-input-wrp:has(.cnpj-money-input) .fi-input-wrp-prefix,
.cnpj-company-search .fi-input-wrp:has(.cnpj-money-input) .fi-input-wrp-prefix .fi-input-wrp-label {
    color: #0b7af3 !important;
    font-weight: 950 !important;
}

.cnpj-company-search .fi-input-wrp:has(.cnpj-number-input) .fi-input-wrp-prefix,
.cnpj-company-search .fi-input-wrp:has(.cnpj-number-input) .fi-input-wrp-prefix .fi-input-wrp-label,
.cnpj-company-search .fi-input-wrp:has(.cnpj-number-input) svg {
    color: #7c3aed !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn[for$="-termo"] svg {
    color: #0284c7 !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn[for$="-razao_social"] svg {
    color: #2563eb !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn[for$="-cnpj"] svg {
    color: #16a34a !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn[for$="-nome_fantasia"] svg {
    color: #f97316 !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn[for$="-email"] svg {
    color: #0891b2 !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn[for$="-telefone"] svg {
    color: #0f766e !important;
}

.cnpj-company-search .fi-fo-toggle-buttons {
    width: 100%;
    min-height: 2.25rem !important;
    height: 2.25rem !important;
    max-height: 2.25rem !important;
    align-items: stretch;
}

.cnpj-company-search .fi-fo-toggle-buttons > * {
    min-height: 2.25rem !important;
    height: 2.25rem !important;
    max-height: 2.25rem !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn {
    justify-content: center;
    min-height: 2.25rem !important;
    height: 2.25rem !important;
    max-height: 2.25rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-inline: .7rem !important;
    font-size: .86rem !important;
    gap: .35rem !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn > * {
    min-height: 0 !important;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn-label {
    line-height: 1.05;
    white-space: nowrap;
}

.cnpj-company-search .fi-fo-toggle-buttons .fi-btn svg {
    width: 1rem !important;
    height: 1rem !important;
}

.cnpj-form-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .8rem;
    margin-top: 1.35rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(15, 76, 61, .08);
}

.cnpj-partner-search {
    margin-bottom: .75rem !important;
}

.cnpj-partner-search .cnpj-form-actions {
    margin-top: .7rem;
    padding-top: .7rem;
}

.cnpj-official-source {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: 1.75rem;
    padding: 1rem .75rem;
    color: #333333;
    font-size: .92rem;
    text-align: center;
}

.cnpj-official-source__main,
.cnpj-official-source__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .65rem;
}

.cnpj-official-source__badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #dff7ee;
    color: #075f49;
    padding: .28rem .65rem;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.cnpj-official-source a {
    color: #006dff;
    font-weight: 900;
    text-decoration: none;
}

.cnpj-official-source a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cnpj-official-source span {
    color: #333333;
    font-weight: 700;
}

.cnpj-official-source__meta {
    color: #334155;
    font-size: .88rem;
}

.cnpj-official-source__meta strong {
    color: #075f49;
    font-weight: 950;
}

.cnpj-official-source__meta .is-ok {
    color: #075f49;
    font-weight: 800;
}

.cnpj-official-source__meta .is-warning {
    color: #9a3412;
    font-weight: 800;
}

.cnpj-results-panel {
    overflow: hidden;
    border: 1px solid rgba(8, 63, 52, .16);
    border-radius: 24px;
    background: #fffefa;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .08);
}

.cnpj-results-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid rgba(8, 63, 52, .14);
    background: linear-gradient(135deg, #f8f5eb 0%, #edf7f1 100%);
}

.cnpj-results-kicker {
    display: inline-flex;
    margin-bottom: .25rem;
    color: #0b6b50;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cnpj-results-head h2 {
    margin: 0;
    color: #083f34;
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    font-weight: 950;
}

.cnpj-results-count {
    border-radius: 999px;
    background: #e2f6ee;
    padding: .5rem .8rem;
    color: #075f49;
    font-size: .82rem;
    font-weight: 900;
    white-space: nowrap;
}

.cnpj-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.cnpj-results-table {
    width: 100%;
    min-width: 1260px;
    border-collapse: separate;
    border-spacing: 0;
    color: #13221b;
    font-size: .9rem;
}

.cnpj-results-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    border-right: 1px solid rgba(255, 255, 255, .12);
    background: #063f33;
    color: #fff;
    padding: .9rem 1rem;
    text-align: center;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.cnpj-results-table th:last-child {
    border-right: 0;
}

.cnpj-results-table td {
    border-right: 1px solid #d9c9aa;
    border-bottom: 1px solid #d9c9aa;
    padding: 1rem;
    vertical-align: top;
}

.cnpj-results-table td:last-child {
    border-right: 0;
}

.cnpj-results-table tbody tr:nth-child(even) td {
    background: #f3ead7;
}

.cnpj-results-table tbody tr:nth-child(odd) td {
    background: #fffdf7;
}

.cnpj-cell-cnpj {
    width: 20rem;
    min-width: 20rem;
}

.cnpj-cell-contact {
    width: 22rem;
}

.cnpj-cnpj-stack {
    display: grid;
    gap: .55rem;
    align-items: start;
}

.cnpj-cnpj-row {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: nowrap;
}

.cnpj-cnpj-chip {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    border-radius: 12px;
    background: linear-gradient(135deg, #0878f2, #075fbd);
    padding: .58rem .75rem;
    color: #fff;
    font-weight: 950;
    letter-spacing: .04em;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    box-shadow: 0 10px 22px rgba(8, 120, 242, .24);
}

.cnpj-copy-btn {
    position: relative;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 2.3rem;
    height: 2.3rem;
    border: 1px solid #d2be98;
    border-radius: 11px;
    background: #fffefa;
    color: #083f34;
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}

.cnpj-copy-btn:hover,
.cnpj-copy-btn.is-copied {
    transform: translateY(-1px);
    border-color: #0b6b50;
    background: #e2f6ee;
}

.cnpj-copy-btn svg {
    width: 1.1rem;
    height: 1.1rem;
    fill: currentColor;
}

.cnpj-copy-feedback {
    position: absolute;
    z-index: 5;
    top: calc(100% + .35rem);
    left: 50%;
    transform: translateX(-50%) translateY(-.2rem);
    border-radius: 999px;
    background: #0b6b50;
    padding: .22rem .55rem;
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .03em;
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    box-shadow: 0 10px 18px rgba(11, 107, 80, .24);
    transition: opacity .15s ease, transform .15s ease;
}

.cnpj-copy-btn.is-copied .cnpj-copy-feedback {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.cnpj-favorite-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    width: 100%;
    max-width: 15.5rem;
    border: 1px solid #dfd5c3;
    border-radius: 999px;
    background: #fffefa;
    padding: .42rem .62rem;
    color: #203027;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
    text-align: center;
    transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}

.cnpj-favorite-btn:hover,
.cnpj-favorite-btn.is-added {
    transform: translateY(-1px);
    border-color: #d9a20b;
    background: #fff3cf;
    color: #5f4200;
}

.cnpj-favorite-btn svg {
    width: .95rem;
    height: .95rem;
    fill: currentColor;
}

.cnpj-favorite-feedback {
    position: absolute;
    top: calc(100% + .35rem);
    left: 50%;
    transform: translateX(-50%) translateY(-.2rem);
    border-radius: 999px;
    background: #d9a20b;
    padding: .22rem .55rem;
    color: #251900;
    font-size: .72rem;
    font-weight: 900;
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    box-shadow: 0 10px 18px rgba(217, 162, 11, .2);
    transition: opacity .15s ease, transform .15s ease;
}

.cnpj-favorite-btn.is-added .cnpj-favorite-feedback {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.cnpj-company-title {
    color: #13221b;
    font-size: 1rem;
    font-weight: 950;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.cnpj-company-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .85rem;
}

.cnpj-detail-btn {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    flex: 0 0 auto;
    border: 1px solid #9fd7c4;
    border-radius: 999px;
    background: #e6f7f0;
    padding: .42rem .72rem;
    color: #075f49;
    font-size: .78rem;
    font-weight: 950;
    line-height: 1;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.cnpj-detail-btn:hover {
    transform: translateY(-1px);
    border-color: #0b6b50;
    background: #d2f1e5;
}

.cnpj-detail-btn svg {
    width: .98rem;
    height: .98rem;
    fill: currentColor;
}

.cnpj-company-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem 1rem;
    margin-top: .55rem;
}

.cnpj-result-line {
    display: grid;
    grid-template-columns: 11.5rem minmax(0, 1fr);
    gap: .35rem;
    min-width: 0;
    color: #23332b;
}

.cnpj-result-line strong {
    color: #111827;
    font-weight: 950;
}

.cnpj-result-line span {
    overflow-wrap: anywhere;
}

.cnpj-wide-line,
.cnpj-address-line {
    grid-column: 1 / -1;
}

.cnpj-address-line span {
    color: #006df0;
    font-weight: 700;
}

.cnpj-status-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: 999px;
    background: #d9f4e8;
    padding: .16rem .56rem;
    color: #075f49;
    font-weight: 950;
}

.cnpj-socios-box {
    margin-top: .75rem;
    border: 1px solid rgba(8, 63, 52, .12);
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
    padding: .7rem .8rem;
}

.cnpj-socios-list {
    margin: .4rem 0 0 1rem;
    padding: 0;
}

.cnpj-socios-list li + li {
    margin-top: .18rem;
}

.cnpj-contact-line {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    margin-bottom: .55rem;
    overflow-wrap: anywhere;
}

.cnpj-contact-icon {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
}

.cnpj-contact-icon svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.cnpj-contact-icon.phone {
    background: #dff2d7;
    color: #176b40;
}

.cnpj-contact-icon.whatsapp {
    background: #cef7e5;
    color: #047857;
}

.cnpj-contact-icon.mail {
    background: #e3efff;
    color: #0b5cab;
}

.cnpj-contact-value {
    min-width: 0;
    color: #13221b;
}

.cnpj-contact-copy-btn {
    display: inline-grid;
    place-items: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #d8c8a8;
    border-radius: .7rem;
    background: #fffefa;
    color: #0f6f58;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.cnpj-contact-copy-btn:hover,
.cnpj-contact-copy-btn.is-copied {
    background: #d9f7ea;
    border-color: #7cc7a7;
    color: #074d3b;
    transform: translateY(-1px);
}

.cnpj-contact-copy-btn svg {
    width: .95rem;
    height: .95rem;
    fill: currentColor;
}

.cnpj-detail-modal-backdrop {
    position: fixed;
    z-index: 9998;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(9, 20, 17, .62);
    padding: 1.2rem;
    overscroll-behavior: contain;
    touch-action: auto;
}

.cnpj-detail-modal {
    display: flex;
    overflow: hidden;
    flex-direction: column;
    width: min(1180px, 96vw);
    max-height: 92vh;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 24px;
    background: #fbf7ec;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .32);
    overscroll-behavior: contain;
    touch-action: auto;
}

.cnpj-detail-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: linear-gradient(135deg, #075f49 0%, #0f7d61 100%);
    padding: 1.25rem 1.45rem;
    color: #fff;
}

.cnpj-detail-modal-head span {
    display: inline-flex;
    margin-bottom: .25rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    padding: .25rem .55rem;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cnpj-detail-modal-head h2 {
    margin: 0;
    font-size: clamp(1.35rem, 3vw, 2rem);
    font-weight: 950;
    letter-spacing: .04em;
}

.cnpj-detail-modal-head p {
    margin: .15rem 0 0;
    font-size: .94rem;
    font-weight: 800;
    opacity: .92;
}

.cnpj-detail-modal-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .55rem;
}

.cnpj-detail-modal-print,
.cnpj-detail-modal-close {
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .68);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    padding: .65rem 1rem;
    color: #fff;
    font-weight: 950;
}

.cnpj-detail-modal-print {
    background: #ffffff;
    color: #075f49;
}

.cnpj-detail-modal-body {
    overflow: auto;
    padding: 1.15rem;
    overscroll-behavior: contain;
}

.cnpj-detail-card {
    border: 1px solid #d6c49f;
    border-radius: 18px;
    background: #fffefa;
    padding: 1rem;
}

.cnpj-detail-card + .cnpj-detail-card {
    margin-top: 1rem;
}

.cnpj-detail-card h3 {
    margin: 0 0 .8rem;
    color: #075f49;
    font-size: 1.08rem;
    font-weight: 950;
}

.cnpj-detail-subcard {
    border: 1px solid #e0d0ad;
    border-radius: 14px;
    background: #fffaf0;
    padding: .75rem;
}

.cnpj-detail-subcard + .cnpj-detail-subcard {
    margin-top: .85rem;
}

.cnpj-detail-subcard h4 {
    margin: 0 0 .65rem;
    color: #13221b;
    font-size: .95rem;
    font-weight: 950;
}

.cnpj-detail-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.cnpj-detail-table th,
.cnpj-detail-table td {
    border: 1px solid #d9c9aa;
    padding: .55rem .7rem;
    vertical-align: top;
}

.cnpj-detail-table th {
    width: 18rem;
    background: #f3ead7;
    color: #111827;
    text-align: left;
    font-size: .8rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-detail-table td {
    background: #fffefa;
    color: #13221b;
    overflow-wrap: anywhere;
}

.cnpj-detail-table tr:nth-child(even) td {
    background: #f9f1df;
}

.cnpj-detail-list {
    margin: 0;
    padding-left: 1.05rem;
}

.cnpj-detail-list li + li {
    margin-top: .22rem;
}

.cnpj-detail-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: .85rem;
}

.cnpj-detail-summary span {
    border-radius: 999px;
    background: #e2f6ee;
    padding: .38rem .7rem;
    color: #075f49;
    font-size: .82rem;
    font-weight: 950;
}

.cnpj-detail-muted {
    margin: 0;
    border: 1px dashed #d6c49f;
    border-radius: 14px;
    background: #fffaf0;
    padding: .85rem;
    color: #53645c;
    font-weight: 800;
}

.cnpj-socios-detail-modal {
    width: min(850px, calc(100vw - 2rem));
    max-height: 82vh;
    border-radius: 14px;
    background: #f8fafc;
}

html.cnpj-modal-scroll-locked,
body.cnpj-modal-scroll-locked {
    overscroll-behavior: none;
}

@media (min-width: 1024px) {
    .cnpj-socios-detail-backdrop {
        left: 19rem;
        right: 0;
        width: auto;
        padding: .75rem;
    }
}

.cnpj-socios-detail-modal .cnpj-detail-modal-head {
    padding: .75rem .95rem;
}

.cnpj-socios-detail-modal .cnpj-detail-modal-head span {
    margin-bottom: .2rem;
    padding: .18rem .45rem;
    font-size: .64rem;
}

.cnpj-socios-detail-modal .cnpj-detail-modal-head h2 {
    font-size: 1.45rem;
    line-height: 1.05;
}

.cnpj-socios-detail-modal .cnpj-detail-modal-head p {
    font-size: .8rem;
}

.cnpj-socios-detail-modal .cnpj-detail-modal-print,
.cnpj-socios-detail-modal .cnpj-detail-modal-close {
    padding: .48rem .78rem;
    font-size: .84rem;
}

.cnpj-socios-detail-modal .cnpj-detail-modal-body {
    padding: .65rem;
}

.cnpj-socios-detail-modal .cnpj-detail-card {
    border-radius: 12px;
    padding: .65rem;
}

.cnpj-socios-detail-modal .cnpj-detail-card + .cnpj-detail-card {
    margin-top: .65rem;
}

.cnpj-socios-detail-modal .cnpj-detail-card h3 {
    margin-bottom: .5rem;
    font-size: .95rem;
}

.cnpj-socios-detail-modal .cnpj-detail-subcard {
    border-radius: 10px;
    padding: .55rem;
}

.cnpj-socios-detail-modal .cnpj-detail-subcard + .cnpj-detail-subcard {
    margin-top: .55rem;
}

.cnpj-socios-detail-modal .cnpj-detail-subcard h4 {
    margin-bottom: .45rem;
    font-size: .84rem;
}

.cnpj-socios-detail-modal .cnpj-detail-table th,
.cnpj-socios-detail-modal .cnpj-detail-table td {
    padding: .34rem .48rem;
    font-size: .78rem;
}

.cnpj-socios-detail-modal .cnpj-detail-table th {
    width: 13.5rem;
    letter-spacing: .04em;
}

.cnpj-socios-detail-modal .cnpj-detail-summary {
    gap: .4rem;
    margin-bottom: .55rem;
}

.cnpj-socios-detail-modal .cnpj-detail-summary span {
    padding: .28rem .55rem;
    font-size: .72rem;
}

.cnpj-history-detail-modal {
    width: min(1040px, calc(100vw - 2rem));
    max-height: min(86vh, 760px);
}

.cnpj-history-detail-modal .cnpj-detail-modal-body {
    background: #f8fafc;
}

.cnpj-muted {
    color: #647169;
    font-size: .86rem;
}

.cnpj-empty-results {
    padding: 2rem !important;
    text-align: center;
    color: #647169;
    font-weight: 800;
}

.cnpj-quick-top {
    margin-bottom: .9rem;
}

.cnpj-quick-top a {
    color: #006dff;
    font-size: .92rem;
    font-weight: 850;
    text-decoration: none;
}

.cnpj-quick-top a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cnpj-quick-presets {
    margin-top: 0 !important;
    border: 1px solid rgba(8, 63, 52, .16);
    border-radius: 16px;
    background: #fffefa;
    padding: 1rem;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .05);
}

.cnpj-quick-search .fi-section {
    margin-bottom: 0 !important;
}

.cnpj-quick-section-gap {
    display: block;
    height: 2rem;
    min-height: 2rem;
}

.cnpj-quick-presets__head {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .85rem;
}

.cnpj-quick-presets__head span {
    color: #0b3f35;
    font-size: .84rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.cnpj-quick-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.cnpj-quick-option {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    min-height: 4.15rem;
    border: 1px solid rgba(14, 116, 144, .12);
    border-left: 4px solid #0891b2;
    border-radius: 8px;
    background: #e8f6ff;
    padding: .9rem 1rem;
    color: #113042;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

.cnpj-quick-option:hover,
.cnpj-quick-option.is-selected {
    border-left-color: #047857;
    background: #e3f8ee;
    box-shadow: 0 16px 30px rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.cnpj-quick-option input {
    flex: 0 0 auto;
    width: 1.05rem;
    height: 1.05rem;
    margin-top: .2rem;
    accent-color: #047857;
}

.cnpj-quick-option span {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.cnpj-quick-option strong {
    color: #075985;
    font-size: .88rem;
    font-weight: 950;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.cnpj-quick-option small {
    color: #405364;
    font-size: .78rem;
    line-height: 1.25;
}

.cnpj-quick-results-table {
    min-width: 980px;
}

.cnpj-quick-debt-list {
    display: grid;
    gap: .5rem;
}

.cnpj-quick-debt-card {
    display: grid;
    gap: .15rem;
    border: 1px solid #fecdd3;
    border-left: 4px solid #e11d48;
    border-radius: 8px;
    background: #fff1f2;
    padding: .55rem .65rem;
    color: #111827;
    line-height: 1.3;
}

.cnpj-quick-debt-card strong {
    color: #9f1239;
    font-weight: 950;
}

.cnpj-quick-debt-card span {
    display: block;
}

.cnpj-quick-debt-card b {
    font-weight: 900;
}

.cnpj-inline-debt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 1.45rem;
    margin-left: .35rem;
    border: 1px solid #fecdd3;
    border-radius: 999px;
    background: #fff1f2;
    color: #be123c;
    padding: 0 .55rem;
    font-size: .72rem;
    font-weight: 950;
    line-height: 1;
}

.cnpj-inline-debt-btn:hover {
    background: #ffe4e6;
    border-color: #fb7185;
}

.cnpj-quick-partner-list {
    display: grid;
    gap: .5rem;
}

.cnpj-quick-partner-card {
    display: grid;
    gap: .05rem;
    border: 1px solid #cfe7f7;
    border-left: 4px solid #0891b2;
    border-radius: 8px;
    background: #f0f9ff;
    padding: .52rem .62rem;
}

.cnpj-quick-partner-card:nth-child(even) {
    border-color: #d9f99d;
    border-left-color: #65a30d;
    background: #f7fee7;
}

.cnpj-quick-debt-modal {
    width: min(820px, calc(100vw - 2rem));
}

.cnpj-quick-debt-modal .cnpj-detail-modal-body {
    max-height: min(62vh, 34rem);
}

.cnpj-quick-debt-subcard {
    border-left: 4px solid #e11d48;
}

.cnpj-pagination {
    padding: 1rem 1.25rem;
    border-top: 1px solid rgba(8, 63, 52, .14);
    background: #fffefa;
}

.cnpj-pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.cnpj-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 8.5rem;
    min-height: 2.5rem;
    border: 1px solid #bda983;
    border-radius: 12px;
    background: #fffefa;
    color: #083f34;
    font-weight: 900;
    transition: background .16s ease, border-color .16s ease, transform .16s ease, color .16s ease;
}

.cnpj-page-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: #047857;
    background: #dff5ec;
    color: #063f34;
}

.cnpj-page-btn:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.cnpj-page-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    flex-wrap: wrap;
    color: #083f34;
    font-weight: 950;
    text-align: center;
}

.cnpj-page-status small {
    border-radius: 999px;
    background: #e2f6ee;
    padding: .22rem .55rem;
    color: #075f49;
    font-size: .74rem;
    font-weight: 900;
}

.cnpj-processing-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, .18);
    backdrop-filter: blur(2px);
}

@media (min-width: 1024px) {
    .cnpj-processing-modal {
        left: 19rem;
        right: 0;
        width: auto;
    }
}

.cnpj-processing-box {
    display: grid;
    justify-items: center;
    gap: .55rem;
    min-width: min(22rem, calc(100vw - 2rem));
    border: 1px solid rgba(8, 63, 52, .18);
    border-radius: 16px;
    background: #fffefa;
    padding: 1.25rem 1.4rem;
    color: #083f34;
    box-shadow: 0 26px 70px rgba(15, 23, 42, .22);
}

.cnpj-processing-box strong {
    font-size: 1rem;
    font-weight: 950;
}

.cnpj-processing-box small {
    color: #53645b;
    font-size: .84rem;
}

.cnpj-processing-spinner {
    width: 2rem;
    height: 2rem;
    border: 3px solid #cfeee2;
    border-top-color: #047857;
    border-radius: 999px;
    animation: cnpj-spin .75s linear infinite;
}

@keyframes cnpj-spin {
    to {
        transform: rotate(360deg);
    }
}

.cnpj-history-panel {
    overflow: hidden;
    border: 1px solid #d5dde5;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .08);
}

.cnpj-history-filters {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(220px, 1.25fr) minmax(260px, 1fr) minmax(280px, .9fr);
    gap: 1rem 1.35rem;
    align-items: center;
    padding: 1.25rem 1.25rem .75rem;
}

.cnpj-history-date-range {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.2rem minmax(0, 1fr);
    align-items: stretch;
}

.cnpj-history-date-range span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfd8e3;
    border-inline: 0;
    background: #eef2f6;
    color: #344054;
}

.cnpj-history-panel input,
.cnpj-history-panel select {
    min-height: 2.35rem;
    border: 1px solid #cfd8e3;
    border-radius: 8px;
    background: #ffffff;
    padding: 0 .75rem;
    color: #263242;
    font-size: .92rem;
}

.cnpj-history-date-range input:first-child {
    border-radius: 8px 0 0 8px;
}

.cnpj-history-date-range input:last-child {
    border-radius: 0 8px 8px 0;
}

.cnpj-history-filter-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
}

.cnpj-history-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 1.25rem .9rem;
}

.cnpj-export-panel .cnpj-history-tools {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.cnpj-export-panel .cnpj-history-table-wrap {
    padding-top: .25rem;
}

.cnpj-history-tools label {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: .4rem;
    white-space: nowrap;
    color: #111827;
    font-size: .9rem;
}

.cnpj-history-tools select {
    width: 4rem;
    min-height: 2rem;
    padding-inline: .45rem;
}

.cnpj-history-search input {
    width: min(28rem, 55vw);
    min-height: 2rem;
}

.cnpj-history-table-wrap {
    overflow-x: auto;
    padding: 0 1.25rem;
}

.cnpj-history-table {
    width: 100%;
    min-width: 1120px;
    overflow: hidden;
    border: 1px solid #d7dfe8;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    font-size: .9rem;
}

.cnpj-history-table th,
.cnpj-history-table td {
    border: 0;
    border-right: 1px solid #d7dfe8;
    border-bottom: 1px solid #d7dfe8;
    padding: .85rem .8rem;
    text-align: center;
    vertical-align: top;
}

.cnpj-history-table tr > *:last-child {
    border-right: 0;
}

.cnpj-history-table tr:last-child > * {
    border-bottom: 0;
}

.cnpj-history-table th {
    background: #075f49;
    color: #ffffff;
    font-weight: 900;
    vertical-align: middle;
}

.cnpj-history-table th button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    width: 100%;
    color: inherit;
    font-weight: 950;
}

.cnpj-history-table th button span {
    color: #dff5ec;
    font-size: .9rem;
    font-weight: 950;
}

.cnpj-history-table tbody tr:nth-child(odd) {
    background: #f8fbff;
}

.cnpj-history-table tbody tr:nth-child(even) {
    background: #eef9f2;
}

.cnpj-history-table tbody tr:hover {
    background: #e0f2fe;
}

.cnpj-history-table tbody tr.is-pinned {
    background: #eaf8ef;
}

.cnpj-history-table tfoot td {
    background: #ffffff;
    font-weight: 800;
}

.cnpj-history-table input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    min-height: 1rem;
    accent-color: #047857;
}

.cnpj-history-code {
    white-space: nowrap;
}

.cnpj-history-query {
    min-width: 26rem;
    text-align: center;
}

.cnpj-history-query strong,
.cnpj-history-query span {
    display: block;
}

.cnpj-history-query strong {
    margin-bottom: .25rem;
}

.cnpj-history-query pre {
    margin-top: .65rem;
    max-height: 14rem;
    overflow: auto;
    border: 1px solid #d7dfe8;
    border-radius: 6px;
    background: #ffffff;
    padding: .75rem;
    color: #263242;
    font-size: .78rem;
    white-space: pre-wrap;
}

.cnpj-history-table td[data-label="Funções/Disponíveis"],
.cnpj-history-table td[data-label="Download"] {
    vertical-align: middle;
    text-align: center;
}

.cnpj-history-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    flex-wrap: wrap;
    width: 100%;
    margin-inline: auto;
}

.cnpj-history-action {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    color: #ffffff;
    transition: transform .16s ease, opacity .16s ease;
}

.cnpj-history-action:hover {
    transform: translateY(-1px);
}

.cnpj-history-action:disabled {
    cursor: not-allowed;
    opacity: .45;
    transform: none;
}

.cnpj-history-action.teal { background: #0ea5a8; }
.cnpj-history-action.green { background: #16a34a; }
.cnpj-history-action.blue { background: #0b7af3; }
.cnpj-history-action.indigo { background: #4f46e5; }
.cnpj-history-action.light {
    border: 1px solid #d7dfe8;
    background: #ffffff;
    color: #0f172a;
}
.cnpj-history-action.red { background: #e3314b; }

.cnpj-history-action-icon {
    width: 1.05rem;
    height: 1.05rem;
}

.cnpj-history-muted {
    display: block;
    margin-top: .35rem;
    color: #64748b;
    font-size: .78rem;
    line-height: 1.25;
}

.cnpj-partner-results-panel {
    margin-top: .45rem;
}

.cnpj-partner-results-panel .cnpj-history-tools {
    padding-top: .65rem;
    padding-bottom: .65rem;
}

.cnpj-partner-results-table {
    min-width: 980px;
    table-layout: fixed;
    font-size: .88rem;
}

.cnpj-partner-results-table th {
    text-align: center;
    padding-block: 1rem;
}

.cnpj-partner-results-table th em {
    display: inline;
    font-size: .78rem;
    font-weight: 700;
}

.cnpj-partner-results-table th:nth-child(1) {
    width: 16%;
}

.cnpj-partner-results-table th:nth-child(2) {
    width: 57%;
}

.cnpj-partner-results-table th:nth-child(3) {
    width: 27%;
}

.cnpj-partner-results-table td {
    vertical-align: middle !important;
}

.cnpj-partner-cnpj-cell {
    width: 15rem;
    text-align: center;
    vertical-align: middle !important;
}

.cnpj-partner-cnpj-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    max-width: 100%;
}

.cnpj-partner-cnpj-text {
    display: inline-block;
    color: #0f172a;
    font-weight: 500;
    line-height: 1.35;
    white-space: nowrap;
}

.cnpj-partner-cnpj-tag {
    border-radius: 999px;
    padding: .45rem .72rem;
    color: #ffffff;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .12);
}

.cnpj-partner-results-table tbody tr:nth-child(odd) .cnpj-partner-cnpj-tag {
    background: #0b7af3;
}

.cnpj-partner-results-table tbody tr:nth-child(even) .cnpj-partner-cnpj-tag {
    background: #e3314b;
}

.cnpj-partner-copy {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    margin-top: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #111827;
    vertical-align: middle;
}

.cnpj-partner-copy:hover,
.cnpj-partner-copy.is-copied {
    background: #eef2f7;
    color: #075f49;
}

.cnpj-saved-company-box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .32rem;
    margin-top: .55rem;
}

.cnpj-saved-company-add,
.cnpj-saved-company-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .28rem;
    border-radius: 999px;
    padding: .42rem .62rem;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.cnpj-saved-company-add {
    border: 1px solid #f6c453;
    background: #fff7df;
    color: #a16207;
    box-shadow: 0 8px 18px rgba(161, 98, 7, .10);
}

.cnpj-saved-company-add:hover {
    background: #ffefbd;
}

.cnpj-saved-company-badge {
    border: 1px solid #bfdbfe;
    background: #1d4ed8;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(29, 78, 216, .16);
}

.cnpj-saved-company-icon {
    width: .92rem;
    height: .92rem;
    color: currentColor;
}

.cnpj-saved-company-links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .22rem;
}

.cnpj-saved-company-links a,
.cnpj-saved-company-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.55rem;
    border-radius: 999px;
    padding: .25rem .45rem;
    font-size: .68rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

.cnpj-saved-company-links a {
    border: 1px solid #d7dfe8;
    background: #ffffff;
    color: #075f49;
}

.cnpj-saved-company-remove {
    border: 1px solid #fecdd3;
    background: #fff1f2;
    color: #be123c;
}

.cnpj-partner-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .08rem;
}

.cnpj-partner-title-row strong {
    min-width: 0;
}

.cnpj-partner-title-row .cnpj-partner-info-line {
    margin-top: 0;
}

.cnpj-partner-title-row .cnpj-detail-btn {
    margin-top: -.1rem;
}

.cnpj-partner-title-row .cnpj-detail-btn span {
    display: inline;
    margin: 0;
    line-height: 1;
}

.cnpj-partner-details {
    text-align: left !important;
    line-height: 1.45;
}

.cnpj-partner-details > strong,
.cnpj-partner-details > span {
    display: block;
}

.cnpj-partner-details > strong {
    margin-right: 0;
    font-weight: 950;
}

.cnpj-partner-details > span {
    margin-right: 0;
    line-height: 1.35;
}

.cnpj-partner-details b {
    font-weight: 900;
}

.cnpj-partner-details .cnpj-partner-info-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: .38rem;
    margin-top: .08rem;
    min-width: 0;
    line-height: 1.35;
}

.cnpj-partner-details .cnpj-partner-info-line > strong,
.cnpj-partner-details .cnpj-partner-info-line > span {
    display: inline !important;
    min-width: 0;
}

.cnpj-partner-details .cnpj-partner-info-icon {
    display: inline-flex !important;
    flex: 0 0 auto;
    width: .98rem !important;
    height: .98rem !important;
    min-width: .98rem;
    margin-top: .12rem;
    color: var(--cnpj-partner-info-color, #0f172a) !important;
    stroke: currentColor !important;
    fill: none !important;
}

.cnpj-partner-info-company-name { --cnpj-partner-info-color: #0b7af3; }
.cnpj-partner-info-fantasy { --cnpj-partner-info-color: #0ea5a8; }
.cnpj-partner-info-city { --cnpj-partner-info-color: #f97316; }
.cnpj-partner-info-cnae { --cnpj-partner-info-color: #7c3aed; }
.cnpj-partner-info-phone { --cnpj-partner-info-color: #16a34a; }
.cnpj-partner-info-email { --cnpj-partner-info-color: #2563eb; }
.cnpj-partner-info-debt { --cnpj-partner-info-color: #e11d48; }
.cnpj-partner-info-regime { --cnpj-partner-info-color: #059669; }
.cnpj-partner-info-size { --cnpj-partner-info-color: #d97706; }
.cnpj-partner-info-partner-name { --cnpj-partner-info-color: #0891b2; }
.cnpj-partner-info-document { --cnpj-partner-info-color: #4f46e5; }
.cnpj-partner-info-qualification { --cnpj-partner-info-color: #ca8a04; }
.cnpj-partner-info-entry { --cnpj-partner-info-color: #db2777; }
.cnpj-partner-info-age { --cnpj-partner-info-color: #64748b; }

.cnpj-company-search .choices__inner,
.cnpj-partner-search .choices__inner,
.choices:has(.choices__list--multiple) .choices__inner,
.choices .choices__inner:has(.choices__list--multiple),
.choices[data-type*="select-multiple"] .choices__inner,
.cnpj-compact-multi-select .choices__inner {
    display: flex !important;
    align-items: center !important;
    gap: .35rem !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    max-height: 2.75rem !important;
    overflow: hidden !important;
    flex-wrap: nowrap !important;
}

.cnpj-company-search .choices__list--multiple,
.cnpj-partner-search .choices__list--multiple,
.choices__list--multiple,
.choices:has(.choices__list--multiple) .choices__list--multiple,
.choices[data-type*="select-multiple"] .choices__list--multiple,
.cnpj-compact-multi-select .choices__list--multiple {
    display: flex !important;
    flex: 0 1 auto;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: .35rem;
    min-width: 0;
    max-width: calc(100% - 8.4rem);
    max-height: 1.75rem !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.cnpj-company-search .choices__list--multiple .choices__item,
.cnpj-partner-search .choices__list--multiple .choices__item,
.choices__list--multiple .choices__item,
.choices:has(.choices__list--multiple) .choices__list--multiple .choices__item,
.choices[data-type*="select-multiple"] .choices__list--multiple .choices__item,
.cnpj-compact-multi-select .choices__list--multiple .choices__item {
    flex: 0 1 auto;
    min-width: 0;
    max-width: min(17rem, 46vw);
    margin: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cnpj-company-search .choices__list--multiple .choices__item.cnpj-choice-hidden-overflow,
.cnpj-partner-search .choices__list--multiple .choices__item.cnpj-choice-hidden-overflow,
.choices__list--multiple .choices__item.cnpj-choice-hidden-overflow,
.choices:has(.choices__list--multiple) .choices__list--multiple .choices__item.cnpj-choice-hidden-overflow,
.choices[data-type*="select-multiple"] .choices__list--multiple .choices__item.cnpj-choice-hidden-overflow,
.cnpj-compact-multi-select .choices__list--multiple .choices__item.cnpj-choice-hidden-overflow {
    display: none !important;
}

.cnpj-company-search .choices__input,
.cnpj-partner-search .choices__input,
.choices[data-type*="select-multiple"] .choices__input,
.cnpj-compact-multi-select .choices__input {
    flex: 1 1 5rem;
    min-width: 4.5rem !important;
    margin: 0 !important;
}

.cnpj-multi-count-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 1.45rem;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: #ecfdf5;
    padding: 0 .55rem;
    color: #047857;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.cnpj-partner-report-card {
    margin-top: .55rem;
    border: 1px solid #d7dfe8;
    border-left: 4px solid #0ea5a8;
    border-radius: 8px;
    background: #ffffff;
    padding: .65rem .9rem;
    color: #111827;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .05);
}

.cnpj-partner-report-card p {
    margin: 0;
    font-size: .9rem;
    line-height: 1.35;
}

.cnpj-partner-report-card p + p {
    margin-top: .22rem;
}

.cnpj-partner-report-card strong {
    font-weight: 950;
}

.cnpj-plus-hero,
.cnpj-plus-panel,
.cnpj-plus-note-card {
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
}

.cnpj-plus-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.25rem;
}

.cnpj-plus-hero span {
    display: inline-flex;
    border-radius: 999px;
    background: #e5f7ef;
    padding: .32rem .62rem;
    color: #075f49;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-plus-hero h2 {
    margin-top: .55rem;
    color: #022c22;
    font-size: 1.7rem;
    font-weight: 950;
}

.cnpj-plus-hero p,
.cnpj-plus-muted {
    color: #475569;
    font-size: .9rem;
}

.cnpj-plus-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(6.5rem, 1fr));
    gap: .65rem;
}

.cnpj-plus-stats > div {
    display: grid;
    grid-template-columns: 1.8rem 1fr;
    gap: .2rem .55rem;
    align-items: center;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    padding: .65rem;
    background: #f8fafc;
}

.cnpj-plus-stats svg {
    grid-row: span 2;
    width: 1.25rem;
    height: 1.25rem;
    color: #0b7af3;
}

.cnpj-plus-stats small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cnpj-plus-stats strong {
    color: #075f49;
    font-size: 1.25rem;
    font-weight: 950;
}

.cnpj-plus-panel {
    margin-top: 1rem;
    padding: 1rem;
}

.cnpj-plus-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: .8rem;
    align-items: end;
}

.cnpj-plus-field {
    display: grid;
    gap: .35rem;
}

.cnpj-plus-field span {
    font-size: .82rem;
    font-weight: 850;
}

.cnpj-plus-field input,
.cnpj-plus-field select,
.cnpj-plus-field textarea,
.cnpj-plus-panel input,
.cnpj-plus-panel select,
.cnpj-plus-panel textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: .65rem .8rem;
}

.cnpj-plus-field textarea,
.cnpj-plus-doc {
    resize: vertical;
    white-space: pre-wrap;
}

.cnpj-plus-actions {
    display: flex;
    justify-content: flex-end;
    gap: .45rem;
}

.cnpj-plus-form-grid .span-2 { grid-column: span 2; }
.cnpj-plus-form-grid .span-3 { grid-column: span 3; }
.cnpj-plus-form-grid .span-4 { grid-column: span 4; }
.cnpj-plus-form-grid .span-5 { grid-column: span 5; }
.cnpj-plus-form-grid .span-6 { grid-column: span 6; }
.cnpj-plus-form-grid .span-8 { grid-column: span 8; }
.cnpj-plus-form-grid .span-10 { grid-column: span 10; }
.cnpj-plus-form-grid .span-12 { grid-column: span 12; }

.cnpj-plus-two-cols,
.cnpj-plus-distribution-grid,
.cnpj-plus-model-grid {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.cnpj-plus-two-cols,
.cnpj-plus-distribution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cnpj-plus-model-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cnpj-plus-panel h3 {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .8rem;
    color: #075f49;
    font-size: 1.05rem;
    font-weight: 950;
}

.cnpj-plus-panel h3 svg {
    width: 1.1rem;
    height: 1.1rem;
    color: #0b7af3;
}

.cnpj-plus-note-card {
    margin-top: 1rem;
    border-left: 4px solid #0ea5a8;
    padding: .85rem 1rem;
}

.cnpj-plus-note-card strong,
.cnpj-plus-note-card span {
    display: block;
}

.cnpj-plus-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    justify-content: center;
    margin-bottom: .6rem;
}

.cnpj-plus-chip {
    border-radius: 999px;
    padding: .3rem .55rem;
    font-size: .72rem;
    font-weight: 900;
}

.cnpj-plus-chip.blue { background: #dbeafe; color: #1d4ed8; }
.cnpj-plus-chip.green { background: #dcfce7; color: #15803d; }
.cnpj-plus-chip.red { background: #ffe4e6; color: #be123c; }

.cnpj-plus-tabs {
    display: inline-flex;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-bottom: .9rem;
}

.cnpj-plus-tabs button {
    padding: .6rem .9rem;
    font-weight: 850;
}

.cnpj-plus-tabs button.is-active {
    background: #0b7af3;
    color: #ffffff;
}

.cnpj-plus-model-card {
    display: grid;
    gap: .35rem;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: 1rem;
    cursor: pointer;
}

.cnpj-plus-model-card input {
    display: none;
}

.cnpj-plus-model-card svg {
    width: 1.6rem;
    height: 1.6rem;
    color: #0b7af3;
}

.cnpj-plus-model-card.is-selected {
    border-color: #10b981;
    background: #ecfdf5;
}

.cnpj-plus-doc {
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #f8fafc;
    padding: 1rem;
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.cnpj-plus-doc-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .8rem;
}

.cnpj-docs-page,
.cnpj-docs-page * {
    box-sizing: border-box;
}

.cnpj-plus-hero.cnpj-docs-hero {
    overflow: hidden;
    border-color: #bfdbfe;
    background:
        linear-gradient(135deg, rgba(14, 165, 168, .14), rgba(37, 99, 235, .08) 45%, rgba(255, 255, 255, .98) 100%),
        #ffffff;
}

.cnpj-docs-hero-main {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.cnpj-docs-hero-main > svg {
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    border-radius: 8px;
    background: linear-gradient(135deg, #075f49, #2563eb);
    padding: .65rem;
    color: #ffffff;
    box-shadow: 0 14px 30px rgba(37, 99, 235, .2);
}

.cnpj-docs-stats > div:nth-child(1) svg { color: #2563eb; }
.cnpj-docs-stats > div:nth-child(2) svg { color: #16a34a; }
.cnpj-docs-stats > div:nth-child(3) svg { color: #7c3aed; }
.cnpj-docs-stats > div:nth-child(4) svg { color: #f97316; }

.cnpj-docs-stats > div:nth-child(1) strong { color: #1d4ed8; }
.cnpj-docs-stats > div:nth-child(2) strong { color: #15803d; }
.cnpj-docs-stats > div:nth-child(3) strong { color: #6d28d9; }
.cnpj-docs-stats > div:nth-child(4) strong { color: #c2410c; }

.cnpj-docs-selector .cnpj-plus-actions {
    align-items: end;
}

.cnpj-docs-selector .cnpj-plus-field select,
.cnpj-docs-selector .cnpj-plus-actions .fi-btn {
    height: 2.75rem !important;
    min-height: 2.75rem !important;
}

.cnpj-docs-selector .cnpj-plus-actions .fi-btn {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.cnpj-docs-field-label {
    display: inline-flex !important;
    align-items: center;
    gap: .4rem;
    color: #0f172a;
}

.cnpj-docs-field-label svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-docs-company {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
}

.cnpj-docs-company-main {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.cnpj-docs-company-main div {
    min-width: 0;
}

.cnpj-docs-company-main strong {
    color: #0f172a;
    overflow-wrap: anywhere;
}

.cnpj-docs-company-main span {
    color: #64748b;
    font-size: .86rem;
}

.cnpj-docs-icon-badge,
.cnpj-docs-model-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 8px;
    color: #ffffff;
}

.cnpj-docs-icon-badge.green { background: #16a34a; }
.cnpj-docs-icon-badge.blue { background: #2563eb; }

.cnpj-docs-icon-badge svg,
.cnpj-docs-model-icon svg {
    width: 1.1rem;
    height: 1.1rem;
}

.cnpj-docs-company-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}

.cnpj-docs-company-tags span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #f8fafc;
    padding: .32rem .55rem;
    color: #475569;
    font-size: .78rem;
    font-weight: 850;
}

.cnpj-docs-company-tags svg {
    width: .9rem;
    height: .9rem;
    color: #0b7af3;
}

.cnpj-docs-section-head,
.cnpj-docs-output-head,
.cnpj-docs-template-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.cnpj-docs-section-head {
    margin-bottom: 1rem;
}

.cnpj-docs-section-head h3,
.cnpj-docs-output-head h3 {
    margin-bottom: .18rem;
}

.cnpj-docs-section-head p,
.cnpj-docs-output-head p {
    color: #64748b;
    font-size: .88rem;
}

.cnpj-docs-outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-height: 2.25rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 0 .75rem;
    color: #334155;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.cnpj-docs-outline-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
}

.cnpj-docs-outline-btn svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-docs-model-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: .8rem;
}

.cnpj-docs-model-card {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: .65rem;
    min-height: 11.35rem;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .85rem;
    box-shadow: 0 14px 28px rgba(15, 23, 42, .05);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.cnpj-docs-model-card:hover,
.cnpj-docs-model-card.is-selected {
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(15, 23, 42, .09);
}

.cnpj-docs-model-card.is-selected {
    border-color: #10b981;
    background: linear-gradient(180deg, #f0fdf4, #ffffff);
}

.cnpj-docs-model-main {
    display: grid;
    grid-template-columns: 2.2rem minmax(0, 1fr) auto;
    grid-template-areas:
        "icon badge source"
        "icon title title"
        "icon desc desc";
    gap: .5rem .62rem;
    align-items: start;
    align-content: start;
    width: 100%;
    min-width: 0;
    text-align: left;
}

.cnpj-docs-model-icon {
    grid-area: icon;
    background: #2563eb;
}

.cnpj-docs-model-badge {
    grid-area: badge;
}

.cnpj-docs-model-badge,
.cnpj-docs-model-source {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: 999px;
    padding: .18rem .45rem;
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cnpj-docs-model-source {
    grid-area: source;
    justify-self: end;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
}

.cnpj-docs-model-source.is-custom {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #15803d;
}

.cnpj-docs-model-card strong {
    grid-area: title;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.cnpj-docs-model-card small {
    grid-area: desc;
    color: #64748b;
    font-size: .78rem;
    line-height: 1.32;
    overflow-wrap: anywhere;
}

.cnpj-docs-model-edit {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    width: fit-content;
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #f8fafc;
    padding: .22rem .5rem;
    color: #475569;
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
    align-self: end;
}

.cnpj-docs-model-edit svg {
    width: .82rem;
    height: .82rem;
}

.cnpj-docs-model-card.tone-blue .cnpj-docs-model-icon { background: #2563eb; }
.cnpj-docs-model-card.tone-green .cnpj-docs-model-icon { background: #16a34a; }
.cnpj-docs-model-card.tone-purple .cnpj-docs-model-icon { background: #7c3aed; }
.cnpj-docs-model-card.tone-orange .cnpj-docs-model-icon { background: #f97316; }
.cnpj-docs-model-card.tone-red .cnpj-docs-model-icon { background: #e11d48; }

.cnpj-docs-model-card.tone-blue .cnpj-docs-model-badge { background: #dbeafe; color: #1d4ed8; }
.cnpj-docs-model-card.tone-green .cnpj-docs-model-badge { background: #dcfce7; color: #15803d; }
.cnpj-docs-model-card.tone-purple .cnpj-docs-model-badge { background: #ede9fe; color: #6d28d9; }
.cnpj-docs-model-card.tone-orange .cnpj-docs-model-badge { background: #ffedd5; color: #c2410c; }
.cnpj-docs-model-card.tone-red .cnpj-docs-model-badge { background: #ffe4e6; color: #be123c; }

.cnpj-docs-modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: var(--cnpj-sidebar-offset, 20rem);
    z-index: 80;
    display: grid;
    place-items: center;
    overflow: auto;
    background: rgba(15, 23, 42, .42);
    padding: 1rem;
}

.cnpj-docs-template-modal {
    width: min(82rem, 100%);
    max-height: calc(100dvh - 2rem);
    overflow: auto;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 1.1rem;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .28);
}

.cnpj-docs-template-head {
    align-items: center;
    margin-bottom: .85rem;
}

.cnpj-docs-template-head h4 {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
    color: #075f49;
    font-size: .95rem;
    font-weight: 950;
}

.cnpj-docs-template-head h4 svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-docs-template-head strong {
    display: block;
    margin-top: .15rem;
    color: #334155;
    font-size: .82rem;
    font-weight: 850;
}

.cnpj-docs-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.15rem;
    height: 2.15rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
}

.cnpj-docs-modal-close:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}

.cnpj-docs-modal-close svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-docs-template-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: .25rem 0 1.15rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: .75rem .85rem;
}

.cnpj-docs-template-actions-copy {
    display: grid;
    gap: .12rem;
    min-width: min(28rem, 100%);
    color: #475569;
}

.cnpj-docs-template-actions-copy strong {
    color: #0f172a;
    font-size: .86rem;
    font-weight: 950;
}

.cnpj-docs-template-actions-copy span {
    font-size: .78rem;
    line-height: 1.35;
}

.cnpj-docs-template-action-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
}

.cnpj-docs-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.25rem;
    border: 0;
    border-radius: 8px;
    background: #e11d48;
    padding: 0 .75rem;
    color: #ffffff;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
    transition: transform .16s ease, box-shadow .16s ease;
}

.cnpj-docs-delete-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(225, 29, 72, .18);
}

.cnpj-docs-delete-btn svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-docs-template-form {
    row-gap: .95rem;
}

.cnpj-docs-template-form textarea {
    min-height: 24rem;
    line-height: 1.45;
}

.cnpj-docs-template-body-field {
    display: grid;
    gap: .4rem;
}

.cnpj-docs-template-editor-shell {
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.cnpj-docs-template-editor-shell .cke_chrome {
    overflow: hidden;
    border: 0 !important;
    border-radius: 8px;
}

.cnpj-docs-template-editor-shell .cke_top {
    border-bottom-color: #d7dfe8 !important;
    background: linear-gradient(180deg, #f8fafc, #eef4fb) !important;
    padding: .65rem .7rem !important;
}

.cnpj-docs-template-editor-shell .cke_toolgroup,
.cnpj-docs-template-editor-shell .cke_combo_button {
    border-color: #d7dfe8 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
}

.cnpj-docs-template-editor-shell .cke_button:hover,
.cnpj-docs-template-editor-shell .cke_combo_button:hover {
    background: #e0f2fe !important;
}

.cnpj-docs-template-editor-shell .cke_contents {
    min-height: 32rem !important;
}

.cnpj-docs-template-vars {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: .55rem .65rem;
}

.cnpj-docs-template-vars strong {
    margin-right: .25rem;
    color: #334155;
    font-size: .78rem;
    font-weight: 900;
}

.cnpj-docs-template-vars span {
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #ffffff;
    padding: .28rem .52rem;
    color: #475569;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .76rem;
    font-weight: 900;
}

.cnpj-docs-output-head {
    margin-bottom: .9rem;
}

.cnpj-docs-output-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.cnpj-docs-document {
    width: 100%;
    min-height: 38rem;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #f8fafc;
    padding: 1rem;
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .88rem;
    line-height: 1.45;
    resize: vertical;
    white-space: pre-wrap;
}

.cnpj-docs-word-shell {
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #eef2f7;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
}

.cnpj-docs-word-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    border-bottom: 1px solid #d7dfe8;
    background: #ffffff;
    padding: .75rem .85rem;
}

.cnpj-docs-word-actions,
.cnpj-docs-word-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.cnpj-docs-word-status span {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0 .65rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.cnpj-docs-word-ribbon {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    border-bottom: 1px solid #cbd5e1;
    background: linear-gradient(180deg, #f8fafc, #eef4fb);
    padding: .7rem .85rem;
}

.cnpj-docs-word-group {
    display: flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .45rem;
}

.cnpj-docs-word-group strong {
    margin-right: .2rem;
    color: #334155;
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cnpj-docs-word-group select,
.cnpj-docs-word-group button {
    min-height: 2rem;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #ffffff;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 850;
}

.cnpj-docs-word-group select {
    max-width: 10rem;
    padding: 0 .5rem;
}

.cnpj-docs-word-group button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 .55rem;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.cnpj-docs-word-group button:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    transform: translateY(-1px);
}

.cnpj-docs-word-canvas {
    overflow: auto;
    max-height: min(78vh, 58rem);
    background:
        linear-gradient(90deg, rgba(148, 163, 184, .12) 1px, transparent 1px) 0 0 / 24px 24px,
        #e5eaf1;
    padding: 1.35rem;
}

.cnpj-docs-word-ruler {
    width: min(100%, 52rem);
    height: 1.25rem;
    margin: 0 auto .75rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background:
        repeating-linear-gradient(90deg, #cbd5e1 0 1px, transparent 1px 2rem),
        linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

.cnpj-docs-word-page {
    width: min(100%, 52rem);
    min-height: 68rem;
    margin: 0 auto;
    border: 1px solid #d7dfe8;
    background: #ffffff;
    padding: 4.5rem 4.15rem;
    color: #111827;
    font-family: Arial, sans-serif;
    font-size: 12pt;
    line-height: 1.55;
    outline: none;
    white-space: pre-wrap;
    box-shadow: 0 26px 60px rgba(15, 23, 42, .18);
}

.cnpj-docs-word-page:focus {
    border-color: #60a5fa;
    box-shadow: 0 26px 60px rgba(15, 23, 42, .18), 0 0 0 3px rgba(96, 165, 250, .22);
}

.cnpj-docs-rich-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    border: 1px solid #d7dfe8;
    border-radius: 8px 8px 0 0;
    background: #ffffff;
    padding: .75rem .85rem;
}

.cnpj-docs-rich-actions > span {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0 .65rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.cnpj-docs-rich-actions > span:first-of-type {
    margin-left: auto;
}

.cnpj-docs-rich-shell {
    overflow: hidden;
    border: 1px solid #d7dfe8;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #f8fafc;
}

.cnpj-docs-rich-shell .cke_chrome {
    border: 0 !important;
    box-shadow: none !important;
}

.cnpj-docs-rich-shell .cke_top {
    border-bottom: 1px solid #cbd5e1 !important;
    background: linear-gradient(180deg, #ffffff, #eef4fb) !important;
    padding: .75rem .7rem .55rem !important;
}

.cnpj-docs-rich-shell .cke_toolgroup,
.cnpj-docs-rich-shell .cke_combo_button {
    border-color: #cbd5e1 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
}

.cnpj-docs-rich-shell .cke_button:hover,
.cnpj-docs-rich-shell .cke_combo_button:hover {
    background: #eff6ff !important;
}

.cnpj-docs-rich-shell .cke_contents {
    min-height: 38rem !important;
    background: #e5eaf1 !important;
}

.cnpj-docs-rich-shell iframe {
    background: #ffffff !important;
}

.cnpj-docs-editor-error {
    margin: .85rem;
    border: 1px solid #fecdd3;
    border-radius: 8px;
    background: #fff1f2;
    padding: .75rem .9rem;
    color: #be123c;
    font-weight: 850;
}

@media (max-width: 980px) {
    .cnpj-plus-hero.cnpj-docs-hero {
        grid-template-columns: 1fr;
    }

    .cnpj-docs-stats {
        min-width: 0;
    }

    .cnpj-docs-company,
    .cnpj-docs-output-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-docs-company-tags,
    .cnpj-docs-output-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .cnpj-plus-hero.cnpj-docs-hero {
        padding: 1rem;
    }

    .cnpj-docs-hero-main {
        align-items: flex-start;
    }

    .cnpj-docs-hero h2 {
        font-size: 1.35rem;
        line-height: 1.15;
    }

    .cnpj-docs-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cnpj-docs-section-head,
    .cnpj-docs-template-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-docs-model-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-docs-output-actions,
    .cnpj-docs-output-actions button,
    .cnpj-docs-rich-actions,
    .cnpj-docs-rich-actions button,
    .cnpj-docs-template-actions,
    .cnpj-docs-template-action-buttons,
    .cnpj-docs-template-actions button,
    .cnpj-docs-word-actions,
    .cnpj-docs-word-actions button,
    .cnpj-docs-word-actions a,
    .cnpj-docs-word-group,
    .cnpj-docs-word-group select,
    .cnpj-docs-word-group button {
        width: 100%;
    }

    .cnpj-docs-rich-actions > span:first-of-type {
        margin-left: 0;
    }

    .cnpj-docs-rich-shell .cke_contents {
        min-height: 28rem !important;
    }

    .cnpj-docs-template-editor-shell .cke_contents {
        min-height: 26rem !important;
    }

    .cnpj-docs-word-topbar {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-docs-word-status {
        justify-content: flex-start;
    }

    .cnpj-docs-word-ribbon {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cnpj-docs-word-group {
        flex-wrap: wrap;
        align-items: stretch;
    }

    .cnpj-docs-word-group strong {
        flex: 0 0 100%;
    }

    .cnpj-docs-word-canvas {
        max-height: 72vh;
        padding: .85rem;
    }

    .cnpj-docs-word-ruler {
        height: .95rem;
        margin-bottom: .55rem;
    }

    .cnpj-docs-word-page {
        min-height: 46rem;
        padding: 2.1rem 1.2rem;
        font-size: 10.5pt;
    }

    .cnpj-docs-modal-backdrop {
        align-items: start;
        left: 0;
        padding: .6rem;
    }

    .cnpj-docs-template-modal {
        max-height: calc(100dvh - 1.2rem);
        padding: .85rem;
    }

    .cnpj-docs-document {
        min-height: 30rem;
    }
}

@media (max-width: 460px) {
    .cnpj-docs-stats {
        grid-template-columns: 1fr;
    }

    .cnpj-docs-model-main {
        grid-template-columns: 2.2rem minmax(0, 1fr);
        grid-template-areas:
            "icon badge"
            "icon source"
            "title title"
            "desc desc";
    }

    .cnpj-docs-model-source {
        justify-self: start;
    }
}

.cnpj-plus-bar {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) minmax(8rem, 2fr) auto;
    gap: .65rem;
    align-items: center;
    margin-top: .65rem;
    font-size: .86rem;
    font-weight: 800;
}

.cnpj-plus-bar div {
    height: .55rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.cnpj-plus-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0ea5a8, #075f49);
}

.cnpj-icp-hero {
    overflow: hidden;
    position: relative;
    border-color: #bae6fd;
    background:
        linear-gradient(135deg, rgba(14, 165, 168, .13), rgba(37, 99, 235, .08) 44%, rgba(255, 255, 255, .96) 100%),
        #ffffff;
}

.cnpj-icp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(16, 185, 129, .14), transparent 34%, rgba(14, 116, 144, .09));
}

.cnpj-icp-hero-main,
.cnpj-icp-hero-badges,
.cnpj-icp-panel-head > div,
.cnpj-icp-result-note {
    position: relative;
    display: flex;
    align-items: center;
}

.cnpj-icp-hero-main {
    gap: 1rem;
}

.cnpj-icp-hero-main > svg,
.cnpj-icp-panel-head svg,
.cnpj-icp-result-note > svg {
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 8px;
    padding: .55rem;
    color: #ffffff;
    background: linear-gradient(135deg, #0ea5a8, #2563eb);
    box-shadow: 0 12px 26px rgba(14, 116, 144, .22);
}

.cnpj-icp-hero-badges {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
}

.cnpj-icp-hero-badges strong {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border: 1px solid rgba(14, 116, 144, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    padding: .48rem .65rem;
    color: #0f3b50;
    font-size: .78rem;
    font-weight: 900;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .06);
}

.cnpj-icp-hero-badges svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-icp-panel {
    border-color: #bfdbfe;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.cnpj-icp-panel-head {
    margin-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: .85rem;
}

.cnpj-icp-panel-head > div {
    gap: .75rem;
}

.cnpj-icp-panel-head strong,
.cnpj-icp-panel-head span,
.cnpj-icp-cnpj-field small {
    display: block;
}

.cnpj-icp-panel-head strong {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 950;
}

.cnpj-icp-panel-head span,
.cnpj-icp-cnpj-field small {
    color: #64748b;
    font-size: .82rem;
}

.cnpj-icp-form-grid .cnpj-plus-field > span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #0f172a;
}

.cnpj-icp-form-grid .cnpj-plus-field > span svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-icp-cnpj-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.cnpj-icp-cnpj-title > span {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 850;
}

.cnpj-icp-cnpj-title button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2rem;
    border: 1px solid #fecdd3;
    border-radius: 8px;
    background: #fff1f2;
    padding: 0 .65rem;
    color: #be123c;
    font-size: .78rem;
    font-weight: 900;
}

.cnpj-icp-cnpj-title button svg {
    width: .95rem;
    height: .95rem;
}

.cnpj-icp-cnpj-title button:hover {
    background: #ffe4e6;
}

.cnpj-icp-hidden-textarea {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.cnpj-icp-cnpj-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow: auto;
    max-height: 19rem;
    border: 1px solid #93c5fd;
    border-radius: 8px;
    background:
        repeating-linear-gradient(90deg, transparent 0 calc((100% / 6) - 1px), #bfdbfe calc((100% / 6) - 1px) calc(100% / 6)),
        #ffffff;
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, .03);
}

.cnpj-icp-cnpj-cell {
    min-width: 0;
    border: 0;
    outline: 1px solid #93c5fd;
    outline-offset: -1px;
    background: #ffffff;
    box-shadow: none;
}

.cnpj-icp-cnpj-cell:nth-child(12n + 7),
.cnpj-icp-cnpj-cell:nth-child(12n + 8),
.cnpj-icp-cnpj-cell:nth-child(12n + 9),
.cnpj-icp-cnpj-cell:nth-child(12n + 10),
.cnpj-icp-cnpj-cell:nth-child(12n + 11),
.cnpj-icp-cnpj-cell:nth-child(12n + 12) {
    background: #f8fbff;
}

.cnpj-icp-cnpj-cell:not(:nth-child(6n + 1)) {
    border-left: 0;
    box-shadow: none;
}

.cnpj-icp-cnpj-cell:nth-child(6n + 1) {
    box-shadow: none;
}

.cnpj-icp-cnpj-cell input {
    width: 100%;
    height: 2.45rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .84rem;
    line-height: 1;
    padding: 0 .75rem;
}

.cnpj-icp-cnpj-cell input::placeholder {
    color: #64748b;
    opacity: .72;
}

.cnpj-icp-cnpj-cell input:focus {
    background: #f0fdfa;
    box-shadow: inset 0 0 0 2px #0ea5a8;
    outline: none;
}

.cnpj-icp-cnpj-cell input.is-invalid {
    background: #fff1f2;
    color: #be123c;
    box-shadow: inset 0 0 0 2px #fb7185;
}

.cnpj-icp-invalid-note {
    color: #be123c !important;
    font-weight: 850;
}

.cnpj-icp-form-grid select:focus {
    border-color: #0ea5a8;
    box-shadow: 0 0 0 3px rgba(14, 165, 168, .14);
    outline: none;
}

.cnpj-icp-actions {
    align-self: end;
}

.cnpj-icp-actions .fi-btn {
    width: 100%;
    justify-content: center;
}

.cnpj-icp-result-note {
    gap: .75rem;
    border-left-color: #22c55e;
    background: linear-gradient(135deg, #f0fdf4, #eff6ff);
}

.cnpj-icp-result-note > svg {
    width: 2rem;
    height: 2rem;
    padding: .4rem;
    background: #16a34a;
    box-shadow: none;
}

.cnpj-icp-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    margin-top: 1rem;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #f1f5f9;
    padding: .35rem;
}

.cnpj-icp-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.55rem;
    border-radius: 6px;
    color: #475569;
    font-size: .82rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cnpj-icp-tabs button svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-icp-tabs button.is-active {
    background: #3f51b5;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(63, 81, 181, .2);
}

.cnpj-icp-workspace {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
    margin-top: 1rem;
}

.cnpj-icp-builder {
    margin-top: 0;
}

.cnpj-icp-builder .cnpj-plus-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}

.cnpj-icp-builder .cnpj-plus-form-grid > * {
    grid-column: auto !important;
}

.cnpj-icp-builder .cnpj-icp-cnpj-field,
.cnpj-icp-builder .cnpj-plus-field.span-8,
.cnpj-icp-builder .cnpj-icp-actions {
    grid-column: 1 / -1 !important;
}

.cnpj-icp-builder .cnpj-plus-field span {
    min-height: 1.25rem;
    align-items: center;
    line-height: 1.2;
}

.cnpj-icp-builder .cnpj-plus-field select,
.cnpj-icp-builder .cnpj-plus-field input {
    min-height: 2.65rem;
}

.cnpj-icp-builder .cnpj-icp-actions {
    justify-content: flex-end;
}

.cnpj-icp-builder .cnpj-icp-actions .fi-btn {
    width: auto;
    min-width: 13.5rem;
}

.cnpj-icp-results {
    min-width: 0;
}

.cnpj-icp-empty-state,
.cnpj-icp-empty-results,
.cnpj-icp-found {
    display: grid;
    gap: .65rem;
    align-content: start;
    min-height: 10rem;
}

.cnpj-icp-empty-state > svg,
.cnpj-icp-empty-results > svg {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 8px;
    padding: .5rem;
    color: #ffffff;
    background: #0b7af3;
}

.cnpj-icp-empty-state strong,
.cnpj-icp-empty-results strong {
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 950;
}

.cnpj-icp-empty-state span,
.cnpj-icp-empty-results span {
    color: #475569;
    font-size: .9rem;
    line-height: 1.55;
}

.cnpj-icp-howto {
    display: grid;
    grid-template-columns: auto minmax(10rem, auto) minmax(0, 1fr);
    gap: .35rem .75rem;
    align-items: center;
    min-height: auto;
    margin-top: 1rem;
}

.cnpj-icp-howto > svg {
    grid-row: span 2;
}

.cnpj-icp-howto strong {
    align-self: end;
}

.cnpj-icp-howto span {
    align-self: end;
}

.cnpj-icp-empty-results {
    min-height: 9rem;
}

.cnpj-icp-found {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: auto;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: #f0fdf4;
    padding: .75rem .9rem;
    color: #14532d;
}

.cnpj-icp-found strong {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .88rem;
    font-weight: 950;
}

.cnpj-icp-found svg {
    width: 1.1rem;
    height: 1.1rem;
}

.cnpj-icp-found span {
    font-size: .82rem;
    font-weight: 800;
}

.cnpj-icp-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
    margin-top: .9rem;
}

.cnpj-icp-profile-card {
    display: grid;
    gap: .48rem;
    border: 1px solid #d7dfe8;
    border-left: 4px solid #0ea5a8;
    border-radius: 8px;
    background: #ffffff;
    padding: 1rem;
    box-shadow: 0 16px 30px rgba(15, 23, 42, .06);
}

.cnpj-icp-profile-card h3 {
    color: #0f172a;
    font-size: .95rem;
    font-weight: 950;
}

.cnpj-icp-profile-card p {
    color: #334155;
    font-size: .84rem;
}

.cnpj-icp-profile-card div {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .45rem;
}

.cnpj-icp-profile-card button,
.cnpj-icp-table-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2rem;
    border-radius: 6px;
    background: #6d28d9;
    padding: 0 .65rem;
    color: #ffffff;
    font-size: .78rem;
    font-weight: 950;
}

.cnpj-icp-profile-card button svg,
.cnpj-icp-table-actions button svg {
    width: .95rem;
    height: .95rem;
}

.cnpj-icp-profile-card button:nth-child(2) {
    background: #0b7af3;
}

.cnpj-icp-favorites-panel {
    margin-top: 1rem;
    padding: 1rem;
}

.cnpj-icp-favorites-panel .cnpj-history-table-wrap {
    overflow-x: visible;
}

.cnpj-icp-favorites-table {
    width: 100%;
    table-layout: fixed;
}

.cnpj-icp-favorites-table th,
.cnpj-icp-favorites-table td {
    overflow-wrap: anywhere;
    white-space: normal;
    vertical-align: middle;
}

.cnpj-icp-favorites-table th {
    padding: .65rem .55rem;
    font-size: .78rem;
}

.cnpj-icp-favorites-table td {
    padding: .62rem .55rem;
    font-size: .8rem;
    line-height: 1.25;
}

.cnpj-icp-favorites-table th:nth-child(1),
.cnpj-icp-favorites-table td:nth-child(1) {
    width: 6.5rem;
}

.cnpj-icp-favorites-table th:nth-child(2),
.cnpj-icp-favorites-table td:nth-child(2) {
    width: 18%;
}

.cnpj-icp-favorites-table th:nth-child(3),
.cnpj-icp-favorites-table td:nth-child(3) {
    width: 8rem;
}

.cnpj-icp-favorites-table th:nth-child(4),
.cnpj-icp-favorites-table td:nth-child(4),
.cnpj-icp-favorites-table th:nth-child(5),
.cnpj-icp-favorites-table td:nth-child(5),
.cnpj-icp-favorites-table th:nth-child(6),
.cnpj-icp-favorites-table td:nth-child(6),
.cnpj-icp-favorites-table th:nth-child(7),
.cnpj-icp-favorites-table td:nth-child(7) {
    width: 8.5rem;
}

.cnpj-icp-favorites-table th:nth-child(8),
.cnpj-icp-favorites-table td:nth-child(8) {
    width: 8rem;
}

.cnpj-icp-favorites-table th:nth-child(9),
.cnpj-icp-favorites-table td:nth-child(9) {
    width: 6.6rem;
}

.cnpj-icp-table-actions {
    display: inline-flex;
    gap: .35rem;
    white-space: nowrap;
}

.cnpj-icp-table-actions button {
    width: 1.75rem;
    min-height: 1.75rem;
    padding: 0;
}

.cnpj-icp-table-actions button.blue {
    background: #06b6d4;
}

.cnpj-icp-table-actions button.red {
    background: #e11d48;
}

@media (max-width: 900px) {
    .cnpj-plus-hero,
    .cnpj-plus-two-cols,
    .cnpj-plus-distribution-grid,
    .cnpj-plus-model-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-plus-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cnpj-plus-form-grid > * {
        grid-column: 1 / -1 !important;
    }

    .cnpj-icp-hero-main,
    .cnpj-icp-result-note {
        align-items: flex-start;
    }

    .cnpj-icp-hero-badges {
        justify-content: flex-start;
    }

    .cnpj-icp-cnpj-title {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-icp-cnpj-title button {
        width: 100%;
    }

    .cnpj-icp-cnpj-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        background:
            repeating-linear-gradient(90deg, transparent 0 calc((100% / 3) - 1px), #bfdbfe calc((100% / 3) - 1px) calc(100% / 3)),
            #ffffff;
    }

    .cnpj-icp-workspace,
    .cnpj-icp-card-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-icp-found {
        align-items: flex-start;
        flex-direction: column;
    }

    .cnpj-icp-cnpj-cell:not(:nth-child(6n + 1)) {
        border-left: 0;
    }

    .cnpj-icp-cnpj-cell:not(:nth-child(3n + 1)) {
        border-left: 0;
    }
}

@media (max-width: 560px) {
    .cnpj-icp-cnpj-grid {
        grid-template-columns: 1fr;
        background: #ffffff;
    }

    .cnpj-icp-cnpj-cell,
    .cnpj-icp-cnpj-cell:not(:nth-child(3n + 1)),
    .cnpj-icp-cnpj-cell:not(:nth-child(6n + 1)) {
        border-left: 0;
    }
}

.cnpj-partner-report-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    margin: .85rem 0 .75rem;
}

.cnpj-partner-report-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.1rem;
    border: 0;
    border-radius: 10px;
    padding: 0 .68rem;
    color: #ffffff;
    font-size: .82rem;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.cnpj-partner-report-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .14);
}

.cnpj-partner-report-btn:disabled {
    cursor: not-allowed;
    opacity: .55;
    transform: none;
    box-shadow: none;
}

.cnpj-partner-report-btn.blue {
    background: #0b7af3;
}

.cnpj-partner-report-btn.green {
    background: #1f9d4b;
}

.cnpj-partner-report-icon {
    width: 1rem;
    height: 1rem;
}

.cnpj-partner-chart-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.cnpj-partner-chart-panel div {
    border: 1px solid #d7dfe8;
    border-radius: 10px;
    background: #f8fbff;
    padding: .85rem;
    text-align: center;
}

.cnpj-partner-chart-panel span,
.cnpj-partner-chart-panel strong {
    display: block;
}

.cnpj-partner-chart-panel span {
    color: #475569;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-partner-chart-panel strong {
    margin-top: .2rem;
    color: #075f49;
    font-size: 1.25rem;
    font-weight: 950;
}

@media print {
    .cnpj-partner-search,
    .cnpj-partner-report-actions,
    .fi-sidebar,
    .fi-topbar {
        display: none !important;
    }

    .fi-main,
    .fi-main-ctn,
    .fi-page,
    .fi-page-content {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.cnpj-printing-detail .cnpj-partner-report-card,
    body.cnpj-printing-detail .cnpj-partner-report-actions,
    body.cnpj-printing-detail .cnpj-partner-chart-panel,
    body.cnpj-printing-detail .cnpj-partner-results-panel {
        display: none !important;
    }

    body.cnpj-printing-detail .cnpj-detail-modal-backdrop {
        position: static !important;
        inset: auto !important;
        display: block !important;
        background: #ffffff !important;
        padding: 0 !important;
    }

    body.cnpj-printing-detail .cnpj-detail-modal {
        width: 100% !important;
        max-height: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    body.cnpj-printing-detail .cnpj-detail-modal-actions {
        display: none !important;
    }

    body.cnpj-printing-detail .cnpj-detail-modal-body {
        overflow: visible !important;
        padding: 0 !important;
    }
}

.cnpj-mini-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, .32);
    padding: 1rem;
    backdrop-filter: blur(2px);
}

@media (min-width: 1024px) {
    .cnpj-mini-modal-backdrop {
        left: 19rem;
        right: 0;
        width: auto;
    }
}

.cnpj-mini-modal {
    display: flex;
    overflow: hidden;
    flex-direction: column;
    width: min(620px, calc(100vw - 2rem));
    max-height: min(86vh, 680px);
    border: 1px solid rgba(7, 95, 73, .2);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .26);
}

.cnpj-mini-modal-wide {
    width: min(1040px, 100%);
    max-height: min(88vh, 760px);
}

.cnpj-mini-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #d7dfe8;
    background: #075f49;
    padding: .68rem .85rem;
    color: #ffffff;
}

.cnpj-mini-modal-head span {
    display: block;
    margin-bottom: .1rem;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .82;
}

.cnpj-mini-modal-head h2 {
    margin: 0;
    font-size: .95rem;
    font-weight: 900;
    line-height: 1.25;
}

.cnpj-mini-modal-close {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #ffffff;
}

.cnpj-mini-modal-close:hover {
    background: rgba(255, 255, 255, .22);
}

.cnpj-mini-modal-close-icon {
    width: 1.05rem;
    height: 1.05rem;
}

.cnpj-mini-modal-body {
    overflow: auto;
    margin: 0;
    max-height: calc(86vh - 3.4rem);
    background: #f8fafc;
    padding: .65rem;
    color: #111827;
    font-size: .78rem;
    line-height: 1.35;
    scrollbar-width: none;
}

.cnpj-mini-modal-body::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.cnpj-socios-history-modal {
    display: grid;
    gap: .65rem;
}

.cnpj-socios-history-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
    gap: .5rem;
}

.cnpj-socios-history-summary div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .5rem;
    min-width: 0;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .52rem .58rem;
}

.cnpj-socios-history-summary span,
.cnpj-socios-history-summary small,
.cnpj-socios-history-summary strong {
    display: block;
}

.cnpj-socios-history-summary small {
    color: #075f49;
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cnpj-socios-history-summary strong {
    margin-top: .12rem;
    color: #111827;
    font-size: .78rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.cnpj-socios-history-block {
    display: grid;
    gap: .4rem;
}

.cnpj-socios-history-block h3 {
    margin: 0;
    color: #075f49;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cnpj-socios-history-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
}

.cnpj-socios-history-filters div,
.cnpj-socios-history-filters p {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .5rem;
    min-width: 0;
    margin: 0;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .48rem .55rem;
}

.cnpj-socios-history-filters span,
.cnpj-socios-history-filters small,
.cnpj-socios-history-filters strong {
    display: block;
}

.cnpj-socios-history-filters small {
    color: #64748b;
    font-size: .65rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-socios-history-filters strong,
.cnpj-socios-history-filters p {
    color: #111827;
    font-size: .76rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.cnpj-socios-history-icon {
    display: inline-flex !important;
    flex: 0 0 auto;
    width: .98rem !important;
    height: .98rem !important;
    color: var(--cnpj-socios-history-icon, #075f49) !important;
    stroke: currentColor !important;
    fill: none !important;
}

.cnpj-socios-history-icon.blue { --cnpj-socios-history-icon: #0b7af3; }
.cnpj-socios-history-icon.teal { --cnpj-socios-history-icon: #0ea5a8; }
.cnpj-socios-history-icon.green { --cnpj-socios-history-icon: #16a34a; }
.cnpj-socios-history-icon.orange { --cnpj-socios-history-icon: #f97316; }
.cnpj-socios-history-icon.purple { --cnpj-socios-history-icon: #7c3aed; }
.cnpj-socios-history-icon.indigo { --cnpj-socios-history-icon: #4f46e5; }
.cnpj-socios-history-icon.amber { --cnpj-socios-history-icon: #ca8a04; }
.cnpj-socios-history-icon.rose { --cnpj-socios-history-icon: #e11d48; }
.cnpj-socios-history-icon.cyan { --cnpj-socios-history-icon: #0891b2; }
.cnpj-socios-history-icon.slate { --cnpj-socios-history-icon: #64748b; }

.cnpj-socios-history-table {
    width: 100%;
    min-width: 860px;
    border: 1px solid #d7dfe8;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    background: #ffffff;
    overflow: hidden;
    font-size: .76rem;
}

.cnpj-socios-history-table th,
.cnpj-socios-history-table td {
    border-right: 1px solid #d7dfe8;
    border-bottom: 1px solid #d7dfe8;
    padding: .5rem .58rem;
    text-align: left;
    vertical-align: top;
}

.cnpj-socios-history-table th {
    background: #075f49;
    color: #ffffff;
    font-weight: 950;
    text-align: center;
}

.cnpj-socios-history-table tr > *:last-child {
    border-right: 0;
}

.cnpj-socios-history-table tr:last-child > * {
    border-bottom: 0;
}

.cnpj-socios-history-table tbody tr:nth-child(odd) {
    background: #f8fbff;
}

.cnpj-socios-history-table tbody tr:nth-child(even) {
    background: #eef9f2;
}

.cnpj-socios-history-table td:first-child {
    width: 10rem;
    text-align: center;
    white-space: nowrap;
}

.cnpj-socios-history-cnpj {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .32rem;
    white-space: nowrap;
}

.cnpj-socios-history-table td:nth-child(2) {
    width: 52%;
}

.cnpj-company-history-table td:nth-child(2) {
    width: 48%;
}

.cnpj-company-history-table td:nth-child(3) {
    width: 34%;
}

.cnpj-socios-history-table strong,
.cnpj-socios-history-table span {
    line-height: 1.34;
}

.cnpj-socios-history-table strong {
    font-weight: 950;
}

.cnpj-socios-history-line {
    display: flex;
    align-items: flex-start;
    gap: .35rem;
    min-width: 0;
    line-height: 1.34;
}

.cnpj-socios-history-line + .cnpj-socios-history-line {
    margin-top: .08rem;
}

.cnpj-socios-history-line .cnpj-socios-history-icon {
    margin-top: .12rem;
}

.cnpj-socios-history-line span,
.cnpj-socios-history-line strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.cnpj-details-table {
    width: 100%;
    border: 1px solid #d7dfe8;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    background: #ffffff;
    overflow: hidden;
}

.cnpj-details-table .cnpj-details-table {
    margin-top: .25rem;
    font-size: .94em;
}

.cnpj-details-table th,
.cnpj-details-table td {
    border-right: 1px solid #d7dfe8;
    border-bottom: 1px solid #d7dfe8;
    padding: .42rem .55rem;
    text-align: left;
    vertical-align: top;
}

.cnpj-details-table tr > *:last-child {
    border-right: 0;
}

.cnpj-details-table tr:last-child > * {
    border-bottom: 0;
}

.cnpj-details-table th {
    background: #e9f7f1;
    color: #075f49;
    font-weight: 900;
}

.cnpj-details-table td:first-child {
    width: 15rem;
    color: #334155;
    font-weight: 800;
}

.cnpj-details-table td:last-child {
    color: #111827;
    word-break: break-word;
}

.cnpj-details-empty {
    color: #64748b;
    font-style: italic;
}

.cnpj-history-summary-row td {
    background: #f8fafc !important;
    padding: 1rem !important;
}

.cnpj-history-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
    text-align: left;
}

.cnpj-history-summary div {
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .75rem;
}

.cnpj-history-summary strong,
.cnpj-history-summary span {
    display: block;
}

.cnpj-history-summary strong {
    margin-bottom: .25rem;
    color: #075f49;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-history-summary span {
    color: #111827;
    font-size: .86rem;
    line-height: 1.35;
}

.cnpj-history-empty {
    padding: 2rem !important;
    text-align: center;
    color: #64748b;
    font-weight: 800;
}

.cnpj-history-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1.25rem 1.25rem;
    color: #111827;
    font-size: .9rem;
}

.cnpj-history-pagination {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
}

.cnpj-history-pagination button {
    min-height: 2.4rem;
    border: 1px solid #d7dfe8;
    border-left: 0;
    background: #ffffff;
    padding: 0 .8rem;
    color: #475569;
    font-weight: 700;
}

.cnpj-history-pagination button:first-child {
    border-left: 1px solid #d7dfe8;
    border-radius: 4px 0 0 4px;
}

.cnpj-history-pagination button:last-child {
    border-radius: 0 4px 4px 0;
}

.cnpj-history-pagination button.is-active {
    border-color: #0b7af3;
    background: #0b7af3;
    color: #ffffff;
}

.cnpj-history-pagination button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

@media (max-width: 760px) {
    .cnpj-form-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .cnpj-official-source {
        align-items: center;
        flex-direction: row;
    }

    .cnpj-official-source__meta {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }

    .cnpj-results-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .cnpj-results-count {
        white-space: normal;
    }

    .cnpj-results-table {
        min-width: 0;
    }

    .cnpj-results-table thead {
        display: none;
    }

    .cnpj-results-table,
    .cnpj-results-table tbody,
    .cnpj-results-table tr,
    .cnpj-results-table td {
        display: block;
        width: 100%;
    }

    .cnpj-results-table tr {
        border-bottom: 1px solid #d9c9aa;
        box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
    }

    .cnpj-results-table td {
        border-right: 0;
        padding: .9rem;
    }

    .cnpj-results-table td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: .45rem;
        color: #075f49;
        font-size: .72rem;
        font-weight: 950;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .cnpj-company-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-result-line strong {
        display: block;
        margin-bottom: .1rem;
    }

    .cnpj-result-line {
        display: block;
    }

    .cnpj-cnpj-stack {
        justify-content: space-between;
    }

    .cnpj-quick-options {
        grid-template-columns: 1fr;
    }

    .cnpj-quick-option {
        min-height: auto;
    }

    .cnpj-pagination-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .cnpj-page-btn,
    .cnpj-page-status {
        width: 100%;
    }
}

@media (max-width: 1100px) {
    .cnpj-history-filters {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .cnpj-history-filters,
    .cnpj-history-date-range {
        grid-template-columns: 1fr;
    }

    .cnpj-history-date-range span {
        border: 1px solid #cfd8e3;
        border-block: 0;
        min-height: 2rem;
    }

    .cnpj-history-tools,
    .cnpj-history-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-history-search input,
    .cnpj-history-tools label,
    .cnpj-history-pagination {
        width: 100%;
    }

    .cnpj-history-pagination button {
        flex: 1 1 auto;
        padding-inline: .5rem;
    }

    .cnpj-history-summary {
        grid-template-columns: 1fr;
    }

    .cnpj-socios-history-summary,
    .cnpj-socios-history-filters {
        grid-template-columns: 1fr;
    }

    .cnpj-mini-modal-wide {
        width: 100%;
    }
}

.cnpj-plus-hero-compact {
    margin-bottom: 1rem;
}

.cnpj-plus-hero-compact .cnpj-plus-stats {
    grid-template-columns: repeat(5, minmax(6rem, 1fr));
}

.cnpj-plus-minhas-filter {
    display: grid;
    gap: 1.05rem;
}

.cnpj-plus-minhas-form {
    display: grid;
    gap: .9rem;
}

.cnpj-plus-minhas-search {
    display: grid;
    grid-template-columns: minmax(18rem, 1.35fr) minmax(10rem, .7fr) minmax(12rem, .8fr);
    gap: .85rem;
    align-items: end;
}

.cnpj-plus-minhas-search:nth-child(2) {
    grid-template-columns: minmax(16rem, 1.05fr) minmax(12rem, .85fr) minmax(12rem, .85fr) auto;
}

.cnpj-plus-filter-label {
    margin-bottom: .35rem;
    color: #111827;
    font-size: .85rem;
    font-weight: 850;
}

.cnpj-plus-search-tabs {
    margin-bottom: .4rem;
}

.cnpj-plus-search-tabs button {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 2.35rem;
    border-right: 1px solid #d7dfe8;
    background: #ffffff;
    color: #111827;
}

.cnpj-plus-search-tabs button:last-child {
    border-right: 0;
}

.cnpj-plus-search-tabs button svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-plus-search-tabs button:nth-child(2) svg {
    color: #2563eb;
}

.cnpj-plus-search-tabs button:nth-child(3) svg {
    color: #0ea5a8;
}

.cnpj-plus-search-tabs button.is-active svg {
    color: currentColor;
}

.cnpj-plus-date-range > div {
    display: grid;
    grid-template-columns: 1fr 2.15rem 1fr;
    align-items: center;
}

.cnpj-plus-date-range input,
.cnpj-plus-date-range b {
    height: 2.6rem;
}

.cnpj-plus-date-range input:first-child {
    border-radius: 8px 0 0 8px;
}

.cnpj-plus-date-range input:last-child {
    border-radius: 0 8px 8px 0;
}

.cnpj-plus-date-range b {
    display: grid;
    place-items: center;
    border: 1px solid #cbd5e1;
    border-inline: 0;
    background: #f1f5f9;
    color: #334155;
}

.cnpj-plus-toggle-field {
    align-self: end;
}

.cnpj-plus-toggle-button {
    width: 5rem;
    min-height: 2.55rem;
    border: 1px solid #d7dfe8;
    border-radius: 6px;
    background: linear-gradient(90deg, #f8fafc 0 50%, #e2e8f0 50% 100%);
    color: #334155;
    font-weight: 900;
}

.cnpj-plus-toggle-button.is-on {
    border-color: #86efac;
    background: #dcfce7;
    color: #15803d;
}

.cnpj-plus-filter-submit {
    min-height: 2.55rem;
    border-radius: 8px;
    background: #2faa52;
    color: #ffffff;
    font-weight: 950;
    text-align: center;
    text-transform: none;
}

.cnpj-plus-minhas-filter-actions {
    align-self: end;
    padding-top: .2rem;
    white-space: nowrap;
}

.cnpj-plus-minhas-filter-actions .fi-btn {
    min-height: 2.6rem;
}

.cnpj-plus-action-center,
.cnpj-plus-route-row {
    display: flex;
    justify-content: center;
    gap: .55rem;
    flex-wrap: wrap;
}

.cnpj-plus-route-row {
    padding: .9rem 0 .2rem;
}

.cnpj-plus-tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.35rem;
    border-radius: 8px;
    padding: 0 .9rem;
    color: #ffffff;
    font-size: .82rem;
    font-weight: 900;
    text-transform: none;
    text-decoration: none;
}

.cnpj-plus-tool svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-plus-tool.blue {
    background: #1478ee;
}

.cnpj-plus-tool.green {
    background: #16a34a;
}

.cnpj-plus-tool.purple {
    background: #6d28d9;
}

.cnpj-plus-tool.red {
    background: #e83355;
}

.cnpj-plus-tool.neutral {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #334155;
}

.cnpj-plus-minhas-table-panel {
    padding: 1rem 1.25rem;
}

.cnpj-plus-minhas-table {
    border-radius: 8px;
    overflow: hidden;
}

.cnpj-plus-minhas-table th:nth-child(1),
.cnpj-plus-minhas-table td:nth-child(1) {
    width: 20%;
}

.cnpj-plus-minhas-table th:nth-child(2),
.cnpj-plus-minhas-table td:nth-child(2) {
    width: 58%;
}

.cnpj-plus-minhas-table th:nth-child(3),
.cnpj-plus-minhas-table td:nth-child(3) {
    width: 22%;
}

.cnpj-plus-minhas-table td {
    vertical-align: top;
}

.cnpj-plus-cnpj-cell {
    text-align: left !important;
}

.cnpj-plus-cnpj-cell strong,
.cnpj-plus-cnpj-cell span {
    display: block;
}

.cnpj-plus-cnpj-cell strong {
    margin-top: .7rem;
    color: #111827;
    font-weight: 950;
}

.cnpj-plus-cnpj-line {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .8rem;
}

.cnpj-plus-cnpj-line .cnpj-partner-cnpj-tag {
    margin: 0;
}

.cnpj-plus-minhas-table tbody tr:nth-child(odd) .cnpj-partner-cnpj-tag {
    background: #0b7af3;
}

.cnpj-plus-minhas-table tbody tr:nth-child(even) .cnpj-partner-cnpj-tag {
    background: #e3314b;
}

.cnpj-plus-qsa-summary {
    margin-top: .45rem;
    border-top: 1px dashed #b7d7de;
    padding-top: .45rem;
}

.cnpj-plus-qsa-title {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: #075f49;
    font-size: .86rem;
}

.cnpj-plus-qsa-line {
    display: flex;
    flex-wrap: wrap;
    gap: .15rem .55rem;
    margin-top: .2rem;
    color: #111827;
    font-size: .82rem;
}

.cnpj-plus-qsa-line b {
    font-weight: 950;
}

.cnpj-plus-qsa-line span {
    color: #334155;
}

.cnpj-plus-qsa-summary small {
    display: inline-flex;
    margin-top: .22rem;
    border-radius: 999px;
    background: #e5f7ef;
    padding: .15rem .5rem;
    color: #075f49;
    font-size: .72rem;
    font-weight: 850;
}

.cnpj-plus-integration-row {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-top: .35rem;
}

.cnpj-plus-integration-row a {
    display: inline-grid;
    width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    color: #6d28d9;
}

.cnpj-plus-integration-row a:nth-child(2) {
    color: #1478ee;
}

.cnpj-plus-integration-row a:nth-child(3) {
    color: #16a34a;
}

.cnpj-plus-integration-row svg,
.cnpj-plus-purple-tools svg,
.cnpj-plus-delete-button svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-plus-note-inline {
    margin-top: .8rem;
    border-top: 1px dashed #b7d7de;
    padding-top: .55rem;
    color: #111827;
    font-size: .86rem;
}

.cnpj-plus-note-inline strong {
    font-weight: 950;
}

.cnpj-plus-note-inline a {
    color: #0b7af3;
    font-weight: 900;
}

.cnpj-plus-open-notes {
    display: inline;
    margin-left: .25rem;
    border: 0;
    background: transparent;
    padding: 0;
    color: #0b7af3;
    font-weight: 900;
    line-height: inherit;
    text-decoration: none;
    vertical-align: baseline;
}

.cnpj-plus-open-notes svg {
    display: inline;
    width: .82rem;
    height: .82rem;
    margin-right: .12rem;
    color: #0b7af3;
    vertical-align: -.1em;
}

.cnpj-plus-note-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: .35rem;
}

.cnpj-plus-note-form input {
    min-height: 2.1rem;
    border: 1px solid #cbd5e1;
    border-radius: 4px 0 0 4px;
    padding: 0 .65rem;
}

.cnpj-plus-note-form button {
    min-height: 2.1rem;
    border-radius: 0 4px 4px 0;
    background: #2faa52;
    padding: 0 .85rem;
    color: #ffffff;
    font-size: .82rem;
    font-weight: 900;
}

.cnpj-plus-notes-backdrop {
    z-index: 80;
    inset: 4.75rem 0 0 var(--cnpj-sidebar-offset, 20rem);
    padding: 1.25rem;
}

.cnpj-plus-notes-modal {
    width: min(780px, calc(100vw - 2rem));
    max-height: min(82vh, 720px);
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .28);
}

@media (max-width: 768px) {
    .cnpj-plus-notes-backdrop {
        inset: 0;
        padding: .85rem;
    }
}

.cnpj-plus-notes-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    background: #075f49;
    padding: 1rem 1.15rem;
    color: #ffffff;
}

.cnpj-plus-notes-head span {
    display: inline-flex;
    margin-bottom: .25rem;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    padding: .2rem .55rem;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-plus-notes-head h2 {
    font-size: 1.25rem;
    font-weight: 950;
}

.cnpj-plus-notes-head p {
    margin-top: .15rem;
    color: rgba(255,255,255,.86);
    font-size: .86rem;
}

.cnpj-plus-notes-head button {
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 999px;
    color: #ffffff;
}

.cnpj-plus-notes-head button svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-plus-notes-body {
    max-height: min(58vh, 460px);
    overflow-y: auto;
    padding: 1rem 1.15rem;
}

.cnpj-plus-notes-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
    margin-bottom: .9rem;
}

.cnpj-plus-notes-summary div {
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #f8fafc;
    padding: .65rem;
}

.cnpj-plus-notes-summary small {
    display: block;
    color: #64748b;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cnpj-plus-notes-summary strong {
    color: #075f49;
    font-weight: 950;
}

.cnpj-plus-notes-list {
    display: grid;
    gap: .55rem;
}

.cnpj-plus-notes-list article {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: .65rem;
    border: 1px solid #d7dfe8;
    border-left: 4px solid #0ea5a8;
    border-radius: 8px;
    background: #ffffff;
    padding: .7rem .8rem;
}

.cnpj-plus-notes-list article:nth-child(even) {
    border-left-color: #7c3aed;
    background: #eefcf5;
}

.cnpj-plus-notes-list article > svg {
    width: 1.15rem;
    height: 1.15rem;
    color: #0b7af3;
}

.cnpj-plus-notes-list article:nth-child(even) > svg {
    color: #7c3aed;
}

.cnpj-plus-notes-list strong {
    display: inline-flex;
    margin-right: .35rem;
    color: #111827;
    font-weight: 900;
}

.cnpj-plus-notes-list span {
    display: inline-flex;
    border-radius: 999px;
    background: #e5f7ef;
    padding: .12rem .45rem;
    color: #075f49;
    font-size: .72rem;
    font-weight: 850;
}

.cnpj-plus-notes-list p {
    margin-top: .25rem;
    color: #334155;
    font-size: .9rem;
}

.cnpj-plus-notes-empty {
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    padding: 1rem;
    color: #64748b;
}

.cnpj-plus-notes-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    border-top: 1px solid #d7dfe8;
    padding: .85rem 1.15rem;
    background: #f8fafc;
}

.cnpj-plus-notes-actions a,
.cnpj-plus-notes-actions button {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 2.3rem;
    border-radius: 8px;
    padding: 0 .8rem;
    font-size: .84rem;
    font-weight: 900;
    text-decoration: none;
}

.cnpj-plus-notes-actions a {
    background: #e8f2ff;
    color: #0b7af3;
}

.cnpj-plus-notes-actions a svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-plus-notes-actions button {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #334155;
}

.cnpj-plus-notes-actions button.primary {
    border-color: #16a34a;
    background: #16a34a;
    color: #ffffff;
}

.cnpj-plus-agenda-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 1rem 1.15rem;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .05);
}

.cnpj-plus-agenda-hero span,
.cnpj-plus-agenda-panel-head span {
    display: block;
    color: #075f49;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-plus-agenda-hero h2 {
    margin: .15rem 0;
    font-size: 1.55rem;
    font-weight: 950;
}

.cnpj-plus-agenda-hero p {
    color: #64748b;
}

.cnpj-plus-agenda-add,
.cnpj-action-search,
.cnpj-action-clear {
    display: inline-flex;
    min-height: 2.55rem;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    border-radius: 8px;
    padding: 0 1rem;
    font-weight: 900;
    white-space: nowrap;
}

.cnpj-plus-agenda-add,
.cnpj-action-search {
    background: #05c98b;
    color: #062d24;
}

.cnpj-action-clear {
    border: 1px solid #d7dfe8;
    background: #ffffff;
    color: #111827;
}

.cnpj-plus-agenda-add svg,
.cnpj-action-search svg,
.cnpj-action-clear svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-plus-agenda-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin-bottom: 1rem;
}

.cnpj-plus-agenda-stats div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: .65rem;
    align-items: center;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .8rem;
}

.cnpj-plus-agenda-stats svg {
    grid-row: span 2;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 8px;
    padding: .45rem;
    color: #ffffff;
}

.cnpj-plus-agenda-stats .blue svg { background: #0b7af3; }
.cnpj-plus-agenda-stats .green svg { background: #16a34a; }
.cnpj-plus-agenda-stats .orange svg { background: #f97316; }
.cnpj-plus-agenda-stats .purple svg { background: #7c3aed; }

.cnpj-plus-agenda-stats small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.cnpj-plus-agenda-stats strong {
    color: #075f49;
    font-size: 1.35rem;
    font-weight: 950;
}

.cnpj-plus-agenda-panel {
    margin-bottom: 1rem;
    overflow: hidden;
    border-radius: 8px;
}

.cnpj-plus-agenda-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #d7dfe8;
    padding: .95rem 1rem;
}

.cnpj-plus-agenda-panel-head h3 {
    font-size: 1.05rem;
    font-weight: 950;
}

.cnpj-plus-agenda-panel-head strong {
    border-radius: 999px;
    background: #dff5ec;
    padding: .45rem .8rem;
    color: #075f49;
    font-size: .8rem;
    font-weight: 950;
}

.cnpj-plus-agenda-filters {
    display: grid;
    grid-template-areas:
        "cnpj company company company"
        "start end status group"
        "actions actions actions actions";
    grid-template-columns: minmax(12rem, .85fr) minmax(12rem, .85fr) minmax(12rem, .85fr) minmax(12rem, .85fr);
    gap: .75rem;
    align-items: end;
    padding: 1rem;
}

.cnpj-plus-agenda-filters .filter-cnpj { grid-area: cnpj; }
.cnpj-plus-agenda-filters .filter-company { grid-area: company; }
.cnpj-plus-agenda-filters .filter-start { grid-area: start; }
.cnpj-plus-agenda-filters .filter-end { grid-area: end; }
.cnpj-plus-agenda-filters .filter-status { grid-area: status; }
.cnpj-plus-agenda-filters .filter-group { grid-area: group; }

.cnpj-plus-agenda-filters label,
.cnpj-plus-agenda-modal-body label {
    display: grid;
    gap: .28rem;
    font-weight: 800;
}

.cnpj-plus-agenda-filters label span,
.cnpj-plus-agenda-modal-body label span {
    font-size: .82rem;
    font-weight: 900;
}

.cnpj-plus-agenda-filters input,
.cnpj-plus-agenda-filters select,
.cnpj-plus-agenda-modal-body input,
.cnpj-plus-agenda-modal-body select,
.cnpj-plus-agenda-modal-body textarea {
    width: 100%;
    min-height: 2.55rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    padding: 0 .85rem;
    color: #111827;
}

.cnpj-plus-agenda-modal-body textarea {
    padding-top: .7rem;
}

.cnpj-plus-agenda-filter-actions {
    display: inline-flex;
    gap: .55rem;
    grid-area: actions;
    justify-content: flex-end;
    padding-top: .1rem;
}

.cnpj-plus-agenda-table-wrap {
    padding: .35rem 1.25rem 1.15rem;
}

.cnpj-plus-agenda-panel .cnpj-history-toolbar {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: 1rem 1.25rem .35rem;
}

.cnpj-plus-agenda-panel .cnpj-history-toolbar label {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .45rem;
    white-space: nowrap;
}

.cnpj-plus-agenda-panel .cnpj-history-toolbar select {
    min-width: 4.6rem;
    min-height: 2.55rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    padding: 0 .65rem;
}

.cnpj-plus-agenda-table-search {
    min-height: 2.55rem;
    flex: 1 1 auto;
    min-width: 12rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    padding: 0 .85rem;
}

.cnpj-plus-agenda-table {
    overflow: hidden;
    border-radius: 8px;
    border-collapse: separate;
    border-spacing: 0;
}

.cnpj-plus-agenda-table thead th {
    border-radius: 0 !important;
}

.cnpj-plus-agenda-table th button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    width: 100%;
    font-weight: 950;
    line-height: 1.2;
}

.cnpj-plus-agenda-table td {
    padding: 1rem .9rem !important;
    vertical-align: middle;
}

.cnpj-plus-agenda-table td > strong,
.cnpj-plus-agenda-table td > span,
.cnpj-plus-agenda-table td > p {
    display: block;
}

.cnpj-plus-agenda-table td > span {
    color: #475569;
    font-size: .84rem;
}

.cnpj-plus-agenda-table td > p {
    margin-top: .25rem;
}

.cnpj-plus-agenda-table tbody tr:nth-child(odd) .cnpj-partner-cnpj-tag {
    background: #0b7af3;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(11, 122, 243, .18);
}

.cnpj-plus-agenda-table tbody tr:nth-child(even) .cnpj-partner-cnpj-tag {
    background: #e3314b;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(227, 49, 75, .18);
}

.cnpj-plus-agenda-table .cnpj-partner-cnpj-tag {
    display: inline-flex;
    min-width: 12rem;
    justify-content: center;
    border-radius: 999px;
    padding: .45rem .8rem;
    font-size: .88rem;
    font-weight: 950;
}

.cnpj-plus-agenda-status {
    display: inline-flex;
    border-radius: 999px;
    padding: .35rem .7rem;
    font-size: .78rem;
    font-weight: 950;
}

.cnpj-plus-agenda-status.open {
    background: #fff3d1;
    color: #92400e;
}

.cnpj-plus-agenda-status.done {
    background: #dff5ec;
    color: #075f49;
}

.cnpj-plus-agenda-muted {
    color: #64748b;
    font-size: .82rem;
    font-weight: 800;
}

.cnpj-plus-agenda-modal {
    width: min(720px, calc(100vw - 2rem));
}

.cnpj-plus-agenda-modal-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    padding: 1rem;
}

.cnpj-plus-agenda-modal-body .span-full {
    grid-column: 1 / -1;
}

@media (max-width: 1180px) {
    .cnpj-plus-agenda-filters {
        grid-template-areas:
            "cnpj company"
            "start end"
            "status group"
            "actions actions";
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cnpj-plus-agenda-filter-actions {
        justify-content: flex-end;
    }
}

@media (max-width: 760px) {
    .cnpj-plus-agenda-hero,
    .cnpj-plus-agenda-panel-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-plus-agenda-stats,
    .cnpj-plus-agenda-modal-body {
        grid-template-columns: minmax(0, 1fr);
    }

    .cnpj-plus-agenda-filters {
        grid-template-areas:
            "cnpj"
            "company"
            "start"
            "end"
            "status"
            "group"
            "actions";
        grid-template-columns: minmax(0, 1fr);
    }

    .cnpj-plus-agenda-filter-actions {
        flex-direction: column;
    }
}

.cnpj-plus-management-cell {
    text-align: center !important;
}

.cnpj-plus-management-cell select {
    width: 100%;
    min-height: 2.35rem;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #ffffff;
    padding: 0 .75rem;
    color: #334155;
    font-weight: 850;
}

.cnpj-plus-status-pills {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, auto));
    justify-content: center;
    gap: .45rem .55rem;
    margin: .9rem 0;
}

.cnpj-plus-status-pills button {
    min-height: 2rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    padding: 0 .8rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cnpj-plus-status-pills button.is-active {
    border-color: #64748b;
    background: #64748b;
    color: #ffffff;
}

.cnpj-plus-purple-tools {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: 8px;
    background: #7c3aed;
    padding: .45rem .55rem;
}

.cnpj-plus-purple-tools a {
    display: inline-grid;
    width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    border-radius: 7px;
    color: #ffffff;
}

.cnpj-plus-purple-tools a:hover {
    background: rgba(255, 255, 255, .14);
}

.cnpj-plus-delete-button {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    margin: .8rem auto 0;
    place-items: center;
    border-radius: 9px;
    background: #e83355;
    color: #ffffff;
}

.cnpj-plus-dashboard-panel {
    display: grid;
    gap: .85rem;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    background: #ffffff;
    padding: 1rem;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .06);
}

.cnpj-plus-tool-page {
    margin-top: .25rem;
}

.cnpj-plus-back-link,
.cnpj-plus-tool-actions {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.cnpj-plus-back-link {
    min-height: 2.35rem;
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #ffffff;
    padding: 0 .85rem;
    color: #075f49;
    font-size: .82rem;
    font-weight: 950;
    text-decoration: none;
}

.cnpj-plus-back-link svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-plus-tool-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.cnpj-plus-dashboard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.cnpj-plus-dashboard-head span,
.cnpj-plus-dashboard-head strong {
    display: block;
}

.cnpj-plus-dashboard-head span {
    color: #075f49;
    font-size: .75rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-plus-dashboard-head strong {
    color: #111827;
    font-size: 1.05rem;
    font-weight: 950;
}

.cnpj-plus-dashboard-head button {
    min-height: 2.15rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    padding: 0 .85rem;
    color: #334155;
    font-weight: 850;
}

.cnpj-plus-dashboard-cards strong em {
    color: #64748b;
    font-size: .78rem;
    font-style: normal;
    font-weight: 900;
}

.cnpj-plus-status-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.cnpj-plus-status-overview > div {
    position: relative;
    display: grid;
    min-height: 5.9rem;
    overflow: hidden;
    border: 1px solid #d7dfe8;
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    padding: .8rem .8rem 2.35rem;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .06);
    text-align: left;
}

.cnpj-plus-status-overview > div > div {
    position: relative;
    z-index: 2;
    display: grid;
    gap: .38rem;
    align-content: start;
}

.cnpj-plus-status-overview strong {
    color: #111827;
    font-size: 1.85rem;
    font-weight: 950;
    line-height: 1;
}

.cnpj-plus-status-overview span {
    width: max-content;
    border-radius: 7px;
    background: #64748b;
    padding: .28rem .52rem;
    color: #ffffff;
    font-size: .68rem;
    font-weight: 950;
}

.cnpj-plus-status-overview svg {
    position: absolute;
    right: 1.4rem;
    top: .85rem;
    width: 3.85rem;
    height: 3.85rem;
    color: #64748b;
    opacity: .96;
    transform: rotate(-4deg);
}

.cnpj-plus-status-overview button {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    min-height: 1.75rem;
    border-top: 1px solid #d7dfe8;
    background: #e5e7eb;
    color: #111827;
    font-size: .76rem;
    font-weight: 850;
    text-align: center;
}

.cnpj-plus-status-overview > div.cyan span {
    background: #0ea5a8;
}

.cnpj-plus-status-overview > div.cyan svg {
    color: #0ea5a8;
}

.cnpj-plus-status-overview > div.cyan span,
.cnpj-plus-status-overview > div.green span,
.cnpj-plus-status-overview > div.red span,
.cnpj-plus-status-overview > div.slate span {
    color: #ffffff;
}

.cnpj-plus-status-overview > div.green span {
    background: #16a34a;
}

.cnpj-plus-status-overview > div.green svg {
    color: #16a34a;
}

.cnpj-plus-status-overview > div.red span {
    background: #e83355;
}

.cnpj-plus-status-overview > div.red svg {
    color: #e83355;
}

.cnpj-plus-status-overview > div.slate span {
    background: #64748b;
}

.cnpj-plus-status-overview > div.slate svg {
    color: #64748b;
}

.cnpj-plus-fixed-statuses {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    border: 1px solid #d7dfe8;
    border-radius: 10px;
    background: #f8fafc;
    padding: .75rem;
}

.cnpj-plus-fixed-statuses strong {
    margin-right: .25rem;
    color: #075f49;
    font-weight: 950;
}

.cnpj-plus-fixed-statuses button {
    border-radius: 999px;
    background: #64748b;
    padding: .42rem .75rem;
    color: #fff;
    font-size: .75rem;
    font-weight: 950;
}

.cnpj-plus-fixed-statuses button:nth-child(3) { background: #2563eb; }
.cnpj-plus-fixed-statuses button:nth-child(4) { background: #16a34a; }
.cnpj-plus-fixed-statuses button:nth-child(5) { background: #e83355; }

.cnpj-plus-status-page {
    gap: 1rem;
}

.cnpj-plus-status-page .cnpj-plus-mini-table-card,
.cnpj-plus-status-page .cnpj-history-table,
.cnpj-plus-status-page .cnpj-history-table th,
.cnpj-plus-status-page .cnpj-history-table td,
.cnpj-plus-status-page .cnpj-history-table-wrap {
    border-radius: 0 !important;
}

.cnpj-plus-status-ribbon {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    border: 1px solid #1095a8;
    border-radius: 0;
    background: linear-gradient(135deg, #1095a8, #0f766e);
    padding: 1rem;
    color: #ffffff;
}

.cnpj-plus-status-ribbon-main {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.cnpj-plus-status-ribbon-main > svg {
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 auto;
    border-radius: 8px;
    background: rgba(255, 255, 255, .16);
    padding: .58rem;
    color: #ffffff;
}

.cnpj-plus-status-ribbon-main strong,
.cnpj-plus-status-ribbon-main p {
    display: block;
}

.cnpj-plus-status-ribbon-main strong {
    font-size: .94rem;
    font-weight: 950;
}

.cnpj-plus-status-ribbon-main p {
    margin: .18rem 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: .82rem;
    font-weight: 750;
}

.cnpj-plus-status-ribbon-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}

.cnpj-plus-status-ribbon-actions button {
    display: inline-flex;
    min-height: 2.05rem;
    align-items: center;
    gap: .38rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, .15);
    padding: 0 .72rem;
    color: #ffffff;
    font-size: .72rem;
    font-weight: 950;
}

.cnpj-plus-status-ribbon-actions svg {
    width: .95rem;
    height: .95rem;
}

.cnpj-plus-status-ribbon-actions button.slate { background: #64748b; }
.cnpj-plus-status-ribbon-actions button.cyan { background: #0ea5e9; }
.cnpj-plus-status-ribbon-actions button.green { background: #16a34a; }
.cnpj-plus-status-ribbon-actions button.red { background: #e83355; }

.cnpj-plus-status-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.cnpj-plus-status-summary > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .32rem .7rem;
    align-items: center;
    border: 1px solid #d7dfe8;
    border-radius: 10px;
    background: #ffffff;
    padding: .85rem;
}

.cnpj-plus-status-summary svg {
    grid-row: span 2;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 9px;
    padding: .55rem;
    color: #ffffff;
}

.cnpj-plus-status-summary span {
    color: #64748b;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-plus-status-summary strong {
    color: #063f32;
    font-size: 1.45rem;
    font-weight: 950;
    line-height: 1;
}

.cnpj-plus-status-summary .purple svg { background: #7c3aed; }
.cnpj-plus-status-summary .blue svg { background: #1478ee; }
.cnpj-plus-status-summary .orange svg { background: #f59e0b; }
.cnpj-plus-status-summary .green svg { background: #16a34a; }

.cnpj-plus-status-create {
    display: grid;
    grid-template-columns: minmax(13rem, .65fr) minmax(8rem, .28fr) minmax(16rem, 1fr) auto;
    gap: .75rem;
    align-items: end;
    border: 1px solid #d7dfe8;
    border-radius: 10px;
    background: #f8fafc;
    padding: .85rem;
}

.cnpj-plus-status-create > div span,
.cnpj-plus-status-create > div strong,
.cnpj-plus-status-create label {
    display: block;
}

.cnpj-plus-status-create > div span,
.cnpj-plus-status-create label {
    color: #075f49;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-plus-status-create > div strong {
    color: #111827;
    font-size: .98rem;
    font-weight: 950;
}

.cnpj-plus-status-create input,
.cnpj-plus-status-create select {
    width: 100%;
    min-height: 2.35rem;
    margin-top: .3rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 0 .75rem;
    color: #111827;
    font-weight: 850;
}

.cnpj-plus-status-code {
    display: inline-grid;
    min-width: 2.15rem;
    height: 2.15rem;
    place-items: center;
    border-radius: 8px;
    background: #eff6ff;
    color: #1478ee;
    font-weight: 950;
}

.cnpj-plus-status-name,
.cnpj-plus-status-available {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    border-radius: 8px;
    padding: 0 .7rem;
    font-weight: 950;
}

.cnpj-plus-status-name {
    background: #dcfce7;
    color: #15803d;
}

.cnpj-plus-status-available {
    background: #f1f5f9;
    color: #64748b;
}

.cnpj-plus-status-modal-backdrop {
    position: fixed;
    inset: 4rem 0 0 var(--cnpj-sidebar-offset, 20rem);
    z-index: 80;
    display: grid;
    place-items: center;
    background: rgba(15, 23, 42, .56);
    padding: 1rem;
}

.cnpj-plus-status-modal {
    width: min(32rem, calc(100vw - 2rem));
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 26px 60px rgba(15, 23, 42, .34);
}

.cnpj-plus-status-modal header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #075f49;
    padding: .9rem 1rem;
    color: #ffffff;
}

.cnpj-plus-status-modal header span,
.cnpj-plus-status-modal header h2 {
    display: block;
}

.cnpj-plus-status-modal header span {
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-plus-status-modal header h2 {
    margin: .16rem 0 0;
    font-size: 1.35rem;
    font-weight: 950;
}

.cnpj-plus-status-modal header button {
    display: inline-grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    color: #ffffff;
}

.cnpj-plus-status-modal header svg {
    width: 1.1rem;
    height: 1.1rem;
}

.cnpj-plus-status-modal-body {
    display: grid;
    gap: .9rem;
    padding: 1rem;
}

.cnpj-plus-status-modal-body label {
    display: block;
    color: #075f49;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-plus-status-modal-body input {
    width: 100%;
    min-height: 2.45rem;
    margin-top: .35rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 0 .8rem;
    color: #111827;
    font-weight: 850;
}

.cnpj-plus-status-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
}

.cnpj-plus-mini-table-card {
    overflow: hidden;
    border: 1px solid #d7dfe8;
    border-radius: 12px;
    background: #ffffff;
}

.cnpj-plus-mini-table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #d7dfe8;
    padding: .75rem .9rem;
}

.cnpj-plus-mini-table-head strong {
    color: #075f49;
    font-weight: 950;
}

.cnpj-plus-mini-table-head span {
    border-radius: 999px;
    background: #dff5ec;
    padding: .35rem .65rem;
    color: #075f49;
    font-size: .75rem;
    font-weight: 950;
}

.cnpj-plus-mini-table {
    min-width: 840px;
    border: 0;
    border-radius: 0;
}

.cnpj-plus-mini-table-card .cnpj-history-table-wrap {
    padding: 0;
}

.cnpj-plus-mini-table td:nth-child(2) strong,
.cnpj-plus-mini-table td:nth-child(2) span,
.cnpj-plus-mini-table td:nth-child(2) small,
.cnpj-plus-groups-admin td:first-child strong,
.cnpj-plus-groups-admin td:first-child span,
.cnpj-plus-status-admin td:nth-child(3) strong,
.cnpj-plus-status-admin td:nth-child(3) span {
    display: block;
}

.cnpj-plus-mini-table td:nth-child(2) span,
.cnpj-plus-mini-table td:nth-child(2) small,
.cnpj-plus-groups-admin td:first-child span,
.cnpj-plus-status-admin td:nth-child(3) span {
    color: #64748b;
    font-size: .78rem;
}

.cnpj-plus-mini-table td:last-child a,
.cnpj-plus-mini-table td:last-child button {
    display: inline-grid;
    width: 1.85rem;
    height: 1.85rem;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: #eff6ff;
    color: #1478ee;
    cursor: pointer;
}

.cnpj-plus-mini-table td:last-child a + a,
.cnpj-plus-mini-table td:last-child button + a,
.cnpj-plus-mini-table td:last-child a + button,
.cnpj-plus-mini-table td:last-child button + button {
    margin-left: .35rem;
}

.cnpj-plus-mini-table td:last-child a:nth-child(2),
.cnpj-plus-mini-table td:last-child button:nth-child(2) {
    background: #ecfdf5;
    color: #16a34a;
}

.cnpj-plus-mini-table td:last-child svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-plus-create-group {
    display: grid;
    grid-template-columns: minmax(16rem, 1fr) auto;
    gap: .75rem;
    align-items: end;
    border: 1px solid #d7dfe8;
    border-radius: 12px;
    background: #f8fafc;
    padding: .85rem;
}

.cnpj-plus-create-group label,
.cnpj-plus-create-group span {
    display: block;
}

.cnpj-plus-create-group span {
    margin-bottom: .32rem;
    color: #075f49;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-plus-create-group input,
.cnpj-plus-status-admin input {
    width: 100%;
    min-height: 2.35rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 0 .75rem;
    color: #111827;
    font-weight: 800;
}

.cnpj-plus-status-admin,
.cnpj-plus-groups-admin {
    min-width: 760px;
}

.cnpj-plus-status-admin td:last-child {
    white-space: nowrap;
}

.cnpj-plus-status-admin .cnpj-plus-tool {
    min-height: 2rem;
    padding-inline: .65rem;
    font-size: .72rem;
}

.cnpj-plus-status-admin .cnpj-plus-tool + .cnpj-plus-tool {
    margin-left: .35rem;
}

.cnpj-plus-groups-admin td:last-child {
    white-space: nowrap;
}

.cnpj-plus-groups-admin td:last-child button {
    display: inline-grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 8px;
    background: #eff6ff;
    color: #1478ee;
}

.cnpj-plus-groups-admin td:last-child button:nth-child(2) {
    background: #fffbeb;
    color: #d97706;
}

.cnpj-plus-groups-admin td:last-child button:nth-child(3) {
    background: #ecfdf5;
    color: #16a34a;
}

.cnpj-plus-groups-admin td:last-child button.danger {
    background: #fff1f2;
    color: #e83355;
}

.cnpj-plus-groups-admin td:last-child button + button {
    margin-left: .35rem;
}

.cnpj-plus-groups-admin td:last-child svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-plus-groups-page {
    gap: 1rem;
}

.cnpj-plus-groups-page .cnpj-plus-mini-table-card,
.cnpj-plus-groups-page .cnpj-history-table,
.cnpj-plus-groups-page .cnpj-history-table th,
.cnpj-plus-groups-page .cnpj-history-table td,
.cnpj-plus-groups-page .cnpj-history-table-wrap {
    border-radius: 0 !important;
}

.cnpj-plus-groups-ribbon {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    border: 1px solid #6d28d9;
    border-radius: 0;
    background: linear-gradient(135deg, #6d28d9, #0b7af3);
    padding: 1rem;
    color: #ffffff;
}

.cnpj-plus-groups-ribbon-main {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.cnpj-plus-groups-ribbon-main > svg {
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 auto;
    border-radius: 8px;
    background: rgba(255, 255, 255, .16);
    padding: .58rem;
    color: #ffffff;
}

.cnpj-plus-groups-ribbon-main strong,
.cnpj-plus-groups-ribbon-main p {
    display: block;
}

.cnpj-plus-groups-ribbon-main strong {
    font-size: .94rem;
    font-weight: 950;
}

.cnpj-plus-groups-ribbon-main p {
    margin: .18rem 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: .82rem;
    font-weight: 750;
}

.cnpj-plus-groups-summary strong {
    overflow: hidden;
    font-size: 1.05rem;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cnpj-plus-group-name {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
}

.cnpj-plus-group-name > svg {
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    border-radius: 8px;
    background: #ede9fe;
    padding: .45rem;
    color: #6d28d9;
}

.cnpj-plus-groups-admin td:nth-child(2) strong,
.cnpj-plus-groups-admin td:nth-child(2) span {
    display: block;
}

.cnpj-plus-groups-admin td:nth-child(2) span {
    color: #64748b;
    font-size: .78rem;
}

.cnpj-plus-group-default {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border-radius: 8px;
    background: #fffbeb;
    padding: 0 .7rem;
    color: #d97706;
    font-size: .76rem;
    font-weight: 950;
}

.cnpj-plus-group-default.is-active {
    background: #dcfce7;
    color: #15803d;
}

.cnpj-plus-group-default svg {
    width: .95rem;
    height: .95rem;
}

.cnpj-plus-groups-page .cnpj-history-table th:nth-child(1),
.cnpj-plus-groups-page .cnpj-history-table td:nth-child(1) {
    width: 42%;
}

.cnpj-plus-groups-page .cnpj-history-table th:nth-child(2),
.cnpj-plus-groups-page .cnpj-history-table td:nth-child(2) {
    width: 18%;
}

.cnpj-plus-groups-page .cnpj-history-table th:nth-child(3),
.cnpj-plus-groups-page .cnpj-history-table td:nth-child(3) {
    width: 20%;
}

.cnpj-plus-groups-page .cnpj-history-table th:nth-child(4),
.cnpj-plus-groups-page .cnpj-history-table td:nth-child(4) {
    width: 20%;
}

.cnpj-plus-groups-admin td:last-child button {
    border: 0;
}

.cnpj-plus-groups-admin td:last-child button.blue {
    background: #eff6ff;
    color: #1478ee;
}

.cnpj-plus-groups-admin td:last-child button.green {
    background: #ecfdf5;
    color: #16a34a;
}

.cnpj-plus-groups-admin td:last-child button.danger {
    background: #fff1f2;
    color: #e83355;
}

.cnpj-plus-metric-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.cnpj-plus-metric-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.cnpj-plus-metrics-page {
    gap: 1rem;
}

.cnpj-plus-metrics-ribbon {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, .85fr);
    gap: 1rem;
    align-items: center;
    border: 1px solid #0b7af3;
    border-radius: 8px;
    background: linear-gradient(135deg, #0b7af3, #6d28d9);
    padding: 1rem;
    color: #ffffff;
}

.cnpj-plus-metrics-ribbon-main {
    display: flex;
    align-items: center;
    gap: .85rem;
}

.cnpj-plus-metrics-ribbon-main > svg {
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 auto;
    border-radius: 8px;
    background: rgba(255, 255, 255, .16);
    padding: .62rem;
}

.cnpj-plus-metrics-ribbon-main strong,
.cnpj-plus-metrics-ribbon-main p {
    display: block;
}

.cnpj-plus-metrics-ribbon-main strong {
    font-size: 1rem;
    font-weight: 950;
}

.cnpj-plus-metrics-ribbon-main p {
    margin: .18rem 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: .84rem;
    font-weight: 760;
}

.cnpj-plus-metrics-ribbon-pills {
    display: grid;
    gap: .45rem;
}

.cnpj-plus-metrics-ribbon-pills span {
    display: flex;
    min-height: 2rem;
    align-items: center;
    gap: .45rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 8px;
    background: rgba(255, 255, 255, .13);
    padding: 0 .65rem;
    font-size: .78rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cnpj-plus-metrics-ribbon-pills svg {
    width: .95rem;
    height: .95rem;
    flex: 0 0 auto;
}

.cnpj-plus-metric-card {
    display: grid;
    grid-template-columns: 3.2rem minmax(0, 1fr);
    gap: .7rem;
    align-items: center;
    min-height: 5.6rem;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .78rem;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .05);
}

.cnpj-plus-metric-card > svg {
    width: 3.05rem;
    height: 3.05rem;
    border-radius: 8px;
    padding: .72rem;
    color: #ffffff;
}

.cnpj-plus-metric-card small,
.cnpj-plus-metric-card strong,
.cnpj-plus-metric-card span {
    display: block;
}

.cnpj-plus-metric-card small {
    color: #64748b;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cnpj-plus-metric-card strong {
    overflow: hidden;
    color: #063f32;
    font-size: 1.25rem;
    font-weight: 950;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cnpj-plus-metric-card span {
    margin-top: .1rem;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
}

.cnpj-plus-metric-card.purple > svg { background: #7c3aed; }
.cnpj-plus-metric-card.green > svg { background: #16a34a; }
.cnpj-plus-metric-card.red > svg { background: #e83355; }
.cnpj-plus-metric-card.cyan > svg { background: #0ea5a8; }
.cnpj-plus-metric-card.blue > svg { background: #1478ee; }
.cnpj-plus-metric-card.teal > svg { background: #0d9488; }
.cnpj-plus-metric-card.orange > svg { background: #f59e0b; }
.cnpj-plus-metric-card.pink > svg { background: #db2777; }

.cnpj-plus-metric-block {
    --metric-color: #0b7af3;
    --metric-color-2: #0ea5a8;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .85rem;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .045);
}

.cnpj-plus-metric-block h3 {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 0 0 .75rem;
    color: #075f49;
    font-size: .95rem;
    font-weight: 950;
}

.cnpj-plus-metric-block h3 svg {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 7px;
    background: color-mix(in srgb, var(--metric-color) 14%, white);
    padding: .42rem;
    color: var(--metric-color);
}

.cnpj-plus-metric-block.blue { --metric-color: #1478ee; --metric-color-2: #0ea5e9; }
.cnpj-plus-metric-block.pink { --metric-color: #db2777; --metric-color-2: #e83355; }
.cnpj-plus-metric-block.cyan { --metric-color: #0ea5a8; --metric-color-2: #0b7af3; }
.cnpj-plus-metric-block.purple,
.cnpj-plus-metric-block.violet { --metric-color: #7c3aed; --metric-color-2: #0b7af3; }
.cnpj-plus-metric-block.orange,
.cnpj-plus-metric-block.amber { --metric-color: #f59e0b; --metric-color-2: #e83355; }
.cnpj-plus-metric-block.green { --metric-color: #16a34a; --metric-color-2: #0ea5a8; }
.cnpj-plus-metric-block.red { --metric-color: #e83355; --metric-color-2: #f59e0b; }
.cnpj-plus-metric-block.teal { --metric-color: #0d9488; --metric-color-2: #1478ee; }
.cnpj-plus-metric-block.slate { --metric-color: #64748b; --metric-color-2: #0ea5a8; }

.cnpj-plus-metric-bar i {
    background: linear-gradient(90deg, var(--metric-color), var(--metric-color-2));
}

.cnpj-plus-muted {
    margin: 0;
    color: #64748b;
    font-size: .85rem;
    font-weight: 800;
}

.cnpj-plus-dashboard-cards,
.cnpj-plus-dashboard-grid {
    display: grid;
    gap: .75rem;
}

.cnpj-plus-dashboard-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cnpj-plus-dashboard-cards > div,
.cnpj-plus-dashboard-block,
.cnpj-plus-route-panel {
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .8rem;
}

.cnpj-plus-dashboard-cards > div {
    display: grid;
    grid-template-columns: 3.45rem 1fr;
    min-height: 4.35rem;
    gap: .2rem .75rem;
    align-items: center;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .05);
}

.cnpj-plus-dashboard-cards svg {
    grid-row: span 2;
    width: 3.1rem;
    height: 3.1rem;
    border-radius: 4px;
    padding: .82rem;
    background: #7c3aed;
    color: #ffffff;
}

.cnpj-plus-dashboard-cards > div:nth-child(2) svg { background: #16a34a; color: #ffffff; }
.cnpj-plus-dashboard-cards > div:nth-child(3) svg { background: #0ea5a8; color: #ffffff; }
.cnpj-plus-dashboard-cards > div:nth-child(4) svg { background: #64748b; color: #ffffff; }

.cnpj-plus-dashboard-cards small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.cnpj-plus-dashboard-cards strong {
    color: #001f1a;
    font-size: 1.15rem;
    font-weight: 950;
}

.cnpj-plus-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cnpj-plus-dashboard-block h3 {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0 0 .75rem;
    color: #075f49;
    font-size: .95rem;
    font-weight: 950;
}

.cnpj-plus-dashboard-block h3 svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-plus-dashboard-bar {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) minmax(9rem, 2fr) auto;
    gap: .55rem;
    align-items: center;
    color: #111827;
    font-size: .85rem;
    font-weight: 850;
}

.cnpj-plus-dashboard-bar + .cnpj-plus-dashboard-bar {
    margin-top: .45rem;
}

.cnpj-plus-dashboard-bar div {
    height: .55rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.cnpj-plus-dashboard-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0ea5a8, #0b7af3);
}

.cnpj-plus-dashboard-block:nth-child(2n) .cnpj-plus-dashboard-bar i {
    background: linear-gradient(90deg, #f59e0b, #e83355);
}

.cnpj-plus-route-panel {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.cnpj-plus-route-panel > svg {
    width: 2rem;
    height: 2rem;
    color: #6d28d9;
}

.cnpj-plus-route-panel strong,
.cnpj-plus-route-panel span {
    display: block;
}

.cnpj-plus-route-panel strong {
    color: #075f49;
    font-weight: 950;
}

.cnpj-plus-route-panel span {
    color: #475569;
    font-size: .9rem;
}

.cnpj-plus-print-report-shell {
    display: none;
}

.plus-print-report {
    width: 100%;
    color: #111827;
    font-family: Arial, sans-serif;
}

.plus-print-head {
    margin-bottom: 14px;
    border-bottom: 4px solid #075f49;
    background: #075f49;
    padding: 14px 16px 12px;
    color: #ffffff;
}

.plus-print-head span {
    display: inline-block;
    margin-bottom: 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.plus-print-head h1 {
    margin: 0 0 4px;
    font-size: 24px;
    line-height: 1.15;
}

.plus-print-head p {
    margin: 0;
    color: rgba(255, 255, 255, .88);
    font-size: 12px;
    font-weight: 700;
}

.plus-print-highlight {
    margin-bottom: 12px;
    border: 1px solid #cbd5e1;
    border-left: 5px solid #0ea5a8;
    padding: 10px 12px;
}

.plus-print-highlight strong {
    display: block;
    color: #075f49;
    font-size: 14px;
}

.plus-print-highlight p {
    margin: 3px 0 0;
    font-size: 12px;
}

.plus-print-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 14px;
}

.plus-print-cards article {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    break-inside: avoid;
    border: 1px solid #cbd5e1;
    padding: 9px;
    gap: 8px;
}

.plus-print-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: currentColor;
}

.plus-print-cards span,
.plus-print-cards small {
    display: block;
    color: #475569;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.plus-print-cards strong {
    display: block;
    color: #063f32;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.1;
}

.plus-print-cards small {
    margin-top: 2px;
    text-transform: none;
}

.plus-print-cards .purple .plus-print-icon { color: #7c3aed; }
.plus-print-cards .green .plus-print-icon { color: #16a34a; }
.plus-print-cards .red .plus-print-icon { color: #e83355; }
.plus-print-cards .cyan .plus-print-icon { color: #0ea5a8; }
.plus-print-cards .blue .plus-print-icon { color: #1478ee; }
.plus-print-cards .teal .plus-print-icon { color: #0d9488; }
.plus-print-cards .orange .plus-print-icon { color: #f59e0b; }
.plus-print-cards .pink .plus-print-icon { color: #db2777; }

.plus-print-blocks {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.plus-print-blocks article {
    break-inside: avoid;
    border: 1px solid #cbd5e1;
}

.plus-print-blocks h2 {
    display: flex;
    align-items: center;
    margin: 0;
    border-bottom: 1px solid #cbd5e1;
    padding: 8px 10px;
    gap: 7px;
    color: #075f49;
    font-size: 14px;
}

.plus-print-blocks h2 .plus-print-icon {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    color: #0b7af3;
}

.plus-print-blocks table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 11px;
}

.plus-print-blocks th {
    background: #075f49;
    color: #ffffff;
    text-align: left;
}

.plus-print-blocks th,
.plus-print-blocks td {
    border: 1px solid #cbd5e1;
    padding: 5px 6px;
    vertical-align: top;
}

.plus-print-blocks th:nth-child(2),
.plus-print-blocks th:nth-child(3),
.plus-print-blocks td:nth-child(2),
.plus-print-blocks td:nth-child(3) {
    width: 92px;
    text-align: right;
}

.plus-print-blocks tbody tr:nth-child(even) td {
    background: #eefcf5;
}

.cnpj-import-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    border: 1px solid #cbdfea;
    border-radius: 8px;
    background: linear-gradient(135deg, #075f49 0%, #0a7f64 62%, #0b7af3 100%);
    padding: 1.15rem 1.35rem;
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(8, 63, 52, .12);
}

.cnpj-import-hero span,
.cnpj-import-head span,
.cnpj-import-field > span,
.cnpj-import-tip strong {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .75rem;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.cnpj-import-hero h2 {
    margin: .18rem 0;
    font-size: 1.75rem;
    font-weight: 950;
}

.cnpj-import-hero p {
    margin: 0;
    max-width: 54rem;
    color: rgba(255, 255, 255, .9);
    font-size: .96rem;
}

.cnpj-import-hero-icon {
    display: inline-flex;
    width: 4.2rem;
    height: 4.2rem;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
}

.cnpj-import-hero-icon svg {
    width: 2.25rem;
    height: 2.25rem;
}

.cnpj-import-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.cnpj-import-stats article {
    display: grid;
    grid-template-columns: 3rem 1fr;
    align-items: center;
    gap: .15rem .7rem;
    border: 1px solid #d2dfec;
    border-radius: 8px;
    background: #ffffff;
    padding: .78rem;
}

.cnpj-import-stats svg {
    grid-row: span 2;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 6px;
    padding: .72rem;
    color: #ffffff;
}

.cnpj-import-stats .blue svg { background: #0b7af3; }
.cnpj-import-stats .green svg { background: #16a34a; }
.cnpj-import-stats .orange svg { background: #f59e0b; }
.cnpj-import-stats .purple svg { background: #7c3aed; }

.cnpj-import-stats small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-import-stats strong {
    overflow: hidden;
    color: #063f34;
    font-size: 1.25rem;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cnpj-import-panel {
    overflow: hidden;
}

.cnpj-import-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #d8e4ec;
    padding: 1rem 1.25rem;
}

.cnpj-import-head span {
    color: #075f49;
}

.cnpj-import-head h3 {
    margin: .15rem 0 0;
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 950;
}

.cnpj-import-head strong {
    border-radius: 999px;
    background: #dcfce7;
    padding: .45rem .8rem;
    color: #075f49;
    font-size: .82rem;
    font-weight: 950;
}

.cnpj-import-tabs {
    display: flex;
    gap: .65rem;
    padding: 1rem 1.25rem 0;
}

.cnpj-import-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 0 1rem;
    gap: .5rem;
    color: #0f172a;
    font-weight: 900;
}

.cnpj-import-tabs button svg {
    width: 1.05rem;
    height: 1.05rem;
    color: #0b7af3;
}

.cnpj-import-tabs button:nth-child(2) svg {
    color: #f97316;
}

.cnpj-import-tabs button.is-active {
    border-color: #0b8f6a;
    background: #00c988;
    color: #062a22;
    box-shadow: 0 10px 22px rgba(0, 201, 136, .18);
}

.cnpj-import-tabs .cnpj-import-create-group-tab {
    margin-left: auto;
    border-color: #c4b5fd;
    background: #6d28d9;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(109, 40, 217, .16);
}

.cnpj-import-tabs .cnpj-import-create-group-tab svg {
    color: currentColor;
}

.cnpj-import-tabs .cnpj-import-create-group-tab:hover {
    background: #5b21b6;
}

.cnpj-import-workflow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    padding: 1rem 1.25rem 0;
}

.cnpj-import-workflow article {
    display: grid;
    grid-template-columns: 2.65rem minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
    border: 1px solid #d2dfec;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fffb 100%);
    padding: .75rem;
}

.cnpj-import-workflow svg {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 6px;
    padding: .55rem;
    color: #ffffff;
}

.cnpj-import-workflow .blue svg { background: #0b7af3; }
.cnpj-import-workflow .green svg { background: #16a34a; }
.cnpj-import-workflow .orange svg { background: #f59e0b; }

.cnpj-import-workflow small,
.cnpj-import-actions span {
    display: block;
    color: #64748b;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cnpj-import-workflow strong,
.cnpj-import-actions strong {
    display: block;
    overflow: hidden;
    color: #063f34;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cnpj-import-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 1.25rem 1.25rem;
}

.cnpj-import-field {
    display: grid;
    gap: .42rem;
}

.cnpj-import-field > span {
    color: #0f172a;
}

.cnpj-import-field > span svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-import-field input,
.cnpj-import-field select,
.cnpj-import-field textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fffefa;
    color: #111827;
    font-weight: 800;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.cnpj-import-field input,
.cnpj-import-field select {
    min-height: 2.75rem;
    padding: 0 .9rem;
}

.cnpj-import-field textarea {
    min-height: 15.5rem;
    resize: vertical;
    padding: .9rem 1rem;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    line-height: 1.75;
}

.cnpj-import-field .cnpj-icp-hidden-textarea {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    overflow: hidden;
    border: 0 !important;
    padding: 0 !important;
    opacity: 0;
    pointer-events: none;
}

.cnpj-import-cnpj-title {
    margin-top: .15rem;
}

.cnpj-import-field .cnpj-import-cnpj-grid {
    min-height: 4.9rem;
    max-height: 19rem;
}

.cnpj-import-field .cnpj-import-cnpj-grid .cnpj-icp-cnpj-cell input {
    width: 100%;
    height: 2.45rem;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .84rem;
    font-weight: 750;
    line-height: 1;
    padding: 0 .75rem;
    box-shadow: none;
}

.cnpj-import-field .cnpj-import-cnpj-grid .cnpj-icp-cnpj-cell input:focus {
    border: 0;
    background: #f0fdfa;
    box-shadow: inset 0 0 0 2px #0ea5a8;
}

.cnpj-import-field input:focus,
.cnpj-import-field select:focus,
.cnpj-import-field textarea:focus {
    border-color: #0b8f6a;
    box-shadow: 0 0 0 3px rgba(11, 143, 106, .14);
}

.cnpj-import-field small {
    color: #64748b;
    font-size: .82rem;
    font-weight: 700;
}

.cnpj-import-group-create {
    align-content: start;
}

.cnpj-import-group-create button {
    width: 100%;
    min-height: 2.75rem;
    justify-content: center;
}

.cnpj-import-group-create small strong {
    color: #075f49;
}

.cnpj-import-main-field {
    grid-column: 1 / -1;
}

.cnpj-import-side {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(20rem, 1fr) minmax(20rem, 1fr);
    gap: .75rem;
    order: -1;
}

.cnpj-import-destination {
    display: grid;
    grid-row: span 2;
    gap: .75rem;
    border: 1px solid #cfe0ea;
    border-radius: 8px;
    background: #f8fffb;
    padding: .85rem;
}

.cnpj-import-destination-head {
    display: grid;
    grid-template-columns: 2.65rem minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
    border-bottom: 1px dashed #bad7cb;
    padding-bottom: .75rem;
}

.cnpj-import-destination-head > svg {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 6px;
    background: #7c3aed;
    padding: .6rem;
    color: #ffffff;
}

.cnpj-import-destination-head span {
    display: block;
    color: #075f49;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-import-destination-head strong {
    display: block;
    overflow: hidden;
    color: #0f172a;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cnpj-import-tip {
    display: grid;
    grid-template-columns: 2.65rem 1fr;
    align-items: center;
    gap: .75rem;
    border: 1px solid #d2dfec;
    border-radius: 8px;
    background: #ffffff;
    padding: .8rem;
}

.cnpj-import-tip > svg {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 6px;
    padding: .65rem;
    color: #ffffff;
}

.cnpj-import-tip.blue > svg { background: #0b7af3; }
.cnpj-import-tip.green > svg { background: #16a34a; }
.cnpj-import-tip.orange > svg { background: #f59e0b; }

.cnpj-import-tip strong {
    color: #075f49;
}

.cnpj-import-tip span {
    display: block;
    margin-top: .16rem;
    color: #475569;
    font-size: .85rem;
}

.cnpj-import-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
    border-top: 1px solid #d8e4ec;
    background: #f8fafc;
    margin: .15rem -1.25rem -1.25rem;
    padding: .95rem 1.25rem;
}

.cnpj-import-actions > div {
    margin-right: auto;
}

.cnpj-import-actions button {
    min-height: 2.75rem;
}

.cnpj-import-preview {
    overflow: hidden;
}

.cnpj-import-preview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    padding: 1rem 1.25rem 1.25rem;
}

.cnpj-import-preview-grid article {
    display: grid;
    grid-template-columns: 2.3rem 1fr;
    align-items: center;
    gap: .1rem .6rem;
    border: 1px solid #d2dfec;
    border-radius: 8px;
    background: #f8fffb;
    padding: .75rem;
}

.cnpj-import-preview-grid svg {
    grid-row: span 2;
    width: 2rem;
    height: 2rem;
    border-radius: 6px;
    background: #0ea5a8;
    padding: .5rem;
    color: #ffffff;
}

.cnpj-import-preview-grid strong {
    color: #0f172a;
    font-weight: 950;
}

.cnpj-import-preview-grid span {
    color: #64748b;
    font-size: .82rem;
    font-weight: 800;
}

.cnpj-import-result {
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    align-items: center;
    gap: .75rem;
    border: 1px solid #bdebd8;
    border-left: 5px solid #0ea5a8;
    border-radius: 8px;
    background: #f0fdf7;
    padding: .9rem 1rem;
}

.cnpj-import-result svg {
    width: 2.35rem;
    height: 2.35rem;
    color: #16a34a;
}

.cnpj-import-result strong,
.cnpj-import-result span {
    display: block;
}

.cnpj-import-result strong {
    color: #075f49;
    font-weight: 950;
}

.cnpj-import-result span {
    color: #0f172a;
    font-weight: 750;
}

.cnpj-api-docs {
    display: grid;
    gap: 1.2rem;
}

.cnpj-api-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, auto);
    align-items: center;
    gap: 1rem;
    overflow: hidden;
    border: 1px solid #b7defc;
    border-radius: 8px;
    background: linear-gradient(120deg, #0b6b50 0%, #0e8f6f 45%, #127fe1 100%);
    padding: 1.25rem 1.4rem;
    color: #ffffff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .10);
}

.cnpj-api-hero span,
.cnpj-api-section-head span {
    display: block;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-api-hero h2 {
    margin-top: .38rem;
    font-size: 1.65rem;
    font-weight: 950;
    line-height: 1.1;
}

.cnpj-api-hero p {
    max-width: 62rem;
    margin-top: .45rem;
    color: rgba(255, 255, 255, .90);
    font-size: .95rem;
    font-weight: 650;
}

.cnpj-api-hero-status {
    display: grid;
    gap: .28rem;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    padding: .85rem 1rem;
    text-align: right;
}

.cnpj-api-hero-status strong {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .9rem;
}

.cnpj-api-layout {
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.cnpj-api-sidebar {
    position: sticky;
    top: 5.2rem;
    display: grid;
    gap: .35rem;
    border: 1px solid #d4e2ec;
    border-radius: 8px;
    background: #ffffff;
    padding: .7rem;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.cnpj-api-sidebar a {
    border-radius: 6px;
    padding: .62rem .7rem;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 850;
    text-decoration: none;
}

.cnpj-api-sidebar a:hover {
    background: #ecfdf5;
    color: #075f49;
}

.cnpj-api-sidebar a.active {
    background: #dcfce7;
    color: #075f49;
    box-shadow: inset 3px 0 0 #0dcc8c;
}

.cnpj-api-main {
    display: grid;
    gap: 1rem;
}

.cnpj-api-panel {
    scroll-margin-top: 7rem;
    border: 1px solid #d1e0ea;
    border-radius: 8px;
    background: #ffffff;
    padding: 1.05rem;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .07);
}

.cnpj-api-section-head {
    margin-bottom: .85rem;
}

.cnpj-api-section-head span {
    color: #075f49;
}

.cnpj-api-section-head h3 {
    margin-top: .25rem;
    color: #0f172a;
    font-size: 1.22rem;
    font-weight: 950;
}

.cnpj-api-section-head p,
.cnpj-api-note {
    margin-top: .35rem;
    color: #475569;
    font-size: .92rem;
    font-weight: 650;
}

.cnpj-api-metrics,
.cnpj-api-examples {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.cnpj-api-examples {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.cnpj-api-metrics article {
    position: relative;
    border: 1px solid #d8e8ef;
    border-radius: 8px;
    background: #f8fffb;
    padding: .8rem;
}

.cnpj-api-metrics article svg {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 8px;
    padding: .55rem;
    margin-bottom: .55rem;
    color: #ffffff;
}

.cnpj-api-metrics article.blue svg { background: #0b7af3; }
.cnpj-api-metrics article.green svg { background: #16a34a; }
.cnpj-api-metrics article.orange svg { background: #f59e0b; }

.cnpj-api-metrics article.blue { background: #eff6ff; border-color: #bfdbfe; }
.cnpj-api-metrics article.green { background: #f0fdf4; border-color: #bbf7d0; }
.cnpj-api-metrics article.orange { background: #fffbeb; border-color: #fde68a; }

.cnpj-api-metrics strong {
    display: block;
    color: #075f49;
    font-size: 1.4rem;
    font-weight: 950;
}

.cnpj-api-metrics span {
    color: #64748b;
    font-size: .82rem;
    font-weight: 800;
}

.cnpj-api-token-ready {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    gap: .75rem;
    align-items: center;
    border: 1px solid #86efac;
    border-radius: 8px;
    background: #f0fdf4;
    padding: .85rem;
    margin-bottom: .9rem;
}

.cnpj-api-token-ready-value {
    display: grid;
    gap: .55rem;
    min-width: 0;
}

.cnpj-api-token-ready-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.cnpj-api-token-ready-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.15rem;
    border: 1px solid #bbf7d0;
    border-radius: 6px;
    background: #ffffff;
    padding: .4rem .65rem;
    color: #075f49;
    font-size: .78rem;
    font-weight: 950;
}

.cnpj-api-token-ready-actions button.use {
    border-color: #bfdbfe;
    color: #1d4ed8;
}

.cnpj-api-token-ready-actions svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-api-token-ready strong,
.cnpj-api-token-ready span {
    display: block;
}

.cnpj-api-token-ready strong {
    color: #075f49;
    font-weight: 950;
}

.cnpj-api-token-ready span {
    color: #475569;
    font-size: .85rem;
    font-weight: 700;
}

.cnpj-api-token-ready code,
.cnpj-api-token-table code {
    display: block;
    overflow: hidden;
    border-radius: 6px;
    background: #07130f;
    padding: .65rem .75rem;
    color: #d9fce9;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cnpj-api-create {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .75rem;
    align-items: end;
    margin-bottom: 1rem;
}

.cnpj-api-create label {
    display: grid;
    grid-column: span 2;
    gap: .32rem;
}

.cnpj-api-create label.span-2 {
    grid-column: span 4;
}

.cnpj-api-create label span {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
}

.cnpj-api-create input,
.cnpj-api-create select {
    width: 100%;
    min-height: 2.65rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 0 .85rem;
    color: #0f172a;
    font-weight: 750;
}

.cnpj-api-create input:focus,
.cnpj-api-create select:focus {
    border-color: #0ea5a8;
    box-shadow: 0 0 0 3px rgba(14, 165, 168, .14);
    outline: none;
}

.cnpj-api-create button {
    display: inline-flex;
    grid-column: span 2;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.65rem;
    border: 0;
    border-radius: 8px;
    background: #00c988;
    color: #062a22;
    font-weight: 950;
}

.cnpj-api-create button svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-api-create button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.cnpj-api-credential-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    padding: .85rem;
    margin-bottom: 1rem;
}

.cnpj-api-credential-toolbar strong,
.cnpj-api-credential-toolbar span {
    display: block;
}

.cnpj-api-credential-toolbar strong {
    color: #0f172a;
    font-weight: 950;
}

.cnpj-api-credential-toolbar span {
    margin-top: .12rem;
    color: #475569;
    font-size: .86rem;
    font-weight: 700;
}

.cnpj-api-credential-toolbar button,
.cnpj-api-toolbar-link,
.cnpj-api-test-fields button,
.cnpj-api-modal-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.65rem;
    border: 0;
    border-radius: 8px;
    padding: 0 1rem;
    background: #00c988;
    color: #062a22;
    font-weight: 950;
}

.cnpj-api-credential-toolbar button {
    background: #6d28d9;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(109, 40, 217, .16);
}

.cnpj-api-toolbar-link {
    background: #6d28d9;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(109, 40, 217, .16);
}

.cnpj-api-credential-toolbar button svg,
.cnpj-api-toolbar-link svg,
.cnpj-api-test-fields button svg,
.cnpj-api-modal-actions button svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-api-credential-toolbar button:disabled,
.cnpj-api-test-fields button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.cnpj-api-test {
    display: grid;
    grid-template-columns: minmax(19rem, .85fr) minmax(0, 1.15fr);
    gap: 1rem;
    flex: 1;
    min-width: 0;
}

.cnpj-api-test-fields {
    display: grid;
    gap: .7rem;
    align-content: start;
    border: 1px solid #d6e3ec;
    border-radius: 8px;
    background: #f8fafc;
    padding: .85rem;
}

.cnpj-api-test-fields label {
    display: grid;
    gap: .32rem;
}

.cnpj-api-test-fields label span {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
}

.cnpj-api-test-fields input,
.cnpj-api-test-fields select {
    width: 100%;
    min-height: 2.6rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 0 .82rem;
    color: #0f172a;
    font-weight: 750;
}

.cnpj-api-test-fields input[readonly] {
    background: #f1f5f9;
    color: #475569;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .78rem;
}

.cnpj-api-test-result {
    display: grid;
    gap: .65rem;
    min-width: 0;
    overflow: hidden;
}

.cnpj-api-test-result > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: #f0fdf4;
    padding: .72rem .8rem;
}

.cnpj-api-test-result strong {
    color: #075f49;
    font-weight: 950;
}

.cnpj-api-test-result span {
    color: #166534;
    font-size: .82rem;
    font-weight: 900;
}

.cnpj-api-test-result .cnpj-api-code {
    min-height: 18rem;
}

.cnpj-api-credentials-grid {
    display: grid;
    grid-template-columns: minmax(22rem, .9fr) minmax(0, 1.1fr);
    gap: 1rem;
    align-items: stretch;
}

.cnpj-api-credentials-grid > .cnpj-api-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
}

.cnpj-api-credentials-page .cnpj-api-test,
.cnpj-api-credentials-page .cnpj-api-test-result {
    min-width: 0;
}

.cnpj-api-credentials-page .cnpj-api-test-result .cnpj-api-code {
    height: 18rem;
    max-height: 18rem;
    overflow: auto;
}

.cnpj-api-create-standalone {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 0;
}

.cnpj-api-create-standalone label,
.cnpj-api-create-standalone label.span-2,
.cnpj-api-create-standalone button {
    grid-column: 1 / -1;
}

.cnpj-api-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 0;
    border-radius: 8px;
    background: #0dcc8c;
    padding: .7rem .95rem;
    color: #ffffff;
    cursor: pointer;
    font-size: .86rem;
    font-weight: 950;
}

.cnpj-api-primary-action:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.cnpj-api-primary-action svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-api-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, .52);
    padding: 1.2rem 1.2rem 1.2rem 17rem;
}

.cnpj-api-modal {
    width: min(52rem, calc(100vw - 19rem));
    overflow: hidden;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .28);
}

.cnpj-api-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    border-bottom: 1px solid #dbe7ef;
    background: linear-gradient(120deg, #ecfdf5 0%, #eff6ff 100%);
    padding: .95rem 1rem;
}

.cnpj-api-modal-head span {
    display: block;
    color: #075f49;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-api-modal-head h3 {
    margin-top: .2rem;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 950;
}

.cnpj-api-modal-head p {
    margin-top: .25rem;
    max-width: 34rem;
    color: #475569;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.45;
}

.cnpj-api-modal-head button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid #d6e3ec;
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
}

.cnpj-api-modal-head button svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-api-create-modal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 0;
    padding: 1rem;
}

.cnpj-api-create-modal label,
.cnpj-api-create-modal button {
    grid-column: span 1;
}

.cnpj-api-create-modal label.span-2,
.cnpj-api-create-modal .cnpj-api-ip-fields.span-2,
.cnpj-api-create-modal .cnpj-api-modal-actions {
    grid-column: 1 / -1;
}

.cnpj-api-ip-fields {
    display: grid;
    gap: .55rem;
}

.cnpj-api-ip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.cnpj-api-ip-head {
    display: block;
}

.cnpj-api-ip-head span {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
}

.cnpj-api-ip-row button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 8px;
    cursor: pointer;
}

.cnpj-api-ip-row button {
    border: 1px solid #bbf7d0;
    background: #dcfce7;
    color: #166534;
}

.cnpj-api-ip-row {
    display: flex;
    gap: .35rem;
    align-items: center;
    min-width: 0;
}

.cnpj-api-ip-row input {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: .62rem;
}

.cnpj-api-ip-row button.remove {
    border: 1px solid #fecdd3;
    background: #fff1f2;
    color: #be123c;
}

.cnpj-api-ip-row button svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-api-credentials-info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cnpj-api-panel .cnpj-api-credentials-info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cnpj-api-modal-actions {
    display: flex;
    grid-column: 1 / -1;
    justify-content: flex-end;
    gap: .6rem;
}

.cnpj-api-modal-actions button.neutral {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
}

.cnpj-api-token-table {
    overflow: hidden;
    border: 1px solid #d6e3ec;
    border-radius: 8px;
}

.cnpj-api-table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-bottom: 1px solid #d6e3ec;
    background: #f8fafc;
    padding: .75rem .85rem;
}

.cnpj-api-table-head > div:first-child {
    display: grid;
    gap: .15rem;
}

.cnpj-api-table-head strong {
    color: #0f172a;
    font-weight: 950;
}

.cnpj-api-table-head span {
    color: #64748b;
    font-size: .8rem;
    font-weight: 800;
}

.cnpj-api-table-filters {
    display: grid;
    grid-template-columns: auto minmax(18rem, 1fr);
    gap: .65rem;
    align-items: center;
    min-width: min(42rem, 100%);
}

.cnpj-api-table-filters label {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #0f172a;
    font-size: .88rem;
    font-weight: 800;
    white-space: nowrap;
}

.cnpj-api-table-filters select,
.cnpj-api-table-filters input {
    min-height: 2.45rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 700;
    outline: none;
}

.cnpj-api-table-filters select {
    width: 5rem;
    padding: .55rem .65rem;
}

.cnpj-api-table-filters input {
    width: 100%;
    padding: .55rem .8rem;
}

.cnpj-api-table-filters select:focus,
.cnpj-api-table-filters input:focus {
    border-color: #0b7af3;
    box-shadow: 0 0 0 3px rgba(11, 122, 243, .14);
}

.cnpj-api-token-table table {
    width: 100%;
    border-collapse: collapse;
}

.cnpj-api-token-table th,
.cnpj-api-token-table td {
    border-right: 1px solid #dbe7ef;
    border-bottom: 1px solid #e2e8f0;
    padding: .72rem .75rem;
    text-align: center;
    vertical-align: middle;
}

.cnpj-api-token-table th:last-child,
.cnpj-api-token-table td:last-child {
    border-right: 0;
}

.cnpj-api-token-table th {
    background: #0b6b50;
    color: #ffffff;
    font-size: .75rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cnpj-api-token-table td {
    color: #0f172a;
    font-size: .85rem;
    font-weight: 700;
}

.cnpj-api-token-table td strong,
.cnpj-api-token-table td span {
    display: block;
}

.cnpj-api-token-table td span {
    color: #64748b;
    font-size: .78rem;
}

.cnpj-api-token-table td button {
    border: 1px solid #fecdd3;
    border-radius: 6px;
    background: #fff1f2;
    padding: .42rem .65rem;
    color: #be123c;
    font-size: .78rem;
    font-weight: 900;
}

.cnpj-api-token-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-width: 0;
}

.cnpj-api-token-cell code {
    min-width: 0;
    max-width: 15rem;
}

.cnpj-api-token-cell button.copy {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    border-color: #bfdbfe;
    background: #eff6ff;
    padding: 0;
    color: #1d4ed8;
}

.cnpj-api-token-cell button.copy svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-api-copy-toast {
    position: fixed;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 99999;
    transform: translateY(-.45rem);
    opacity: 0;
    pointer-events: none;
    border: 1px solid #86efac;
    border-radius: 8px;
    background: #ecfdf5;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .18);
    padding: .75rem 1rem;
    color: #065f46;
    font-size: .86rem;
    font-weight: 950;
    transition: opacity .18s ease, transform .18s ease;
}

.cnpj-api-copy-toast.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.cnpj-api-usage {
    display: grid;
    gap: 1rem;
}

.cnpj-api-usage-hero,
.cnpj-api-usage-client,
.cnpj-api-usage-panel,
.cnpj-api-usage-empty {
    border: 1px solid #cbdff0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

.cnpj-api-usage-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 26rem);
    gap: 1rem;
    align-items: center;
    padding: 1.15rem;
    background: linear-gradient(135deg, #0f766e, #2563eb);
    color: #ffffff;
}

.cnpj-api-usage-hero span,
.cnpj-api-usage-panel .panel-title span,
.cnpj-api-usage-client span {
    color: #006b55;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cnpj-api-usage-hero > div > span,
.cnpj-api-usage-hero p {
    color: #dffcf4;
}

.cnpj-api-usage-hero h2 {
    margin: .18rem 0;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 950;
}

.cnpj-api-usage-hero label {
    display: grid;
    gap: .35rem;
}

.cnpj-api-usage-hero label span {
    color: #dffcf4;
}

.cnpj-api-usage-hero select {
    min-height: 2.75rem;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    padding: 0 .8rem;
    color: #0f172a;
    font-weight: 850;
}

.cnpj-api-usage-client {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
}

.cnpj-api-usage-client strong {
    display: block;
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 950;
}

.cnpj-api-usage-client small {
    color: #475569;
    font-weight: 700;
}

.cnpj-api-usage-client .modules {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}

.cnpj-api-usage-client .modules b {
    border: 1px solid #99f6e4;
    border-radius: 8px;
    background: #ecfeff;
    padding: .45rem .65rem;
    color: #0f766e;
    font-size: .78rem;
}

.cnpj-api-usage-client .modules b.danger {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #be123c;
}

.cnpj-api-usage-cards {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .85rem;
}

.cnpj-api-usage-cards article {
    display: grid;
    gap: .45rem;
    min-height: 8rem;
    border: 1px solid #d8e5ef;
    border-radius: 8px;
    background: #ffffff;
    padding: 1rem;
}

.cnpj-api-usage-cards svg,
.cnpj-api-usage-panel .panel-title svg,
.cnpj-api-usage-empty svg {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 8px;
    padding: .55rem;
}

.cnpj-api-usage-cards span {
    color: #475569;
    font-size: .78rem;
    font-weight: 900;
}

.cnpj-api-usage-cards strong {
    color: #0f172a;
    font-size: 1.55rem;
    font-weight: 950;
}

.cnpj-api-usage-cards .blue svg { background: #dbeafe; color: #2563eb; }
.cnpj-api-usage-cards .green svg { background: #dcfce7; color: #16a34a; }
.cnpj-api-usage-cards .cyan svg { background: #cffafe; color: #0891b2; }
.cnpj-api-usage-cards .purple svg { background: #ede9fe; color: #7c3aed; }
.cnpj-api-usage-cards .orange svg { background: #ffedd5; color: #ea580c; }

.cnpj-api-usage-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
    gap: 1rem;
}

.cnpj-api-usage-panel {
    padding: 1rem;
}

.cnpj-api-usage-panel .panel-title {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: .85rem;
}

.cnpj-api-usage-panel .panel-title svg {
    background: #e0f2fe;
    color: #0284c7;
}

.cnpj-api-usage-panel .panel-title strong {
    display: block;
    color: #0f172a;
    font-size: 1.08rem;
    font-weight: 950;
}

.endpoint-list {
    display: grid;
    gap: .55rem;
}

.endpoint-list > div {
    display: grid;
    grid-template-columns: 8rem 1fr auto;
    gap: .7rem;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: .7rem;
}

.endpoint-list b {
    color: #075f49;
}

.endpoint-list span,
.endpoint-list small,
.cnpj-api-usage-panel p {
    color: #475569;
    font-weight: 750;
}

.cnpj-api-usage-table {
    overflow-x: auto;
    border: 1px solid #d6e3ec;
    border-radius: 8px;
}

.cnpj-api-usage-table table {
    width: 100%;
    min-width: 62rem;
    border-collapse: collapse;
}

.cnpj-api-usage-table th,
.cnpj-api-usage-table td {
    border-right: 1px solid #d6e3ec;
    border-bottom: 1px solid #e2e8f0;
    padding: .72rem;
    text-align: center;
    color: #0f172a;
    font-size: .84rem;
    font-weight: 750;
}

.cnpj-api-usage-table th {
    background: #075f49;
    color: #ffffff;
    font-weight: 950;
}

.cnpj-api-usage-table .status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3rem;
    border-radius: 8px;
    padding: .35rem .55rem;
    font-weight: 950;
}

.cnpj-api-usage-table .status.ok {
    background: #dcfce7;
    color: #166534;
}

.cnpj-api-usage-table .status.bad {
    background: #fee2e2;
    color: #991b1b;
}

.cnpj-api-usage-empty {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1rem;
}

.cnpj-api-usage-empty svg {
    background: #fef3c7;
    color: #d97706;
}

.cnpj-api-usage-empty strong {
    display: block;
    color: #0f172a;
    font-weight: 950;
}

.cnpj-api-usage-empty span {
    color: #475569;
    font-weight: 750;
}

@media (max-width: 1100px) {
    .cnpj-api-usage-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cnpj-api-usage-grid,
    .cnpj-api-usage-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .cnpj-api-usage-cards {
        grid-template-columns: 1fr;
    }

    .cnpj-api-usage-client {
        align-items: flex-start;
        flex-direction: column;
    }

    .cnpj-api-usage-client .modules {
        justify-content: flex-start;
    }

    .endpoint-list > div {
        grid-template-columns: 1fr;
    }
}

.cnpj-api-pagination {
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: .75rem .85rem;
}

.cnpj-api-status {
    display: inline-flex;
    border-radius: 999px;
    padding: .28rem .55rem;
    font-size: .72rem;
    font-weight: 950;
}

.cnpj-api-status.active {
    background: #dcfce7;
    color: #166534;
}

.cnpj-api-status.revoked {
    background: #fee2e2;
    color: #991b1b;
}

.cnpj-api-code {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: auto;
    border-radius: 8px;
    background: #07130f;
    padding: .95rem;
    color: #d9fce9;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .82rem;
    line-height: 1.55;
    white-space: pre;
    overflow-wrap: normal;
    word-break: normal;
}

.cnpj-api-code code {
    display: block;
    min-width: max-content;
    white-space: pre;
}

.cnpj-api-test-result .cnpj-api-code {
    max-height: 23rem;
}

.cnpj-api-examples > div {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.cnpj-api-examples > div .cnpj-api-code {
    height: 100%;
}

.cnpj-api-endpoints {
    display: grid;
    gap: .65rem;
}

.cnpj-api-endpoints article {
    display: grid;
    grid-template-columns: 4.25rem minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    border: 1px solid #d6e3ec;
    border-radius: 8px;
    padding: .78rem;
}

.cnpj-api-endpoints b {
    display: inline-flex;
    justify-content: center;
    border-radius: 999px;
    background: #0b6b50;
    padding: .28rem .55rem;
    color: #ffffff;
    font-size: .74rem;
    font-weight: 950;
}

.cnpj-api-endpoints strong,
.cnpj-api-examples strong {
    display: block;
    margin-bottom: .35rem;
    color: #0f172a;
    font-weight: 950;
}

.cnpj-api-endpoints span {
    color: #475569;
    font-size: .88rem;
    font-weight: 650;
}

.cnpj-api-errors {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.cnpj-api-errors span {
    border: 1px solid #d6e3ec;
    border-radius: 8px;
    background: #f8fafc;
    padding: .7rem;
    color: #334155;
    font-size: .86rem;
    font-weight: 750;
}

.cnpj-api-errors b {
    color: #be123c;
    font-weight: 950;
}

.cnpj-api-steps,
.cnpj-api-info-grid,
.cnpj-api-example-stack,
.cnpj-api-checklist {
    display: grid;
    gap: .7rem;
}

.cnpj-api-steps {
    margin-top: .85rem;
}

.cnpj-api-steps article {
    display: grid;
    grid-template-columns: 2.45rem minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    border: 1px solid #d8e8ef;
    border-radius: 8px;
    background: #f8fafc;
    padding: .82rem;
}

.cnpj-api-steps b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 8px;
    background: #0b7af3;
    color: #ffffff;
    font-size: .9rem;
    font-weight: 950;
}

.cnpj-api-steps strong,
.cnpj-api-info-grid strong,
.cnpj-api-warning strong,
.cnpj-api-checklist label {
    color: #0f172a;
    font-weight: 950;
}

.cnpj-api-steps span,
.cnpj-api-info-grid span,
.cnpj-api-warning span {
    display: block;
    margin-top: .18rem;
    color: #475569;
    font-size: .88rem;
    font-weight: 650;
    line-height: 1.45;
}

.cnpj-api-info-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    margin-top: .85rem;
}

.cnpj-api-info-grid article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    column-gap: .65rem;
    row-gap: .45rem;
    align-items: center;
    border: 1px solid #d8e8ef;
    border-radius: 8px;
    background: #f8fffb;
    padding: .85rem;
}

.cnpj-api-info-grid svg {
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 8px;
    background: #0b7af3;
    padding: .5rem;
    color: #ffffff;
}

.cnpj-api-info-grid article > span {
    grid-column: 1 / -1;
    align-self: start;
}

.cnpj-api-info-grid article:nth-child(2) svg { background: #16a34a; }
.cnpj-api-info-grid article:nth-child(3) svg { background: #f59e0b; }
.cnpj-api-info-grid article:nth-child(4) svg { background: #6d28d9; }

.cnpj-api-warning {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    margin-top: .85rem;
    border: 1px solid #fde68a;
    border-radius: 8px;
    background: #fffbeb;
    padding: .85rem;
}

.cnpj-api-warning svg {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 8px;
    background: #f59e0b;
    padding: .5rem;
    color: #ffffff;
}

.cnpj-api-param-table {
    overflow: auto;
    margin-top: .85rem;
    border: 1px solid #d1e0ea;
    border-radius: 8px;
}

.cnpj-api-param-table table {
    width: 100%;
    min-width: 48rem;
    border-collapse: collapse;
}

.cnpj-api-param-table th,
.cnpj-api-param-table td {
    border-bottom: 1px solid #e2e8f0;
    border-right: 1px solid #d8e8ef;
    padding: .72rem .78rem;
    text-align: left;
    vertical-align: top;
}

.cnpj-api-param-table th:last-child,
.cnpj-api-param-table td:last-child {
    border-right: 0;
}

.cnpj-api-param-table th {
    background: #0b6b50;
    color: #ffffff;
    font-size: .76rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cnpj-api-param-table td {
    color: #334155;
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.45;
}

.cnpj-api-param-table tr:last-child td {
    border-bottom: 0;
}

.cnpj-api-example-stack article {
    min-width: 0;
}

.cnpj-api-example-stack strong {
    display: block;
    margin-bottom: .35rem;
    color: #0f172a;
    font-weight: 950;
}

.cnpj-api-language-demo {
    display: grid;
    gap: .75rem;
}

.cnpj-api-language-demo label {
    display: grid;
    max-width: 28rem;
    gap: .32rem;
}

.cnpj-api-language-demo label span {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 950;
}

.cnpj-api-language-demo select {
    width: 100%;
    border: 1px solid #bdd4e6;
    border-radius: 8px;
    background: #ffffff;
    padding: .7rem .78rem;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 800;
    outline: none;
}

.cnpj-api-language-demo select:focus {
    border-color: #0b7af3;
    box-shadow: 0 0 0 3px rgba(11, 122, 243, .14);
}

.cnpj-api-language-note {
    display: grid;
    gap: .18rem;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    padding: .78rem .85rem;
}

.cnpj-api-language-note strong {
    color: #075f49;
    font-size: .95rem;
    font-weight: 950;
}

.cnpj-api-language-note span {
    color: #475569;
    font-size: .88rem;
    font-weight: 700;
}

.cnpj-api-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cnpj-api-checklist label {
    display: flex;
    gap: .55rem;
    align-items: flex-start;
    border: 1px solid #d8e8ef;
    border-radius: 8px;
    background: #f8fafc;
    padding: .72rem;
    font-size: .88rem;
    line-height: 1.4;
}

.cnpj-api-checklist input {
    width: 1rem;
    height: 1rem;
    margin-top: .1rem;
    accent-color: #0b6b50;
}

@media (max-width: 1180px) {
    .cnpj-plus-minhas-search,
    .cnpj-plus-minhas-search:nth-child(2),
    .cnpj-plus-hero-compact .cnpj-plus-stats,
    .cnpj-import-stats,
    .cnpj-import-workflow,
    .cnpj-import-grid,
    .cnpj-import-preview-grid,
    .cnpj-plus-dashboard-cards,
    .cnpj-plus-dashboard-grid,
    .cnpj-plus-status-overview,
    .cnpj-plus-status-ribbon,
    .cnpj-plus-groups-ribbon,
    .cnpj-plus-metrics-ribbon,
    .cnpj-plus-status-summary,
    .cnpj-plus-status-create,
    .cnpj-plus-metric-cards,
    .cnpj-plus-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cnpj-plus-status-ribbon-main,
    .cnpj-plus-status-ribbon-actions,
    .cnpj-plus-groups-ribbon-main,
    .cnpj-plus-metrics-ribbon-main,
    .cnpj-plus-metrics-ribbon-pills {
        grid-column: 1 / -1;
    }

    .cnpj-import-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-import-side {
        grid-template-columns: 1fr;
    }

    .cnpj-import-destination {
        grid-column: auto;
        grid-row: auto;
    }

    .cnpj-api-layout,
    .cnpj-api-hero,
    .cnpj-api-token-ready,
    .cnpj-api-examples,
    .cnpj-api-test,
    .cnpj-api-info-grid,
    .cnpj-api-checklist,
    .cnpj-api-credentials-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-api-sidebar {
        position: static;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cnpj-api-hero-status {
        text-align: left;
    }

    .cnpj-api-create {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cnpj-api-create label,
    .cnpj-api-create label.span-2,
    .cnpj-api-create button {
        grid-column: span 1;
    }

    .cnpj-api-credential-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-api-credential-toolbar button {
        width: 100%;
    }

    .cnpj-api-table-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-api-table-filters {
        grid-template-columns: 1fr;
        min-width: 0;
    }

    .cnpj-api-modal-backdrop {
        padding: 1rem;
    }

    .cnpj-api-modal {
        width: min(44rem, 100%);
    }

    .cnpj-api-ip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .cnpj-plus-minhas-search,
    .cnpj-plus-minhas-search:nth-child(2),
    .cnpj-plus-hero-compact .cnpj-plus-stats,
    .cnpj-plus-note-form,
    .cnpj-plus-dashboard-cards,
    .cnpj-plus-dashboard-grid,
    .cnpj-plus-dashboard-bar,
    .cnpj-plus-status-overview,
    .cnpj-plus-status-ribbon,
    .cnpj-plus-groups-ribbon,
    .cnpj-plus-metrics-ribbon,
    .cnpj-plus-status-summary,
    .cnpj-plus-status-create,
    .cnpj-plus-create-group,
    .cnpj-import-workflow,
    .cnpj-import-grid,
    .cnpj-import-preview-grid,
    .cnpj-plus-metric-cards,
    .cnpj-plus-metric-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-plus-date-range > div {
        grid-template-columns: 1fr;
    }

    .cnpj-plus-status-modal-backdrop {
        inset: 0;
    }

    .cnpj-plus-date-range b {
        border: 1px solid #cbd5e1;
        border-block: 0;
    }

    .cnpj-import-hero,
    .cnpj-import-head,
    .cnpj-import-tabs,
    .cnpj-import-workflow,
    .cnpj-import-actions {
        align-items: stretch;
        flex-direction: column;
        grid-template-columns: 1fr;
    }

    .cnpj-import-hero-icon {
        width: 100%;
        height: 3.25rem;
    }

    .cnpj-import-tabs {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cnpj-import-tabs .cnpj-import-create-group-tab {
        margin-left: 0;
    }

    .cnpj-import-side {
        grid-template-columns: 1fr;
    }

    .cnpj-import-destination {
        grid-column: auto;
    }

    .cnpj-api-sidebar,
    .cnpj-api-metrics,
    .cnpj-api-create,
    .cnpj-api-errors,
    .cnpj-api-info-grid,
    .cnpj-api-checklist {
        grid-template-columns: 1fr;
    }

    .cnpj-api-create label,
    .cnpj-api-create label.span-2,
    .cnpj-api-create button {
        grid-column: 1 / -1;
    }

    .cnpj-api-table-head,
    .cnpj-api-token-table table,
    .cnpj-api-token-table thead,
    .cnpj-api-token-table tbody,
    .cnpj-api-token-table tr,
    .cnpj-api-token-table th,
    .cnpj-api-token-table td {
        display: block;
    }

    .cnpj-api-token-table thead {
        display: none;
    }

    .cnpj-api-token-table tr {
        border-bottom: 1px solid #e2e8f0;
        padding: .55rem;
    }

    .cnpj-api-token-table td {
        border-right: 0;
        border-bottom: 0;
        padding: .42rem;
    }

    .cnpj-api-ip-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-plus-note-form input,
    .cnpj-plus-note-form button {
        border-radius: 4px;
    }
}

@media print {
    @page {
        margin: 10mm;
    }

    html,
    body {
        background: #ffffff !important;
        color: #111827 !important;
    }

    body::before,
    body::after,
    .fi-layout::before,
    .fi-layout::after,
    .fi-main::before,
    .fi-main::after,
    .fi-main-ctn::before,
    .fi-main-ctn::after,
    .fi-page::before,
    .fi-page::after,
    .fi-page-content::before,
    .fi-page-content::after,
    .cnpj-plus-print-report-shell::before,
    .cnpj-plus-print-report-shell::after {
        content: none !important;
        display: none !important;
    }

    .fi-sidebar,
    .fi-topbar,
    .fi-header,
    .cnpj-plus-back-link,
    .cnpj-plus-tool-actions,
    .cnpj-plus-dashboard-panel {
        display: none !important;
    }

    .fi-main,
    .fi-main-ctn,
    .fi-page,
    .fi-page-content,
    .fi-layout {
        overflow: visible !important;
        margin: 0 !important;
        margin-left: 0 !important;
        margin-inline-start: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: none !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .cnpj-plus-dashboard-panel {
        border: 0;
        box-shadow: none;
    }

    .cnpj-plus-print-report-shell {
        display: block !important;
        position: static !important;
        width: 100% !important;
        padding: 0 !important;
        background: #ffffff !important;
        color: #111827 !important;
        box-shadow: none !important;
        filter: none !important;
        opacity: 1 !important;
        mix-blend-mode: normal !important;
    }

    .plus-print-report,
    .plus-print-report * {
        filter: none !important;
        opacity: 1 !important;
        text-shadow: none !important;
        mix-blend-mode: normal !important;
    }

    .plus-print-report {
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .plus-print-report,
    .plus-print-report section,
    .plus-print-report article,
    .plus-print-report table,
    .plus-print-report tbody,
    .plus-print-report tr,
    .plus-print-report td {
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
    }

    .plus-print-highlight,
    .plus-print-cards article,
    .plus-print-blocks article {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    .plus-print-blocks tbody tr:nth-child(even) td {
        background: #f8fffb !important;
        background-color: #f8fffb !important;
    }

    .plus-print-head,
    .plus-print-blocks th {
        background: #075f49 !important;
        background-color: #075f49 !important;
        color: #ffffff !important;
    }

    .plus-print-icon {
        background: currentColor !important;
    }

    .plus-print-head,
    .plus-print-icon,
    .plus-print-blocks th {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

.cnpj-message-page,
.cnpj-message-page * {
    min-width: 0;
}

.cnpj-plus-hero.cnpj-msg-hero {
    overflow: hidden;
    border-color: #b6d8ff;
    background:
        linear-gradient(135deg, rgba(239, 246, 255, .95), rgba(236, 253, 245, .9) 48%, rgba(255, 251, 235, .82)),
        #ffffff;
}

.cnpj-msg-hero .cnpj-plus-stats {
    min-width: min(100%, 34rem);
}

.cnpj-msg-stats > div:nth-child(1) svg { color: #2563eb; }
.cnpj-msg-stats > div:nth-child(2) svg { color: #16a34a; }
.cnpj-msg-stats > div:nth-child(3) svg { color: #7c3aed; }
.cnpj-msg-stats > div:nth-child(4) svg { color: #f97316; }

.cnpj-msg-stats > div:nth-child(1) strong { color: #1d4ed8; }
.cnpj-msg-stats > div:nth-child(2) strong { color: #15803d; }
.cnpj-msg-stats > div:nth-child(3) strong { color: #6d28d9; }
.cnpj-msg-stats > div:nth-child(4) strong { color: #c2410c; }

.cnpj-msg-selector .cnpj-plus-actions,
.cnpj-msg-objective .cnpj-plus-actions {
    align-items: end;
}

.cnpj-msg-selector .cnpj-plus-field select,
.cnpj-msg-objective .cnpj-plus-field input,
.cnpj-msg-selector .cnpj-plus-actions .fi-btn,
.cnpj-msg-objective .cnpj-plus-actions .fi-btn {
    height: 2.75rem !important;
    min-height: 2.75rem !important;
}

.cnpj-msg-selector .cnpj-plus-actions .fi-btn,
.cnpj-msg-objective .cnpj-plus-actions .fi-btn {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.cnpj-msg-company {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
}

.cnpj-msg-company-main,
.cnpj-msg-channel-head {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.cnpj-msg-company-main div,
.cnpj-msg-channel-head div {
    min-width: 0;
}

.cnpj-msg-company-main strong {
    color: #0f172a;
    overflow-wrap: anywhere;
}

.cnpj-msg-company-main span {
    color: #475569;
    overflow-wrap: anywhere;
}

.cnpj-msg-company-empty {
    border-left-color: #0b7af3;
}

.cnpj-msg-company-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}

.cnpj-msg-company-tags span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    max-width: 100%;
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #f8fafc;
    padding: .35rem .55rem;
    color: #334155;
    font-size: .76rem;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.cnpj-msg-company-tags svg {
    width: .95rem;
    height: .95rem;
    flex: 0 0 auto;
    color: #0b7af3;
}

.cnpj-msg-icon-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 8px;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
}

.cnpj-msg-icon-badge svg {
    width: 1.25rem;
    height: 1.25rem;
}

.cnpj-msg-icon-badge.blue { background: #0b7af3; }
.cnpj-msg-icon-badge.green { background: #1f9d4b; }
.cnpj-msg-icon-badge.purple { background: #7c3aed; }

.cnpj-msg-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.cnpj-msg-section-head h3 {
    margin-bottom: .15rem;
}

.cnpj-msg-section-head p,
.cnpj-msg-channel-head p {
    margin: 0;
    color: #64748b;
    font-size: .86rem;
    line-height: 1.35;
}

.cnpj-msg-model-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr));
    gap: .75rem;
    margin-top: .85rem;
}

.cnpj-msg-model-card {
    display: grid;
    gap: .45rem;
    align-items: start;
    border: 1px solid #d7dfe8;
    border-radius: 8px;
    background: #ffffff;
    padding: .85rem;
    text-align: left;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.cnpj-msg-model-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .2rem .65rem;
    align-items: start;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    text-align: left;
}

.cnpj-msg-model-card:hover,
.cnpj-msg-model-card.is-selected {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(15, 23, 42, .08);
}

.cnpj-msg-model-card.is-selected {
    border-color: #10b981;
    background: #f0fdf4;
}

.cnpj-msg-model-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-row: span 5;
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    color: #ffffff;
}

.cnpj-msg-model-icon svg {
    width: 1.1rem;
    height: 1.1rem;
}

.cnpj-msg-model-badge {
    width: fit-content;
    border-radius: 999px;
    padding: .18rem .45rem;
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cnpj-msg-model-source {
    width: fit-content;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    padding: .16rem .42rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 950;
    text-transform: uppercase;
}

.cnpj-msg-model-source.is-custom {
    border-color: #86efac;
    background: #f0fdf4;
    color: #15803d;
}

.cnpj-msg-model-card strong {
    color: #0f172a;
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.15;
}

.cnpj-msg-model-card small {
    color: #64748b;
    font-size: .78rem;
    line-height: 1.25;
}

.cnpj-msg-model-edit-indicator {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    width: fit-content;
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #f8fafc;
    padding: .22rem .48rem;
    color: #475569;
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
    cursor: pointer;
}

.cnpj-msg-model-card.is-selected .cnpj-msg-model-edit-indicator {
    border-color: #86efac;
    background: #dcfce7;
    color: #15803d;
}

.cnpj-msg-model-edit-indicator svg {
    width: .82rem;
    height: .82rem;
}

.cnpj-msg-model-card.tone-blue .cnpj-msg-model-icon { background: #2563eb; }
.cnpj-msg-model-card.tone-green .cnpj-msg-model-icon { background: #16a34a; }
.cnpj-msg-model-card.tone-purple .cnpj-msg-model-icon { background: #7c3aed; }
.cnpj-msg-model-card.tone-orange .cnpj-msg-model-icon { background: #f97316; }
.cnpj-msg-model-card.tone-red .cnpj-msg-model-icon { background: #e11d48; }

.cnpj-msg-model-card.tone-blue .cnpj-msg-model-badge { background: #dbeafe; color: #1d4ed8; }
.cnpj-msg-model-card.tone-green .cnpj-msg-model-badge { background: #dcfce7; color: #15803d; }
.cnpj-msg-model-card.tone-purple .cnpj-msg-model-badge { background: #ede9fe; color: #6d28d9; }
.cnpj-msg-model-card.tone-orange .cnpj-msg-model-badge { background: #ffedd5; color: #c2410c; }
.cnpj-msg-model-card.tone-red .cnpj-msg-model-badge { background: #ffe4e6; color: #be123c; }

.cnpj-msg-template-editor {
    margin-top: 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    padding: .9rem;
}

.cnpj-msg-template-editor-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    margin-bottom: .85rem;
}

.cnpj-msg-template-editor-head h4 {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
    color: #075f49;
    font-size: .95rem;
    font-weight: 950;
}

.cnpj-msg-template-editor-head h4 svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-msg-template-editor-head strong {
    display: block;
    margin-top: .15rem;
    color: #334155;
    font-size: .82rem;
    font-weight: 850;
}

.cnpj-msg-template-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .75rem;
    margin: .25rem 0 1.15rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: .75rem .85rem;
}

.cnpj-msg-template-form {
    row-gap: .95rem;
}

.cnpj-msg-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.1rem;
    border: 0;
    border-radius: 10px;
    background: #e11d48;
    padding: 0 .68rem;
    color: #ffffff;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
    transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.cnpj-msg-delete-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(225, 29, 72, .18);
}

.cnpj-msg-delete-btn svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-msg-template-form textarea {
    min-height: 13rem;
    line-height: 1.45;
}

.cnpj-msg-template-vars {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: .55rem .65rem;
}

.cnpj-msg-template-vars strong {
    margin-right: .25rem;
    color: #334155;
    font-size: .78rem;
    font-weight: 900;
}

.cnpj-msg-template-vars span {
    border: 1px solid #d7dfe8;
    border-radius: 999px;
    background: #ffffff;
    padding: .28rem .52rem;
    color: #475569;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .76rem;
    font-weight: 900;
}

.cnpj-msg-modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: var(--cnpj-sidebar-offset, 20rem);
    z-index: 80;
    display: grid;
    place-items: center;
    overflow: auto;
    background: rgba(15, 23, 42, .42);
    padding: 1rem;
}

.cnpj-msg-template-modal {
    width: min(64rem, 100%);
    max-height: calc(100dvh - 2rem);
    overflow: auto;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    padding: 1.1rem;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .28);
}

.cnpj-msg-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.15rem;
    height: 2.15rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
}

.cnpj-msg-modal-close:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}

.cnpj-msg-modal-close svg {
    width: 1rem;
    height: 1rem;
}

.cnpj-msg-compose-grid {
    align-items: stretch;
}

.cnpj-msg-channel {
    display: flex;
    flex-direction: column;
}

.cnpj-msg-channel-head {
    margin-bottom: .9rem;
}

.cnpj-msg-channel-head h3 {
    margin: 0 0 .12rem;
}

.cnpj-msg-channel .cnpj-plus-field + .cnpj-plus-field {
    margin-top: .75rem;
}

.cnpj-msg-channel textarea {
    min-height: 13rem;
    line-height: 1.45;
}

.cnpj-msg-whatsapp textarea {
    min-height: 17rem;
}

.cnpj-plus-panel.cnpj-msg-email {
    border-top: 4px solid #2563eb;
}

.cnpj-plus-panel.cnpj-msg-whatsapp {
    border-top: 4px solid #16a34a;
}

.cnpj-msg-channel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    margin-top: .85rem;
}

.cnpj-msg-copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.1rem;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    padding: 0 .68rem;
    color: #334155;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.cnpj-msg-copy-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
}

.cnpj-msg-copy-btn svg {
    width: 1rem;
    height: 1rem;
    color: #0b7af3;
}

.cnpj-msg-channel-note {
    margin-top: .75rem;
}

@media (max-width: 980px) {
    .cnpj-plus-hero.cnpj-msg-hero {
        grid-template-columns: 1fr;
    }

    .cnpj-msg-hero .cnpj-plus-stats {
        min-width: 0;
    }

    .cnpj-msg-company {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-msg-company-tags {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .cnpj-plus-hero.cnpj-msg-hero {
        padding: 1rem;
    }

    .cnpj-msg-hero h2 {
        font-size: 1.35rem;
        line-height: 1.15;
    }

    .cnpj-msg-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cnpj-msg-model-grid {
        grid-template-columns: 1fr;
    }

    .cnpj-msg-channel-actions,
    .cnpj-msg-channel-actions a,
    .cnpj-msg-channel-actions button,
    .cnpj-msg-template-actions,
    .cnpj-msg-template-actions a,
    .cnpj-msg-template-actions button {
        width: 100%;
    }

    .cnpj-msg-template-editor-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cnpj-msg-modal-backdrop {
        align-items: start;
        left: 0;
        padding: .6rem;
    }

    .cnpj-msg-template-modal {
        max-height: calc(100dvh - 1.2rem);
        padding: .85rem;
    }
}

@media (max-width: 460px) {
    .cnpj-msg-stats {
        grid-template-columns: 1fr;
    }

    .cnpj-msg-model-card {
        grid-template-columns: 1fr;
    }

    .cnpj-msg-model-main {
        grid-template-columns: 1fr;
    }

    .cnpj-msg-company-main,
    .cnpj-msg-channel-head {
        flex-direction: column;
    }

    .cnpj-msg-model-icon {
        grid-row: auto;
    }
}
