.nf-ui-tools {
    color: var(--nf-ui-text);
}

.nf-ui-tools.nf-cep-page,
.nf-ui-tools.nf-cnpj-page,
.nf-ui-tools.nf-geocep-page,
.nf-ui-tools.nf-ref-page,
.nf-ui-tools.nf-ncm-page,
.nf-ui-tools.nf-public-page {
    max-width: 1152px;
    padding: 28px 16px 56px;
}

.nf-ui-tools .nf-tools-hero {
    background:
        radial-gradient(circle at 88% 8%, rgba(0, 224, 164, .18), transparent 26%),
        radial-gradient(circle at 68% 135%, rgba(20, 99, 255, .38), transparent 38%),
        linear-gradient(135deg, #020817, #071735);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 28px;
    box-shadow: 0 24px 62px rgba(2, 8, 23, .17);
    color: #fff;
    margin: 0 0 20px;
    overflow: hidden;
    padding: 34px;
}

.nf-ui-tools .nf-tools-eyebrow,
.nf-ui-tools .nf-cnpj-kicker,
.nf-ui-tools .nf-ref-hero > span,
.nf-ui-tools .nf-public-kicker {
    background: rgba(0, 224, 164, .12);
    border: 1px solid rgba(0, 224, 164, .16);
    border-radius: 999px;
    color: #8df7da;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
    margin: 0 0 11px;
    padding: 6px 9px;
    text-transform: uppercase;
}

.nf-ui-tools .nf-tools-hero h1,
.nf-ui-tools .nf-geocep-title,
.nf-ui-tools .nf-public-profile-hero h1 {
    color: #fff;
    font-size: clamp(31px, 5vw, 46px);
    letter-spacing: -.042em;
    line-height: 1.03;
    margin: 0 0 10px;
}

.nf-ui-tools .nf-tools-hero > p,
.nf-ui-tools .nf-tools-hero > div > p,
.nf-ui-tools .nf-public-profile-copy > p {
    color: rgba(255, 255, 255, .76);
    font-size: 15px;
    line-height: 1.62;
    margin: 0;
}

.nf-ui-tools .nf-cep-search,
.nf-ui-tools .nf-ncm-search {
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(2, 8, 23, .13);
    gap: 8px;
    margin-top: 20px;
    max-width: 780px;
    padding: 8px;
}

.nf-ui-tools .nf-cep-search input,
.nf-ui-tools .nf-ncm-search input {
    background: transparent;
    border: 0;
    color: var(--nf-ui-text);
    min-height: 48px;
    outline: 0;
    padding: 0 12px;
}

.nf-ui-tools .nf-cep-search button,
.nf-ui-tools .nf-cep-btn,
.nf-ui-tools .nf-cnpj-search button,
.nf-ui-tools .nf-ncm-search button,
.nf-ui-tools .nf-ncm-btn,
.nf-ui-tools .nf-ref-form button {
    align-items: center;
    background: var(--nf-ui-primary);
    border: 0;
    border-radius: 11px;
    box-shadow: 0 10px 22px rgba(20, 99, 255, .18);
    color: #fff !important;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
}

.nf-ui-tools .nf-cnpj-hero {
    align-items: center;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
}

.nf-ui-tools .nf-cnpj-search {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(2, 8, 23, .18);
    padding: 16px;
}

.nf-ui-tools .nf-cnpj-search input,
.nf-ui-tools .nf-ref-form input,
.nf-ui-tools .nf-ref-form select {
    background: #fff;
    border: 1px solid var(--nf-ui-border);
    border-radius: 11px;
    box-shadow: none;
    color: var(--nf-ui-text);
    min-height: 48px;
}

.nf-ui-tools .nf-cnpj-search input:focus,
.nf-ui-tools .nf-ref-form input:focus,
.nf-ui-tools .nf-ref-form select:focus,
.nf-ui-tools .nf-geocep-panel input:focus {
    border-color: var(--nf-ui-primary);
    box-shadow: 0 0 0 4px rgba(20, 99, 255, .13);
    outline: 0;
}

.nf-ui-tools .nf-cnpj-card,
.nf-ui-tools .nf-cnpj-faq,
.nf-ui-tools .nf-cep-section,
.nf-ui-tools .nf-geocep-intro,
.nf-ui-tools .nf-geocep-guide,
.nf-ui-tools .nf-ref-panel,
.nf-ui-tools .nf-ncm-tool,
.nf-ui-tools .nf-ncm-section,
.nf-ui-tools .nf-ncm-chapters {
    background: #fff;
    border: 1px solid var(--nf-ui-border);
    border-radius: 18px;
    box-shadow: var(--nf-ui-shadow-sm);
}

.nf-ui-tools .nf-cnpj-grid,
.nf-ui-tools .nf-cep-grid,
.nf-ui-tools .nf-ncm-grid {
    gap: 12px;
}

.nf-ui-tools .nf-cnpj-card,
.nf-ui-tools .nf-cnpj-faq,
.nf-ui-tools .nf-cep-section,
.nf-ui-tools .nf-ref-panel,
.nf-ui-tools .nf-ncm-tool,
.nf-ui-tools .nf-ncm-section,
.nf-ui-tools .nf-ncm-chapters {
    padding: 22px;
}

.nf-ui-tools :where(
    .nf-cnpj-card,
    .nf-cnpj-faq,
    .nf-cep-section,
    .nf-ref-panel,
    .nf-ncm-tool,
    .nf-ncm-section,
    .nf-ncm-chapters
) h2 {
    color: var(--nf-ui-text);
    font-size: 21px;
    letter-spacing: -.02em;
}

.nf-ui-tools :where(
    .nf-cnpj-card,
    .nf-cnpj-faq,
    .nf-cep-section,
    .nf-ref-panel,
    .nf-ncm-tool,
    .nf-ncm-section,
    .nf-ncm-chapters
) p {
    color: var(--nf-ui-text-secondary);
    line-height: 1.62;
}

.nf-ui-tools .nf-cep-info,
.nf-ui-tools .nf-ref-kpis div,
.nf-ui-tools .nf-ref-detail-grid div,
.nf-ui-tools .nf-ncm-facts div,
.nf-ui-tools .nf-ncm-structure div,
.nf-ui-tools .nf-ncm-checks div {
    background: var(--nf-ui-inset);
    border: 1px solid var(--nf-ui-border);
    border-radius: 13px;
    box-shadow: none;
}

.nf-ui-tools .nf-cep-result,
.nf-ui-tools .nf-empresa-card,
.nf-ui-tools .nf-public-card,
.nf-ui-tools .nf-ref-card,
.nf-ui-tools .nf-ref-choice,
.nf-ui-tools .nf-ncm-result,
.nf-ui-tools .nf-ncm-grid article,
.nf-ui-tools .nf-ncm-chapter-list a {
    background: #fff;
    border: 1px solid var(--nf-ui-border);
    border-radius: 14px;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.nf-ui-tools :where(
    .nf-cep-result,
    .nf-empresa-card,
    .nf-public-card,
    .nf-ref-card,
    .nf-ref-choice,
    .nf-ncm-result,
    .nf-ncm-chapter-list a
):hover {
    border-color: #b8c9de;
    box-shadow: var(--nf-ui-shadow-sm);
    transform: translateY(-1px);
}

.nf-ui-tools .nf-empresa-logo,
.nf-ui-tools .nf-public-logo {
    background: linear-gradient(135deg, #071735, #1463ff);
    border-radius: 13px;
}

.nf-ui-tools .nf-empresa-chip,
.nf-ui-tools .nf-cep-tags span,
.nf-ui-tools .nf-public-tags span,
.nf-ui-tools .nf-ncm-hints span,
.nf-ui-tools .nf-ncm-tags span,
.nf-ui-tools .nf-ref-chip {
    background: var(--nf-ui-muted-surface);
    border-radius: 999px;
    color: var(--nf-ui-text-secondary);
}

.nf-ui-tools .nf-empresa-chip-ok {
    background: var(--nf-ui-success-soft);
    color: var(--nf-ui-success);
}

.nf-ui-tools .nf-geocep-hero {
    display: block;
}

.nf-ui-tools .nf-geocep-intro {
    margin-bottom: 18px;
    padding: 20px;
}

.nf-ui-tools .nf-geocep-app {
    background: #fff;
    border: 1px solid var(--nf-ui-border);
    border-radius: 20px;
    box-shadow: var(--nf-ui-shadow-md);
    grid-template-columns: 380px minmax(0, 1fr);
}

.nf-ui-tools .nf-geocep-panel {
    background:
        radial-gradient(circle at 0 0, rgba(20, 99, 255, .22), transparent 30%),
        #071226;
    padding: 20px;
}

.nf-ui-tools .nf-geocep-box {
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .11);
    border-radius: 13px;
}

.nf-ui-tools .nf-geocep-panel input,
.nf-ui-tools .nf-geocep-panel button,
.nf-ui-tools .nf-geocep-btn {
    border-radius: 10px;
    min-height: 44px;
}

.nf-ui-tools .nf-geocep-panel button,
.nf-ui-tools .nf-geocep-btn {
    background: var(--nf-ui-success);
}

.nf-ui-tools .nf-geocep-btn-muted {
    background: rgba(255, 255, 255, .11) !important;
}

.nf-ui-tools #nf-geocep-map {
    min-height: 540px;
}

.nf-ui-tools .nf-ref-form {
    gap: 10px;
}

.nf-ui-tools .nf-ref-panel {
    margin: 14px 0;
}

.nf-ui-tools .nf-ref-result-panel {
    border-color: #b7cff5;
    box-shadow: 0 14px 34px rgba(20, 99, 255, .1);
}

.nf-ui-tools .nf-ref-grid {
    gap: 12px;
}

.nf-ui-tools .nf-ref-card {
    min-height: 128px;
    padding: 17px;
}

.nf-ui-tools .nf-ref-card strong {
    color: var(--nf-ui-text);
    font-size: 16px;
}

.nf-ui-tools .nf-ref-card span {
    color: var(--nf-ui-text-muted);
    font-size: 13px;
}

.nf-ui-tools .nf-ref-table-wrap {
    border-color: var(--nf-ui-border);
    border-radius: 13px;
}

.nf-ui-tools .nf-ref-table th {
    background: var(--nf-ui-inset);
    color: var(--nf-ui-text-secondary);
}

.nf-ui-tools .nf-ref-action,
.nf-ui-tools .nf-ref-year {
    background: var(--nf-ui-text);
    border-radius: 10px;
}

.nf-ui-tools .nf-ref-price {
    background:
        radial-gradient(circle at 100% 0, rgba(0, 224, 164, .18), transparent 40%),
        linear-gradient(135deg, #020817, #071735);
    border-radius: 14px;
}

.nf-ui-tools .nf-ncm-hero {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) 260px;
}

.nf-ui-tools .nf-ncm-stats {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(2, 8, 23, .13);
}

.nf-ui-tools .nf-ncm-answer {
    background: var(--nf-ui-info-soft);
    border-color: #b7cff5;
    border-radius: 14px;
}

.nf-ui-tools .nf-ncm-code {
    border-radius: 10px;
}

.nf-ui-tools .nf-ncm-copy {
    border-color: var(--nf-ui-border);
    border-radius: 9px;
}

.nf-ui-tools .nf-ncm-faq summary,
.nf-ui-tools .nf-cnpj-faq summary {
    color: var(--nf-ui-text);
}

.nf-ui-tools .nf-tools-detail-hero {
    background:
        radial-gradient(circle at 88% 8%, rgba(0, 224, 164, .16), transparent 26%),
        linear-gradient(135deg, #020817, #071735);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 28px;
    box-shadow: 0 24px 62px rgba(2, 8, 23, .17);
    color: #fff;
}

.nf-ui-tools .nf-public-profile-card,
.nf-ui-tools .nf-public-profile-metrics article {
    border-color: rgba(255, 255, 255, .14);
    border-radius: 13px;
}

.nf-ui-tools .nf-public-section,
.nf-ui-tools .nf-public-overview-copy {
    border-color: var(--nf-ui-border);
    border-radius: 18px;
    box-shadow: var(--nf-ui-shadow-sm);
}

.nf-ui-tools :where(a, button, input, select, summary):focus-visible {
    outline: 3px solid var(--nf-ui-focus);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .nf-ui-tools .nf-cnpj-hero,
    .nf-ui-tools .nf-ncm-hero,
    .nf-ui-tools .nf-geocep-app {
        grid-template-columns: 1fr;
    }

    .nf-ui-tools .nf-ref-form,
    .nf-ui-tools .nf-ref-kpis,
    .nf-ui-tools .nf-ref-detail-grid,
    .nf-ui-tools .nf-ref-grid,
    .nf-ui-tools .nf-ref-choice-grid,
    .nf-ui-tools .nf-ref-year-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .nf-ui-tools.nf-cep-page,
    .nf-ui-tools.nf-cnpj-page,
    .nf-ui-tools.nf-geocep-page,
    .nf-ui-tools.nf-ref-page,
    .nf-ui-tools.nf-ncm-page,
    .nf-ui-tools.nf-public-page {
        padding: 14px 10px 40px;
    }

    .nf-ui-tools .nf-tools-hero,
    .nf-ui-tools .nf-tools-detail-hero {
        border-radius: 22px;
        padding: 24px;
    }

    .nf-ui-tools .nf-cep-search,
    .nf-ui-tools .nf-ncm-search,
    .nf-ui-tools .nf-cnpj-search-row {
        grid-template-columns: 1fr;
    }

    .nf-ui-tools .nf-cep-search button,
    .nf-ui-tools .nf-ncm-search button,
    .nf-ui-tools .nf-cnpj-search button {
        width: 100%;
    }

    .nf-ui-tools .nf-cnpj-grid,
    .nf-ui-tools .nf-cep-grid,
    .nf-ui-tools .nf-cep-companies,
    .nf-ui-tools .nf-cep-local-grid,
    .nf-ui-tools .nf-public-grid,
    .nf-ui-tools .nf-ncm-grid,
    .nf-ui-tools .nf-ncm-facts,
    .nf-ui-tools .nf-ncm-structure,
    .nf-ui-tools .nf-ncm-checks,
    .nf-ui-tools .nf-ncm-chapter-list,
    .nf-ui-tools .nf-ref-form,
    .nf-ui-tools .nf-ref-kpis,
    .nf-ui-tools .nf-ref-detail-grid,
    .nf-ui-tools .nf-ref-grid,
    .nf-ui-tools .nf-ref-choice-grid,
    .nf-ui-tools .nf-ref-year-grid {
        grid-template-columns: 1fr;
    }

    .nf-ui-tools .nf-cep-result,
    .nf-ui-tools .nf-ncm-result,
    .nf-ui-tools .nf-ncm-answer {
        grid-template-columns: 1fr;
    }

    .nf-ui-tools #nf-geocep-map {
        height: 58vh;
        min-height: 420px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nf-ui-tools :where(
        .nf-cep-result,
        .nf-empresa-card,
        .nf-public-card,
        .nf-ref-card,
        .nf-ref-choice,
        .nf-ncm-result,
        .nf-ncm-chapter-list a
    ) {
        transition: none;
    }
}

body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) {
    color: var(--nf-ui-text);
    max-width: 1180px !important;
}

body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) :where(
    .nfim-search-hero,
    .nfim-front-hero,
    .nfim-public-hero,
    .nf-api-hero
) {
    background:
        radial-gradient(circle at 88% 12%, rgba(0, 224, 164, .22), transparent 27%),
        radial-gradient(circle at 68% 125%, rgba(47, 56, 255, .4), transparent 42%),
        linear-gradient(135deg, #020817, #071735 64%, #0b2140) !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    border-radius: 28px !important;
    box-shadow: 0 24px 62px rgba(2, 8, 23, .17) !important;
    color: #fff !important;
    padding: clamp(24px, 4vw, 34px) !important;
}

body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) :where(
    .nfim-search-hero,
    .nfim-front-hero,
    .nfim-public-hero,
    .nf-api-hero
) :where(h1, p) {
    color: #fff !important;
}

