body.page-numero {
    --wa-green: #25d366;
    --wa-dark: #128c7e;
    --wa-darker: #075e54;
    --wa-teal: #00bfa5;
    --wa-light: #e2e8f0;
    --wa-white: #fff;
    --bg: #f8fafc;
    --card: #fff;
    --border: #e2e8f0;
    --text-dark: #0f172a;
    --text-muted: #64748b;
    --radius: 16px;
    background: #f8fafc;
    min-height: 100vh;
    color: #0f172a;
    font-family: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, sans-serif
}

#step-input {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px
}

#step-analysis {
    background: #f8fafc;
    min-height: 100vh
}

.hide {
    display: none !important
}

.page-wrap {
    width: 100%;
    max-width: 400px
}

.card {
    background: var(--card);
    border-radius: 24px;
    padding: 40px 28px;
    box-shadow: 0 4px 40px #00000014
}

.card-headline {
    color: var(--text-dark);
    text-align: center;
    margin-bottom: 10px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3
}

.card-headline .highlight {
    color: var(--wa-green)
}

.card-sub {
    color: var(--text-muted);
    text-align: center;
    margin-bottom: 32px;
    font-size: 15px;
    line-height: 1.6
}

.field-label {
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600
}

.phone-row {
    gap: 10px;
    margin-bottom: 24px;
    display: flex
}

.phone-prefix {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    min-width: 72px;
    color: var(--text-dark);
    text-align: center;
    background: #f1f5f9;
    padding: 16px 14px;
    font-size: 16px;
    font-weight: 600
}

.phone-number-input {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text-dark);
    outline: none;
    flex: 1;
    padding: 16px;
    font-size: 16px;
    transition: border-color .2s, box-shadow .2s
}

.phone-number-input::placeholder {
    color: #94a3b8
}

.phone-number-input:focus {
    border-color: var(--wa-green);
    box-shadow: 0 0 0 3px #25d3661a
}

.input-error {
    color: #ef4444;
    margin-top: -18px;
    margin-bottom: 16px;
    font-size: 13px;
    display: none
}

.input-error.show {
    display: block
}

.btn-spy {
    border-radius: var(--radius);
    background: var(--wa-green);
    color: #fff;
    cursor: pointer;
    border: none;
    width: 100%;
    padding: 18px;
    font-size: 16px;
    font-weight: 700;
    transition: transform .2s, box-shadow .2s
}

.btn-spy:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px #25d36659
}

.btn-spy:active {
    transform: translateY(0)
}

.btn-spy:disabled {
    opacity: .7;
    cursor: not-allowed;
    transform: none
}

.btn-spy-inner {
    justify-content: center;
    align-items: center;
    gap: 10px;
    display: flex
}

.btn-spy-inner svg {
    width: 20px;
    height: 20px
}

.loading-bar-wrap {
    margin-top: 20px;
    display: none
}

.loading-bar-wrap.show {
    display: block
}

.loading-bar-label {
    color: var(--text-muted);
    text-align: center;
    margin-bottom: 10px;
    font-size: 14px
}

.loading-bar-track {
    background: #e2e8f0;
    border-radius: 10px;
    width: 100%;
    height: 6px;
    overflow: hidden
}

.loading-bar-fill {
    background: var(--wa-green);
    border-radius: 10px;
    width: 0%;
    height: 100%;
    transition: width .3s
}

.security-row {
    color: var(--text-muted);
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 20px;
    font-size: 13px;
    display: flex
}

.security-row svg {
    width: 14px;
    height: 14px;
    color: var(--wa-green)
}

.top-bar {
    background: linear-gradient(135deg, var(--wa-darker), var(--wa-dark));
    color: #fff;
    text-align: center;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 600
}

.container {
    max-width: 440px;
    margin: 0 auto;
    padding: 20px 16px 60px
}

.vsl-label {
    text-align: center;
    margin-bottom: 14px
}

.watch-tag {
    background: var(--wa-green);
    color: #fff;
    border-radius: 6px;
    margin-bottom: 10px;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 800;
    display: inline-block
}

.vsl-label h2 {
    color: var(--text-dark);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5
}

.vsl-wrapper {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 40px #0000001f
}

.cta-btn-wrap {
    margin-bottom: 22px
}

.cta-btn {
    background: linear-gradient(135deg, var(--wa-green), var(--wa-dark));
    color: #fff;
    text-align: center;
    border-radius: 16px;
    width: 100%;
    padding: 18px 24px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    display: block;
    box-shadow: 0 8px 30px #25d36666
}

.analysis-block {
    background: var(--wa-white);
    border: 1px solid var(--wa-light);
    border-radius: 20px;
    margin-bottom: 20px;
    padding: 20px;
    box-shadow: 0 4px 20px #0000000d
}

.profile-progress-row {
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    display: flex
}

.avatar-wrap {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    position: relative
}

.profile-avatar {
    object-fit: cover;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    position: absolute;
    top: 4px;
    left: 4px
}

@keyframes avatarScan {
    0% {
        clip-path: inset(0 0 100%);
        filter: brightness(1.5)contrast(.5)
    }
    50% {
        clip-path: inset(0 0 0%);
        filter: brightness(1.2)contrast(.8)
    }
    to {
        clip-path: inset(100% 0 0);
        filter: brightness(1.5)contrast(.5)
    }
}

.avatar-scanning .profile-avatar {
    opacity: .6;
    animation: 1.8s ease-in-out infinite avatarScan
}

.avatar-scan-line {
    z-index: 10;
    background: linear-gradient(90deg, #0000, #25d366, #0000);
    border-radius: 1px;
    width: 48px;
    height: 2px;
    animation: 1.8s ease-in-out infinite avatarScanLine;
    display: none;
    position: absolute;
    left: 4px;
    box-shadow: 0 0 8px #25d366, 0 0 16px #25d36666
}

.avatar-scanning .avatar-scan-line {
    display: block
}

.avatar-reveal {
    opacity: 1 !important;
    animation: .8s ease-out forwards avatarReveal !important
}

@keyframes avatarReveal {
    0% {
        clip-path: inset(0 0 100%);
        filter: brightness(2)contrast(.5)
    }
    60% {
        clip-path: inset(0 0 0%);
        filter: brightness(1.2)contrast(.9)
    }
    to {
        clip-path: inset(0);
        filter: brightness()contrast()
    }
}

.profile-number {
    color: var(--text-dark);
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 16px;
    font-weight: 700;
    overflow: hidden
}

.status-pill {
    color: var(--wa-dark);
    background: #25d3661a;
    border-radius: 20px;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex
}

.status-dot {
    background: var(--wa-green);
    border-radius: 50%;
    width: 6px;
    height: 6px;
    animation: 1.4s infinite pulse-dot
}

.pct-display {
    text-align: right
}

.pct-number {
    color: var(--wa-green);
    font-size: 28px;
    font-weight: 800;
    line-height: 1
}

.pct-label {
    color: var(--text-muted);
    font-size: 11px
}

.pct-done {
    color: var(--wa-green);
    font-weight: 700;
    display: none
}

.prog-track {
    background: var(--wa-light);
    border-radius: 10px;
    height: 8px;
    margin-bottom: 16px;
    overflow: hidden
}

.prog-fill {
    background: linear-gradient(90deg, var(--wa-green), var(--wa-teal));
    border-radius: 10px;
    width: 0%;
    height: 100%;
    transition: width .4s
}

.wait-text {
    text-align: center;
    color: var(--wa-dark);
    letter-spacing: 1px;
    font-size: 12px;
    font-weight: 800;
    animation: 1.5s infinite pulse
}

.spied-text {
    text-align: center;
    color: var(--text-muted);
    margin-top: 6px;
    font-size: 13px
}

.done-text {
    text-align: center;
    color: var(--wa-green);
    font-size: 14px;
    font-weight: 600;
    display: none
}

.prog-track.travada .prog-fill {
    background: linear-gradient(90deg, #f59e0b, #fbbf24)
}

.pause-alert {
    opacity: 0;
    background: #fffbeb;
    border: 0 solid #fde68a;
    border-left-color: #f59e0b;
    border-radius: 12px;
    align-items: center;
    gap: 10px;
    max-height: 0;
    margin-bottom: 0;
    padding: 0 14px;
    transition: max-height .24s, opacity .2s, transform .24s, padding .24s, margin-bottom .24s, border-width .24s;
    display: flex;
    overflow: hidden;
    transform: translateY(-6px)
}

.pause-alert.show {
    opacity: 1;
    border-width: 1px 1px 1px 4px;
    max-height: 140px;
    margin-bottom: 14px;
    padding: 12px 14px;
    transform: translateY(0)
}

.pause-alert svg {
    flex: none;
    animation: 1.5s infinite pulse
}

.pause-alert span {
    letter-spacing: .3px;
    color: #92400e;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4
}

.items-list {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
    display: flex
}

.analysis-item {
    background: var(--wa-white);
    border: 1px solid var(--wa-light);
    border-radius: 14px;
    align-items: center;
    gap: 12px;
    padding: 14px;
    display: flex
}

.analysis-item.done {
    background: #25d3660a;
    border-color: #25d3664d
}

.item-icon {
    border-radius: 12px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    display: flex
}

.item-text {
    flex: 1
}

.item-text h4 {
    color: var(--text-dark);
    margin-bottom: 2px;
    font-size: 14px;
    font-weight: 700
}

.item-text p {
    color: var(--text-muted);
    font-size: 12px
}

.item-status {
    text-align: center;
    flex-shrink: 0;
    width: 28px
}

.spinner-ring {
    border: 2px solid var(--wa-light);
    border-top-color: var(--wa-green);
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: .8s linear infinite spin
}

.check-circle {
    background: var(--wa-green);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    display: flex
}

.check-circle svg {
    color: #fff;
    width: 14px;
    height: 14px
}

.ssl-badge {
    background: var(--wa-white);
    border: 1px solid var(--wa-light);
    text-align: center;
    border-radius: 16px;
    padding: 16px
}

.ssl-icon {
    background: #25d3661a;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    margin: 0 auto 10px;
    font-size: 22px;
    display: flex
}

.ssl-text {
    color: var(--wa-dark);
    font-size: 13px;
    font-weight: 700
}

.ssl-sub {
    color: var(--text-muted);
    font-size: 11px
}

:root {
    --wa-green: #25D366;
    --wa-dark: #128C7E;
    --wa-darker: #075E54;
    --wa-teal: #00BFA5;
    --wa-bubble: #DCF8C6;
    --bg: #F0F2F5;
    --card: #FFFFFF;
    --dark-card: #1A1A2E;
    --border: rgba(0, 0, 0, .07);
    --text: #111B21;
    --muted: #667781;
    --danger: #E53935;
    --radius: 20px
}

body.page-cta {
    background: var(--bg);
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, sans-serif;
    min-height: 100vh;
    overflow-x: hidden
}

#urgency-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    box-shadow: 0 4px 20px #dc262680
}

.urgency-title {
    font-size: 15px;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 4px
}

.urgency-sub {
    font-size: 13px;
    font-weight: 600;
    color: #fecaca;
    line-height: 1.4
}

.urgency-sub strong {
    color: #fff
}

.urgency-clock {
    background: #1a1a2e;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px
}

.clock-label {
    font-size: 11px;
    font-weight: 700;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: .1em
}

#countdown {
    font-size: 26px;
    font-weight: 900;
    color: #ef4444;
    font-variant-numeric: tabular-nums;
    letter-spacing: .06em;
    line-height: 1;
    text-shadow: 0 0 12px rgba(239, 68, 68, .5);
    animation: countPulse 1s ease-in-out infinite
}

