.route-admin,
.route-ganador_fecha,
.route-comunicaciones{
    background:#f3f4fa;
}

.route-admin .qb-header,
.route-admin .qb-menu,
.route-admin .footer,
.route-ganador_fecha .qb-header,
.route-ganador_fecha .qb-menu,
.route-ganador_fecha .footer,
.route-comunicaciones .qb-header,
.route-comunicaciones .qb-menu,
.route-comunicaciones .footer{
    display:none !important;
}

.route-admin main.wrap,
.route-ganador_fecha main.wrap,
.route-comunicaciones main.wrap{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    display:block;
}

.exact-phone-page{
    position:relative;
    min-height:100vh;
    padding:0;
}

.exact-phone{
    position:relative;
    width:min(390px,100vw);
    min-height:100vh;
    margin:0 auto;
}

.exact-screen{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    background:#f8f8fc;
    color:#171a31;
}

.exact-hero{
    position:relative;
    padding:18px 22px 0;
    color:#fff;
}

.exact-hero-admin{
    min-height:228px;
    background:linear-gradient(155deg,#6d18ff 0%,#4b0ddc 50%,#2500b8 100%);
    border-bottom-left-radius:26px;
    border-bottom-right-radius:26px;
}

.exact-hero-winner{
    height:132px;
    background:linear-gradient(155deg,#6d18ff 0%,#4b0ddc 50%,#2500b8 100%);
    border-bottom-left-radius:26px;
    border-bottom-right-radius:26px;
}

.exact-hero-comms{
    height:132px;
    background:linear-gradient(155deg,#ff4f9b 0%,#d91d73 45%,#b10062 100%);
    border-bottom-left-radius:26px;
    border-bottom-right-radius:26px;
}

.exact-status{
    height:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13px;
    font-weight:700;
}

.exact-status-icons{
    display:flex;
    gap:5px;
    align-items:center;
}

.exact-status-icons i{
    display:block;
}

.exact-status-icons i:first-child{
    width:18px;
    height:12px;
    position:relative;
}

.exact-status-icons i:first-child::before,
.exact-status-icons i:first-child::after{
    content:"";
    position:absolute;
    inset:0;
}

.exact-status-icons i:first-child::before{
    width:3px;
    height:4px;
    bottom:0;
    left:0;
    border-radius:4px;
    background:#fff;
    box-shadow:5px -3px 0 #fff,10px -6px 0 #fff,15px -8px 0 #fff;
    opacity:.95;
}

.exact-status-icons i:nth-child(2){
    width:15px;
    height:11px;
    position:relative;
}

.exact-status-icons i:nth-child(2)::before{
    content:"";
    position:absolute;
    width:15px;
    height:15px;
    border:2px solid #fff;
    border-left-color:transparent;
    border-right-color:transparent;
    border-bottom-color:transparent;
    border-radius:50%;
    top:2px;
    left:0;
}

.exact-status-icons i:nth-child(2)::after{
    content:"";
    position:absolute;
    width:4px;
    height:4px;
    background:#fff;
    border-radius:50%;
    bottom:0;
    left:5px;
}

.exact-status-icons .battery{
    width:22px;
    height:10px;
    border:2px solid #fff;
    border-radius:3px;
    position:relative;
}

.exact-status-icons .battery::before{
    content:"";
    width:14px;
    height:4px;
    background:#fff;
    position:absolute;
    left:2px;
    top:1px;
    border-radius:1px;
}

.exact-status-icons .battery::after{
    content:"";
    width:3px;
    height:5px;
    background:#fff;
    position:absolute;
    right:-5px;
    top:1px;
    border-radius:1px;
}

.exact-topline,
.exact-admin-bar{
    margin-top:18px;
    display:grid;
    grid-template-columns:34px 1fr 34px;
    align-items:center;
}

.exact-topline strong{
    text-align:center;
    font-size:18px;
    font-weight:800;
    letter-spacing:.2px;
}

.exact-icon-button{
    width:34px;
    height:34px;
    border:0;
    background:transparent;
    color:#fff;
    display:grid;
    place-items:center;
    text-decoration:none;
    font-size:23px;
    line-height:1;
}

.exact-admin-brand{
    grid-column:1 / span 2;
}

.exact-admin-brand span{
    display:block;
    font-size:14px;
    font-weight:700;
    opacity:.92;
}

.exact-admin-brand strong{
    display:block;
    margin-top:2px;
    font-size:26px;
    line-height:1;
    font-weight:900;
}

.exact-admin-hero-copy{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    margin-top:28px;
}

.exact-admin-hero-copy p{
    margin:0 0 10px;
    color:#fff;
    font-size:26px;
    font-weight:800;
}

.exact-admin-hero-copy h1{
    margin:0;
    color:#fff;
    font-size:20px;
    line-height:1.15;
    font-weight:700;
}

.exact-admin-hero-copy small{
    display:block;
    margin-top:8px;
    color:rgba(255,255,255,.88);
    font-size:13px;
    line-height:1.35;
}

.exact-admin-hero-art{
    position:relative;
    width:100px;
    height:106px;
    flex:0 0 100px;
}

.exact-trophy{
    position:absolute;
    right:0;
    bottom:0;
    width:86px;
    height:86px;
    display:grid;
    place-items:center;
    border-radius:28px;
    background:rgba(255,255,255,.16);
    font-size:44px;
}

.exact-ball{
    position:absolute;
    left:2px;
    top:8px;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    font-size:23px;
}

.exact-content-card{
    position:relative;
    border-radius:16px;
    background:#fff;
    box-shadow:0 14px 32px rgba(28,24,75,.08);
    border:1px solid rgba(92,83,143,.05);
}

.exact-overlap-card{
    margin:-28px 18px 0;
    padding:16px 16px 14px;
    border-top-left-radius:28px;
    border-top-right-radius:28px;
    background:#fbfbfe;
    box-shadow:0 -14px 34px rgba(41,22,87,.08);
}

.exact-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
}

.exact-section-head h2{
    margin:0;
    font-size:15px;
    font-weight:900;
    letter-spacing:-.2px;
}

.exact-section-head a,
.exact-section-head span{
    color:#6417ff;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}

.exact-inline-alert{
    margin-bottom:12px;
    padding:11px 13px;
    border-radius:12px;
    background:#f3eaff;
    color:#4d0be0;
    font-size:12px;
    font-weight:700;
}

.exact-stat-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}

.exact-stat-card{
    border-radius:16px;
    background:#fff;
    padding:14px 12px;
    box-shadow:0 8px 20px rgba(28,24,75,.06);
}

.exact-stat-icon{
    width:46px;
    height:46px;
    border-radius:15px;
    display:grid;
    place-items:center;
    font-size:22px;
    font-weight:900;
}

.exact-tone-purple .exact-stat-icon{
    background:#f3eaff;
    color:#6417ff;
}

.exact-tone-pink .exact-stat-icon{
    background:#ffe9f3;
    color:#ff4f9b;
}

.exact-tone-orange .exact-stat-icon{
    background:#fff1df;
    color:#ff7426;
}

.exact-tone-cyan .exact-stat-icon{
    background:#e8fcff;
    color:#0fbad2;
}

.exact-stat-card span{
    display:block;
    margin-top:10px;
    color:#4a506d;
    font-size:12px;
    font-weight:700;
}

.exact-stat-card strong{
    display:block;
    margin-top:6px;
    color:#171a31;
    font-size:26px;
    line-height:1;
    font-weight:900;
}

.exact-stat-card small{
    display:block;
    margin-top:7px;
    color:#8790af;
    font-size:11px;
    font-weight:700;
}

.exact-action-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.exact-action-tile{
    min-height:78px;
    padding:14px 10px;
    border-radius:14px;
    background:#fff;
    color:#171a31;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    line-height:1.35;
    box-shadow:0 8px 20px rgba(28,24,75,.06);
}

.exact-admin-dashboard .exact-content-card + .exact-content-card{
    margin:12px 18px 0;
    padding:14px 14px 16px;
}

.exact-pill-tabs{
    height:38px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    align-items:center;
    margin:0 0 10px;
}

.exact-pill-tabs span{
    height:30px;
    border-radius:99px;
    background:transparent;
    color:#34394f;
    display:grid;
    place-items:center;
    font-size:12px;
    font-weight:700;
}

.exact-pill-tabs .is-active{
    color:#fff;
    background:linear-gradient(145deg,#7d21ff,#4d0be0);
    box-shadow:0 8px 18px rgba(100,23,255,.28);
}

.route-ganador_fecha .exact-screen,
.route-comunicaciones .exact-screen{
    padding-bottom:86px;
}

.route-ganador_fecha .exact-content-card,
.route-comunicaciones .exact-content-card{
    margin:10px 18px 0;
    padding:12px 13px 9px;
}

.route-ganador_fecha .exact-winner-card{
    height:310px;
    margin-top:0;
    padding:24px 20px 18px;
    text-align:center;
    overflow:hidden;
}

.exact-confetti{
    position:absolute;
    inset:0;
    pointer-events:none;
}

.exact-confetti::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 24% 10%, #00c2ff 0 2px, transparent 3px),
        radial-gradient(circle at 31% 16%, #ff4f9b 0 2px, transparent 3px),
        radial-gradient(circle at 76% 12%, #ffca28 0 2px, transparent 3px),
        radial-gradient(circle at 81% 22%, #28d67c 0 2px, transparent 3px),
        radial-gradient(circle at 15% 37%, #6d18ff 0 2px, transparent 3px),
        radial-gradient(circle at 84% 44%, #ff365f 0 2px, transparent 3px),
        radial-gradient(circle at 24% 54%, #ffca28 0 2px, transparent 3px),
        radial-gradient(circle at 76% 53%, #6d18ff 0 2px, transparent 3px);
    opacity:.9;
}

.exact-avatar-crown{
    position:relative;
    width:105px;
    height:105px;
    margin:6px auto 0;
    border-radius:50%;
    background:linear-gradient(145deg,#ffd56f,#f5a623);
    box-shadow:0 12px 22px rgba(104,61,16,.16);
    display:grid;
    place-items:center;
    font-size:46px;
}

.exact-avatar-crown::before{
    content:"👑";
    position:absolute;
    top:-30px;
    left:50%;
    transform:translateX(-50%) rotate(-8deg);
    font-size:34px;
}

.exact-avatar-crown::after{
    content:"1";
    position:absolute;
    left:50%;
    bottom:-14px;
    transform:translateX(-50%);
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#ffca28,#ed9d10);
    color:#fff;
    font-size:15px;
    font-weight:900;
    box-shadow:0 8px 15px rgba(214,151,0,.28);
}

.exact-winner-card h1{
    margin:25px 0 0;
    font-size:16px;
    font-weight:800;
    letter-spacing:.2px;
}

.exact-big-number{
    display:inline-block;
    margin-top:10px;
    font-size:31px;
    font-weight:900;
    letter-spacing:7px;
    color:#171a31;
}

.exact-big-number::after{
    content:" Puntos";
    font-size:13px;
    letter-spacing:0;
    color:#4b516d;
    font-weight:500;
    margin-left:8px;
}

.exact-growth{
    display:inline-block;
    margin-left:10px;
    color:#16a867;
    font-size:15px;
    font-weight:800;
}

.exact-subcopy{
    display:none;
}

.exact-key-match{
    width:100%;
    height:70px;
    margin-top:17px;
    border-radius:14px;
    background:#f7f7fb;
    display:grid;
    place-items:center;
    padding:0 18px;
}

.exact-key-match span{
    display:none;
}

.exact-key-match strong{
    font-size:14px;
    font-weight:900;
    color:#171a31;
}

.route-ganador_fecha .exact-content-card:not(.exact-winner-card):not(.exact-lavender-card){
    padding:14px 13px 12px;
}

.exact-list{
    display:grid;
    gap:0;
}

.exact-list-row{
    display:grid;
    grid-template-columns:25px 1fr auto 22px;
    align-items:center;
    min-height:41px;
    gap:9px;
    border-bottom:1px solid #f0f1f7;
}

.exact-list-row:last-child{
    border-bottom:0;
}

.exact-rank-pill{
    width:25px;
    height:25px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:900;
    color:#171a31;
    background:#ffde82;
}

.exact-list-row:nth-child(2) .exact-rank-pill{
    background:#dde2ec;
}

.exact-list-row:nth-child(3) .exact-rank-pill{
    background:#ffd0a4;
}

.exact-list-row strong{
    display:block;
    font-size:12px;
    font-weight:800;
}

.exact-list-row span{
    display:block;
    font-size:12px;
    color:#171a31;
    font-weight:800;
}

.exact-list-row span::after{
    content:"";
}

.exact-list-row em{
    font-style:normal;
    color:#ffca28;
    font-size:16px;
}

.exact-lavender-card{
    min-height:188px;
    padding:16px 16px 12px !important;
    background:#f5efff;
    overflow:hidden;
}

.exact-week-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.exact-week-stats span{
    display:block;
    color:#6a7087;
    font-size:11px;
    font-weight:600;
}

.exact-week-stats strong{
    display:block;
    margin-top:5px;
    color:#171a31;
    font-size:18px;
    font-weight:900;
}

.exact-week-stats div:last-child{
    grid-column:1 / span 2;
}

.exact-wave-graphic{
    position:absolute;
    right:-4px;
    bottom:-6px;
    width:160px;
    height:110px;
}

.exact-wave-graphic span{
    position:absolute;
    inset:auto 0 0 auto;
    border-radius:999px 999px 0 0;
}

.exact-wave-graphic span:first-child{
    width:160px;
    height:110px;
    background:linear-gradient(180deg,rgba(140,56,255,.35),rgba(140,56,255,0));
}

.exact-wave-graphic span:last-child{
    right:12px;
    bottom:10px;
    width:138px;
    height:86px;
    border:3px solid #6f1dff;
    border-left:0;
    border-bottom:0;
    background:transparent;
}

.route-comunicaciones .exact-content-card:first-of-type{
    padding:16px 18px 15px;
}

.exact-sponsor-rail{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
}

.exact-sponsor-card{
    height:148px;
    border-radius:11px;
    background:#fff;
    box-shadow:0 12px 26px rgba(28,24,75,.07);
    border:1px solid rgba(92,83,143,.05);
    padding:14px 8px 10px;
    text-align:center;
}

.exact-sponsor-icon{
    width:48px;
    height:48px;
    margin:0 auto 10px;
    border-radius:14px;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:19px;
    font-weight:900;
    box-shadow:0 10px 18px rgba(28,24,75,.10);
    background:linear-gradient(145deg,#7d21ff,#4d0be0);
}

.exact-sponsor-card:nth-child(2) .exact-sponsor-icon{
    background:linear-gradient(145deg,#161616,#030303);
}

.exact-sponsor-card:nth-child(3) .exact-sponsor-icon{
    background:linear-gradient(145deg,#ff6fa8,#ef3e83);
}

.exact-sponsor-copy strong{
    display:block;
    font-size:12px;
    font-weight:800;
    color:#20243a;
    white-space:nowrap;
}

.exact-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:22px;
    min-width:58px;
    padding:0 10px;
    border-radius:99px;
    font-size:10px;
    font-weight:800;
    margin:7px 0 8px;
}

.exact-chip.is-active{
    color:#15945e;
    background:#dff8e9;
}

.exact-chip.is-pending{
    color:#d96d17;
    background:#fff0d9;
}

.exact-sponsor-copy span{
    display:block;
    font-size:11px;
    color:#555b73;
    font-weight:600;
}

.exact-carousel-dots{
    display:flex;
    justify-content:center;
    gap:6px;
    margin:12px 0 15px;
}

.exact-carousel-dots i{
    width:7px;
    height:7px;
    display:block;
    border-radius:50%;
    background:#d5d8e6;
}

.exact-carousel-dots .is-active{
    width:8px;
    height:8px;
    background:#6417ff;
}

.exact-action-card{
    padding:18px 16px 15px !important;
    margin-bottom:14px;
}

.exact-action-card{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:12px;
    align-items:center;
}

.exact-action-icon{
    width:48px;
    height:48px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:#f3eaff;
    color:#6417ff;
    font-size:28px;
}

.exact-action-card h2{
    margin:0 0 4px;
    font-size:14px;
    font-weight:900;
}

.exact-action-card p{
    margin:0;
    font-size:12px;
    color:#565c73;
    font-weight:500;
}

.exact-primary-button{
    grid-column:1 / -1;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:linear-gradient(145deg,#7d21ff,#4d0be0);
    box-shadow:0 11px 20px rgba(100,23,255,.22);
    color:#fff;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}

.route-comunicaciones .exact-content-card:nth-of-type(3){
    padding:14px 12px 13px;
}

.exact-mini-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
}

.exact-mini-stat-grid div{
    height:91px;
    border-radius:10px;
    background:#fff;
    box-shadow:0 8px 20px rgba(28,24,75,.06);
    border:1px solid rgba(92,83,143,.05);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:8px 4px;
}

.exact-mini-stat-grid span{
    font-size:10px;
    color:#565c73;
    font-weight:600;
    margin-bottom:5px;
}

.exact-mini-stat-grid strong{
    font-size:18px;
    font-weight:900;
    color:#171a31;
}

.exact-mini-stat-grid small{
    margin-top:4px;
    font-size:9px;
    color:#1fa463;
    font-weight:800;
}

.exact-last-announcement{
    padding:14px 14px 13px !important;
}

.exact-last-row{
    display:grid;
    grid-template-columns:50px 1fr 22px;
    align-items:center;
    gap:12px;
}

.exact-last-icon{
    width:50px;
    height:50px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:#f3eaff;
    color:#6417ff;
    font-size:28px;
}

.exact-last-copy strong{
    display:block;
    font-size:13px;
    font-weight:900;
}

.exact-last-copy span{
    display:block;
    margin-top:3px;
    font-size:11px;
    color:#60677f;
    font-weight:500;
}

.exact-last-copy small{
    display:block;
    margin-top:8px;
    font-size:11px;
    color:#60677f;
    font-weight:600;
}

.exact-arrow{
    color:#8f97b5;
    font-size:22px;
}

.exact-bottom-nav{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:5;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    background:#fff;
    box-shadow:0 -8px 26px rgba(25,22,59,.10);
    padding:8px 8px 16px;
}

.exact-bottom-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    color:#8790af;
    text-decoration:none;
}

.exact-bottom-icon{
    font-size:18px;
    line-height:1;
}

.exact-bottom-label{
    font-size:10px;
    font-weight:700;
}

.exact-bottom-item.is-active{
    color:#6417ff;
}

.route-admin .exact-bottom-nav{
    position:sticky;
    bottom:0;
    margin:16px 18px 0;
    border-radius:24px;
    padding:8px;
    grid-template-columns:repeat(5,1fr);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
}

.route-admin .exact-bottom-item{
    padding:8px 0;
    border-radius:18px;
}

.route-admin .exact-bottom-item.is-active{
    background:#f2e8ff;
}

.route-ganador_fecha .exact-phone-page::after,
.route-comunicaciones .exact-phone-page::after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:6px;
    width:134px;
    height:5px;
    border-radius:999px;
    background:#111;
    z-index:6;
}

@media (min-width:761px){
    .exact-phone-page{
        display:grid;
        place-items:center;
        padding:28px 20px;
    }

    .exact-phone{
        min-height:844px;
    }

    .exact-screen{
        min-height:844px;
        border-radius:36px;
        box-shadow:0 30px 90px rgba(33,21,84,.18);
    }

    .route-ganador_fecha .exact-phone-page::after,
    .route-comunicaciones .exact-phone-page::after{
        bottom:34px;
    }
}

@media (max-width:760px){
    .exact-phone{
        width:100%;
    }

    .exact-screen{
        min-height:100vh;
        border-radius:0;
    }

    .route-ganador_fecha .exact-phone-page::after,
    .route-comunicaciones .exact-phone-page::after{
        bottom:max(6px, env(safe-area-inset-bottom));
    }
}

/* REMOVE DEMO MOBILE STATUS BAR */
.exact-app-page .status,
.exact-app-page .exact-status,
.exact-app-page .status-icons,
.exact-app-page .exact-status-icons,
.exact-app-page .signal,
.exact-app-page .sig,
.exact-app-page .wifi,
.exact-app-page .battery,
.exact-app-page .bat,
.exact-phone-page .status,
.exact-phone-page .exact-status,
.exact-phone-page .status-icons,
.exact-phone-page .exact-status-icons,
.exact-phone-page .signal,
.exact-phone-page .sig,
.exact-phone-page .wifi,
.exact-phone-page .battery,
.exact-phone-page .bat{
    display:none !important;
}

.exact-app-page .hero,
.exact-app-page .top-header,
.exact-app-page .exact-hero,
.exact-phone-page .hero,
.exact-phone-page .top-header,
.exact-phone-page .exact-hero{
    padding-top:18px !important;
}

.exact-app-page .exact-topline,
.exact-app-page .topbar,
.exact-app-page .page-bar,
.exact-phone-page .exact-topline,
.exact-phone-page .topbar,
.exact-phone-page .page-bar{
    margin-top:8px !important;
}
