*{box-sizing:border-box}body{margin:0;background:#050507;color:#fff;font-family:Inter,system-ui,Arial}button,input{font:inherit}.wrap{width:min(1120px,calc(100% - 28px));margin:auto}header{position:sticky;top:0;z-index:30;background:#050507eF;border-bottom:1px solid #30202a;backdrop-filter:blur(12px)}.nav{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900}.wa-top,.cta,.whats{background:#f51b70;color:#fff;text-decoration:none;font-weight:900;border-radius:10px;padding:12px 17px}.hero{padding:55px 0;background:radial-gradient(circle at 75% 40%,#f51b7040,transparent 35%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.tag{color:#ff3d85;font-size:12px;font-weight:900;letter-spacing:.12em}.hero h1{font-size:clamp(44px,7vw,76px);line-height:.95;margin:14px 0}.hero h1 em{font-style:normal;color:#f51b70}.lead{font-size:19px;color:#ccc;line-height:1.6}.trust{display:flex;gap:16px;flex-wrap:wrap;color:#eee;margin:22px 0 30px}.hero-photo img{width:100%;display:block;border-radius:22px;box-shadow:0 25px 80px #f51b7030}.hero-photo small{display:block;text-align:center;color:#777;margin-top:8px}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:-15px}.info article,.steps article,.confidence article,.legal,.raffle{background:#0e0e12;border:1px solid #29232a;border-radius:16px;padding:22px}.info b,.info span{display:block}.info b{font-size:25px;color:#ff3d85}.info span{color:#aaa;margin-top:4px}.how,.raffle,.confidence{padding-top:60px}.how h2,.raffle h2,.confidence h2{font-size:34px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f51b70}.steps p,.confidence p,.legal p{color:#aaa;line-height:1.55}.title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.legend{color:#bbb;font-size:13px}.lg{width:11px;height:11px;border-radius:3px;display:inline-block;margin-left:10px}.available{background:#16803d}.reserved{background:#b77905}.paid{background:#d3165f}.numbers{display:grid;grid-template-columns:repeat(10,1fr);gap:8px}.num{min-height:48px;border-radius:8px;border:1px solid #354036;color:#fff;font-weight:800;background:#12361d;cursor:pointer}.num.selected{background:#f51b70;border-color:#ff73aa;transform:translateY(-2px)}.num.reserved{background:#59400c;border-color:#b77905}.num.paid{background:#6b1035;border-color:#d3165f}.num:disabled{cursor:not-allowed}.cart{position:sticky;bottom:12px;margin-top:18px;background:#15151bcc;border:1px solid #44313b;backdrop-filter:blur(14px);border-radius:14px;padding:14px;display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center}.cart small,.cart strong{display:block}.cart small{color:#999}.cart button,.primary{border:0;background:#19a74a;color:#fff;font-weight:900;padding:15px 22px;border-radius:10px}.cart button:disabled{opacity:.4}.confidence>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.confidence article{font-size:26px}.confidence h3{font-size:18px}.legal{margin:60px auto}.modal{position:fixed;inset:0;background:#000c;display:grid;place-items:center;padding:18px;z-index:50}.modal-card{width:min(480px,100%);background:#111117;border:1px solid #5a2a40;border-radius:18px;padding:25px;position:relative}.hidden{display:none!important}.close{position:absolute;right:12px;top:8px;background:none;border:0;color:#fff;font-size:30px}label{display:grid;gap:7px;margin:14px 0;font-weight:700}input{background:#09090c;border:1px solid #443740;color:#fff;padding:13px;border-radius:9px}.primary{width:100%}.pix{display:flex;gap:8px;background:#08080b;padding:12px;border:1px dashed #f51b70;border-radius:9px}.pix code{flex:1;overflow-wrap:anywhere}.pix button{background:#f51b70;color:#fff;border:0;border-radius:7px}.whats{display:block;text-align:center;margin-top:15px;background:#19a74a}.notice{background:#402138;border:1px solid #f51b70;padding:13px;border-radius:9px;margin-bottom:14px}footer{padding:30px 0;border-top:1px solid #222;color:#777;text-align:center}@media(max-width:850px){.hero-grid{grid-template-columns:1fr}.hero-photo{order:-1}.steps{grid-template-columns:1fr 1fr}.numbers{grid-template-columns:repeat(8,1fr)}.confidence>div{grid-template-columns:1fr}}@media(max-width:580px){.wa-top{font-size:12px;padding:10px}.hero{padding-top:30px}.hero h1{font-size:48px}.info{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.title-row{align-items:flex-start;flex-direction:column;gap:12px}.numbers{grid-template-columns:repeat(5,1fr)}.cart{grid-template-columns:1fr 1fr}.cart button{grid-column:1/-1}.hero-photo img{border-radius:13px}}.qr-image{display:block;width:min(260px,100%);margin:14px auto;background:#fff;padding:10px;border-radius:12px}.payment-waiting{padding:13px;border-radius:10px;background:#4b370b;border:1px solid #d69d13;text-align:center;font-weight:900}.payment-paid{background:#123d20;border-color:#1fb753}
/* ===== PIX MANUAL PROFISSIONAL ===== */

body.modal-open {
    overflow: hidden;
}

.modal {
    z-index: 999999 !important;
    padding: 16px;
    overflow-y: auto;
    background: rgba(2, 6, 18, .88) !important;
    backdrop-filter: blur(7px);
}

.modal-card {
    position: relative;
    width: min(100%, 570px) !important;
    max-height: none !important;
    margin: auto;
    padding: 28px !important;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 24px !important;
    background:
        linear-gradient(
            145deg,
            rgba(23,34,54,.98),
            rgba(9,16,29,.99)
        ) !important;
    box-shadow:
        0 35px 100px rgba(0,0,0,.65),
        inset 0 1px 0 rgba(255,255,255,.05);
}

.modal-card .close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 1000001 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    font-size: 29px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: .2s ease;
}

