/* =========================================================
   SSHNETPLUS — PROFESSIONAL UI v255
   Camada visual segura. Não altera lógica de negócio.
   ========================================================= */

:root{
    --ui-bg:#070a0f;
    --ui-surface:#0d121a;
    --ui-surface-2:#111824;
    --ui-surface-3:#151d29;
    --ui-line:rgba(148,163,184,.16);
    --ui-line-strong:rgba(148,163,184,.25);
    --ui-text:#f8fafc;
    --ui-muted:#94a3b8;
    --ui-muted-2:#718096;
    --ui-primary:var(--red,#1687ff);
    --ui-success:var(--green,#21c67a);
    --ui-radius:18px;
    --ui-radius-lg:24px;
    --ui-shadow:0 24px 70px rgba(0,0,0,.28);
    --ui-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

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

html{
    min-width:320px;
    background:var(--ui-bg);
    color-scheme:dark;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    scroll-behavior:smooth;
}

body{
    min-width:320px;
    margin:0;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 50% -15%,rgba(22,135,255,.10),transparent 32rem),
        var(--ui-bg);
    color:var(--ui-text);
    font-family:var(--ui-font)!important;
    font-size:15px;
    line-height:1.55;
    font-weight:450;
    letter-spacing:-.008em;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}

button,
input,
select,
textarea{
    font:inherit;
}

button,
a{
    -webkit-tap-highlight-color:transparent;
}

img,
svg,
video,
iframe{
    max-width:100%;
}

img{
    height:auto;
}

[hidden]{
    display:none!important;
}

/* ---------- TIPOGRAFIA ---------- */

h1,h2,h3,h4,h5,h6,
strong,b,
.primary-button,
.outline-button,
.device-card strong,
.plan-card h3{
    font-family:var(--ui-font)!important;
}

h1,h2,h3,h4,h5,h6{
    margin-top:0;
    color:var(--ui-text);
    font-weight:800;
    line-height:1.08;
    letter-spacing:-.035em;
    text-wrap:balance;
}

p{
    text-wrap:pretty;
}

.eyebrow,
.section-mini-label,
.setup-kicker,
.expired-paywall-kicker{
    font-family:var(--ui-font)!important;
    font-weight:850!important;
    letter-spacing:.12em!important;
}

/* ---------- TOPO ---------- */

.topbar{
    position:relative;
    z-index:30;
    width:100%;
    min-height:72px;
    padding:0 clamp(18px,3vw,44px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px;
    border-bottom:1px solid rgba(148,163,184,.12)!important;
    background:rgba(5,8,12,.90)!important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.brand{
    min-width:0;
    display:inline-flex!important;
    align-items:center!important;
    gap:11px!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:18px!important;
    font-weight:850!important;
    letter-spacing:.045em!important;
}

.brand img{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px;
    object-fit:contain;
    border-radius:8px;
}

.brand span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.support-link{
    flex:0 0 auto;
    color:#a8b3c3!important;
    font-size:13px!important;
    font-weight:650!important;
    text-decoration:none!important;
    transition:color .2s ease;
}

.support-link:hover{
    color:#fff!important;
}

/* ---------- CONTAINERS ---------- */

.page-shell,
.payment-shell,
.payment-shell--sigma,
.access-page{
    width:min(1180px,calc(100% - 36px))!important;
    max-width:1180px!important;
    margin-inline:auto!important;
}

.page-shell{
    padding:40px 0 72px!important;
}

.payment-shell,
.payment-shell--sigma{
    padding:54px 0 84px!important;
}

.panel,
.hero-ready,
.access-hero,
.payment-card,
.payment-intro-card,
.sigma-pix-card,
.sigma-pix-summary,
.sigma-official-summary,
.sigma-embed-card,
.expired-paywall-hero,
.customer-data-card{
    border:1px solid var(--ui-line)!important;
    border-radius:var(--ui-radius-lg)!important;
    background:
        linear-gradient(180deg,rgba(17,24,36,.98),rgba(12,17,25,.98))!important;
    box-shadow:0 1px 0 rgba(255,255,255,.02) inset,var(--ui-shadow)!important;
}

.panel{
    padding:clamp(20px,2.5vw,30px)!important;
}

/* ---------- ALERTAS / TOAST ---------- */

.toast{
    width:min(100%,760px)!important;
    margin:0 auto 18px!important;
    padding:14px 16px!important;
    border-radius:14px!important;
    font-size:13px!important;
    line-height:1.45!important;
}

/* ---------- STEPS ---------- */

.steps{
    width:min(560px,100%)!important;
    margin:0 auto 34px!important;
}

.step small{
    margin-top:7px!important;
    color:#7e8a9d!important;
    font-size:10px!important;
    font-weight:750!important;
    letter-spacing:.02em!important;
}

.step span{
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    font-size:12px!important;
    box-shadow:0 8px 22px rgba(0,0,0,.22);
}

.step.is-active small,
.step.is-done small{
    color:#6bb4ff!important;
}

/* ---------- HERO ---------- */

.intro-grid,
.hero-ready{
    display:grid!important;
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
    gap:clamp(28px,5vw,64px)!important;
    align-items:center!important;
    min-height:300px!important;
    margin-bottom:24px!important;
    padding:clamp(26px,4vw,42px)!important;
}

.intro-grid h1,
.hero-ready h1,
.access-hero-copy h1{
    max-width:780px;
    margin:8px 0 14px!important;
    font-size:clamp(34px,4.2vw,58px)!important;
    line-height:1.00!important;
    letter-spacing:-.052em!important;
}

.intro-grid p,
.hero-ready p,
.access-hero-copy p{
    max-width:720px!important;
    margin:0!important;
    color:#a8b3c5!important;
    font-size:clamp(14px,1.35vw,17px)!important;
    line-height:1.7!important;
}

.hero-image,
.hero-ready>img{
    width:min(100%,430px)!important;
    max-height:290px!important;
    justify-self:end;
    object-fit:contain!important;
}

.trust-row{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px 16px!important;
    margin-top:22px!important;
}

.trust-row span{
    color:#7f8da1!important;
    font-size:11px!important;
    font-weight:650!important;
}

/* ---------- CABEÇALHOS DE SEÇÃO ---------- */

.section-heading{
    margin-bottom:18px!important;
}

.section-heading>div{
    padding-left:50px!important;
}

.section-heading h2{
    margin:3px 0 5px!important;
    font-size:clamp(21px,2vw,27px)!important;
    font-weight:800!important;
}

.section-heading p{
    color:#8795aa!important;
    font-size:12px!important;
    line-height:1.55!important;
}

.section-number{
    width:34px!important;
    height:34px!important;
    top:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    box-shadow:0 10px 25px rgba(22,135,255,.18);
}

/* ---------- APPS ---------- */

.device-grid,
.app-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:12px!important;
}

.device-card,
.app-card{
    min-width:0!important;
    min-height:142px!important;
    padding:18px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:1px solid var(--ui-line)!important;
    border-radius:16px!important;
    background:rgba(10,15,22,.78)!important;
    color:#fff!important;
    box-shadow:none!important;
    transition:
        border-color .2s ease,
        background-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease!important;
}

.device-card:hover,
.app-card:hover{
    transform:translateY(-2px)!important;
    border-color:rgba(92,170,255,.46)!important;
    background:rgba(18,28,41,.92)!important;
}

.device-card.is-selected,
.app-card.is-selected{
    border-color:var(--ui-primary)!important;
    background:
        linear-gradient(180deg,rgba(22,135,255,.14),rgba(12,21,32,.96))!important;
    box-shadow:
        0 0 0 1px rgba(22,135,255,.20) inset,
        0 14px 34px rgba(0,91,201,.12)!important;
}

.app-logo{
    width:54px!important;
    height:54px!important;
    display:grid!important;
    place-items:center!important;
    margin-bottom:2px!important;
    border-radius:14px!important;
    overflow:hidden!important;
}

.app-logo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
}

.device-card strong,
.app-card strong{
    max-width:100%;
    color:#fff!important;
    font-size:12px!important;
    font-weight:780!important;
    line-height:1.3!important;
    text-align:center!important;
    overflow-wrap:anywhere;
}

.device-card small,
.app-card small{
    color:#77859a!important;
    font-size:10px!important;
    line-height:1.35!important;
    text-align:center!important;
}

.app-featured-badge{
    top:8px!important;
    left:8px!important;
    max-width:calc(100% - 16px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* ---------- FORMULÁRIO ---------- */

.form-panel{
    padding:clamp(20px,2.5vw,30px)!important;
}

.section-divider{
    margin:24px 0!important;
    border-color:rgba(148,163,184,.10)!important;
}

.customer-data-card{
    position:relative;
    padding:clamp(18px,2.3vw,26px)!important;
    overflow:hidden!important;
}

.customer-data-card::before{
    opacity:.55!important;
}

.customer-data-card__header{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    padding-bottom:18px!important;
    margin-bottom:18px!important;
    border-bottom:1px solid rgba(148,163,184,.12)!important;
}

.customer-data-card__icon{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
}

.customer-data-card__header strong{
    color:#fff!important;
    font-size:14px!important;
    font-weight:780!important;
}

.customer-data-card__header small{
    color:#7f8da1!important;
    font-size:10px!important;
    line-height:1.45!important;
}

.customer-data-card__badge{
    padding:7px 11px!important;
    border-radius:999px!important;
    font-size:10px!important;
    font-weight:800!important;
}

.form-grid--customer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
}

.modern-field,
.modern-field-group,
.phone-field{
    min-width:0!important;
}

.modern-field__label{
    min-width:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-bottom:7px!important;
}

.modern-field__label>span{
    color:#f4f7fb!important;
    font-size:12px!important;
    font-weight:760!important;
}

.modern-field__label>small{
    max-width:52%;
    color:#718096!important;
    font-size:9.5px!important;
    line-height:1.4!important;
    text-align:right!important;
}

.modern-input-shell{
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 28px!important;
    align-items:center!important;
    gap:0!important;
    padding:0 10px 0 0!important;
    overflow:hidden!important;
    border:1px solid #cbd5e1!important;
    border-radius:13px!important;
    background:#e8f0fc!important;
    transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease!important;
}

.modern-input-shell:focus-within{
    border-color:#53a8ff!important;
    background:#f4f8ff!important;
    box-shadow:0 0 0 4px rgba(22,135,255,.12)!important;
}

.modern-input-icon{
    display:grid!important;
    place-items:center!important;
    color:#708198!important;
}

.modern-input-icon svg{
    width:18px!important;
    height:18px!important;
    stroke:currentColor!important;
    fill:none!important;
    stroke-width:1.7!important;
}

.customer-data-card input,
.customer-data-card .modern-input-shell input{
    min-width:0!important;
    width:100%!important;
    height:48px!important;
    padding:0 8px!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:#07111f!important;
    font-size:14px!important;
    font-weight:730!important;
    letter-spacing:-.01em!important;
    box-shadow:none!important;
}

.customer-data-card input::placeholder{
    color:#8594aa!important;
    font-weight:550!important;
}

.modern-input-check{
    display:grid!important;
    place-items:center!important;
    color:#6681a5!important;
    font-size:17px!important;
}

.field-help,
.field-help--modern{
    display:flex!important;
    align-items:flex-start!important;
    gap:6px!important;
    margin-top:7px!important;
    color:#718096!important;
    font-size:9.5px!important;
    line-height:1.45!important;
}

.field-help svg{
    width:13px!important;
    height:13px!important;
    flex:0 0 13px!important;
}

/* telefone dividido */
.international-phone-fields{
    display:grid!important;
    grid-template-columns:minmax(120px,.32fr) minmax(0,1fr)!important;
    gap:12px!important;
}

.country-code-field .modern-input-shell{
    grid-template-columns:42px minmax(0,1fr)!important;
}

/* ---------- E-MAIL ---------- */

#emailVerificationBox,
.email-verify-card{
    min-width:0!important;
    width:100%!important;
    padding:16px!important;
    border:1px solid rgba(22,135,255,.36)!important;
    border-radius:16px!important;
    background:
        linear-gradient(180deg,rgba(5,32,59,.76),rgba(4,24,43,.82))!important;
    overflow:hidden!important;
}

#emailVerificationBox.is-verified,
#emailVerificationBox[data-email-verified="1"],
.email-verify-card.is-verified{
    border-color:rgba(33,198,122,.45)!important;
    background:
        linear-gradient(180deg,rgba(4,45,36,.65),rgba(3,29,27,.80))!important;
}

#emailVerificationStatus{
    max-width:100%!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    font-size:9px!important;
    font-weight:850!important;
    white-space:nowrap!important;
}

#emailVerificationCodeArea{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin-top:12px;
}

#emailVerificationCode{
    min-width:0!important;
    height:44px!important;
    padding:0 12px!important;
    border:1px solid rgba(148,163,184,.22)!important;
    border-radius:11px!important;
    background:#07101a!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:750!important;
}

