/* Nexus Edge — Landing Premium Hybrid V2. Escopo exclusivo da landing pública. */
.fe-public-app:has(.nx-premium) {
    --nx-ink: #0c192c;
    --nx-cyan: #33c7eb;
    --nx-muted: #65758b;
    background: #f2f5f9 !important
}

.fe-public-app:has(.nx-premium) .fe-public-main {
    background: #f2f5f9
}

.fe-public-app:has(.nx-premium) .fe-public-header {
    background: rgba(12, 25, 44, .97);
    border-bottom: 1px solid #263b55;
    box-shadow: none
}

.fe-public-app:has(.nx-premium) .fe-public-header__brand,
.fe-public-app:has(.nx-premium) .fe-public-header__nav a {
    color: #e8f2fb
}

.fe-public-app:has(.nx-premium) .fe-public-header__nav a:hover,
.fe-public-app:has(.nx-premium) .fe-public-header__nav a.is-active {
    background: #20354e;
    color: #6ce1f9;
    box-shadow: none
}

.fe-public-app:has(.nx-premium) .fe-public-header__nav .fe-public-header__action {
    background: #27b8de;
    color: #081a2d;
    box-shadow: none;
    font-weight: 700
}

.fe-public-app:has(.nx-premium) .fe-public-header__menu-button {
    background: #20354e;
    color: white;
    box-shadow: none
}

.fe-public-app:has(.nx-premium) .fe-public-footer {
    background: #0b1728;
    color: #a8b8cb;
    border-color: #253850
}

.nx-premium.fe-site-page {
    display: block;
    max-width: none;
    padding: 0;
    color: #17283d;
    overflow: hidden
}

.nx-premium * {
    box-sizing: border-box
}

.nx-premium h1,
.nx-premium h2,
.nx-premium h3,
.nx-premium p {
    margin-top: 0
}

.nx-premium h1,
.nx-premium h2 {
    letter-spacing: -.055em;
    line-height: 1.07
}

.nx-premium h2 {
    font-size: clamp(2.15rem, 4vw, 4rem);
    font-weight: 600
}

.nx-premium h2 em {
    font-style: normal;
    color: #1684aa
}

.nx-kicker {
    display: block;
    margin-bottom: 1rem;
    color: #1685ac;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .16em
}

.nx-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    align-items: center;
    gap: clamp(2rem, 4vw, 5rem);
    padding: clamp(4rem, 8vw, 8rem) max(5%, calc((100% - 1440px)/2));
    min-height: 670px;
    background: linear-gradient(135deg, #091527, #112740 65%, #10253d);
    color: white;
    isolation: isolate
}

.nx-hero__glow {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(circle at 75% 40%, rgba(33, 174, 215, .17), transparent 38%)
}

.nx-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: #6adcf3;
    font-size: .74rem;
    letter-spacing: .13em;
    font-weight: 800
}

.nx-eyebrow__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #43e2d0;
    box-shadow: 0 0 14px #43e2d0
}

.nx-hero h1 {
    font-size: clamp(2.8rem, 5vw, 5.5rem);
    font-weight: 650;
    margin: 1.7rem 0 1.5rem;
    max-width: 790px
}

.nx-hero h1 em {
    font-style: normal;
    color: #4ed0ee
}

.nx-hero__content>p {
    color: #b7c9dc;
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    line-height: 1.8;
    max-width: 620px
}

.nx-hero__actions,
.nx-final__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    margin-top: 2rem
}

.nx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-height: 49px;
    padding: .85rem 1.35rem;
    border-radius: 10px;
    text-decoration: none !important;
    font-size: .9rem;
    font-weight: 700;
    transition: transform .2s, background .2s
}

.nx-btn:hover {
    transform: translateY(-2px)
}

.nx-btn--bright {
    background: #32c6e8;
    color: #071a2c !important
}

.nx-btn--bright:hover {
    background: #79e2f5
}

.nx-btn--outline {
    border: 1px solid #57718c;
    color: #edf7ff !important;
    background: transparent
}

.nx-btn--outline:hover {
    background: #1b3551
}

.nx-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 1.5rem;
    margin-top: 3rem;
    color: #a9bed1;
    font-size: .8rem
}

.nx-hero__trust span:before {
    content: '✓';
    color: #52e0c5;
    margin-right: .45rem
}