.modal-card .close:hover {
    transform: rotate(90deg);
    background: rgba(255,255,255,.16) !important;
}

#payment {
    color: #f5f7fb;
}

.payment-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    margin: 0 auto 15px;
    border-radius: 50%;
    background:
        linear-gradient(145deg, #31d17c, #09964e);
    color: #fff;
    font-size: 37px;
    font-weight: 900;
    box-shadow: 0 13px 35px rgba(21,185,99,.32);
}

.payment-title {
    margin: 0;
    padding: 0 34px;
    color: #fff;
    font-size: 25px;
    line-height: 1.2;
    text-align: center;
}

.payment-subtitle {
    max-width: 440px;
    margin: 10px auto 22px;
    color: #aab6c8;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

.buyer-card {
    margin-bottom: 16px;
    padding: 17px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 17px;
    background: rgba(255,255,255,.045);
}

.buyer-card-title,
.pix-area-title {
    margin-bottom: 13px;
    color: #f9fbff;
    font-size: 15px;
    font-weight: 800;
}

.buyer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.buyer-item {
    min-width: 0;
    padding: 11px 12px;
    border-radius: 12px;
    background: rgba(0,0,0,.18);
}

.buyer-wide {
    grid-column: 1 / -1;
}

.buyer-label {
    display: block;
    margin-bottom: 4px;
    color: #8896ac;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.buyer-item strong {
    display: block;
    color: #eef3fb;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.purchase-summary {
    display: grid;
    gap: 9px;
    margin-bottom: 16px;
}

.summary-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 15px;
    border-radius: 13px;
    background: #19253a;
}

.summary-item span {
    color: #9ba8ba;
    font-size: 13px;
}

.summary-item strong {
    color: #fff;
    font-size: 14px;
    text-align: right;
    overflow-wrap: anywhere;
}

