
/* =========================================================
   WHITE-LABEL V6.1 — acabamento comercial vendável
   ========================================================= */
:root{
  --wl-bg:#f6f6f9;
  --wl-surface:#ffffff;
  --wl-text:#17171c;
  --wl-muted:#74747e;
  --wl-border:#e6e6eb;
  --wl-radius:16px;
  --wl-shadow:0 8px 24px rgba(18,18,28,.055);
  --wl-shadow-lg:0 18px 50px rgba(18,18,28,.09);
}
html{-webkit-text-size-adjust:100%}
body{letter-spacing:-.005em}
button,a,input,select,textarea{font:inherit}
a{-webkit-tap-highlight-color:transparent}
img{max-width:100%}

/* HEADER */
.app-header{
  position:sticky!important;top:0!important;z-index:100!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(20,20,30,.06)!important;
}
.header-row{min-height:68px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.brand-dynamic{min-width:0!important}
.brand-text-only{font-size:18px!important;font-weight:950!important;letter-spacing:-.03em!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-logo-only{max-height:44px!important;max-width:210px!important}
.desktop-nav{gap:4px!important;align-items:center}
.desktop-nav a{padding:9px 11px!important;border-radius:9px!important;font-size:11px!important;font-weight:850!important;color:#55545e!important;transition:.18s}
.desktop-nav a:hover,.desktop-nav a.is-active{background:color-mix(in srgb,var(--brand) 8%,#fff)!important;color:var(--brand)!important}
.desktop-nav .nav-cta{background:var(--brand)!important;color:#fff!important;padding:10px 15px!important;box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 18%,transparent)!important}
.mobile-access-btn{align-items:center;justify-content:center;background:var(--brand);color:#fff!important;border-radius:10px;padding:9px 14px;font-size:11px;font-weight:900;box-shadow:0 5px 14px color-mix(in srgb,var(--brand) 20%,transparent)}
.mobile-account-pill{width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--brand) 11%,#fff);color:var(--brand)!important;align-items:center;justify-content:center;font-size:12px;font-weight:950;border:1px solid color-mix(in srgb,var(--brand) 18%,#ddd)}

/* MOBILE BOTTOM NAV */
.bottom-nav{
  left:max(8px,env(safe-area-inset-left))!important;
  right:max(8px,env(safe-area-inset-right))!important;
  bottom:max(8px,env(safe-area-inset-bottom))!important;
  width:auto!important;
  border-radius:20px!important;
  border:1px solid rgba(20,20,30,.08)!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(20px)!important;
  box-shadow:0 16px 40px rgba(20,20,30,.16)!important;
  padding:6px!important;
  overflow:hidden!important;
}
.bottom-nav a{border-radius:14px!important;min-width:0!important;color:#777781!important;transition:.18s}
.bottom-nav a b{font-size:18px!important}
.bottom-nav a small{font-size:8px!important;font-weight:850!important}
.bottom-nav a.is-active{background:color-mix(in srgb,var(--brand) 9%,#fff)!important;color:var(--brand)!important}

/* HOME */
.raffle-modern-home{padding-top:22px!important}
.raffle-modern-heading{align-items:flex-end!important}
.raffle-modern-heading h1{font-size:29px!important;line-height:1!important}
.v61-home-subtitle{margin:7px 0 0!important;color:var(--wl-muted)!important;font-size:11px!important;line-height:1.45!important}
.v6-quick-nav{margin-top:14px!important}
.v6-quick-nav a{transition:.18s transform,.18s box-shadow,.18s border-color}
.v6-quick-nav a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 25%,#ddd);box-shadow:var(--wl-shadow)}
.raffle-main-card{overflow:hidden!important;border:1px solid var(--wl-border)!important;background:var(--wl-surface)!important}
.raffle-main-media:after{content:"";position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.12));pointer-events:none}
.raffle-main-title{gap:12px!important}
.raffle-main-title h2{line-height:1.15!important}
.v6-campaign-facts>div{background:#fafafd!important}
.raffle-quick-grid button{background:#fafafd!important}
.raffle-quick-grid button.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 14%,transparent)}
.raffle-buy-now{min-height:48px!important}
.v6-feature-surface{overflow:hidden}
.feature-title-row{align-items:flex-start!important}
.instant-ticket-grid article,.roulette-prizes article,.ranking-list>div{background:#fcfcfd!important}
.raffle-home-section{scroll-margin-top:88px}

/* USER PAGES */
.raffle-account-page,.roulette-page,.raffle-campaign-page{min-height:calc(100vh - 68px)}
.raffle-page-heading{padding-top:5px}
.raffle-page-heading h1{font-size:28px!important}
.raffle-ticket-card,.campaign-extra-card,.my-instant-prizes,.roulette-play-card,.raffle-public-winners article{border:1px solid var(--wl-border)!important;box-shadow:var(--wl-shadow)!important}
.raffle-ticket-card{padding:16px!important}
.raffle-ticket-cloud{gap:7px!important}
.raffle-ticket-cloud b{border:1px solid rgba(0,0,0,.03)}
.raffle-public-winners article{transition:.18s}
.raffle-public-winners article:hover{transform:translateY(-2px);box-shadow:var(--wl-shadow-lg)!important}
.raffle-empty-box{background:#fff!important;box-shadow:var(--wl-shadow)!important}

/* CAMPAIGN */
.raffle-campaign-card{box-shadow:var(--wl-shadow-lg)!important}
.raffle-gallery-main{background:#f0f0f3!important}
.raffle-campaign-info{align-self:stretch}
.raffle-campaign-info h1{line-height:1.08!important}
.raffle-campaign-meta>div{background:#fafafd!important}
.raffle-campaign-quick button{transition:.18s}
.raffle-guarantee{min-height:50px!important}
.raffle-accordion details{box-shadow:var(--wl-shadow)!important}

/* AUTH */
.raffle-auth-page{background:
 radial-gradient(circle at 10% 10%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 28%),
 linear-gradient(180deg,#f8f8fb,#f3f3f7)!important}
.raffle-auth-card{box-shadow:0 24px 70px rgba(20,20,30,.12)!important;border:1px solid rgba(20,20,30,.08)!important}
.raffle-auth-brand{background:linear-gradient(145deg,#15151b,#292731)!important}
.auth-brand-text{font-size:28px!important;line-height:1.05!important;letter-spacing:-.035em!important;margin:0 0 12px!important;color:#fff!important}
.raffle-auth-form input{transition:.18s border-color,.18s box-shadow}
.raffle-auth-form input:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 11%,transparent)!important;outline:0}
.raffle-primary-btn,.raffle-install-btn{transition:.18s transform,.18s box-shadow}
.raffle-primary-btn:hover,.raffle-install-btn:hover{transform:translateY(-1px)}
.raffle-primary-btn{box-shadow:0 7px 18px color-mix(in srgb,var(--brand) 18%,transparent)!important}

/* ADMIN */
.admin-body{background:#f5f6f9!important;color:var(--wl-text)}
.admin-shell>.app-container{max-width:1180px!important}
.admin-tabs{position:sticky;top:78px;z-index:35;gap:2px!important;overflow:auto;scrollbar-width:none}
.admin-tabs::-webkit-scrollbar{display:none}
.admin-tabs a{white-space:nowrap!important;padding:9px 11px!important;border-radius:9px!important;font-size:10px!important}
.admin-tabs a.is-active{background:color-mix(in srgb,var(--brand) 9%,#fff)!important;color:var(--brand)!important;font-weight:950!important}
.admin-tab-exit{margin-left:auto!important}
.admin-topline{margin-top:18px!important}
.admin-topline h1{line-height:1!important;letter-spacing:-.035em!important}
.v6-admin-shortcuts a{transition:.18s transform,.18s box-shadow,.18s border-color}
.v6-admin-shortcuts a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 22%,#ddd);box-shadow:var(--wl-shadow)!important}
.stat-grid{gap:10px!important}
.stat-card{position:relative;overflow:hidden}
.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);opacity:.8}
.stat-card small{font-size:9px!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-weight:850!important}
.stat-card strong{letter-spacing:-.03em!important}
.panel-card{padding:20px!important}
.panel-card h2{letter-spacing:-.02em}
.form-grid{gap:13px!important}
.form-grid label,.account-form label{color:#44444c!important}
.form-grid input,.form-grid textarea,.form-grid select,.account-form input,.search-bar input{
  border:1px solid #dcdce3!important;
  background:#fff!important;
  border-radius:10px!important;
  transition:.18s border-color,.18s box-shadow!important;
}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.account-form input:focus,.search-bar input:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)!important;
  outline:0!important;
}
.table-wrap{border:1px solid #ececf0;border-radius:12px}
.table{margin:0!important}
.table th{position:sticky;top:0;background:#fafafd!important;z-index:2}
.table td,.table th{padding:12px 11px!important}
.table tr:last-child td{border-bottom:0}
.order-status{letter-spacing:.04em}
.flash{border:1px solid rgba(0,0,0,.04)}
.admin-preview{border:1px solid #e4e4e9}
.field-help{line-height:1.5!important}

/* RESPONSIVE */
@media(max-width:900px){
  .header-row{min-height:62px!important}
  .brand-logo-only{max-height:38px!important;max-width:175px!important}
  .brand-text-only{font-size:16px!important;max-width:220px}
  .admin-shell{padding-top:10px!important}
  .admin-topline{margin-top:10px!important;gap:12px!important}
  .admin-topline h1{font-size:25px!important}
  .panel-card{padding:15px!important}
  .stat-grid{grid-template-columns:1fr 1fr!important}
  .dashboard-grid{grid-template-columns:1fr!important}
  .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .table{min-width:720px}
  .raffle-modern-footer{padding-bottom:95px!important}
}
@media(max-width:700px){
  body.customer-body,body.admin-body{padding-bottom:82px}
  .app-container{padding-left:12px!important;padding-right:12px!important}
  .header-row{padding-left:12px!important;padding-right:12px!important}
  .raffle-modern-home{padding-top:12px!important}
  .raffle-modern-heading{display:block!important;margin-bottom:10px!important}
  .raffle-modern-heading h1{font-size:23px!important}
  .v61-home-subtitle{font-size:10px!important;max-width:290px}
  .v6-quick-nav{grid-template-columns:repeat(4,1fr)!important;gap:5px!important}
  .v6-quick-nav a{min-height:62px!important;border-radius:11px!important}
  .raffle-main-media{aspect-ratio:16/10.2!important}
  .raffle-main-title{align-items:flex-start!important}
  .raffle-main-title h2{font-size:17px!important}
  .raffle-main-title p{font-size:10px!important}
  .raffle-unit-price strong{font-size:18px!important}
  .v6-campaign-facts{grid-template-columns:repeat(3,1fr)!important}
  .raffle-quick-grid{grid-template-columns:repeat(3,1fr)!important}
  .raffle-buy-bar{grid-template-columns:108px 1fr!important}
  .raffle-buy-now{min-height:46px!important;font-size:11px!important}
  .v6-feature-surface{border-radius:14px!important}
  .instant-ticket-grid.mobile-expand-list article{padding:9px!important}
  .raffle-page-heading h1{font-size:23px!important}
  .raffle-campaign-card{border-radius:14px!important}
  .raffle-campaign-info{padding:14px!important}
  .raffle-auth-page{padding:18px 10px!important}
  .raffle-auth-card{border-radius:15px!important}
  .raffle-auth-form{padding:23px 17px!important}
  .stat-grid{grid-template-columns:1fr 1fr!important}
  .v6-admin-shortcuts{gap:7px!important}
  .v6-admin-shortcuts a{padding:11px!important}
  .form-grid{grid-template-columns:1fr!important}
  .form-grid .full{grid-column:auto!important}
  .search-bar{flex-direction:column!important}
  .table{font-size:10px!important}
  .bottom-nav{display:grid!important;grid-template-columns:repeat(5,1fr)!important}
}
@media(max-width:420px){
  .brand-text-only{max-width:185px}
  .mobile-access-btn{padding:8px 12px}
  .v6-campaign-facts>div{padding:7px 5px!important}
  .v6-campaign-facts b{font-size:8px!important}
  .stat-grid{grid-template-columns:1fr 1fr!important}
}
\n/* V6.1.1 — correção de adição de títulos + roletas mobile em lista */
.raffle-quick-grid button.qty-added,.raffle-campaign-quick button.qty-added{transform:scale(.97);border-color:var(--brand)!important;background:color-mix(in srgb,var(--brand) 8%,#fff)!important;color:var(--brand)!important}
@media(max-width:700px){
  .roulette-combos{grid-template-columns:1fr!important;gap:7px!important}
  .roulette-combos>div{display:grid!important;grid-template-columns:1fr auto!important;grid-template-areas:"qty spins" "receive spins"!important;align-items:center!important;text-align:left!important;padding:11px 13px!important;min-height:58px!important}
  .roulette-combos>div b{grid-area:qty!important;font-size:12px!important}
  .roulette-combos>div span{grid-area:receive!important;margin:1px 0 0!important}
  .roulette-combos>div strong{grid-area:spins!important;text-align:right!important;font-size:12px!important}
}


/* ===== V6.1.2 — +200 + LIMPAR ===== */
.quick-clear-btn{
    border-color:#e6d8d8!important;
    background:#fff8f8!important;
    color:#a43a3a!important;
}
.quick-clear-btn b{font-size:17px!important;line-height:1!important}
.quick-clear-btn span{color:#a86262!important}
.quick-clear-btn:hover,
.quick-clear-btn.qty-cleared{
    border-color:#c85d5d!important;
    background:#fff0f0!important;
    color:#8c2020!important;
}
.raffle-buy-now.is-empty,
.raffle-guarantee.is-empty{
    opacity:.48!important;
    cursor:not-allowed!important;
    box-shadow:none!important;
}
.raffle-quick-grid,
.raffle-campaign-quick{
    grid-template-columns:repeat(3,1fr)!important;
}
@media(min-width:701px){
    .raffle-quick-grid{
        grid-template-columns:repeat(6,1fr)!important;
    }
    .raffle-campaign-quick{
        grid-template-columns:repeat(6,1fr)!important;
    }
}


/* ===== V6.1.3 — INSTALAR APP + RODAPÉ CENTRAL ===== */
.v6-quick-install{
    appearance:none;
    border:1px solid var(--wl-border);
    background:#fff;
    border-radius:13px;
    min-height:72px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    color:var(--wl-text);
    cursor:pointer;
    box-shadow:0 4px 14px rgba(20,20,30,.035);
    transition:.18s transform,.18s box-shadow,.18s border-color;
}
.v6-quick-install:hover,
.v6-quick-install.install-ready{
    transform:translateY(-1px);
    border-color:color-mix(in srgb,var(--brand) 25%,#ddd);
    box-shadow:var(--wl-shadow);
}
.v6-quick-install span{
    width:36px;
    height:36px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:color-mix(in srgb,var(--brand) 8%,#f4f4f6);
    color:var(--brand);
    font-size:18px;
    font-weight:950;
}
.v6-quick-install b{
    font-size:10px;
    font-weight:900;
}

.v613-footer{
    margin-top:34px!important;
    padding:28px 0!important;
    background:#17171c!important;
    color:#fff!important;
}
.v613-footer-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:10px!important;
}
.v613-footer-brand{
    min-height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.v613-footer-brand img{
    display:block;
    max-width:170px;
    max-height:44px;
    object-fit:contain;
    filter:none;
}
.v613-footer-brand b{
    display:block;
    font-size:14px;
    font-weight:950;
    color:#fff;
}
.v613-footer-info{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px 14px;
    flex-wrap:wrap;
    color:#aaaab2;
    font-size:9px;
    line-height:1.45;
}
.v613-footer-signature{
    border-top:1px solid rgba(255,255,255,.08);
    width:min(100%,420px);
    padding-top:10px;
    color:#8f8f98;
    font-size:9px;
}
.v613-footer-signature b{
    color:#fff;
    font-weight:900;
    letter-spacing:.02em;
}

@media(max-width:700px){
    .v6-quick-install{
        min-height:62px;
        border-radius:11px;
    }
    .v6-quick-install span{
        width:34px;
        height:34px;
        font-size:16px;
    }
    .v613-footer{
        margin-top:24px!important;
        padding:24px 0 calc(100px + env(safe-area-inset-bottom))!important;
    }
    .v613-footer-brand img{
        max-width:145px;
        max-height:38px;
    }
    .v613-footer-info{
        flex-direction:column;
        gap:3px;
    }
}


/* ===== V6.1.4 — BOTÃO PWA PADRONIZADO + RODAPÉ COMPACTO ===== */

/* O card Instalar App deve ser visualmente idêntico aos demais atalhos da home */
.v6-quick-nav .v6-quick-install{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    min-width:0!important;
    min-height:72px!important;
    margin:0!important;
    padding:8px 5px!important;
    border:1px solid var(--wl-border)!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(20,20,30,.035)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    color:var(--wl-text)!important;
    cursor:pointer!important;
    text-align:center!important;
    font-family:inherit!important;
}
.v6-quick-nav .v6-quick-install span{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:10px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    background:color-mix(in srgb,var(--brand) 8%,#f4f4f6)!important;
    color:var(--brand)!important;
    font-size:17px!important;
    line-height:1!important;
    font-weight:950!important;
}
.v6-quick-nav .v6-quick-install b{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.15!important;
    font-weight:900!important;
    color:#2f2f35!important;
}
.v6-quick-nav .v6-quick-install:hover,
.v6-quick-nav .v6-quick-install.install-ready{
    border-color:color-mix(in srgb,var(--brand) 24%,#ddd)!important;
    box-shadow:var(--wl-shadow)!important;
}

/* Rodapé realmente compacto, centralizado e consistente no desktop/mobile */
.raffle-modern-footer.v614-footer{
    margin-top:26px!important;
    padding:18px 0 20px!important;
    min-height:0!important;
    height:auto!important;
    background:#17171c!important;
    color:#fff!important;
}
.raffle-modern-footer.v614-footer .v614-footer-inner{
    width:min(100% - 28px,960px)!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    justify-items:center!important;
    align-items:center!important;
    text-align:center!important;
    gap:6px!important;
}
.raffle-modern-footer.v614-footer .v614-footer-brand{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
}
.raffle-modern-footer.v614-footer .v614-footer-brand img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:180px!important;
    max-height:42px!important;
    object-fit:contain!important;
    margin:0 auto!important;
    padding:0!important;
}
.raffle-modern-footer.v614-footer .v614-footer-brand b{
    display:block!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:950!important;
    color:#fff!important;
    text-align:center!important;
}
.raffle-modern-footer.v614-footer .v614-footer-meta{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:4px 7px!important;
    margin:0!important;
    padding:0!important;
    color:#9e9ea6!important;
    font-size:8.5px!important;
    line-height:1.35!important;
    text-align:center!important;
}
.raffle-modern-footer.v614-footer .v614-footer-meta span{
    margin:0!important;
    padding:0!important;
    color:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
}
.raffle-modern-footer.v614-footer .v614-dot{
    opacity:.55!important;
}
.raffle-modern-footer.v614-footer .v614-footer-signature{
    width:auto!important;
    max-width:none!important;
    margin:1px 0 0!important;
    padding:5px 0 0!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
    color:#888890!important;
    font-size:8.5px!important;
    line-height:1.3!important;
    font-weight:400!important;
    text-align:center!important;
}
.raffle-modern-footer.v614-footer .v614-footer-signature b{
    display:inline!important;
    margin:0 0 0 2px!important;
    padding:0!important;
    color:#fff!important;
    font-size:8.5px!important;
    line-height:1.3!important;
    font-weight:900!important;
}

@media(max-width:700px){
    .v6-quick-nav .v6-quick-install{
        min-height:62px!important;
        border-radius:11px!important;
        padding:6px 4px!important;
    }
    .v6-quick-nav .v6-quick-install span{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        font-size:15px!important;
    }
    .v6-quick-nav .v6-quick-install b{
        font-size:9px!important;
    }

    .raffle-modern-footer.v614-footer{
        margin-top:22px!important;
        padding:15px 0 calc(88px + env(safe-area-inset-bottom))!important;
    }
    .raffle-modern-footer.v614-footer .v614-footer-inner{
        width:min(100% - 20px,960px)!important;
        gap:5px!important;
    }
    .raffle-modern-footer.v614-footer .v614-footer-brand img{
        max-width:175px!important;
        max-height:40px!important;
    }
    .raffle-modern-footer.v614-footer .v614-footer-meta{
        font-size:8px!important;
        gap:3px 6px!important;
    }
    .raffle-modern-footer.v614-footer .v614-footer-signature,
    .raffle-modern-footer.v614-footer .v614-footer-signature b{
        font-size:8px!important;
    }
}

@media(max-width:420px){
    .raffle-modern-footer.v614-footer .v614-footer-meta{
        flex-direction:column!important;
        gap:1px!important;
    }
    .raffle-modern-footer.v614-footer .v614-dot{
        display:none!important;
    }
}