#confirmEmailVerificationCode,
#sendEmailVerificationCode{
    min-height:44px!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:11px!important;
    background:var(--ui-primary)!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:800!important;
}

#emailVerificationBox.is-verified #emailVerificationCodeArea,
#emailVerificationBox.is-verified #emailVerificationCode,
#emailVerificationBox.is-verified #confirmEmailVerificationCode,
#emailVerificationBox[data-email-verified="1"] #emailVerificationCodeArea,
#emailVerificationBox[data-email-verified="1"] #emailVerificationCode,
#emailVerificationBox[data-email-verified="1"] #confirmEmailVerificationCode{
    display:none!important;
}

/* ---------- RODAPÉ DO FORM ---------- */

.customer-form-footer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(310px,.72fr)!important;
    gap:14px!important;
    align-items:stretch!important;
    margin-top:18px!important;
    padding-top:18px!important;
    border-top:1px solid rgba(148,163,184,.10)!important;
}

.customer-privacy-box{
    min-width:0!important;
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:13px 14px!important;
    border:1px solid rgba(33,198,122,.30)!important;
    border-radius:13px!important;
    background:rgba(5,55,42,.28)!important;
}

.customer-privacy-box strong{
    color:#63f0a5!important;
    font-size:11px!important;
    font-weight:780!important;
}