.nx-console {
    min-width: 0;
    border: 1px solid #34506b;
    border-radius: 22px;
    padding: clamp(1rem, 2vw, 1.6rem);
    background: linear-gradient(160deg, #182d46, #102138);
    box-shadow: 0 25px 70px #020a1699
}

.nx-console__top,
.nx-console__identity,
.nx-console__chart-label,
.nx-console__foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem
}

.nx-console__identity {
    justify-content: flex-start
}

.nx-console__identity strong,
.nx-console__identity small {
    display: block
}

.nx-console__identity small {
    color: #91abc3;
    font-size: .65rem;
    margin-top: .25rem
}

.nx-console__symbol {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #244760;
    color: #61d9f0;
    font-size: 1.6rem
}

.nx-console__pill {
    border: 1px solid #3b5b73;
    border-radius: 50px;
    padding: .4rem .65rem;
    color: #a4dbe8;
    font-size: .66rem;
    white-space: nowrap
}

.nx-console__tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1.6rem
}

.nx-console__tiles>div {
    background: #203851;
    border: 1px solid #2c4862;
    border-radius: 12px;
    padding: 1rem
}

.nx-console__tiles small,
.nx-console__tiles strong,
.nx-console__tiles span {
    display: block
}

.nx-console__tiles small {
    color: #8facbf;
    font-size: .7rem
}

.nx-console__tiles strong {
    font-size: 1rem;
    margin: .5rem 0;
    color: #f1faff
}

.nx-console__tiles span {
    font-size: .7rem;
    color: #b0c6d9
}

.nx-console__chart {
    margin-top: 1rem;
    background: #12283f;
    border: 1px solid #29445e;
    border-radius: 12px;
    padding: 1rem
}

.nx-console__chart-label {
    color: #9eb9cb;
    font-size: .65rem;
    letter-spacing: .04em
}

.nx-console__chart svg {
    display: block;
    width: 100%;
    height: 135px;
    margin-top: 1rem
}

.nx-console__foot {
    font-size: .66rem;
    color: #94b3c9;
    margin-top: 1rem
}

.nx-console__foot i {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #38dcb6;
    margin-right: .4rem
}

.nx-intro {
    padding: 2rem max(5%, calc((100% - 1440px)/2));
    background: #e9f0f6;
    border-bottom: 1px solid #d7e2ec
}

.nx-intro p {
    color: #6b7f91;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em
}

.nx-intro>div {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    font-weight: 700;
    color: #33485e
}

.nx-section,
.nx-plans {
    padding: clamp(4rem, 7vw, 7rem) max(5%, calc((100% - 1440px)/2))
}

.nx-section--light {
    background: #f5f8fb
}

.nx-section__heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 2rem;
    margin-bottom: 2.7rem
}

.nx-section__heading h2 {
    margin-bottom: 0
}

.nx-section__heading>p {
    max-width: 400px;
    line-height: 1.8;
    color: #65758b
}

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

.nx-feature {
    background: white;
    border: 1px solid #dce6ef;
    border-radius: 18px;
    padding: 1.6rem;
    box-shadow: 0 12px 30px #1c3c5c0a
}

.nx-feature>.material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 13px;
    background: #e8f7fb;
    color: #1684aa;
    font-size: 1.65rem;
    margin-bottom: 1.5rem
}

.nx-feature h3 {
    font-size: 1.12rem;
    font-weight: 750
}

.nx-feature p {
    color: #64758a;
    line-height: 1.75;
    font-size: .86rem;
    min-height: 120px
}

.nx-feature small {
    display: block;
    padding-top: 1rem;
    border-top: 1px solid #e5edf4;
    color: #1684aa;
    font-size: .7rem;
    font-weight: 700
}

.nx-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 6vw, 7rem);
    align-items: center;
    background: #0e2035;
    color: #f5faff;
    padding: clamp(4rem, 7vw, 7rem) max(5%, calc((100% - 1440px)/2))
}

.nx-showcase .nx-kicker {
    color: #53d1ed
}

.nx-showcase h2 em {
    color: #53d1ed
}

.nx-showcase__copy>p {
    max-width: 600px;
    color: #b0c5d7;
    line-height: 1.85
}

.nx-showcase__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 2rem 0
}

.nx-showcase__tags span {
    padding: .55rem .8rem;
    border-radius: 50px;
    border: 1px solid #3b526b;
    color: #c6d9e9;
    font-size: .76rem
}