.summary-price {
    color: #54e597 !important;
    font-size: 20px !important;
}

.reservation-code {
    color: #81a9ff !important;
    font-family: monospace;
}

.pix-area {
    padding: 17px;
    border: 1px solid rgba(49,209,124,.2);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(14,52,39,.42),
            rgba(7,25,24,.45)
        );
}

.pix-code-field {
    width: 100%;
    min-height: 118px;
    box-sizing: border-box;
    padding: 13px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    outline: none;
    resize: none;
    background: #070d17;
    color: #dce6f5;
    font-family: monospace;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.copy-pix-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 53px;
    margin-top: 12px;
    border: 0;
    border-radius: 13px;
    background:
        linear-gradient(145deg, #28cf74, #0ba958);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(12,171,88,.23);
    transition: .2s ease;
}

.copy-pix-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}

.copy-pix-button.copied {
    background:
        linear-gradient(145deg, #2772e8, #1552bc);
}

.copy-icon {
    font-size: 20px;
}

.reservation-timer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 13px;
    background: rgba(245,185,66,.1);
    color: #f5cb76;
}

.reservation-timer span {
    font-size: 12px;
}

.reservation-timer strong {
    font-family: monospace;
    font-size: 20px;
}

.reservation-timer strong.expired {
    color: #ff7979;
}

.manual-warning {
    margin-top: 13px;
    padding: 13px;
    border: 1px solid rgba(255,196,84,.15);
    border-radius: 13px;
    background: rgba(255,196,84,.07);
    color: #e7c986;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

.receipt-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 12px;
    padding: 11px 15px;
    border-radius: 13px;
    background:
        linear-gradient(145deg, #159855, #08763e);
    color: #fff !important;
    font-size: 14px;
    font-weight: 900;
    text-align: center;
    text-decoration: none !important;
    transition: .2s ease;
}

.receipt-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
}