.customer-privacy-box small{
    display:block!important;
    margin-top:2px!important;
    color:#6fa68e!important;
    font-size:9px!important;
    line-height:1.4!important;
}

.primary-button,
.primary-button--customer{
    min-width:0!important;
    min-height:58px!important;
    padding:0 18px!important;
    border-radius:13px!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:-.01em!important;
    box-shadow:0 12px 28px rgba(22,135,255,.16)!important;
}

.primary-button:disabled{
    cursor:not-allowed!important;
    box-shadow:none!important;
    opacity:.58!important;
}

.form-readiness-note{
    margin:7px 2px 0!important;
    color:#718096!important;
    font-size:9px!important;
    line-height:1.4!important;
    text-align:right!important;
}

/* ---------- ACESSO ---------- */

.access-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:28px!important;
    align-items:center!important;
    padding:clamp(24px,4vw,40px)!important;
    margin-bottom:18px!important;
}

.access-app-badge{
    max-width:360px!important;
    min-width:0!important;
    padding:14px!important;
    border-radius:16px!important;
}

.access-layout{
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;
    gap:18px!important;
}

.credentials-panel,
.access-countdown-panel{
    min-width:0!important;
}

.credential-row{
    min-width:0!important;
    border-radius:13px!important;
}

.credential-row strong,
.credential-row [data-credential-value]{
    min-width:0;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
}