.nx-text-link {
    color: #66dcf3;
    font-weight: 750;
    text-decoration: none
}

.nx-showcase__diagram {
    border: 1px solid #33516d;
    border-radius: 22px;
    padding: 2rem;
    background: radial-gradient(circle at center, #23465e, #13283e);
    text-align: center
}

.nx-diagram__root {
    margin: auto;
    width: min(100%, 250px);
    padding: 1.4rem;
    background: #31bddd;
    color: #092036;
    border-radius: 12px;
    font-weight: 850;
    letter-spacing: .08em
}

.nx-diagram__root small,
.nx-diagram__branches small {
    display: block;
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: 0;
    margin-top: .5rem
}

.nx-diagram__line {
    height: 40px;
    width: 1px;
    background: #5c8aa2;
    margin: auto
}

.nx-diagram__branches {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem
}

.nx-diagram__branches>div {
    padding: 1.4rem .8rem;
    border: 1px solid #47708b;
    background: #203c55;
    border-radius: 12px;
    font-size: .8rem;
    font-weight: 750
}

.nx-diagram__branches small {
    color: #aac4d7
}

.nx-diagram__note {
    margin-top: 1.5rem;
    color: #a8c3d5;
    font-size: .74rem
}

.nx-section--process {
    background: #fff
}

.nx-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem
}

.nx-steps article {
    border-top: 2px solid #b7d9e5;
    padding-top: 1.4rem
}

.nx-steps b {
    color: #1492b8;
    font-size: 1.5rem
}

.nx-steps h3 {
    margin: 1.4rem 0 .6rem;
    font-size: 1.2rem
}

.nx-steps p {
    color: #65758b;
    font-size: .88rem;
    line-height: 1.7
}

.nx-plans {
    background: #edf3f8
}

.nx-plan-grid {
    max-width: 1200px;
    margin: auto
}

.nx-premium .nx-plan-grid .fe-site-plan {
    background: white;
    border: 1px solid #d6e6ef;
    box-shadow: 0 20px 40px #24486616;
    border-radius: 20px;
    transform: none;
    padding: clamp(1.5rem, 3vw, 2.5rem)
}

.nx-premium .nx-plan-grid .fe-site-plan__price strong {
    color: #0d7296
}

.nx-premium .nx-plan-grid .fe-site-plan__featured {
    background: #0c829e
}

.nx-premium .nx-plan-grid .fe-button--primary {
    background: #0b8db4;
    color: #fff;
    border: 0;
    box-shadow: none
}

.nx-premium .nx-plan-grid .fe-site-plan>p {
    line-height: 1.65
}

.nx-final {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    padding: clamp(3rem, 6vw, 6rem) max(5%, calc((100% - 1440px)/2));
    background: linear-gradient(120deg, #10253d, #173b54);
    color: #fff
}

.nx-final .nx-kicker {
    color: #66d9ef
}

.nx-final h2 {
    font-size: clamp(2rem, 3vw, 3rem);
    max-width: 680px
}

.nx-final p {
    color: #b6c9d9
}

.nx-final__actions {
    flex-shrink: 0
}

#capacidades,
#plans {
    scroll-margin-top: 95px
}

@media(max-width:1100px) {
    .nx-hero {
        grid-template-columns: 1fr;
        min-height: auto
    }

    .nx-console {
        max-width: 780px
    }

    .nx-feature-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .nx-feature p {
        min-height: 0
    }

    .nx-showcase {
        grid-template-columns: 1fr
    }

    .nx-showcase__diagram {
        max-width: 650px;
        width: 100%
    }

    .nx-final {
        flex-direction: column;
        align-items: flex-start
    }
}