@media (max-width: 520px) {
    .modal {
        align-items: flex-start !important;
        padding: 10px;
    }

    .modal-card {
        width: 100% !important;
        margin: 10px auto;
        padding: 22px 14px !important;
        border-radius: 20px !important;
    }

    .payment-title {
        padding: 0 35px;
        font-size: 21px;
    }

    .buyer-grid {
        grid-template-columns: 1fr;
    }

    .buyer-wide {
        grid-column: auto;
    }

    .summary-item {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .summary-item strong {
        text-align: left;
    }

    .reservation-timer {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

/* Lista de compradores do painel */
.buyers-admin-section {
    margin-top: 22px;
}

.buyers-admin-section h2 {
    margin-bottom: 6px;
}

.buyers-admin-description {
    margin: 0 0 16px;
    color: #9aa8bc;
    font-size: 14px;
}

.buyers-admin-list {
    display: grid;
    gap: 13px;
}

.buyer-admin-card {
    padding: 17px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 17px;
    background: rgba(255,255,255,.045);
}

.buyer-admin-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 13px;
}

.buyer-admin-name {
    color: #fff;
    font-size: 17px;
    font-weight: 800;
}

.buyer-admin-reservation {
    margin-top: 4px;
    color: #8fa2bd;
    font-family: monospace;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.buyer-admin-status {
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.buyer-admin-status.reserved {
    background: rgba(245,177,53,.16);
    color: #f5c563;
}

.buyer-admin-status.paid {
    background: rgba(31,195,107,.16);
    color: #54df98;
}

.buyer-admin-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
}

.buyer-admin-info {
    padding: 10px 11px;
    border-radius: 11px;
    background: rgba(0,0,0,.16);
}

.buyer-admin-info.wide {
    grid-column: 1 / -1;
}

.buyer-admin-info span {
    display: block;
    margin-bottom: 3px;
    color: #8290a5;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.buyer-admin-info strong {
    display: block;
    color: #edf3fc;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.buyer-admin-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 13px;
}

.buyer-admin-actions button,
.buyer-admin-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.buyer-action-whatsapp {
    background: #087d40;
}

.buyer-action-paid {
    background: #149657;
}

.buyer-action-cancel {
    background: #a7333d;
}

.no-buyers {
    padding: 22px;
    border-radius: 15px;
    background: rgba(255,255,255,.04);
    color: #9ba8ba;
    text-align: center;
}

@media (max-width: 600px) {
    .buyer-admin-grid,
    .buyer-admin-actions {
        grid-template-columns: 1fr;
    }

    .buyer-admin-info.wide {
        grid-column: auto;
    }

    .buyer-admin-top {
        flex-direction: column;
    }
}

/* ==================================================
   VISUAL PREMIUM DA RIFA
================================================== */

:root {
    --premium-bg: #05070d;
    --premium-card: #0d1320;
    --premium-card-light: #141d2d;
    --premium-border: rgba(255,255,255,.09);
    --premium-text: #f7f9fc;
    --premium-muted: #9aa7ba;
    --premium-green: #24d47b;
    --premium-green-dark: #0ca85a;
    --premium-blue: #397cff;
    --premium-yellow: #f4bf45;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

.raffle-premium-body {
    margin: 0;
    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(47,108,255,.14),
            transparent 35%
        ),
        #05070d;
    color: var(--premium-text);
}

.premium-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    border-bottom: 1px solid var(--premium-border);
    background: rgba(5,7,13,.88);
    backdrop-filter: blur(14px);
}

.premium-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px;
    gap: 20px;
}

.premium-logo {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #fff;
    text-decoration: none;
}

.logo-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    border-radius: 13px;
    background:
        linear-gradient(145deg, #3379ff, #1945a7);
    box-shadow: 0 12px 30px rgba(40,97,235,.25);
}

.premium-logo strong,
.premium-logo small {
    display: block;
}

.premium-logo strong {
    font-size: 15px;
    letter-spacing: .04em;
}

.premium-logo small {
    margin-top: 2px;
    color: #8090a8;
    font-size: 11px;
}

.premium-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 43px;
    padding: 10px 16px;
    border-radius: 12px;
    background: #128c53;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.premium-hero {
    position: relative;
    overflow: hidden;
    padding: 76px 0 54px;
}

.hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    pointer-events: none;
}

.hero-glow-one {
    top: -120px;
    right: -80px;
    width: 430px;
    height: 430px;
    background: rgba(44,101,255,.2);
}

.hero-glow-two {
    bottom: -200px;
    left: -100px;
    width: 450px;
    height: 450px;
    background: rgba(33,212,122,.12);
}

.premium-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.12fr .88fr;
    align-items: center;
    gap: 58px;
}

.hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.hero-badge {
    padding: 7px 10px;
    border: 1px solid var(--premium-border);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    color: #c9d3e2;
    font-size: 11px;
    font-weight: 700;
}

.premium-tag,
.premium-section-title > span,
.premium-final-cta > div > span,
.modal-top-label {
    display: inline-block;
    color: #64eaa3;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
}

.premium-hero-content h1 {
    max-width: 670px;
    margin: 15px 0 17px;
    font-size: clamp(43px, 6vw, 74px);
    line-height: .98;
    letter-spacing: -.045em;
}

.premium-hero-content h1 strong {
    display: block;
    color: #72a0ff;
}

.premium-lead {
    max-width: 610px;
    margin: 0;
    color: #a9b6c9;
    font-size: 18px;
    line-height: 1.65;
}

.premium-lead strong {
    color: #fff;
}

.premium-price-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
    max-width: 520px;
    margin-top: 24px;
}

.premium-price-box > div {
    padding: 15px;
    border: 1px solid var(--premium-border);
    border-radius: 14px;
    background: rgba(255,255,255,.045);
}

.premium-price-box span,
.premium-price-box strong {
    display: block;
}