.countdown-units{
    gap:10px!important;
}

.countdown-units>div{
    min-width:0!important;
    border-radius:13px!important;
}

/* ---------- PLANOS ---------- */

.plans-grid,
.sigma-plan-grid{
    gap:12px!important;
}

.plan-card,
.sigma-plan-card{
    min-width:0!important;
    border-radius:16px!important;
    overflow:hidden!important;
}

.plan-card h3,
.sigma-plan-card strong{
    overflow-wrap:anywhere!important;
}

.plan-card button,
.sigma-plan-card button,
.sigma-plan-card label{
    border-radius:11px!important;
}

/* ---------- PAGAMENTO ---------- */

.payment-intro-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(260px,.34fr)!important;
    align-items:center!important;
    gap:28px!important;
    margin-bottom:18px!important;
    padding:clamp(24px,4vw,36px)!important;
}

.payment-intro-card h1{
    margin:8px 0 10px!important;
    font-size:clamp(36px,4vw,54px)!important;
    line-height:1!important;
}

.payment-intro-card p{
    max-width:720px!important;
    margin:0!important;
    color:#9eabc0!important;
    font-size:14px!important;
    line-height:1.65!important;
}

.payment-plan-chip{
    min-width:0!important;
    padding:16px 18px!important;
    border-radius:16px!important;
}