@keyframes countPulse {
    0%,
    to {
        opacity: 1;
        transform: scale(1)
    }
    50% {
        opacity: .82;
        transform: scale(.96)
    }
}

#header-spacer {
    height: 110px
}

.container {
    max-width: 480px;
    margin: 0 auto;
    padding: 20px 16px 64px
}

.logo-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 16px
}

.emergency-alert h2 {
    font-size: 18px;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 8px
}

.emergency-alert p {
    font-size: 13px;
    color: #fecaca;
    line-height: 1.5
}

.emergency-alert p strong {
    color: #fff
}

.profile-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 20px;
    margin-bottom: 14px
}

.profile-row {
    display: flex;
    align-items: center;
    gap: 16px
}

.profile-avatar-wrap {
    position: relative;
    flex-shrink: 0
}

.wa-avatar-ring {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 3px solid var(--wa-green);
    padding: 2px;
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, var(--wa-green), var(--wa-teal)) border-box
}

.wa-avatar-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--wa-darker), var(--wa-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

.wa-avatar-inner svg {
    width: 36px;
    height: 36px
}

.profile-info {
    flex: 1
}

.profile-phone {
    font-size: 17px;
    font-weight: 800;
    color: var(--text);
    margin-bottom: 4px
}

.profile-label {
    font-size: 12px;
    color: var(--muted);
    font-weight: 500
}

.profile-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    background: #25d3661a;
    border: 1px solid rgba(37, 211, 102, .3);
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 11px;
    color: var(--wa-dark);
    font-weight: 600
}

.status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--wa-green);
    animation: blink 1.4s infinite
}

.report-header {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 16px 20px;
    margin-bottom: 14px;
    text-align: center
}

.report-header p {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.5
}

.report-header p strong {
    color: var(--text)
}

.report-header .precision {
    display: inline-block;
    margin-top: 8px;
    background: #25d3661a;
    border: 1px solid rgba(37, 211, 102, .3);
    border-radius: 999px;
    padding: 4px 14px;
    font-size: 12px;
    font-weight: 700;
    color: var(--wa-dark)
}

.report-date {
    font-size: 11px;
    color: var(--muted);
    margin-top: 6px
}

.location-text {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 14px;
    font-size: 13px;
    color: var(--muted);
    line-height: 1.5;
    text-align: center
}

.location-text .city {
    color: var(--danger);
    font-weight: 700
}

.findings-card {
    background: var(--dark-card);
    border-radius: 22px;
    padding: 20px;
    margin-bottom: 14px
}

.findings-card h3 {
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 16px;
    text-align: center
}

.finding-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06)
}

.finding-item:last-child {
    border-bottom: none
}

.finding-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.finding-icon.red {
    background: #e5393526;
    color: #ff6b6b
}

.finding-icon.orange {
    background: #f59e0b26;
    color: #fbbf24
}

.finding-icon.green {
    background: #25d3661f;
    color: var(--wa-green)
}

.finding-icon.purple {
    background: #a78bfa1f;
    color: #a78bfa
}

.finding-icon.blue {
    background: #3b82f61f;
    color: #60a5fa
}

.finding-text {
    font-size: 13px;
    color: #fffc;
    line-height: 1.5;
    flex: 1
}

.finding-text .count {
    color: #ff6b6b;
    font-weight: 800
}

.finding-text .keyword {
    color: #ff6b6b;
    font-weight: 700
}

.finding-text strong {
    color: #fff
}

.result-badge {
    background: linear-gradient(135deg, var(--wa-darker), var(--wa-dark));
    border-radius: 18px;
    padding: 16px 20px;
    text-align: center;
    margin: 0 auto 16px;
    width: 88%;
    box-shadow: 0 4px 20px #075e544d
}

.result-badge .badge-title {
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 5px;
    display: block
}

.result-badge .badge-sub {
    font-size: 13.5px;
    color: #fffc
}

.result-badge .phone-hi {
    color: var(--wa-bubble);
    font-weight: 700
}

.scroll-arrow {
    display: flex;
    justify-content: center;
    margin: 4px 0 14px;
    animation: bounce 2s ease-in-out infinite
}

.scroll-arrow svg {
    width: 22px;
    height: 22px;
    color: var(--muted)
}

@keyframes bounce {
    0%,
    to {
        transform: translateY(0)
    }
    50% {
        transform: translateY(5px)
    }
}

.discoveries {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 16px
}

.discovery-item {
    background: var(--dark-card);
    border-radius: 22px;
    padding: 20px;
    overflow: hidden
}

.disc-alert-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #e5393526;
    border: 1px solid rgba(229, 57, 53, .4);
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #ff6b6b;
    margin-bottom: 14px
}

.disc-alert-badge.orange {
    background: #f59e0b26;
    border-color: #f59e0b66;
    color: #fbbf24
}

.disc-alert-badge.green {
    background: #25d3661f;
    border-color: #25d36659;
    color: var(--wa-green)
}

.disc-alert-badge.purple {
    background: #a78bfa1f;
    border-color: #a78bfa59;
    color: #a78bfa
}

.disc-header {
    margin-bottom: 14px
}

.disc-title {
    font-size: clamp(15px, 4vw, 18px);
    font-weight: 800;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 8px
}

.disc-title .accent {
    color: var(--wa-green)
}

.disc-title .phone-hi {
    color: var(--wa-bubble)
}

.disc-desc {
    font-size: 13px;
    color: #ffffffbf;
    line-height: 1.5
}

.disc-desc strong {
    color: #fff
}

.wa-screen {
    border-radius: 16px;
    overflow: hidden;
    background: #0b141a;
    box-shadow: 0 8px 32px #0000004d;
    position: relative
}

.wa-statusbar {
    background: #1f2c34;
    padding: 6px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    color: #aebac1
}

.wa-topbar {
    background: #1f2c34;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 10px
}

.wa-topbar-back {
    color: #aebac1;
    display: flex;
    align-items: center
}

.wa-topbar-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--wa-dark), var(--wa-darker));
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.wa-topbar-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.wa-topbar-avatar svg {
    width: 22px;
    height: 22px
}

.wa-topbar-info {
    flex: 1
}

.wa-topbar-name {
    font-size: 15px;
    font-weight: 600;
    color: #e9edef
}

.wa-topbar-status {
    font-size: 12px;
    color: #8696a0
}

.wa-topbar-actions {
    display: flex;
    gap: 18px;
    color: #aebac1
}

.wa-chat-bg {
    background: #0b141a;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cdefs%3E%3Cpattern id='p' width='40' height='40' patternUnits='userSpaceOnUse'%3E%3Crect width='40' height='40' fill='%230B141A'/%3E%3Ccircle cx='20' cy='20' r='1' fill='%23111B21'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='200' height='200' fill='url(%23p)'/%3E%3C/svg%3E");
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 320px
}

.wa-bubble {
    max-width: 78%;
    padding: 6px 8px 2px;
    border-radius: 8px;
    font-size: 13.5px;
    color: #e9edef;
    line-height: 1.4;
    position: relative
}

.wa-bubble-in {
    align-self: flex-start;
    background: #1f2c34;
    border-radius: 0 8px 8px
}

.wa-bubble-out {
    align-self: flex-end;
    background: #005c4b;
    border-radius: 8px 0 8px 8px
}

.wa-bubble-text {
    padding: 2px 4px 16px
}

.wa-bubble-time {
    position: absolute;
    bottom: 4px;
    right: 8px;
    font-size: 10px;
    color: #ffffff73;
    display: flex;
    align-items: center;
    gap: 3px
}

.wa-bubble-time .wa-check {
    color: #53bdeb
}

.wa-audio-bubble {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px 18px
}

.wa-audio-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--wa-dark), var(--wa-darker));
    display: flex;
    align-items: center;
    justify-content: center
}

.wa-audio-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.wa-audio-avatar svg {
    width: 20px;
    height: 20px
}

.wa-audio-play {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    color: #aebac1;
    display: flex;
    align-items: center;
    justify-content: center
}