@media(max-width:820px) {
    .fe-public-app:has(.nx-premium) .fe-public-header__nav {
        background: #132b43;
        border-color: #38526b;
        box-shadow: 0 15px 30px #0006
    }

    .nx-section__heading {
        display: block
    }

    .nx-section__heading>p {
        margin-top: 1.2rem
    }

    .nx-steps {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:600px) {
    .nx-hero {
        padding: 4rem 1.2rem
    }

    .nx-hero h1 {
        font-size: clamp(2.5rem, 11vw, 3.6rem)
    }

    .nx-console__pill {
        display: none
    }

    .nx-console__tiles {
        gap: .5rem
    }

    .nx-console__tiles>div {
        padding: .7rem
    }

    .nx-console__tiles strong {
        font-size: .82rem
    }

    .nx-intro,
    .nx-section,
    .nx-plans,
    .nx-showcase,
    .nx-final {
        padding-left: 1.2rem;
        padding-right: 1.2rem
    }

    .nx-feature-grid,
    .nx-steps {
        grid-template-columns: 1fr
    }

    .nx-section__heading {
        margin-bottom: 2rem
    }

    .nx-diagram__branches {
        gap: .5rem
    }

    .nx-diagram__branches>div {
        padding: 1rem .5rem
    }

    .nx-final__actions {
        width: 100%
    }

    .nx-final__actions .nx-btn {
        width: 100%
    }
}

@media(prefers-reduced-motion:reduce) {
    .nx-btn {
        transition: none
    }

    .nx-btn:hover {
        transform: none
    }
}

/* Páginas institucionais Premium Hybrid V2 — sem efeitos no shell operacional */
.nx-premium.nx-inner-page {
    background: #f4f8fb;
}

.nx-inner-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 7rem) max(5%, calc((100% - 1440px)/2));
    background: linear-gradient(125deg, #091527, #15354f);
    color: #fff;
}

.nx-inner-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle at 82% 35%, #27c6ec25, transparent 40%)
}

.nx-inner-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
    gap: clamp(2rem, 5vw, 6rem);
    align-items: center
}

.nx-inner-hero h1 {
    font-size: clamp(2.7rem, 5vw, 5rem);
    font-weight: 650;
    max-width: 850px;
    margin: 1.4rem 0
}

.nx-inner-hero h1 em {
    font-style: normal;
    color: #55d3ee
}

.nx-inner-hero p {
    color: #bdd0e0;
    font-size: clamp(1rem, 1.3vw, 1.16rem);
    line-height: 1.85;
    max-width: 690px
}

.nx-inner-hero .nx-kicker {
    color: #65d8f0
}

.nx-inner-hero__panel {
    border: 1px solid #3c5a72;
    border-radius: 22px;
    background: #1b3852;
    padding: clamp(1.4rem, 3vw, 2.5rem);
    box-shadow: 0 24px 60px #0005
}

.nx-inner-hero__panel strong {
    display: block;
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 1rem
}

.nx-inner-hero__panel span {
    display: block;
    padding: .8rem 0;
    border-top: 1px solid #3c5870;
    color: #c2d9e7;
    font-size: .9rem
}

.nx-inner-hero__panel span:before {
    content: '↗';
    color: #53d4ef;
    margin-right: .7rem
}

.nx-inner-content {
    padding: clamp(4rem, 7vw, 7rem) max(5%, calc((100% - 1440px)/2))
}

.nx-inner-content--white {
    background: #fff
}

.nx-inner-content--muted {
    background: #f1f6fa
}

.nx-inner-content__heading {
    max-width: 850px;
    margin-bottom: 2.5rem
}

.nx-inner-content__heading h2 {
    font-size: clamp(2rem, 3.7vw, 3.7rem);
    font-weight: 650
}

.nx-inner-content__heading p {
    max-width: 680px;
    color: #63768a;
    line-height: 1.8
}

.nx-inner-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem
}

.nx-inner-card {
    padding: clamp(1.5rem, 2.5vw, 2.4rem);
    border: 1px solid #dbe7ef;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 35px #153c5710
}

.nx-inner-card .material-symbols-outlined {
    font-size: 2rem;
    color: #1685aa;
    margin-bottom: 1.2rem
}

.nx-inner-card h3 {
    font-size: 1.2rem;
    font-weight: 750
}

.nx-inner-card p {
    font-size: .9rem;
    color: #62758a;
    line-height: 1.8;
    margin: 0
}

.nx-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(1.5rem, 4vw, 5rem);
    align-items: start
}

.nx-contact-intro h1 {
    font-size: clamp(2.5rem, 4.5vw, 4.6rem);
    font-weight: 650;
    margin: 1rem 0
}

.nx-contact-intro h1 em {
    font-style: normal;
    color: #1685aa
}

.nx-contact-intro>p {
    color: #65788c;
    line-height: 1.85
}

.nx-contact-points {
    display: grid;
    gap: 1rem;
    margin-top: 2rem
}