.payment-plan-chip strong{
    overflow-wrap:anywhere!important;
}

.sigma-pix-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr)!important;
    gap:18px!important;
    align-items:start!important;
}

.sigma-pix-card,
.sigma-pix-summary{
    min-width:0!important;
    padding:clamp(20px,3vw,28px)!important;
}

.sigma-pix-card-head{
    text-align:center!important;
}

.sigma-pix-card-head h2{
    margin:6px 0 8px!important;
    font-size:clamp(27px,3vw,38px)!important;
    line-height:1.08!important;
}

.sigma-pix-card-head p{
    margin:0 auto 18px!important;
    max-width:680px!important;
    color:#9ba9bd!important;
    font-size:13px!important;
    line-height:1.55!important;
}

.sigma-pix-qr-wrap{
    max-width:360px!important;
    margin-inline:auto!important;
    padding:16px!important;
    border-radius:18px!important;
}

.sigma-pix-qr-wrap img{
    width:min(100%,320px)!important;
    height:auto!important;
    aspect-ratio:1!important;
    object-fit:contain!important;
}

.sigma-pix-generation{
    border-radius:15px!important;
}

.sigma-pix-generation strong{
    font-size:16px!important;
}

.sigma-pix-placeholder{
    min-height:180px!important;
    border-radius:15px!important;
}

.sigma-summary-line{
    min-width:0!important;
}

.sigma-summary-line strong{
    min-width:0!important;
    overflow-wrap:anywhere!important;
}

/* ---------- EXPIRADO ---------- */

.expired-paywall-hero{
    padding:clamp(26px,5vw,48px)!important;
}

.expired-paywall-hero h1{
    font-size:clamp(34px,4vw,54px)!important;
}

.expired-paywall-status{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
}

/* ---------- REQUISITOS / BLOCOS GENÉRICOS ---------- */

.setup-panel,
.setup-panel--highlight,
.secure-cta,
.login-preview,
.testing-tools-panel{
    min-width:0!important;
    border-radius:18px!important;
}

pre,
code,
.mono{
    max-width:100%;
    overflow-wrap:anywhere;
}

/* ---------- BREAKPOINTS ---------- */

@media (max-width:1120px){
    .device-grid,
    .app-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }

    .sigma-pix-layout{
        grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr)!important;
    }
}