.wa-audio-wave {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 2px;
    height: 28px
}

.wa-audio-wave span {
    width: 3px;
    border-radius: 2px;
    background: #8696a0
}

.wa-audio-dur {
    font-size: 11px;
    color: #8696a0;
    flex-shrink: 0
}

.wa-emoji-row {
    align-self: flex-end;
    background: #005c4b;
    border-radius: 8px 0 8px 8px;
    padding: 4px 8px 18px;
    font-size: 28px;
    letter-spacing: 2px;
    position: relative
}

.wa-contacts-screen {
    border-radius: 16px;
    overflow: hidden;
    background: #111b21;
    box-shadow: 0 8px 32px #0000004d;
    margin-top: 14px
}

.wa-contacts-topbar {
    background: #1f2c34;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.wa-contacts-topbar-left {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 600;
    color: #e9edef
}

.wa-contacts-topbar-right {
    display: flex;
    gap: 18px;
    color: #aebac1
}

.wa-contacts-tabs {
    display: flex;
    background: #1f2c34;
    padding: 0 16px
}

.wa-contacts-tab {
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #8696a0
}

.wa-contacts-tab.active {
    color: #25d366;
    border-bottom: 2px solid #25D366
}

.wa-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .04)
}

.wa-contact-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--wa-dark), var(--wa-darker));
    display: flex;
    align-items: center;
    justify-content: center
}

.wa-contact-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.wa-contact-avatar svg {
    width: 22px;
    height: 22px
}

.wa-contact-info {
    flex: 1;
    min-width: 0
}

.wa-contact-name {
    font-size: 15px;
    font-weight: 500;
    color: #e9edef;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.wa-contact-last {
    font-size: 13px;
    color: #8696a0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.wa-contact-time {
    font-size: 11px;
    color: #8696a0;
    flex-shrink: 0
}

.wa-screen-blur {
    position: relative
}

.wa-screen-blur>*:not(.wa-screen-overlay) {
    filter: blur(2.5px)
}

.wa-screen-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to bottom, #0b141a1a, #0b141ad9 60%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 24px;
    gap: 8px;
    z-index: 2
}

.wa-screen-overlay p {
    font-size: 14px;
    font-weight: 700;
    color: #fffc
}

.photos-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    border-radius: 12px;
    overflow: hidden
}

.photo-slot {
    aspect-ratio: 1;
    background: #2a3942;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.photo-slot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(12px) brightness(.7);
    transition: filter .5s
}

.photo-lock {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px
}

.photo-lock svg {
    color: #ffffffb3
}

.photo-lock span {
    font-size: 10px;
    font-weight: 600;
    color: #ffffff80
}

.map-container {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    height: 220px
}

.map-container iframe {
    width: 100%;
    height: 100%;
    border: none
}

.map-pin {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -100%);
    z-index: 2;
    pointer-events: none
}

.pin-head {
    width: 20px;
    height: 20px;
    background: var(--danger);
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    border: 2px solid #fff;
    box-shadow: 0 2px 8px #0000004d
}

.pin-pulse {
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translate(-50%);
    width: 12px;
    height: 12px;
    background: #e539354d;
    border-radius: 50%;
    animation: pinPulse 2s ease-out infinite
}

@keyframes pinPulse {
    0% {
        transform: translate(-50%) scale(1);
        opacity: 1
    }
    to {
        transform: translate(-50%) scale(4);
        opacity: 0
    }
}

.map-lock-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #00000073
}

.map-lock-overlay svg {
    color: #ffffffb3
}

.map-lock-overlay p {
    font-size: 13px;
    font-weight: 700;
    color: #ffffffbf
}

.payment-box {
    background: var(--card);
    border-radius: 24px;
    padding: 28px 20px;
    margin: 16px 0;
    box-shadow: 0 4px 28px #00000014;
    border: 1px solid #e5e7eb;
    text-align: center
}

.payment-desc {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 20px;
    line-height: 1.5
}

.payment-desc .accent {
    background: linear-gradient(135deg, var(--wa-green), var(--wa-dark));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 800
}

.price-box {
    background: #f9fafb;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid #e5e7eb
}

.price-old {
    color: var(--danger);
    font-size: 14px;
    font-weight: 600;
    text-decoration: line-through;
    margin-bottom: 8px
}

.price-new {
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
    color: #16a34a
}

.price-cents {
    font-size: 24px;
    font-weight: 700;
    color: #16a34a
}

.price-installment {
    font-size: 13px;
    color: var(--muted);
    margin-top: 6px
}

.checkout-btn {
    width: 100%;
    background: linear-gradient(135deg, #15803d, #22c55e);
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    border: none;
    border-radius: 18px;
    padding: 18px 16px;
    cursor: pointer;
    box-shadow: 0 4px 28px #22c55e61;
    animation: checkoutPulse 2.5s ease-in-out infinite
}

.secure-text {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 12px
}

.guarantee-box {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 16px
}

.guarantee-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    background: #25d3661a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.guarantee-text h4 {
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 2px
}

.guarantee-text p {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.4
}

.testimonials {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px
}

.testimonial-item {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px
}

.testimonial-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px
}

.testimonial-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--wa-green), var(--wa-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px
}

.testimonial-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--text)
}

.testimonial-stars {
    font-size: 12px;
    color: #f59e0b
}

.testimonial-text {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.5;
    font-style: italic
}

.video-testimonials {
    margin: 24px 0
}

.vt-header {
    text-align: center;
    margin-bottom: 18px
}

.vt-tag {
    display: inline-block;
    background: #25d3661f;
    color: var(--wa-green);
    border: 1px solid rgba(37, 211, 102, .3);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 999px;
    margin-bottom: 10px
}

.vt-header h3 {
    font-size: clamp(18px, 4vw, 22px);
    font-weight: 800;
    color: var(--text);
    line-height: 1.3
}

.vt-header h3 .accent {
    background: linear-gradient(135deg, var(--wa-green), var(--wa-dark));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.vt-header p {
    font-size: 13px;
    color: var(--muted);
    margin-top: 6px
}

.vt-grid {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.vt-item {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 14px;
    box-shadow: 0 4px 16px #0000004d
}

.vt-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px
}

.vt-info {
    flex: 1;
    min-width: 0
}

.vt-name {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--text)
}

.vt-meta-row {
    font-size: 11px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px
}

.vt-stars {
    color: #f59e0b;
    font-size: 12px
}

.vt-verified {
    background: #25d36626;
    color: var(--wa-green);
    font-size: 9.5px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: .3px
}

.vt-player {
    border-radius: 10px;
    overflow: hidden;
    background: #000
}

.final-cta {
    text-align: center;
    margin-top: 8px
}

.final-cta h2 {
    font-size: clamp(20px, 5vw, 26px);
    font-weight: 900;
    color: var(--text);
    margin-bottom: 8px;
    line-height: 1.3
}

.final-cta h2 .accent {
    background: linear-gradient(135deg, var(--wa-green), var(--wa-dark));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.final-cta p {
    font-size: 14px;
    color: var(--muted);
    margin-bottom: 18px;
    line-height: 1.5
}

.features-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin: 14px 0
}

.feature-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #25d36614;
    border: 1px solid rgba(37, 211, 102, .2);
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 600;
    color: var(--wa-dark)
}

.bf-tape-wrap {
    position: relative;
    height: 54px;
    margin: 16px -4px -26px;
    overflow: hidden;
    z-index: 2;
    pointer-events: none
}

.bf-tape {
    position: absolute;
    left: -20px;
    right: -20px;
    top: 14px;
    height: 26px;
    background: #0b0b0b;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .1em;
    box-shadow: 0 3px 10px #00000059;
    transform: rotate(-2.5deg)
}

.bf-tape.b {
    top: 22px;
    transform: rotate(2deg);
    opacity: .92;
    z-index: -1
}

.bf-tape b {
    color: #e11d1d;
    font-weight: 900
}

.bf-tape i {
    font-style: normal;
    color: #777;
    font-size: 8px
}

.bf-badge {
    display: block;
    margin: -6px auto 6px;
    width: 92px;
    height: 92px;
    filter: drop-shadow(0 5px 8px rgba(160, 0, 0, .35))
}

.bf-off {
    display: inline-block;
    background: #e11d1d;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
    border-radius: 6px;
    padding: 3px 9px;
    margin-left: 8px;
    text-decoration: none;
    vertical-align: middle
}

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

:root {
    --wa-green: #25D366;
    --wa-dark: #128C7E;
    --wa-darker: #075E54;
    --wa-teal: #00BFA5;
    --wa-bubble: #DCF8C6;
    --wa-light: #e2e8f0;
    --wa-white: #ffffff;
    --bg: #f8fafc;
    --card: #ffffff;
    --border: #e2e8f0;
    --text-dark: #0f172a;
    --text-muted: #64748b;
    --danger: #E53935;
    --radius: 16px
}

body.page-bp1 {
    background: var(--bg);
    font-family: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, sans-serif;
    min-height: 100vh;
    color: var(--text-dark);
    overflow-x: hidden
}

.urgency-top {
    background: linear-gradient(135deg, #b91c1c, #dc2626, #b91c1c);
    background-size: 200% 200%;
    animation: headerPulse 2.5s ease-in-out infinite;
    padding: 10px 16px;
    text-align: center
}

.urgency-title {
    font-size: 15px;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08em
}

@keyframes headerPulse {
    0%,
    to {
        background-position: 0% 50%
    }
    50% {
        background-position: 100% 50%
    }
}

.container {
    max-width: 440px;
    margin: 0 auto;
    padding: 18px 16px 48px
}

.emergency-alert {
    background: linear-gradient(135deg, #991b1b, #b91c1c);
    border-radius: 18px;
    padding: 18px 20px;
    margin-bottom: 16px;
    text-align: center;
    border: 1px solid rgba(239, 68, 68, .4);
    box-shadow: 0 4px 20px #b91c1c4d
}

.emergency-alert h2 {
    font-size: clamp(19px, 5.6vw, 22px);
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .05em;
    line-height: 1.25
}

.profile-progress-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px
}

.avatar-wrap {
    position: relative;
    width: 56px;
    height: 56px;
    flex-shrink: 0
}

.avatar-wrap svg {
    display: block
}

.profile-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    position: absolute;
    top: 4px;
    left: 4px
}