.nx-contact-points>div {
    display: flex;
    gap: 1rem;
    padding: 1.2rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #dae7ef
}

.nx-contact-points .material-symbols-outlined {
    color: #178fb1;
    font-size: 1.6rem
}

.nx-contact-points strong {
    display: block;
    color: #1a2f45
}

.nx-contact-points p {
    margin: .35rem 0 0;
    color: #65788c;
    font-size: .85rem
}

.nx-contact-form {
    padding: clamp(1.5rem, 3vw, 3rem);
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 22px;
    box-shadow: 0 20px 50px #163e5b12
}

.nx-contact-form h2 {
    font-size: clamp(1.7rem, 2.5vw, 2.5rem);
    font-weight: 650;
    margin-bottom: .6rem
}

.nx-contact-form>p {
    color: #64788c;
    line-height: 1.7;
    margin-bottom: 2rem
}

.nx-contact-form .form-control {
    border: 1px solid #cadbe7;
    background: #f8fbfd;
    color: #183149;
    border-radius: 10px;
    min-height: 48px;
    box-shadow: none
}

.nx-contact-form textarea.form-control {
    min-height: 155px
}

.nx-contact-form .form-control:focus {
    border-color: #1799c1;
    box-shadow: 0 0 0 3px #1799c11c
}

.nx-contact-form .control-label,
.nx-contact-form label {
    color: #263c50;
    font-weight: 600
}

.nx-contact-form .nx-btn {
    border: 0;
    cursor: pointer
}

.nx-contact-form .nx-btn--subtle {
    background: #e8f2f8;
    color: #174660 !important
}

.nx-premium .fe-site-captcha {
    margin-bottom: 1.25rem
}

/* Preparação visual para a view de login original: preserva formulário e white label */
.fe-public-app:has(.nx-premium-login) .fe-public-header {
    background: #0c192c;
    border-color: #263b55
}

.fe-public-app:has(.nx-premium-login) .fe-public-header__brand,
.fe-public-app:has(.nx-premium-login) .fe-public-header__nav a {
    color: #e8f2fb
}

.fe-public-app:has(.nx-premium-login) .fe-public-header__nav a:hover {
    background: #20354e;
    color: #6ce1f9;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-login) .fe-public-header__nav .fe-public-header__action {
    background: #27b8de;
    color: #081a2d
}