@media (max-width:920px){
    .intro-grid,
    .hero-ready,
    .payment-intro-card,
    .access-hero{
        grid-template-columns:1fr!important;
    }

    .hero-image,
    .hero-ready>img{
        justify-self:center!important;
        order:-1;
        max-height:230px!important;
    }

    .payment-plan-chip,
    .access-app-badge{
        width:100%!important;
        max-width:none!important;
    }

    .access-layout,
    .sigma-pix-layout{
        grid-template-columns:1fr!important;
    }

    .customer-form-footer{
        grid-template-columns:1fr!important;
    }

    .form-readiness-note{
        text-align:left!important;
    }

    .device-grid,
    .app-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}

@media (max-width:720px){
    body{
        font-size:14px;
    }

    .topbar{
        min-height:64px!important;
        padding:0 16px!important;
    }

    .brand{
        font-size:15px!important;
        gap:9px!important;
    }

    .brand img{
        width:30px!important;
        height:30px!important;
        flex-basis:30px!important;
    }

    .support-link{
        max-width:44%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:11px!important;
    }

    .page-shell,
    .payment-shell,
    .payment-shell--sigma,
    .access-page{
        width:min(100% - 22px,1180px)!important;
    }

    .page-shell{
        padding:28px 0 52px!important;
    }

    .payment-shell,
    .payment-shell--sigma{
        padding:32px 0 58px!important;
    }

    .steps{
        margin-bottom:26px!important;
    }

    .intro-grid,
    .hero-ready,
    .payment-intro-card,
    .access-hero,
    .panel,
    .sigma-pix-card,
    .sigma-pix-summary{
        padding:18px!important;
        border-radius:18px!important;
    }

    .intro-grid h1,
    .hero-ready h1,
    .access-hero-copy h1{
        font-size:clamp(30px,10vw,42px)!important;
    }

    .device-grid,
    .app-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }

    .device-card,
    .app-card{
        min-height:126px!important;
        padding:14px 8px!important;
    }

    .app-logo{
        width:48px!important;
        height:48px!important;
    }

    .customer-data-card{
        padding:16px!important;
        border-radius:18px!important;
    }

    .customer-data-card__header{
        grid-template-columns:42px minmax(0,1fr)!important;
        gap:12px!important;
    }

    .customer-data-card__badge{
        grid-column:1/-1;
        justify-self:start;
    }

    .modern-field__label{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:2px!important;
    }

    .modern-field__label>small{
        max-width:none!important;
        text-align:left!important;
    }

    .international-phone-fields{
        grid-template-columns:1fr!important;
    }

    #emailVerificationCodeArea{
        grid-template-columns:1fr!important;
    }

    #confirmEmailVerificationCode{
        width:100%!important;
    }

    .expired-paywall-status{
        grid-template-columns:1fr!important;
    }

    .payment-intro-card h1{
        font-size:36px!important;
    }
}

@media (max-width:420px){
    .topbar{
        padding-inline:12px!important;
    }

    .page-shell,
    .payment-shell,
    .payment-shell--sigma,
    .access-page{
        width:calc(100% - 16px)!important;
    }

    .brand span{
        max-width:170px;
    }

    .device-card,
    .app-card{
        min-height:118px!important;
    }

    .device-card strong,
    .app-card strong{
        font-size:11px!important;
    }

    .customer-data-card,
    .panel,
    .sigma-pix-card,
    .sigma-pix-summary,
    .payment-intro-card,
    .access-hero{
        padding:14px!important;
    }

    .modern-input-shell{
        min-height:48px!important;
        grid-template-columns:38px minmax(0,1fr) 24px!important;
    }

    .customer-data-card input,
    .customer-data-card .modern-input-shell input{
        font-size:13px!important;
    }

    .primary-button,
    .primary-button--customer{
        min-height:54px!important;
    }

    .payment-intro-card h1{
        font-size:31px!important;
    }

    .sigma-pix-card-head h2{
        font-size:26px!important;
    }
}

/* telas muito largas */
@media (min-width:1500px){
    .page-shell,
    .payment-shell,
    .payment-shell--sigma,
    .access-page{
        max-width:1240px!important;
    }
}