.avatar-fallback {
    display: flex;
    background: linear-gradient(135deg, #128c7e, #075e54);
    align-items: center;
    justify-content: center
}

.avatar-scan-line {
    position: absolute;
    left: 4px;
    width: 48px;
    height: 2px;
    top: 4px;
    background: linear-gradient(90deg, transparent, #25D366, transparent);
    border-radius: 1px;
    z-index: 10;
    box-shadow: 0 0 8px #25d366, 0 0 16px #25d36666;
    animation: avatarScanLine 1.8s ease-in-out infinite
}

@keyframes avatarScanLine {
    0% {
        top: 4px
    }
    50% {
        top: 48px
    }
    to {
        top: 4px
    }
}

.avatar-reveal {
    animation: avatarReveal .8s ease-out forwards
}

@keyframes avatarReveal {
    0% {
        clip-path: inset(0 0 100% 0);
        filter: brightness(2) contrast(.5)
    }
    60% {
        clip-path: inset(0 0 0% 0);
        filter: brightness(1.2) contrast(.9)
    }
    to {
        clip-path: inset(0);
        filter: brightness(1) contrast(1)
    }
}

.profile-info {
    flex: 1;
    min-width: 0
}

.profile-number {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #25d3661a;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    color: var(--wa-dark);
    margin-top: 4px
}

.status-dot {
    width: 6px;
    height: 6px;
    background: var(--wa-green);
    border-radius: 50%;
    animation: blink 1.4s infinite
}

.analysis-block {
    background: var(--wa-white);
    border: 1px solid var(--wa-light);
    border-radius: 20px;
    padding: 18px;
    margin-bottom: 16px;
    box-shadow: 0 4px 20px #0000000d
}

.ultra-head {
    display: flex;
    justify-content: center;
    margin-bottom: 14px
}

.ultra-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #fef3c7;
    border: 1px solid #FCD34D;
    color: #92400e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .5px;
    padding: 7px 14px;
    border-radius: 8px;
    text-transform: uppercase;
    transition: background .4s, color .4s, border-color .4s;
    animation: tagWait 1.4s ease-in-out infinite
}

.ultra-tag.on {
    background: #fbbf24;
    border-color: #f59e0b;
    color: #1f1300;
    box-shadow: 0 4px 14px #f59e0b66;
    animation: tagPulse 1.6s ease-in-out infinite
}

@keyframes tagWait {
    0%,
    to {
        opacity: 1
    }
    50% {
        opacity: .55
    }
}

.redline {
    display: none;
    align-items: flex-start;
    gap: 10px;
    background: linear-gradient(135deg, #991b1b, #dc2626);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 14px;
    color: #fff;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
    box-shadow: 0 4px 18px #b91c1c59;
    border-left: 4px solid #fecaca
}

.redline.on {
    display: flex;
    animation: redIn .45s ease-out
}

.redline .ic {
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0
}

.redline strong {
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .3px
}

.redline em {
    color: #fecaca;
    font-style: normal;
    font-weight: 700
}

@keyframes redIn {
    0% {
        opacity: 0;
        transform: translateY(-8px)
    }
    to {
        opacity: 1;
        transform: none
    }
}

@keyframes tagPulse {
    0%,
    to {
        box-shadow: 0 4px 14px #f59e0b66
    }
    50% {
        box-shadow: 0 4px 22px #f59e0bb3
    }
}

.pct-display {
    text-align: right;
    flex-shrink: 0
}

.pct-number {
    font-size: 28px;
    font-weight: 800;
    color: var(--wa-green);
    line-height: 1
}

.pct-label {
    font-size: 11px;
    color: var(--text-muted)
}

.prog-track {
    height: 8px;
    background: var(--wa-light);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 16px;
    position: relative
}

.wait-text {
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    color: var(--wa-dark);
    letter-spacing: 1px;
    text-transform: uppercase;
    animation: pulse 1.5s infinite
}

@keyframes pulse {
    0%,
    to {
        opacity: 1
    }
    50% {
        opacity: .5
    }
}

.spied-text {
    text-align: center;
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 6px;
    margin-bottom: 14px
}

.prog-fill {
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, var(--wa-green), var(--wa-teal));
    border-radius: 10px;
    transition: width .12s linear;
    position: relative;
    overflow: hidden
}

.prog-fill:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent);
    transform: translate(-100%);
    animation: shimmer 1.1s linear infinite
}

@keyframes shimmer {
    to {
        transform: translate(100%)
    }
}

.meters {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 14px
}

.meter {
    background: #f1f5f9;
    border: 1px solid var(--wa-light);
    border-radius: 12px;
    padding: 10px 8px;
    text-align: center
}

.meter .v {
    font-size: 15px;
    font-weight: 800;
    color: var(--wa-dark);
    font-variant-numeric: tabular-nums
}

.meter .k {
    font-size: 10px;
    color: var(--text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    margin-top: 2px
}

.cores {
    display: flex;
    gap: 3px;
    justify-content: center;
    margin-top: 6px
}

.cores i {
    width: 10px;
    height: 4px;
    border-radius: 2px;
    background: var(--wa-light)
}

.cores i.on {
    background: var(--wa-green);
    animation: coreBlink .7s infinite alternate
}

.cores i:nth-child(2n).on {
    animation-delay: .2s
}

.cores i:nth-child(3n).on {
    animation-delay: .4s
}

@keyframes coreBlink {
    0% {
        opacity: .45
    }
    to {
        opacity: 1
    }
}

.items-list {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.analysis-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--wa-white);
    border: 1px solid var(--wa-light);
    border-radius: 14px;
    padding: 12px 14px;
    transition: border-color .3s, background .3s
}

.analysis-item.done {
    border-color: #25d3664d;
    background: #25d3660a
}

.analysis-item:not(.done):not(.run) {
    opacity: .55
}

.item-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.item-text {
    flex: 1;
    min-width: 0
}

.item-text h4 {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 2px
}

.item-text p {
    font-size: 12px;
    color: var(--text-muted)
}

.item-text p .found {
    color: var(--danger);
    font-weight: 800
}

.item-status {
    width: 28px;
    flex-shrink: 0;
    display: flex;
    justify-content: center
}

.spinner-ring {
    width: 20px;
    height: 20px;
    border: 2px solid var(--wa-light);
    border-top-color: var(--wa-green);
    border-radius: 50%;
    animation: spin .8s linear infinite
}

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

.check-circle {
    width: 24px;
    height: 24px;
    background: var(--wa-green);
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center
}

.check-circle svg {
    width: 14px;
    height: 14px;
    color: #fff
}

.analysis-item.done .spinner-ring {
    display: none
}

.analysis-item.done .check-circle {
    display: flex
}

.warn-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-left: 4px solid var(--danger);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
    font-size: 13.5px;
    line-height: 1.5;
    color: #7f1d1d
}

.warn-note strong {
    color: #991b1b
}

.warn-note .ic {
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0
}

.cta-btn {
    display: block;
    width: 100%;
    padding: 18px 24px;
    background: linear-gradient(135deg, var(--wa-green), var(--wa-dark));
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    border-radius: 16px;
    box-shadow: 0 8px 30px #25d36666;
    position: relative
}

.cta-btn:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: inherit;
    animation: btn 1.8s infinite;
    pointer-events: none
}

.cta-btn.inline {
    margin-bottom: 16px
}

@keyframes btn {
    0% {
        box-shadow: 0 0 #25d36673
    }
    to {
        box-shadow: 0 0 0 14px #25d36600
    }
}

.cta-btn:active {
    transform: translateY(1px)
}

.ssl-badge {
    background: var(--wa-white);
    border: 1px solid var(--wa-light);
    border-radius: 16px;
    padding: 14px;
    text-align: center;
    margin-top: 14px
}

.ssl-icon {
    width: 44px;
    height: 44px;
    margin: 0 auto 8px;
    background: #25d3661a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px
}

.ssl-text {
    font-size: 13px;
    font-weight: 700;
    color: var(--wa-dark)
}

.ssl-sub {
    font-size: 11px;
    color: var(--text-muted)
}

.reveal {
    display: none
}

.reveal.on {
    display: block;
    animation: revealIn .45s ease-out
}

.meters.reveal.on {
    display: grid
}

.analysis-item.reveal.on,
.warn-note.reveal.on {
    display: flex
}

@keyframes revealIn {
    0% {
        opacity: 0;
        transform: translateY(8px)
    }
    to {
        opacity: 1;
        transform: none
    }
}

@media(prefers-reduced-motion:reduce) {
    .urgency-top,
    .avatar-scan-line,
    .status-dot,
    .ultra-tag,
    .ultra-tag.on,
    .wait-text,
    .prog-fill:after,
    .cores i.on,
    .spinner-ring,
    .cta-btn:after,
    .redline.on {
        animation: none
    }
}

body.page-back {
    --wa-green: #25d366;
    --wa-dark: #128c7e;
    --wa-darker: #075e54;
    --wa-teal: #00bfa5;
    --wa-bubble: #dcf8c6;
    --bg: #0b141a;
    --card: #1a2430;
    --card-light: #202c33;
    --border: #ffffff14;
    --text: #e9edef;
    --muted: #8696a0;
    --danger: #ef4444;
    --radius: 20px
}