.premium-price-box span {
    margin-bottom: 4px;
    color: #8795aa;
    font-size: 11px;
}

.premium-price-box strong {
    color: #fff;
    font-size: 22px;
}

.premium-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 13px 19px;
    margin: 22px 0;
    color: #c6d1df;
    font-size: 12px;
}

.premium-trust span::first-letter {
    color: var(--premium-green);
}

.premium-main-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 56px;
    padding: 13px 21px;
    border-radius: 14px;
    background:
        linear-gradient(
            145deg,
            var(--premium-green),
            var(--premium-green-dark)
        );
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 15px 34px rgba(24,198,108,.22);
}

.premium-main-cta span {
    font-size: 21px;
}

.hero-small-note {
    max-width: 510px;
    margin: 13px 0 0;
    color: #707e93;
    font-size: 11px;
    line-height: 1.5;
}

.premium-prize-card {
    position: relative;
    padding: 20px;
    border: 1px solid var(--premium-border);
    border-radius: 27px;
    background:
        linear-gradient(
            150deg,
            rgba(27,39,62,.94),
            rgba(8,13,23,.98)
        );
    box-shadow: 0 35px 90px rgba(0,0,0,.45);
}

.prize-card-badge {
    position: absolute;
    top: 17px;
    left: 17px;
    z-index: 5;
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--premium-yellow);
    color: #251803;
    font-size: 10px;
    font-weight: 900;
}

.prize-image-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 360px;
    overflow: hidden;
    border-radius: 21px;
    background:
        radial-gradient(
            circle,
            rgba(69,123,255,.24),
            transparent 65%
        ),
        #080e19;
}

.prize-image-wrap img {
    position: relative;
    z-index: 2;
    width: 93%;
    max-height: 340px;
    object-fit: contain;
    filter: drop-shadow(0 28px 25px rgba(0,0,0,.65));
}

.prize-light {
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(64,120,255,.24);
    filter: blur(55px);
}

.prize-card-info {
    padding: 19px 4px 12px;
}

.prize-card-info span {
    color: #8998ad;
    font-size: 11px;
}

.prize-card-info h2 {
    margin: 4px 0;
    color: #fff;
    font-size: 27px;
}

.prize-card-info p {
    margin: 0;
    color: #9aa8ba;
    font-size: 13px;
}

.premium-prize-card small {
    display: block;
    padding: 0 4px 2px;
    color: #647186;
    font-size: 9px;
}

.premium-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 13px;
    margin-top: 9px;
}

.premium-stats article {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 18px;
    border: 1px solid var(--premium-border);
    border-radius: 17px;
    background: #0b111d;
}

.stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 13px;
    background: rgba(65,115,255,.12);
    font-size: 21px;
}

.premium-stats b,
.premium-stats span {
    display: block;
}

.premium-stats b {
    color: #fff;
    font-size: 19px;
}

.premium-stats span {
    margin-top: 3px;
    color: #7f8da2;
    font-size: 11px;
}

.premium-how,
.premium-confidence {
    padding-top: 95px;
    padding-bottom: 95px;
}

.premium-section-title {
    max-width: 680px;
    margin: 0 auto 35px;
    text-align: center;
}

.premium-section-title h2 {
    margin: 9px 0 8px;
    color: #fff;
    font-size: clamp(30px, 5vw, 45px);
    letter-spacing: -.03em;
}

.premium-section-title p {
    margin: 0;
    color: #8795a9;
    font-size: 14px;
    line-height: 1.6;
}

.premium-steps,
.premium-confidence-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.premium-steps article,
.premium-confidence-grid article {
    position: relative;
    padding: 23px;
    border: 1px solid var(--premium-border);
    border-radius: 19px;
    background:
        linear-gradient(
            150deg,
            rgba(20,29,45,.96),
            rgba(8,13,23,.98)
        );
}

.step-number {
    position: absolute;
    top: 15px;
    right: 16px;
    color: rgba(255,255,255,.09);
    font-size: 38px;
    font-weight: 900;
}