.nx-premium-login.fe-site-auth-page {
    background: radial-gradient(circle at 20% 25%, #1f678b35, transparent 40%), linear-gradient(130deg, #0a182a, #18334e);
    padding: clamp(1rem, 4vw, 4rem)
}

.nx-premium-login .fe-site-auth-shell {
    background: #fff;
    box-shadow: 0 28px 75px #0005;
    border: 1px solid #41617b55
}

.nx-premium-login .fe-site-auth-aside {
    background: linear-gradient(145deg, #102a43, #0a192c);
    color: #f2faff
}

.nx-premium-login .fe-site-auth-aside__content h1 {
    color: #fff
}

.nx-premium-login .fe-site-auth-aside__content h1 span {
    color: #59d4ee
}

.nx-premium-login .fe-site-auth-aside__content p,
.nx-premium-login .fe-site-auth-aside__features>span {
    color: #b5cadb
}

.nx-premium-login .fe-site-auth-form {
    background: #fff;
    color: #193047
}

.nx-premium-login .fe-site-auth-form__header h2 {
    color: #183149
}

.nx-premium-login .fe-site-auth-form .form-control {
    border-radius: 10px;
    border: 1px solid #cadbe7;
    background: #f8fbfd
}

@media(max-width:980px) {

    .nx-inner-hero__grid,
    .nx-contact-layout {
        grid-template-columns: 1fr
    }

    .nx-inner-hero__panel {
        max-width: 650px
    }

    .nx-inner-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:680px) {

    .nx-inner-hero,
    .nx-inner-content {
        padding-left: 1.2rem;
        padding-right: 1.2rem
    }

    .nx-inner-grid {
        grid-template-columns: 1fr
    }

    .nx-contact-form {
        padding: 1.4rem
    }
}


/* ============================================================
   Premium Hybrid V2 — páginas auxiliares
   Escopo: páginas públicas institucionais e status autenticado.
   ============================================================ */
.fe-public-app:has(.nx-premium-aux) .fe-public-header {
    background: #0c192c;
    border-color: #263b55;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-aux) .fe-public-header__brand,
.fe-public-app:has(.nx-premium-aux) .fe-public-header__nav a {
    color: #e8f2fb
}

.fe-public-app:has(.nx-premium-aux) .fe-public-header__nav a:hover,
.fe-public-app:has(.nx-premium-aux) .fe-public-header__nav a.is-active {
    background: #20354e;
    color: #6ce1f9;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-aux) .fe-public-header__nav .fe-public-header__action {
    background: #27b8de;
    color: #081a2d;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-aux) .fe-public-header__menu-button {
    background: #20354e;
    color: #fff;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-aux) .fe-public-footer {
    background: #0b1728;
    color: #a8b8cb;
    border-color: #253850
}

.fe-public-app:has(.nx-premium-aux) .fe-public-main {
    background: #f2f5f9
}

.nx-premium-aux {
    --nx-aux-ink: #10243b;
    --nx-aux-cyan: #28bde1;
    --nx-aux-muted: #65758b;
    box-sizing: border-box
}

.nx-premium-aux *,
.nx-premium-aux *::before,
.nx-premium-aux *::after {
    box-sizing: border-box
}

.nx-premium-aux.fe-site-auth-page {
    min-height: calc(100vh - 140px);
    padding: clamp(2rem, 5vw, 5rem) 1.25rem;
    background: radial-gradient(circle at 20% 15%, #dceef5 0, transparent 34%), #f2f5f9
}

.nx-premium-aux .fe-site-auth-compact,
.nx-premium-aux .fe-site-error {
    background: #fff;
    border: 1px solid #dce6ef;
    border-radius: 22px;
    box-shadow: 0 22px 65px #163b5a1c
}

.nx-premium-aux .fe-site-auth-compact {
    width: min(100%, 600px)
}

.nx-premium-aux .fe-site-auth-compact__icon,
.nx-premium-aux .fe-site-error__icon {
    background: #e6f7fb;
    border-radius: 15px
}

.nx-premium-aux .fe-site-auth-compact__icon .material-symbols-outlined,
.nx-premium-aux .fe-site-error__icon .material-symbols-outlined {
    color: #117d9e
}

.nx-premium-aux .fe-site-auth-form__header>span,
.nx-premium-aux .fe-site-badge {
    color: #087e9e
}

.nx-premium-aux .fe-site-auth-form__header h1,
.nx-premium-aux .fe-site-error h1 {
    color: #10243b;
    font-weight: 650;
    letter-spacing: -.04em
}

.nx-premium-aux .fe-site-auth-form__header p,
.nx-premium-aux .fe-site-error>p {
    color: #65758b
}

.nx-premium-aux .fe-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.4rem
}

.nx-premium-aux .fe-button--primary {
    background: #0a8faf;
    color: #fff;
    border-color: #0a8faf;
    box-shadow: none
}

.nx-premium-aux .fe-site-auth-form__footer {
    color: #718197
}

.nx-premium-aux .fe-site-error__message {
    background: #eef5f9;
    color: #263d53 !important;
    border: 1px solid #dae8f0
}

/* White label: preserva tokens, logotipo e background personalizados. */
.nx-premium-aux.fe-site-auth-page--branded {
    background: radial-gradient(circle at 50% 10%, color-mix(in srgb, var(--nx-brand-primary, #0066ff) 16%, transparent), transparent 38%), var(--fe-page-bg, #edf1f5)
}

.nx-premium-aux.fe-site-auth-page--branded.fe-site-auth-page--has-background {
    background-image: linear-gradient(rgba(237, 241, 245, .48), rgba(237, 241, 245, .62)), var(--nx-login-background-image);
    background-position: center;
    background-size: cover
}

.nx-premium-aux.fe-site-auth-page--branded .fe-site-auth-compact {
    background: var(--fe-surface, #eef2f6);
    border-color: var(--fe-border-soft, rgba(103, 119, 142, .14))
}

.nx-premium-aux.fe-site-auth-page--branded .fe-site-auth-compact__icon {
    background: color-mix(in srgb, var(--nx-brand-primary, #0066ff) 12%, transparent)
}

.nx-premium-aux.fe-site-auth-page--branded .fe-site-auth-compact__icon .material-symbols-outlined {
    color: var(--nx-brand-primary, #0066ff)
}

.nx-premium-aux.fe-site-auth-page--branded .fe-button--primary {
    background: var(--nx-brand-primary, #0066ff);
    border-color: var(--nx-brand-primary, #0066ff)
}

/* Status da conta: apenas acabamento, sem alterar tokens Light/Dark operacionais. */
body.fe-app .nx-premium-status .fe-site-status-hero,
body.fe-app .nx-premium-status .fe-site-section {
    border-radius: 22px
}

body.fe-app .nx-premium-status .fe-site-status-hero h1 {
    font-weight: 650;
    letter-spacing: -.035em
}

body.fe-app .nx-premium-status .fe-site-status-steps>div {
    border-radius: 14px
}

body.fe-app .nx-premium-status .fe-site-status-steps>div.is-complete {
    border-inline-start: 3px solid var(--fe-success, #3b8265)
}

body.fe-app .nx-premium-status .fe-site-status-steps>div.is-current {
    border-inline-start: 3px solid var(--fe-warning, #a77d2c)
}

@media(max-width:820px) {
    .fe-public-app:has(.nx-premium-aux) .fe-public-header__nav {
        background: #132b43;
        border-color: #38526b;
        box-shadow: 0 15px 30px #0006
    }
}

@media(max-width:600px) {
    .nx-premium-aux.fe-site-auth-page {
        padding: 1.25rem .75rem
    }

    .nx-premium-aux .fe-site-auth-compact,
    .nx-premium-aux .fe-site-error {
        padding: 1.5rem
    }

    .nx-premium-aux .fe-form-actions>* {
        max-width: 100%
    }
}

/* Login institucional Premium V2: exclusivamente quando não for portal white label. */
.nx-premium-login .fe-site-auth-shell {
    overflow: hidden;
    border-radius: 24px;
    max-width: 1160px
}

.nx-premium-login .fe-site-auth-aside {
    position: relative
}

.nx-premium-login .fe-site-auth-aside::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: -135px;
    width: 340px;
    height: 340px;
    border: 1px solid rgba(89, 212, 238, .17);
    border-radius: 50%;
    pointer-events: none
}

.nx-premium-login .fe-site-auth-aside__features .material-symbols-outlined {
    color: #63d7ee
}

.nx-premium-login .fe-site-auth-form__header>span {
    color: #138cae;
    font-weight: 650
}

.nx-premium-login .fe-site-auth-form__header p {
    color: #687d8d
}

.nx-premium-login .fe-site-auth-form .form-control:focus {
    border-color: #1b9fc2;
    box-shadow: 0 0 0 3px rgba(27, 159, 194, .16)
}

.nx-premium-login .fe-site-auth-form__submit {
    background: #078fb5;
    color: #fff;
    border-color: #078fb5;
    box-shadow: none
}

.nx-premium-login .fe-site-auth-form__submit:hover {
    background: #067b9d;
    border-color: #067b9d
}

.nx-premium-login .fe-site-auth-form__links,
.nx-premium-login .fe-site-auth-form__footer {
    color: #6a7e91
}

.nx-premium-login .fe-link {
    color: #087f9e
}

.nx-premium-login .fe-site-auth-aside__brand strong {
    color: #fff
}

.nx-premium-login .fe-site-auth-aside__brand span {
    color: #8fc2d4
}

@media(max-width:820px) {
    .fe-public-app:has(.nx-premium-login) .fe-public-header__nav {
        background: #132b43;
        border-color: #38526b;
        box-shadow: 0 15px 30px #0006
    }
}

@media(max-width:600px) {
    .nx-premium-login.fe-site-auth-page {
        padding: 1rem .75rem
    }

    .nx-premium-login .fe-site-auth-shell {
        border-radius: 16px
    }
}


/* Premium Hybrid V2 — Cadastro institucional (escopo exclusivo) */
.fe-public-app:has(.nx-premium-signup) .fe-public-header {
    background: #0c192c;
    border-color: #263b55;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-signup) .fe-public-header__brand,
.fe-public-app:has(.nx-premium-signup) .fe-public-header__nav a {
    color: #e8f2fb
}

.fe-public-app:has(.nx-premium-signup) .fe-public-header__nav a:hover {
    background: #20354e;
    color: #6ce1f9;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-signup) .fe-public-header__nav .fe-public-header__action {
    background: #27b8de;
    color: #081a2d;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-signup) .fe-public-header__menu-button {
    background: #20354e;
    color: #fff;
    box-shadow: none
}

.fe-public-app:has(.nx-premium-signup) .fe-public-footer {
    background: #0b1728;
    color: #a8b8cb;
    border-color: #253850
}

.nx-premium-signup.fe-site-page {
    max-width: none;
    padding: clamp(1.25rem, 4vw, 4rem);
    background: radial-gradient(circle at 12% 20%, #21547722, transparent 36%), #f2f5f9;
    min-height: 75vh
}

.nx-premium-signup .fe-site-signup-shell {
    max-width: 1280px;
    margin-inline: auto;
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #d8e4ed;
    box-shadow: 0 28px 75px #15324a20
}

.nx-premium-signup .fe-site-signup-aside {
    background: linear-gradient(145deg, #102a43, #09192c);
    color: #eef7fc
}

.nx-premium-signup .fe-site-signup-aside h1 {
    color: #fff;
    letter-spacing: -.04em
}

.nx-premium-signup .fe-site-signup-aside h1 span {
    color: #65d5ec
}

.nx-premium-signup .fe-site-signup-aside p {
    color: #b8cbdc
}

.nx-premium-signup .fe-site-signup-plan {
    background: #ffffff0d;
    border: 1px solid #ffffff29;
    border-radius: 18px;
    box-shadow: none
}

.nx-premium-signup .fe-site-signup-plan>span {
    color: #a9c3d7
}

.nx-premium-signup .fe-site-signup-plan>strong {
    color: #fff
}

.nx-premium-signup .fe-site-signup-form {
    background: #fff;
    color: #1a3047
}

.nx-premium-signup .fe-site-auth-form__header>span {
    color: #0787a8;
    font-weight: 650
}

.nx-premium-signup .fe-site-auth-form__header h2,
.nx-premium-signup .fe-form-section__header h2 {
    color: #10243b
}

.nx-premium-signup .fe-site-auth-form__header p,
.nx-premium-signup .fe-form-section__header p {
    color: #65758b
}

.nx-premium-signup .form-control {
    background: #f8fbfd;
    border: 1px solid #cbdce7;
    border-radius: 10px
}

.nx-premium-signup .form-control:focus {
    border-color: #169fc0;
    box-shadow: 0 0 0 3px #169fc020
}

.nx-premium-signup .fe-button--primary {
    background: #078fb5;
    color: #fff;
    border-color: #078fb5;
    box-shadow: none
}

.nx-premium-signup .fe-button--primary:hover {
    background: #067b9d;
    border-color: #067b9d
}

.nx-premium-signup .fe-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem
}

@media(max-width:820px) {
    .fe-public-app:has(.nx-premium-signup) .fe-public-header__nav {
        background: #132b43;
        border-color: #38526b;
        box-shadow: 0 15px 30px #0006
    }
}

@media(max-width:600px) {
    .nx-premium-signup.fe-site-page {
        padding: 1rem .75rem
    }

    .nx-premium-signup .fe-site-signup-shell {
        border-radius: 16px
    }
}


/* Premium Hybrid V2 — correção de overflow no resumo comercial do signup.
   Escopo restrito à página de cadastro; sem impacto nos temas operacionais. */
.nx-premium-signup .fe-site-signup-shell,
.nx-premium-signup .fe-site-signup-aside,
.nx-premium-signup .fe-site-signup-plan {
    min-width: 0;
    box-sizing: border-box
}

.nx-premium-signup .fe-site-signup-plan {
    max-width: 100%;
    overflow-wrap: anywhere
}

.nx-premium-signup .nx-premium-signup-plan__offers {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .65rem;
    width: 100%;
    min-width: 0;
}

.nx-premium-signup .nx-premium-signup-plan__offers .fe-chip {
    display: block;
    width: fit-content;
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.55;
    text-align: left;
    padding: .55rem .8rem;
}

.nx-premium-signup .nx-premium-signup-plan__offers .fe-chip--neutral {
    background: rgba(148, 183, 212, .14);
    color: #d6e9f7;
    border: 1px solid rgba(174, 211, 233, .22);
}

.nx-premium-signup .nx-premium-signup-plan__offers .fe-chip--success {
    background: rgba(28, 185, 140, .13);
    color: #a9f2d5;
    border: 1px solid rgba(90, 223, 170, .32);
}