body.page-back {
    background: #0b141a;
    color: var(--text);
    min-height: 100vh;
    font-family: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, sans-serif;
    overflow-x: hidden
}

.flash-header {
    text-align: center;
    background: linear-gradient(135deg, #b91c1c, #dc2626);
    padding: 14px 16px;
    position: relative;
    overflow: hidden
}

.flash-header:before {
    content: "";
    background: linear-gradient(90deg, #0000, #ffffff1a, #0000);
    animation: 2.5s ease-in-out infinite headerShine;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

@keyframes headerShine {
    0% {
        transform: translate(-100%)
    }
    to {
        transform: translate(100%)
    }
}

.flash-title {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 15px;
    font-weight: 900;
    position: relative
}

.flash-sub {
    color: #fecaca;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 600;
    position: relative
}

.flash-sub strong {
    color: #fff
}

.container {
    max-width: 460px;
    margin: 0 auto;
    padding: 20px 16px 40px
}

.warn-icon-wrap {
    justify-content: center;
    margin-bottom: 16px;
    display: flex
}

.warn-icon {
    background: #ef44441f;
    border: 2px solid #ef44444d;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 72px;
    height: 72px;
    animation: 2s ease-in-out infinite warnPulse;
    display: flex
}

.warn-icon svg {
    color: #ef4444;
    width: 36px;
    height: 36px
}

@keyframes warnPulse {
    0%,
    to {
        box-shadow: 0 0 #ef44444d
    }
    50% {
        box-shadow: 0 0 0 14px #ef444400
    }
}

.headline {
    text-align: center;
    margin-bottom: 8px
}

.headline h1 {
    color: #fff;
    font-size: max(22px, min(6vw, 28px));
    font-weight: 900;
    line-height: 1.25
}

.headline h1 .accent {
    color: var(--wa-green)
}

.headline h1 .danger {
    color: #ef4444
}

.headline p {
    color: var(--muted);
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.5
}

.headline p strong {
    color: #fff
}

.profile-mini {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    align-items: center;
    gap: 14px;
    margin: 18px 0;
    padding: 14px 18px;
    display: flex
}

.pm-avatar {
    border: 2px solid var(--wa-green);
    background: linear-gradient(135deg, var(--wa-darker), var(--wa-dark));
    border-radius: 50%;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    display: flex;
    overflow: hidden
}

.pm-avatar img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.pm-avatar svg {
    color: #fff9;
    width: 28px;
    height: 28px
}

.pm-info {
    flex: 1
}

.pm-phone {
    color: #fff;
    font-size: 16px;
    font-weight: 800
}

.pm-status {
    color: var(--wa-green);
    align-items: center;
    gap: 5px;
    margin-top: 4px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex
}

.pm-dot {
    background: var(--wa-green);
    border-radius: 50%;
    width: 6px;
    height: 6px;
    animation: 1.4s infinite blink
}

@keyframes blink {
    0%,
    to {
        opacity: 1
    }
    50% {
        opacity: .3
    }
}

.found-grid {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
    display: flex
}

.found-item {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 16px;
    position: relative;
    overflow: hidden
}

.found-item-header {
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    display: flex
}

.fi-icon {
    border-radius: 12px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 38px;
    height: 38px;
    display: flex
}

.fi-icon.green {
    color: var(--wa-green);
    background: #25d3661f
}

.fi-icon.red {
    color: #ef4444;
    background: #ef44441f
}

.fi-icon.orange {
    color: #f59e0b;
    background: #f59e0b1f
}

.fi-icon.purple {
    color: #a78bfa;
    background: #a78bfa1f
}

.fi-icon svg {
    width: 20px;
    height: 20px
}

.fi-text {
    flex: 1
}

.fi-title {
    color: #fff;
    font-size: 14px;
    font-weight: 800
}

.fi-count {
    color: var(--wa-green);
    margin-top: 2px;
    font-size: 12px;
    font-weight: 600
}

.fi-lock {
    color: var(--muted);
    background: #ffffff0f;
    border-radius: 8px;
    flex-shrink: 0;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 10px;
    font-weight: 700;
    display: flex
}

.fi-lock svg {
    width: 12px;
    height: 12px
}

.fi-preview {
    filter: blur(5px);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
    flex-direction: column;
    gap: 6px;
    display: flex
}

.fi-bar {
    background: var(--card-light);
    border-radius: 6px;
    height: 10px
}

.fi-chat-preview {
    filter: blur(5px);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    flex-direction: column;
    gap: 6px;
    display: flex
}

.fi-msg {
    border-radius: 10px;
    max-width: 80%;
    padding: 8px 12px;
    font-size: 12px
}

.fi-msg.in {
    background: var(--card-light);
    color: var(--text);
    align-self: flex-start
}

.fi-msg.out {
    color: var(--text);
    background: #005c4b;
    align-self: flex-end
}

.fi-photos {
    border-radius: 12px;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    display: grid;
    overflow: hidden
}

.fi-photo-slot {
    aspect-ratio: 1;
    background: var(--card-light);
    border-radius: 6px;
    position: relative;
    overflow: hidden
}

.fi-photo-slot img {
    object-fit: cover;
    filter: blur(8px);
    width: 100%;
    height: 100%;
    transform: scale(1.1)
}

.fi-photo-lock {
    background: #00000040;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3px;
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.fi-photo-lock svg {
    color: #ffffffb3
}

.fi-photo-lock span {
    color: #fff9;
    font-size: 9px;
    font-weight: 700
}

.offer-box {
    text-align: center;
    background: linear-gradient(135deg, #0f1f15, #122a1a);
    border: 2px solid #25d36640;
    border-radius: 24px;
    margin-bottom: 16px;
    padding: 28px 22px;
    position: relative;
    overflow: hidden
}

.offer-box:before {
    content: "";
    pointer-events: none;
    background: radial-gradient(circle, #25d3660f, #0000 60%);
    width: 200%;
    height: 200%;
    position: absolute;
    top: -50%;
    left: -50%
}

.offer-badge {
    color: #fff;
    letter-spacing: .06em;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    border-radius: 999px;
    margin-bottom: 16px;
    padding: 6px 16px;
    font-size: 12px;
    font-weight: 900;
    display: inline-block;
    position: relative
}

.offer-title {
    color: #fff;
    margin-bottom: 18px;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
    position: relative
}

.offer-title .accent {
    color: var(--wa-green)
}

.price-row {
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    display: flex;
    position: relative
}

.price-old-wrap {
    text-align: center
}

.price-old-label {
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 2px;
    font-size: 11px;
    font-weight: 600
}

.price-old {
    color: #ef4444;
    opacity: .7;
    font-size: 28px;
    font-weight: 800;
    text-decoration: line-through
}

.price-arrow {
    color: var(--muted)
}

.price-new-wrap {
    text-align: center
}

.price-new-label {
    color: var(--wa-green);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 2px;
    font-size: 11px;
    font-weight: 700
}

.price-new {
    color: var(--wa-green);
    text-shadow: 0 0 30px #25d3664d;
    font-size: 48px;
    font-weight: 900;
    line-height: 1
}

.price-new .currency {
    vertical-align: super;
    margin-right: 2px;
    font-size: 22px
}

.offer-save {
    color: var(--wa-green);
    background: #25d3661a;
    border: 1px solid #25d3664d;
    border-radius: 999px;
    margin-bottom: 20px;
    padding: 5px 14px;
    font-size: 13px;
    font-weight: 700;
    display: inline-block;
    position: relative
}

.checkout-btn {
    color: #fff;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    background: linear-gradient(135deg, #15803d, #22c55e);
    border: none;
    border-radius: 18px;
    width: 100%;
    padding: 18px 16px;
    font-size: 17px;
    font-weight: 900;
    text-decoration: none;
    animation: 2.5s ease-in-out infinite checkoutPulse;
    display: block;
    position: relative;
    box-shadow: 0 4px 28px #22c55e61
}

@keyframes checkoutPulse {
    0% {
        box-shadow: 0 4px 28px #22c55e61, 0 0 #22c55e73
    }
    70% {
        box-shadow: 0 4px 28px #22c55e61, 0 0 0 16px #22c55e00
    }
    to {
        box-shadow: 0 4px 28px #22c55e61, 0 0 #22c55e00
    }
}

.secure-text {
    color: var(--muted);
    text-align: center;
    margin-top: 14px;
    font-size: 12px
}

.countdown-inline {
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    display: flex;
    position: relative
}

.countdown-inline .ci-label {
    color: var(--muted);
    font-size: 12px;
    font-weight: 600
}

#back-countdown {
    color: #ef4444;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 0 10px #ef444466;
    font-size: 22px;
    font-weight: 900
}

.trust-row {
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    padding: 12px 0;
    display: flex
}

.trust-row svg {
    width: 14px;
    height: 14px;
    color: var(--wa-green)
}

.trust-row span {
    color: var(--muted);
    font-size: 12px
}

@keyframes fadeUp {
    0% {
        opacity: 0;
        transform: translateY(16px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.anim {
    animation: .5s ease-out both fadeUp
}

.anim-d1 {
    animation-delay: .1s
}

.anim-d2 {
    animation-delay: .2s
}

.anim-d3 {
    animation-delay: .3s
}

.anim-d4 {
    animation-delay: .4s
}

.anim-d5 {
    animation-delay: .5s
}

.anim-d6 {
    animation-delay: .6s
}

.anim-d7 {
    animation-delay: .7s
}

body.page-planos {
    background: #fff;
    margin: 0
}

.pl-planosPage {
    -webkit-text-size-adjust: 100%;
    line-height: 1.6
}

.pl-planosPage img {
    max-width: 100%;
    display: block
}

.pl-planosPage button {
    font-feature-settings: inherit;
    letter-spacing: inherit;
    font-family: inherit;
    line-height: inherit;
    text-transform: none
}

.pl-planosPage a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit
}

.pl-planosPage {
    color: #2c3e50;
    background: #fff;
    min-height: 100vh;
    font-family: Inter, Segoe UI, Tahoma, Geneva, Verdana, sans-serif;
    position: relative;
    overflow-x: hidden
}

.pl-banner {
    z-index: 100;
    color: #fff;
    background: linear-gradient(#128c7e, #25d366);
    border-radius: 0 0 20px 20px;
    justify-content: center;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 10px #00000026
}

.pl-bannerDot {
    background: #fff;
    border-radius: 50%;
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    animation: 1.5s ease-in-out infinite bannerDotPulse;
    box-shadow: 0 0 8px #fffc
}

@keyframes bannerDotPulse {
    0%,
    to {
        opacity: 1;
        transform: scale(1)
    }
    50% {
        opacity: .6;
        transform: scale(1.4)
    }
}

.pl-bannerText {
    text-align: center
}

.pl-bannerTitle {
    margin: 0;
    font-size: 1rem;
    font-weight: 700
}

.pl-bannerSubtitle {
    opacity: .95;
    margin: .25rem 0 0;
    font-size: .875rem
}

.pl-header {
    z-index: 10;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    padding: calc(50px + 1rem) 1rem .5rem;
    display: flex;
    position: relative
}

.pl-logo {
    width: auto;
    height: 100px
}

.pl-progressTrack {
    background: #128c7e1f;
    border-radius: 999px;
    width: 100%;
    max-width: 320px;
    height: 10px;
    overflow: hidden
}

.pl-progressFill {
    background: linear-gradient(90deg, #25d366, #4ade80, #128c7e);
    border-radius: 999px;
    min-width: 4px;
    height: 100%;
    transition: width 1.5s ease-in-out;
    box-shadow: 0 0 12px #25d36666
}

.pl-main {
    z-index: 10;
    min-height: 100vh;
    padding: 1rem 1rem 3rem;
    position: relative
}

.pl-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 16px
}

@media(min-width:640px) {
    .pl-container {
        max-width: 620px;
        padding: 0 24px
    }
}

@media(min-width:900px) {
    .pl-container {
        max-width: 1000px;
        padding: 0 24px
    }
}

.pl-title {
    text-align: center;
    color: #2c3e50;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    margin: 0 0 .75rem;
    font-size: max(1.5rem, min(5vw, 2rem));
    font-weight: 700;
    display: flex
}

.pl-ticketIcon {
    color: #ef4444;
    width: 28px;
    height: 28px
}

.pl-highlight {
    background: linear-gradient(90deg, #25d366, #4ade80, #128c7e, #25d366) 0 0/200% 100%;
    color: #0000;
    -webkit-background-clip: text;
    background-clip: text;
    font-weight: 700;
    animation: 4s ease-in-out infinite highlightShimmer
}

@keyframes highlightShimmer {
    0%,
    to {
        background-position: 0%
    }
    50% {
        background-position: 100%
    }
}

.pl-subtitle {
    color: #5f6b7a;
    text-align: center;
    margin: 0 0 1.5rem;
    font-size: .95rem;
    line-height: 1.5
}

.pl-cardsGrid {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
    display: flex
}

@media(min-width:640px) {
    .pl-cardsGrid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        justify-items: center;
        gap: 1.5rem;
        display: grid
    }
}

@media(min-width:900px) {
    .pl-cardsGrid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto
    }
}

.pl-planCard {
    background: #fff;
    border: 1px solid #0000000f;
    border-radius: 20px;
    padding: 0;
    transition: transform .35s, box-shadow .35s, border-color .35s;
    animation: .6s cubic-bezier(.22, 1, .36, 1) both fadeInUp;
    position: relative;
    overflow: visible;
    box-shadow: 0 4px 24px #00000014
}

.pl-planCard:hover {
    border-color: #0000001a;
    transform: translateY(-6px);
    box-shadow: 0 12px 40px #0000001f
}

.pl-theme_gold:hover {
    box-shadow: 0 12px 40px #0000001f, 0 0 30px #eab30826
}

.pl-theme_blue:hover {
    box-shadow: 0 12px 40px #0000001f, 0 0 30px #3b82f626
}

.pl-theme_purple:hover {
    box-shadow: 0 12px 40px #0000001f, 0 0 30px #8b5cf626
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(24px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.pl-planCard {
    width: 100%;
    max-width: 340px
}

@media(min-width:640px) {
    .pl-planCard {
        min-width: 280px
    }
}

@media(min-width:900px) {
    .pl-planCard {
        flex: 1;
        min-width: 300px;
        max-width: 340px
    }
}

.pl-cardBadgeWrap {
    z-index: 3;
    position: absolute;
    top: -10px;
    right: 16px
}

@media(max-width:479px) {
    .pl-cardBadgeWrap {
        right: 12px
    }
}

.pl-cardBadge {
    white-space: nowrap;
    isolation: isolate;
    border-radius: 20px;
    align-items: center;
    padding: .4rem .9rem;
    font-size: .7rem;
    font-weight: 700;
    display: inline-flex;
    position: relative;
    overflow: hidden
}

@media(max-width:479px) {
    .pl-cardBadge {
        padding: .35rem .65rem;
        font-size: .65rem
    }
}

.pl-cardBadgeShimmer {
    pointer-events: none;
    background: linear-gradient(90deg, #0000, #ffffff80, #0000);
    width: 35%;
    height: 100%;
    animation: 2.2s ease-in-out infinite shimmerSlide;
    position: absolute;
    top: 0;
    left: 0
}

@keyframes shimmerSlide {
    0% {
        transform: translate(-200%)
    }
    60% {
        transform: translate(400%)
    }
    to {
        transform: translate(400%)
    }
}

.pl-cardInner {
    background: #f8faf9;
    border: 1px solid #0000000d;
    border-top: none;
    border-radius: 0 0 14px 14px;
    margin: 0 10px 10px;
    padding: 1.25rem 1rem
}

.pl-theme_gold .pl-cardHeader {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    border-radius: 20px 20px 0 0;
    box-shadow: inset 0 1px #fff3
}

.pl-theme_gold .pl-cardBadge {
    background: 0 0
}

.pl-priceTheme_gold {
    background: linear-gradient(90deg, #f59e0b, #fbbf24, #f59e0b) 0 0/200% 100%;
    color: #0000;
    -webkit-background-clip: text;
    background-clip: text;
    animation: 3s ease-in-out infinite priceGradientMove
}

.pl-theme_gold .pl-ctaButton {
    color: #fff;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    box-shadow: 0 4px 20px #eab30859
}

.pl-theme_gold .pl-ctaButton:not(:disabled):hover {
    box-shadow: 0 6px 28px #eab30880
}

.pl-theme_gold .pl-checkIcon {
    color: #22c55e
}

.pl-theme_blue .pl-cardHeader {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    border-radius: 20px 20px 0 0;
    box-shadow: inset 0 1px #fff3
}

.pl-theme_blue .pl-cardBadge {
    color: #fff;
    background: #2563eb
}

.pl-priceTheme_blue {
    background: linear-gradient(90deg, #3b82f6, #60a5fa, #3b82f6) 0 0/200% 100%;
    color: #0000;
    -webkit-background-clip: text;
    background-clip: text;
    animation: 3s ease-in-out infinite priceGradientMove
}

.pl-theme_blue .pl-ctaButton {
    color: #fff;
    background: linear-gradient(#60a5fa, #2563eb);
    box-shadow: 0 4px 20px #3b82f659
}

.pl-theme_blue .pl-ctaButton:not(:disabled):hover {
    box-shadow: 0 6px 28px #3b82f680
}

.pl-theme_blue .pl-checkIcon {
    color: #3b82f6
}

.pl-theme_purple .pl-cardHeader {
    background: linear-gradient(135deg, #a78bfa, #7c3aed);
    border-radius: 20px 20px 0 0;
    box-shadow: inset 0 1px #fff3
}

.pl-theme_purple .pl-cardBadge {
    color: #fff;
    background: #7c3aede6
}

.pl-priceTheme_purple {
    background: linear-gradient(90deg, #a78bfa, #c4b5fd, #a78bfa) 0 0/200% 100%;
    color: #0000;
    -webkit-background-clip: text;
    background-clip: text;
    animation: 3s ease-in-out infinite priceGradientMove
}

@keyframes priceGradientMove {
    0%,
    to {
        background-position: 0%
    }
    50% {
        background-position: 100%
    }
}

.pl-theme_purple .pl-ctaButton {
    color: #fff;
    background: linear-gradient(135deg, #a78bfa, #7c3aed);
    box-shadow: 0 4px 20px #8b5cf659
}

.pl-theme_purple .pl-ctaButton:not(:disabled):hover {
    box-shadow: 0 6px 28px #8b5cf680
}

.pl-theme_purple .pl-checkIcon {
    color: #22c55e
}

.pl-cardHeader {
    text-align: center;
    padding: 1.5rem 1rem 1.25rem;
    position: relative;
    overflow: hidden
}

.pl-cardHeaderBg {
    pointer-events: none;
    background: radial-gradient(80% 50% at 50% 100%, #ffffff14, #0000);
    animation: 4s ease-in-out infinite headerBgPulse;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

@keyframes headerBgPulse {
    0%,
    to {
        opacity: 1
    }
    50% {
        opacity: .5
    }
}

.pl-hasBadge .pl-cardHeader {
    padding-left: 1rem;
    padding-right: 1rem
}

@media(min-width:480px) {
    .pl-hasBadge .pl-cardHeader {
        padding-top: 1.75rem;
        padding-right: 2rem
    }
}

.pl-planName {
    color: #fff;
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700
}

.pl-planLabel {
    color: #ffffffe6;
    margin: .25rem 0 0;
    font-size: .875rem
}

.pl-priceBlock {
    text-align: center;
    padding: 1rem 1rem .5rem
}

.pl-originalPrice {
    color: #9ca3af;
    margin-bottom: .25rem;
    font-size: .9rem;
    text-decoration: line-through;
    display: block
}

.pl-currentPrice {
    filter: drop-shadow(0 2px 8px #00000014);
    font-size: 2rem;
    font-weight: 700
}

.pl-featuresList {
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none
}

.pl-featureIncluded,
.pl-featureExcluded {
    align-items: flex-start;
    gap: .5rem;
    margin-bottom: .5rem;
    font-size: .875rem;
    line-height: 1.4;
    display: flex
}

.pl-checkIcon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 2px
}

.pl-xIcon {
    color: #ef4444;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 2px
}

.pl-featureIncluded {
    color: #2c3e50;
    transition: color .2s
}

.pl-featureIncluded:hover {
    color: #128c7e
}

.pl-featureExcluded {
    color: #9ca3af
}

.pl-ctaButton {
    cursor: pointer;
    isolation: isolate;
    border: none;
    border-radius: 12px;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    width: calc(100% - 2rem);
    margin: 1rem;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    transition: transform .25s, box-shadow .25s;
    display: flex;
    position: relative;
    overflow: hidden
}

.pl-ctaButton:not(:disabled):hover {
    transform: translateY(-2px)scale(1.02)
}

.pl-ctaButton:not(:disabled):active {
    transform: translateY(0)scale(.98)
}

.pl-ctaButtonShimmer {
    pointer-events: none;
    background: linear-gradient(90deg, #0000, #fff6, #0000);
    width: 40%;
    height: 100%;
    animation: 2.8s ease-in-out .5s infinite shimmerSlide;
    position: absolute;
    top: 0;
    left: 0
}

.pl-starIcon {
    width: 18px;
    height: 18px
}

.pl-cardFooter {
    color: #7f8c8d;
    text-align: center;
    margin: .75rem 0 0;
    font-size: .8rem
}

.pl-slotsCount {
    color: #128c7e;
    background: #25d3661f;
    border: 1px solid #25d3664d;
    border-radius: 6px;
    padding: .2rem .5rem;
    font-weight: 700;
    transition: transform .2s, box-shadow .2s;
    display: inline-block
}

.pl-slotsCount:hover {
    transform: scale(1.05);
    box-shadow: 0 0 16px #25d3664d
}

.pl-footer {
    text-align: center;
    padding: 2rem 0 1rem
}

.pl-footerLogo {
    opacity: .9;
    max-height: 40px;
    margin: 0 auto .75rem
}

.pl-footerCopyright {
    color: #7f8c8d;
    margin: 0 0 .5rem;
    font-size: .8rem
}

.pl-footerLinks {
    justify-content: center;
    gap: 1rem;
    font-size: .75rem;
    display: flex
}

.pl-footerLinks a {
    color: #128c7e;
    text-decoration: none
}

.pl-footerLinks a:hover {
    text-decoration: underline
}

body.page-obrigado {
    --background: 0 0% 100%;
    --foreground: 240 10% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 240 10% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 240 10% 3.9%;
    --primary: 240 5.9% 10%;
    --primary-foreground: 0 0% 98%;
    --secondary: 240 4.8% 95.9%;
    --secondary-foreground: 240 5.9% 10%;
    --muted: 240 4.8% 95.9%;
    --muted-foreground: 240 3.8% 46.1%;
    --accent: 240 4.8% 95.9%;
    --accent-foreground: 240 5.9% 10%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 240 5.9% 90%;
    --input: 240 5.9% 90%;
    --ring: 240 5.9% 10%;
    --radius: .625rem;
    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
    --primary-green: #25d366;
    --dark-green: #128c7e;
    --light-green: #dcf8c6;
    --background-color: #f5f5f1;
    --text-dark: #2c3e50;
    --text-light: #7f8c8d;
    --white: #fff;
    --danger: #ff3b30;
    --warning: #fc0;
    --success: #34c759
}

*,
:before,
:after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #3b82f680;
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #3b82f680;
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

*,
:before,
:after {
    box-sizing: border-box;
    border: 0 solid #e5e7eb
}

:before,
:after {
    --tw-content: ""
}

html,
:host {
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    line-height: 1.5
}

body {
    line-height: inherit;
    margin: 0
}

h1,
h2,
h3 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit
}

button {
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    text-transform: none;
    -webkit-appearance: button;
    background-color: #0000;
    background-image: none;
    margin: 0;
    padding: 0
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

::-webkit-inner-spin-button {
    height: auto
}

::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

h1,
h2,
h3,
p {
    margin: 0
}

ul {
    margin: 0;
    padding: 0;
    list-style: none
}

button,
[role=button] {
    cursor: pointer
}

:disabled {
    cursor: default
}

img,
svg {
    vertical-align: middle;
    display: block
}

img {
    max-width: 100%;
    height: auto
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

* {
    border-color: hsl(var(--border))
}

body {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground))
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.-top-3 {
    top: -.75rem
}

.right-4 {
    right: 1rem
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.mb-1 {
    margin-bottom: .25rem
}

.mb-3 {
    margin-bottom: .75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-5 {
    margin-bottom: 1.25rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.ml-2 {
    margin-left: .5rem
}

.mt-0\.5 {
    margin-top: .125rem
}

.mt-1 {
    margin-top: .25rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-3 {
    margin-top: .75rem
}

.mt-4 {
    margin-top: 1rem
}

.block {
    display: block
}

.flex {
    display: flex
}

.grid {
    display: grid
}

.h-1\.5 {
    height: .375rem
}

.h-3 {
    height: .75rem
}

.h-4 {
    height: 1rem
}

.h-5 {
    height: 1.25rem
}

.h-full {
    height: 100%
}

.min-h-screen {
    min-height: 100vh
}

.w-3 {
    width: .75rem
}

.w-4 {
    width: 1rem
}

.w-48 {
    width: 12rem
}

.w-5 {
    width: 1.25rem
}

.w-full {
    width: 100%
}

.max-w-2xl {
    max-width: 42rem
}

.flex-1 {
    flex: 1
}

.flex-shrink-0 {
    flex-shrink: 0
}

.scale-75 {
    --tw-scale-x: .75;
    --tw-scale-y: .75;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.gap-2 {
    gap: .5rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-5 {
    gap: 1.25rem
}

.space-y-2>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.5rem*calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.5rem*var(--tw-space-y-reverse))
}

.space-y-3>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.75rem*calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.75rem*var(--tw-space-y-reverse))
}

.overflow-hidden {
    overflow: hidden
}

.rounded {
    border-radius: .25rem
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-full {
    border-radius: 9999px
}

.rounded-lg {
    border-radius: var(--radius)
}

.rounded-md {
    border-radius: calc(var(--radius) - 2px)
}

.rounded-xl {
    border-radius: calc(var(--radius) + 4px)
}

.border {
    border-width: 1px
}

.border-2 {
    border-width: 2px
}

.border-l-4 {
    border-left-width: 4px
}

.border-t {
    border-top-width: 1px
}

.border-\[\#25D366\]\/30 {
    border-color: #25d3664d
}

.border-\[\#25D366\]\/40 {
    border-color: #25d36666
}

.border-black\/5 {
    border-color: #0000000d
}

.border-red-500 {
    --tw-border-opacity: 1;
    border-color: rgba(239, 68, 68, var(--tw-border-opacity, 1))
}

.bg-\[\#25D366\] {
    --tw-bg-opacity: 1;
    background-color: rgba(37, 211, 102, var(--tw-bg-opacity, 1))
}

.bg-\[\#25D366\]\/15 {
    background-color: #25d36626
}

.bg-\[\#f5f5f1\] {
    --tw-bg-opacity: 1;
    background-color: rgba(245, 245, 241, var(--tw-bg-opacity, 1))
}

.bg-black\/10 {
    background-color: #0000001a
}

.bg-red-50 {
    --tw-bg-opacity: 1;
    background-color: rgba(254, 242, 242, var(--tw-bg-opacity, 1))
}

.bg-red-600 {
    --tw-bg-opacity: 1;
    background-color: rgba(220, 38, 38, var(--tw-bg-opacity, 1))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1))
}

.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops))
}

.from-\[\#128C7E\] {
    --tw-gradient-from: #128c7e var(--tw-gradient-from-position);
    --tw-gradient-to: #128c7e00 var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.to-\[\#25D366\] {
    --tw-gradient-to: #25d366 var(--tw-gradient-to-position)
}

.p-3 {
    padding: .75rem
}

.p-4 {
    padding: 1rem
}

.p-5 {
    padding: 1.25rem
}

.p-6 {
    padding: 1.5rem
}

.px-3 {
    padding-left: .75rem;
    padding-right: .75rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
}

.py-2\.5 {
    padding-top: .625rem;
    padding-bottom: .625rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.py-3\.5 {
    padding-top: .875rem;
    padding-bottom: .875rem
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.pb-4 {
    padding-bottom: 1rem
}

.pr-3 {
    padding-right: .75rem
}

.pt-3 {
    padding-top: .75rem
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.align-top {
    vertical-align: top
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
}

.text-5xl {
    font-size: 3rem;
    line-height: 1
}

.text-\[11px\] {
    font-size: 11px
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.text-xs {
    font-size: .75rem;
    line-height: 1rem
}

.font-bold {
    font-weight: 700
}

.font-extrabold {
    font-weight: 800
}

.font-semibold {
    font-weight: 600
}

.uppercase {
    text-transform: uppercase
}

.leading-none {
    line-height: 1
}

.leading-relaxed {
    line-height: 1.625
}

.leading-tight {
    line-height: 1.25
}

.tracking-wide {
    letter-spacing: .025em
}

.text-\[\#25D366\] {
    --tw-text-opacity: 1;
    color: rgba(37, 211, 102, var(--tw-text-opacity, 1))
}

.text-\[\#2c3e50\] {
    --tw-text-opacity: 1;
    color: rgba(44, 62, 80, var(--tw-text-opacity, 1))
}

.text-\[\#7f8c8d\] {
    --tw-text-opacity: 1;
    color: rgba(127, 140, 141, var(--tw-text-opacity, 1))
}

.text-red-600 {
    --tw-text-opacity: 1;
    color: rgba(220, 38, 38, var(--tw-text-opacity, 1))
}

.text-red-700 {
    --tw-text-opacity: 1;
    color: rgba(185, 28, 28, var(--tw-text-opacity, 1))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1))
}

.underline {
    text-decoration-line: underline
}

.line-through {
    text-decoration-line: line-through
}

.opacity-70 {
    opacity: .7
}

.opacity-90 {
    opacity: .9
}

.opacity-95 {
    opacity: .95
}

.shadow-md {
    --tw-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 #0000000d;
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.duration-300 {
    transition-duration: .3s
}

.ease-out {
    transition-timing-function: cubic-bezier(0, 0, .2, 1)
}

.duration-300 {
    animation-duration: .3s
}

.ease-out {
    animation-timing-function: cubic-bezier(0, 0, .2, 1)
}

.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:bg-\[\#22c55e\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgba(34, 197, 94, var(--tw-bg-opacity, 1))
}

.hover\:bg-black\/\[0\.02\]:hover {
    background-color: #00000005
}

.hover\:text-\[\#25D366\]:hover {
    --tw-text-opacity: 1;
    color: rgba(37, 211, 102, var(--tw-text-opacity, 1))
}

.hover\:shadow-\[0_8px_20px_rgba\(37\,
211\,
102\,
0\.4\)\]:hover {
    --tw-shadow: 0 8px 20px #25d36666;
    --tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

body {
    background-color: var(--background-color);
    color: var(--text-dark);
    font-family: Segoe UI, Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6
}

::-webkit-scrollbar {
    width: 8px
}

::-webkit-scrollbar-track {
    background: #f1f1f1
}

::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px
}

::-webkit-scrollbar-thumb:hover {
    background: #a1a1a1
}

.transition-all {
    transition-property: all;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

button:focus {
    outline: none
}

button:not(:disabled):hover {
    transform: translateY(-1px)
}

button:not(:disabled):active {
    transform: translateY(0)
}

@media(max-width:640px) {
    .text-3xl {
        font-size: 1.5rem
    }
    .text-2xl {
        font-size: 1.25rem
    }
}

body.page-obrigado {
    background: #f5f5f1
}

@keyframes obrigado-glow {
    0%,
    to {
        box-shadow: 0 4px 18px #25d36626
    }
    50% {
        box-shadow: 0 6px 32px #25d36661
    }
}

@keyframes obrigado-fade-up {
    0% {
        opacity: 0;
        transform: translateY(10px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes obrigado-banner-pulse {
    0%,
    to {
        background-color: #128c7e
    }
    50% {
        background-color: #0e7368
    }
}

@keyframes obrigado-confetti {
    0% {
        transform: translateY(0)rotate(0)
    }
    50% {
        transform: translateY(-6px)rotate(8deg)
    }
    to {
        transform: translateY(0)rotate(0)
    }
}

.obrigado-fade {
    animation: .55s ease-out both obrigado-fade-up
}

.obrigado-emoji {
    transform-origin: 50%;
    animation: 1.6s ease-in-out infinite obrigado-confetti;
    display: inline-block
}

.obrigado-recusa {
    text-align: center;
    color: #9ca3af;
    cursor: pointer;
    margin-top: 14px;
    font-size: 12px;
    text-decoration: underline;
    display: block
}

.obrigado-recusa:active {
    color: #6b7280
}

.upsell-page {
    min-height: 100vh;
    background-color: #f5f5f1;
    color: #2c3e50;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    display: flex;
    flex-direction: column
}

.upsell-top-banner {
    background: linear-gradient(135deg, #128c7e, #25d366);
    color: #fff;
    text-align: center;
    padding: 10px 16px;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .3px;
    box-shadow: 0 2px 8px #00000014;
    animation: 2.5s ease-in-out infinite obrigado-banner-pulse
}

.upsell-badge-alert {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: #e6faf0;
    border: 1px solid rgba(37, 211, 102, .3);
    color: #128c7e;
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 700
}

.upsell-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 2px 14px #0000000a;
    margin-bottom: 20px
}

.upsell-card-highlight {
    background: #fff;
    border: 2px solid #25D366;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 20px #25d36626;
    margin-bottom: 20px
}

.upsell-btn-primary {
    width: 100%;
    background-color: #25d366;
    color: #fff;
    font-weight: 800;
    font-size: 17px;
    padding: 16px 20px;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 16px #25d36659;
    transition: all .2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box
}

.upsell-btn-primary:hover {
    background-color: #22c55e;
    transform: translateY(-2px);
    box-shadow: 0 6px 22px #25d36673
}

.upsell-btn-primary:active {
    transform: translateY(0)
}

.upsell-btn-sub {
    font-size: 11px;
    font-weight: 500;
    opacity: .9;
    margin-top: 3px;
    letter-spacing: .2px
}

.upsell-countdown-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 16px 0
}

.upsell-countdown-block {
    background: #fff;
    border: 1px solid rgba(37, 211, 102, .3);
    border-radius: 10px;
    padding: 8px 12px;
    min-width: 64px;
    text-align: center;
    box-shadow: 0 2px 6px #0000000d
}

.upsell-countdown-num {
    font-size: 24px;
    font-weight: 800;
    color: #25d366;
    line-height: 1.1;
    font-variant-numeric: tabular-nums
}

.upsell-countdown-label {
    font-size: 10px;
    color: #7f8c8d;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 2px
}

.upsell-countdown-colon {
    font-size: 20px;
    font-weight: 800;
    color: #128c7e
}

.upsell-select-wrapper {
    background: #f8faf9;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 10px 14px;
    margin-top: 6px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.upsell-select {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 14px;
    color: #2c3e50;
    font-weight: 500;
    outline: none;
    cursor: pointer;
    font-family: inherit
}

.upsell-input-wrapper {
    background: #f8faf9;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 10px 14px;
    margin-top: 6px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px
}

.upsell-input {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 15px;
    color: #2c3e50;
    font-weight: 600;
    outline: none;
    font-family: inherit
}

.upsell-feature-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px
}

.upsell-feature-row:last-child {
    margin-bottom: 0
}

.upsell-feature-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e6faf0;
    border: 1px solid rgba(37, 211, 102, .3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #25d366
}

.upsell-feature-title {
    font-weight: 700;
    font-size: 14px;
    color: #2c3e50;
    margin-bottom: 3px
}

.upsell-feature-desc {
    font-size: 12.5px;
    color: #6b7280;
    line-height: 1.5
}

.upsell-price-box {
    background: #f8faf9;
    border: 1px solid rgba(37, 211, 102, .35);
    border-radius: 14px;
    padding: 18px;
    margin: 16px 0;
    text-align: center
}

.upsell-faq-item {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    margin-bottom: 10px;
    background: #fff;
    overflow: hidden;
    transition: all .2s
}

.upsell-faq-btn {
    width: 100%;
    text-align: left;
    padding: 14px 16px;
    background: transparent;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 14px;
    color: #2c3e50;
    cursor: pointer
}

.upsell-faq-btn:hover {
    background-color: #f9fafb
}

.upsell-faq-answer {
    padding: 0 16px 14px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5
}

.upsell-refusal-link {
    display: block;
    text-align: center;
    margin-top: 14px;
    color: #9ca3af;
    font-size: 12px;
    text-decoration: underline;
    cursor: pointer;
    transition: color .15s
}

.upsell-refusal-link:hover {
    color: #6b7280
}

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

html {
    -webkit-text-size-adjust: 100%
}

#root {
    display: contents
}

body.page-gate {
    min-height: 100dvh;
    padding-top: max(20px, env(safe-area-inset-top));
    padding-bottom: max(20px, env(safe-area-inset-bottom));
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
    background-color: #f4f5f7;
    justify-content: center;
    align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    display: flex;
    overflow-x: hidden
}

.gate-card {
    text-align: center;
    background: #fff;
    border-radius: 18px;
    width: calc(100% - 32px);
    max-width: 420px;
    padding: 28px 24px;
    box-shadow: 0 2px 16px #00000014
}

.gate-icon {
    background-color: #e6faf0;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 52px;
    margin: 0 auto 20px;
    display: flex
}

.gate-icon svg {
    width: 26px;
    height: 26px
}

.gate-title {
    color: #111827;
    letter-spacing: -.3px;
    margin-bottom: 10px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25
}

.gate-subtitle {
    color: #6b7280;
    margin-bottom: 28px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5
}

.gate-btn-primary {
    color: #fff;
    letter-spacing: .4px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    background-color: #25d266;
    border: none;
    border-radius: 12px;
    width: 100%;
    min-height: 56px;
    padding: 16px 12px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    transition: background-color .15s, transform .1s;
    display: block
}

.gate-btn-primary:active {
    background-color: #1dab52;
    transform: scale(.98)
}

.gate-divider {
    margin: 20px 0 0
}

.gate-btn-minor {
    color: #9ca3af;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    letter-spacing: .3px;
    background: 0 0;
    border: none;
    padding: 8px 4px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    display: inline-block
}

.gate-btn-minor:active {
    color: #6b7280
}

.gate-message-minor {
    color: #92400e;
    background-color: #fff7ed;
    border-radius: 10px;
    margin-top: 16px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    display: none
}

.gate-message-minor.visible {
    display: block
}

.gate-legal {
    color: #d1d5db;
    margin-top: 20px;
    font-size: 11px;
    line-height: 1.5
}