.step-icon,
.confidence-icon {
    margin-bottom: 15px;
    font-size: 28px;
}

.premium-steps h3,
.premium-confidence-grid h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 16px;
}

.premium-steps p,
.premium-confidence-grid p {
    margin: 0;
    color: #8492a7;
    font-size: 12px;
    line-height: 1.6;
}

.premium-numbers-section {
    padding: 88px 0 102px;
    border-top: 1px solid rgba(255,255,255,.05);
    border-bottom: 1px solid rgba(255,255,255,.05);
    background: #080c15;
}

.numbers-title {
    margin-bottom: 22px;
}

.premium-legend {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
    color: #9ca9bb;
    font-size: 11px;
}

.premium-legend > div {
    display: flex;
    align-items: center;
    gap: 6px;
}

.legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.legend-dot.available {
    background: #172335;
}

.legend-dot.reserved {
    background: #dfa92e;
}

.legend-dot.paid {
    background: #20b96d;
}

.legend-dot.selected {
    background: #397cff;
}

.premium-numbers-card {
    padding: 23px;
    border: 1px solid var(--premium-border);
    border-radius: 22px;
    background: #0b111c;
    box-shadow: 0 24px 60px rgba(0,0,0,.25);
}

.premium-numbers-grid {
    gap: 8px !important;
}

.premium-numbers-grid .num {
    min-height: 48px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 10px;
    background: #121c2b;
    color: #dce4ef;
    font-weight: 800;
    transition: .15s ease;
}

.premium-numbers-grid .num.available:not(:disabled):hover {
    transform: translateY(-2px);
    border-color: rgba(80,130,255,.7);
    background: #182943;
}

.premium-numbers-grid .num.selected {
    border-color: #5d8dff;
    background:
        linear-gradient(145deg, #397cff, #2052bb);
    color: #fff;
    box-shadow: 0 8px 18px rgba(43,101,236,.25);
}

.premium-numbers-grid .num.reserved {
    background: rgba(217,162,46,.18);
    color: #e6bd64;
}

.premium-numbers-grid .num.paid {
    background: rgba(28,185,106,.17);
    color: #5de2a0;
}

.premium-cart {
    position: sticky;
    bottom: 12px;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 18px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(10,16,27,.94);
    box-shadow: 0 20px 50px rgba(0,0,0,.42);
    backdrop-filter: blur(14px);
}

.premium-cart-info {
    display: flex;
    gap: 38px;
    min-width: 0;
}

.premium-cart-info small,
.premium-cart-info strong {
    display: block;
}

.premium-cart-info small {
    margin-bottom: 4px;
    color: #7f8ca0;
    font-size: 10px;
}

.premium-cart-info strong {
    color: #fff;
    font-size: 16px;
    overflow-wrap: anywhere;
}

.premium-cart button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 190px;
    min-height: 50px;
    border: 0;
    border-radius: 13px;
    background:
        linear-gradient(
            145deg,
            var(--premium-green),
            var(--premium-green-dark)
        );
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.premium-cart button:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.premium-confidence-grid {
    grid-template-columns: repeat(3, 1fr);
}

.premium-final-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 80px;
    padding: 35px;
    border: 1px solid rgba(76,123,255,.18);
    border-radius: 24px;
    background:
        linear-gradient(
            135deg,
            rgba(34,70,149,.24),
            rgba(12,28,28,.7)
        );
}

.premium-final-cta h2 {
    max-width: 700px;
    margin: 8px 0;
    color: #fff;
    font-size: 30px;
}

.premium-final-cta p {
    margin: 0;
    color: #92a0b3;
    font-size: 13px;
}

.premium-final-cta > a {
    flex: 0 0 auto;
    padding: 15px 18px;
    border-radius: 13px;
    background: #fff;
    color: #0b111d;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.premium-legal {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 65px;
    padding: 20px;
    border: 1px solid var(--premium-border);
    border-radius: 16px;
    background: rgba(255,255,255,.025);
}