body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) :where(
    .nfim-search-panel,
    .nfim-panel,
    .nfim-public-card,
    .nfim-stat,
    .nfim-result-card,
    .nf-api-section,
    .nf-api-nav
) {
    background: #fff !important;
    border: 1px solid var(--nf-ui-border) !important;
    border-radius: 20px !important;
    box-shadow: var(--nf-ui-shadow-sm) !important;
}

body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) :where(
    input,
    select,
    textarea
) {
    background: #fff !important;
    border: 1px solid var(--nf-ui-border) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: var(--nf-ui-text);
}

body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) :where(
    .nfim-btn,
    .nfim-search-btn,
    .nfim-search-form button,
    .nf-api-btn
) {
    background: var(--nf-ui-gradient) !important;
    border: 0 !important;
    border-radius: 13px !important;
    box-shadow: 0 10px 22px rgba(20, 99, 255, .18);
    color: #fff !important;
    min-height: 46px;
}

body .nf-tools-api-docs .nf-api-code {
    background: #020817 !important;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px !important;
    color: #dbeafe !important;
}

body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) :where(
    a,
    button,
    input,
    select,
    textarea
):focus-visible {
    border-color: var(--nf-ui-primary) !important;
    box-shadow: 0 0 0 4px rgba(20, 99, 255, .16) !important;
    outline: 2px solid transparent;
}

@media (max-width: 760px) {
    body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body :where(.nf-tools-inpi-search, .nf-tools-inpi-monitor, .nf-tools-api-docs) :where(
        .nfim-search-hero,
        .nfim-front-hero,
        .nfim-public-hero,
        .nf-api-hero
    ) {
        border-radius: 22px !important;
    }
}