.legal-icon {
    font-size: 22px;
}

.premium-legal h3 {
    margin: 0 0 6px;
    color: #fff;
    font-size: 15px;
}

.premium-legal p {
    margin: 0;
    color: #7e8b9f;
    font-size: 11px;
    line-height: 1.6;
}

.premium-footer {
    padding: 28px 0;
    border-top: 1px solid var(--premium-border);
    background: #03050a;
}

.premium-footer-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.premium-footer strong {
    color: #fff;
    font-size: 14px;
}

.premium-footer p {
    margin: 4px 0 0;
    color: #667389;
    font-size: 10px;
}

.premium-footer a {
    color: #78a0ff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.premium-modal-card {
    width: min(100%, 510px) !important;
}

.modal-top-label {
    margin-bottom: 7px;
}

.premium-modal-card > div > h2 {
    margin: 0 45px 7px 0;
    color: #fff;
}

.premium-modal-card #modalNumbers {
    margin: 0 0 17px;
    color: #88a9ff;
    font-size: 13px;
    font-weight: 800;
}

.premium-modal-card label {
    color: #bac5d4;
    font-size: 12px;
    font-weight: 700;
}

.premium-modal-card input {
    width: 100%;
    min-height: 49px;
    margin-top: 7px;
    padding: 12px 13px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 12px;
    outline: none;
    background: #080e18;
    color: #fff;
}

.premium-modal-card input:focus {
    border-color: #5283ff;
    box-shadow: 0 0 0 3px rgba(67,115,238,.13);
}

.form-security-note {
    margin: 12px 0;
    padding: 11px;
    border-radius: 11px;
    background: rgba(255,255,255,.04);
    color: #8492a7;
    font-size: 10px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .premium-hero-grid {
        grid-template-columns: 1fr;
    }

    .premium-prize-card {
        max-width: 590px;
        margin: auto;
    }

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

@media (max-width: 680px) {
    .premium-header {
        position: relative;
    }

    .premium-nav {
        min-height: 67px;
    }

    .premium-whatsapp {
        padding: 9px 11px;
        font-size: 0;
    }

    .premium-whatsapp span {
        font-size: 19px;
    }

    .premium-hero {
        padding-top: 43px;
    }

    .premium-hero-content h1 {
        font-size: 45px;
    }

    .premium-price-box,
    .premium-stats,
    .premium-confidence-grid {
        grid-template-columns: 1fr;
    }

    .premium-stats {
        gap: 8px;
    }

    .premium-how,
    .premium-confidence {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .premium-steps {
        grid-template-columns: 1fr;
    }

    .premium-numbers-section {
        padding-top: 65px;
        padding-bottom: 85px;
    }

    .premium-numbers-card {
        padding: 12px;
    }

    .premium-numbers-grid {
        gap: 6px !important;
    }

    .premium-numbers-grid .num {
        min-height: 43px;
        padding: 5px;
        font-size: 11px;
    }

    .premium-cart {
        align-items: stretch;
        flex-direction: column;
        bottom: 7px;
    }

    .premium-cart-info {
        justify-content: space-between;
        gap: 15px;
    }

    .premium-cart button {
        width: 100%;
    }

    .premium-final-cta {
        align-items: stretch;
        flex-direction: column;
        padding: 24px;
    }

    .premium-final-cta h2 {
        font-size: 24px;
    }

    .premium-final-cta > a {
        text-align: center;
    }

    .premium-footer-content {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 390px) {
    .premium-hero-content h1 {
        font-size: 39px;
    }

    .premium-price-box {
        grid-template-columns: 1fr;
    }

    .premium-cart-info {
        flex-direction: column;
    }
}

/* ===== PAINEL DE VISITANTES ===== */

.visitor-analytics {
    margin-bottom: 22px;
}

.visitor-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 17px;
}

.visitor-title-row h2 {
    margin: 5px 0;
}

.visitor-title-row p {
    margin: 0;
    color: #8c9ab0;
    font-size: 12px;
}

.visitor-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}

.visitor-stats article {
    padding: 15px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
}

.visitor-stats span,
.visitor-stats strong {
    display: block;
}

.visitor-stats span {
    margin-bottom: 5px;
    color: #8795aa;
    font-size: 11px;
}

.visitor-stats strong {
    color: #fff;
    font-size: 24px;
}

.visitor-list {
    display: grid;
    gap: 8px;
}

.visitor-row {
    display: grid;
    grid-template-columns:
        minmax(90px, .7fr)
        minmax(130px, 1fr)
        minmax(100px, 1fr)
        minmax(60px, .5fr)
        minmax(150px, 1.2fr)
        minmax(110px, .8fr);
    align-items: center;
    gap: 12px;
    padding: 13px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 13px;
    background: rgba(0,0,0,.16);
}

.visitor-row > div {
    min-width: 0;
}

.visitor-label {
    display: block;
    margin-bottom: 3px;
    color: #77859a;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.visitor-row strong {
    display: block;
    color: #eaf0f9;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.visitor-status-wrap {
    display: flex;
    align-items: center;
    gap: 7px;
}

.visitor-dot {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.visitor-dot.online {
    background: #30d881;
    box-shadow: 0 0 12px rgba(48,216,129,.65);
}

.visitor-dot.offline {
    background: #687488;
}

.visitor-empty {
    padding: 20px;
    border-radius: 13px;
    background: rgba(255,255,255,.035);
    color: #8e9bb0;
    text-align: center;
}

@media (max-width: 850px) {
    .visitor-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .visitor-row {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .visitor-title-row {
        align-items: stretch;
        flex-direction: column;
    }

    .visitor-stats,
    .visitor-row {
        grid-template-columns: 1fr;
    }
}

/* ===== ESCOLHA ALEATÓRIA DE NÚMEROS ===== */

.random-number-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin: 0 0 20px;
    padding: 20px;
    border: 1px solid rgba(90,139,255,.22);
    border-radius: 19px;
    background:
        linear-gradient(
            135deg,
            rgba(40,80,170,.18),
            rgba(13,25,43,.85)
        );
}

.random-number-text h3 {
    margin: 6px 0;
    color: #fff;
    font-size: 21px;
}

.random-number-text p {
    max-width: 500px;
    margin: 0;
    color: #8e9cb1;
    font-size: 12px;
    line-height: 1.55;
}

.random-number-action {
    display: grid;
    grid-template-columns: 125px 235px;
    align-items: end;
    gap: 9px;
    flex: 0 0 auto;
}

.random-number-action label {
    grid-column: 1;
    color: #9eacbf;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.random-number-action select {
    grid-column: 1;
    min-height: 47px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 11px;
    outline: none;
    background: #0c1421;
    color: #fff;
    font-size: 12px;
}

.random-number-action button {
    grid-column: 2;
    grid-row: 1 / 3;
    min-height: 47px;
    padding: 10px 15px;
    border: 0;
    border-radius: 11px;
    background:
        linear-gradient(
            145deg,
            #397cff,
            #2052bd
        );
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 25px rgba(48,102,228,.24);
}

.random-number-action button:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

/* Grade mais compacta para 500 números */
.premium-numbers-grid,
#numbers.numbers {
    grid-template-columns:
        repeat(auto-fill, minmax(48px, 1fr));
}

@media (max-width: 700px) {
    .random-number-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .random-number-action {
        grid-template-columns: 1fr;
    }

    .random-number-action label,
    .random-number-action select,
    .random-number-action button {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
    }

    .premium-numbers-grid,
    #numbers.numbers {
        grid-template-columns:
            repeat(auto-fill, minmax(43px, 1fr));
    }
}
