@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Baloo+2:wght@600;700;800&display=swap');
:root{--azul:#0b335a;--azul2:#14507e;--ceu:#6fa0c5;--amarelo:#f9b233;--laranja:#ef7d22;--verde:#4f8a2f;--creme:#fff7e7;--cinza:#4b4b4d}
*{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.font-julina{font-family:'Baloo 2',Inter,sans-serif}.hidden{display:none!important}
.app-body{margin:0;min-height:100dvh;background:#071b31;color:white;overflow-x:hidden}.app-body:before{content:'';position:fixed;inset:0;background:linear-gradient(rgba(6,20,36,.25),rgba(6,20,36,.72)),url('../img/background.png') center/cover no-repeat;z-index:-2}.app-body:after{content:'';position:fixed;inset:0;background:radial-gradient(circle at 50% 20%,rgba(249,178,51,.22),transparent 35%),linear-gradient(180deg,transparent,rgba(0,0,0,.35));z-index:-1;pointer-events:none}
.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;position:relative;overflow:hidden}.app-stage{position:relative;min-height:100dvh;padding-top:max(14px,env(safe-area-inset-top));background:linear-gradient(180deg,rgba(5,24,45,.34),rgba(5,24,45,.72));backdrop-filter:blur(1px)}.fairy-lights{height:74px;position:relative;overflow:hidden;pointer-events:none;margin-bottom:-12px}.fairy-lights:before{content:'';position:absolute;left:-12%;right:-12%;top:18px;height:34px;border-top:2px solid rgba(255,219,147,.75);border-radius:0 0 50% 50%;transform:rotate(-2deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.fairy-lights:after{content:'';position:absolute;top:22px;left:7%;width:10px;height:10px;border-radius:50%;background:#ffd35a;box-shadow:54px 8px 0 1px #ffb53c,108px 13px 0 1px #ffe07a,162px 10px 0 1px #ffb53c,216px 3px 0 1px #ffe07a,270px -3px 0 1px #ffb53c,324px -6px 0 1px #ffe07a,378px -4px 0 1px #ffb53c,432px 2px 0 1px #ffe07a;filter:drop-shadow(0 0 9px #ffc35a);animation:twinkleLights 2.4s ease-in-out infinite alternate}@keyframes twinkleLights{0%{opacity:.75;filter:drop-shadow(0 0 6px #ffc35a)}100%{opacity:1;filter:drop-shadow(0 0 15px #ffe19a)}}
.splash-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#173e62,#071b31 72%);transition:.55s ease;overflow:hidden}.splash-screen:before{content:'';position:absolute;inset:0;background:url('../img/background.png') center/cover no-repeat;opacity:.25}.splash-screen.hide{opacity:0;visibility:hidden;transform:scale(1.04)}.splash-card{position:relative;text-align:center}.splash-logo{width:min(340px,86vw);filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}.splash-loader{display:flex;justify-content:center;gap:8px;margin-top:16px}.splash-loader span{width:10px;height:10px;border-radius:50%;background:#f9b233;animation:bounceDot .8s infinite alternate}.splash-loader span:nth-child(2){animation-delay:.15s}.splash-loader span:nth-child(3){animation-delay:.3s}@keyframes bounceDot{to{transform:translateY(-10px);opacity:.55}}
.logo-main{filter:drop-shadow(0 12px 22px rgba(0,0,0,.5));animation:floaty 3.2s ease-in-out infinite}.julina-panel{background:linear-gradient(180deg,rgba(255,250,236,.97),rgba(255,240,206,.95));color:#0b335a;border:2px solid rgba(249,178,51,.65);box-shadow:0 22px 55px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.7)}.btn-julina{position:relative;overflow:hidden;transition:.25s transform,.25s box-shadow;box-shadow:0 12px 24px rgba(0,0,0,.28)}.btn-julina:before{content:'';position:absolute;top:-60%;left:-30%;width:40%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:rotate(25deg);animation:shine 3.4s infinite}.btn-julina:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 18px 34px rgba(0,0,0,.36)}.btn-julina:active{transform:translateY(1px) scale(.99)}.btn-blue{background:linear-gradient(135deg,#0b335a,#17608f);color:white}.loading{opacity:.72;pointer-events:none}.loading:after{content:'';display:inline-block;width:15px;height:15px;margin-left:8px;border:2px solid rgba(255,255,255,.7);border-top-color:transparent;border-radius:50%;vertical-align:-2px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shine{0%,55%{left:-50%}100%{left:130%}}
.screen{display:none;animation:screenIn .42s cubic-bezier(.2,.8,.2,1) both}.screen.active{display:block}.screen.leaving{display:block;animation:screenOut .2s ease both}.screen.entering{animation:screenIn .42s cubic-bezier(.2,.8,.2,1) both}@keyframes screenIn{from{opacity:0;transform:translateX(36px) scale(.96);filter:blur(3px)}to{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}}@keyframes screenOut{to{opacity:0;transform:translateX(-18px) scale(.98);filter:blur(2px)}}@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.upload-box{border:2px dashed rgba(20,80,126,.45);border-radius:2rem;padding:2rem;text-align:center;background:rgba(255,255,255,.55);transition:.25s}.upload-box:hover{transform:translateY(-2px);background:white}.crop-wrap{height:330px;background:#09243f;border-radius:1.5rem;overflow:hidden}.crop-wrap img{max-width:100%;display:block}.candidate-card{background:rgba(255,247,231,.97);border:2px solid rgba(249,178,51,.55);transition:.2s;box-shadow:0 12px 24px rgba(0,0,0,.18)}.candidate-card:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(0,0,0,.3)}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#6fa0c5}.swal2-popup{border-radius:28px!important;border:3px solid #f9b233!important;box-shadow:0 25px 80px rgba(0,0,0,.35)!important}.swal2-title{font-family:'Baloo 2',Inter,sans-serif!important;color:#0b335a!important}.swal2-confirm{border-radius:16px!important;font-weight:800!important;padding:.8rem 1.6rem!important}
.admin-bg{background:linear-gradient(135deg,#061b31,#0b335a 45%,#14507e);min-height:100vh}.admin-bg:before{content:'';position:fixed;inset:0;background:url('../img/background_web.png') center/cover no-repeat;opacity:.18;pointer-events:none}.admin-card{background:rgba(255,255,255,.97);box-shadow:0 24px 55px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.7);position:relative}.admin-nav{background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.admin-link{padding:.72rem 1rem;border-radius:1rem;color:#0b335a;font-weight:800;transition:.2s}.admin-link:hover{background:#eef6ff;transform:translateY(-1px)}.admin-link.primary{background:#0b335a;color:#fff}.admin-link.orange{background:#ef7d22;color:#fff}.admin-link.green{background:#4f8a2f;color:#fff}.admin-input{width:100%;padding:.9rem 1rem;border-radius:1rem;border:1px solid #d6dee8;outline:none}.admin-input:focus{border-color:#14507e;box-shadow:0 0 0 4px rgba(20,80,126,.12)}.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.admin-table td,.admin-table th{padding:.75rem;border-bottom:1px solid #e5e7eb}.admin-upload{border:2px dashed #9ab5cc;border-radius:1.4rem;background:#f8fbff;padding:1rem}.result-body{margin:0;min-height:100vh;background:#050b13;color:white;overflow:hidden}.result-body:before{content:'';position:fixed;inset:0;background:linear-gradient(rgba(4,10,18,.2),rgba(4,10,18,.45)),url('../img/background_web.png') center/cover no-repeat;z-index:-1}.result-board{min-height:100vh;padding:28px 42px}.rank-card{border-radius:28px;box-shadow:0 24px 55px rgba(0,0,0,.45);border:2px solid rgba(255,255,255,.35);backdrop-filter:blur(4px)}.rank-gold{background:linear-gradient(135deg,rgba(255,213,78,.95),rgba(255,164,36,.92));color:#502500}.rank-silver{background:linear-gradient(135deg,rgba(232,242,252,.95),rgba(163,198,228,.92));color:#072d54}.rank-bronze{background:linear-gradient(135deg,rgba(255,185,105,.95),rgba(221,103,27,.92));color:#461d00}.vote-pulse{animation:votePulse 1.8s ease-in-out infinite}@keyframes votePulse{50%{transform:scale(1.025)}}@media(max-width:520px){.app-shell{max-width:none}.crop-wrap{height:300px}.splash-logo{width:86vw}}@media(max-height:740px){.crop-wrap{height:260px}.logo-main{width:210px!important}}
/* v3.2 - ajustes dos modais/upload e resultado em tela cheia */
.swal-julina-popup{background:linear-gradient(180deg,#fff8e8,#ffe7b8)!important;border:3px solid #f9b233!important;box-shadow:0 28px 90px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.9)!important;position:relative!important;overflow:hidden!important}
.swal-julina-popup:before{content:'';position:absolute;left:-20px;right:-20px;top:-10px;height:42px;background:repeating-linear-gradient(90deg,#e83b38 0 24px,#f9b233 24px 48px,#4f8a2f 48px 72px,#14507e 72px 96px);clip-path:polygon(0 0,100% 0,100% 45%,96% 100%,92% 45%,88% 100%,84% 45%,80% 100%,76% 45%,72% 100%,68% 45%,64% 100%,60% 45%,56% 100%,52% 45%,48% 100%,44% 45%,40% 100%,36% 45%,32% 100%,28% 45%,24% 100%,20% 45%,16% 100%,12% 45%,8% 100%,4% 45%,0 100%);opacity:.9}.swal-julina-confirm{background:linear-gradient(135deg,#0b335a,#17608f)!important;border-radius:16px!important;font-weight:900!important;box-shadow:0 12px 22px rgba(11,51,90,.28)!important}.photo-help{color:#0b335a}
.result-body.winners-only:before{background:linear-gradient(rgba(4,10,18,.2),rgba(4,10,18,.62)),url('../img/background_web.png') center/cover no-repeat}.winners-board{padding:24px 42px 34px;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between}.result-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.result-alado-logo{height:64px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}.result-datebox{font-size:20px;background:rgba(0,0,0,.55);padding:14px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 25px rgba(0,0,0,.28)}.result-header{text-align:center;margin:-6px 0 8px}.result-topo{width:min(1100px,82vw);max-height:230px;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.55))}.winners-podium{display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:28px;align-items:center;max-width:1580px;width:100%;margin:0 auto}.winner-card{position:relative;border-radius:34px;min-height:285px;padding:24px;display:flex;align-items:center;gap:22px;border:3px solid rgba(255,255,255,.38);box-shadow:0 28px 70px rgba(0,0,0,.52),inset 0 0 0 1px rgba(255,255,255,.28);animation:winnerIn .55s ease both, winnerFloat 3.2s ease-in-out infinite;overflow:visible}.winner-card:after{content:'';position:absolute;inset:0;border-radius:31px;background:linear-gradient(120deg,transparent 15%,rgba(255,255,255,.32) 38%,transparent 58%);transform:translateX(-120%);animation:winnerShine 4.8s infinite;pointer-events:none}.winner-pos-1{min-height:365px;transform:translateY(-16px);z-index:3}.winner-pos-2,.winner-pos-3{z-index:2}.winner-gold{background:linear-gradient(135deg,rgba(255,224,99,.97),rgba(255,169,37,.96));color:#502500}.winner-silver{background:linear-gradient(135deg,rgba(238,248,255,.97),rgba(155,198,232,.96));color:#062b51}.winner-bronze{background:linear-gradient(135deg,rgba(255,198,126,.97),rgba(224,104,31,.96));color:#461d00}.winner-medal{position:absolute;left:-24px;top:-28px;width:108px;height:108px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:1000;font-size:26px;background:radial-gradient(circle,#fff7c5,#f3ad21 58%,#a85b08);border:4px solid rgba(255,255,255,.7);box-shadow:0 15px 32px rgba(0,0,0,.38)}.winner-medal i{font-size:30px;margin-bottom:2px}.winner-silver .winner-medal{background:radial-gradient(circle,#fff,#c8d4df 58%,#6d8193)}.winner-bronze .winner-medal{background:radial-gradient(circle,#ffe0b6,#d97a2a 58%,#88400e)}.winner-photo-wrap{flex:0 0 auto;position:relative}.winner-photo{width:150px;height:150px;border-radius:50%;object-fit:cover;border:7px solid rgba(255,255,255,.8);box-shadow:0 0 0 7px rgba(255,190,59,.45),0 14px 32px rgba(0,0,0,.35)}.winner-pos-1 .winner-photo{width:210px;height:210px}.winner-content h2{font-size:clamp(32px,3.2vw,58px);font-weight:1000;line-height:1.02;margin:5px 0 8px}.winner-label{display:inline-flex;padding:7px 18px;border-radius:999px;background:rgba(255,255,255,.4);font-weight:1000;letter-spacing:.08em}.winner-votes{font-size:clamp(52px,5vw,96px);font-weight:1000;line-height:.95;text-shadow:0 3px 0 rgba(255,255,255,.28)}.winner-content p{font-size:30px;font-weight:1000}.result-footer-msg{text-align:center;font-size:24px;font-weight:900;text-shadow:0 3px 10px rgba(0,0,0,.65);background:rgba(0,0,0,.36);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:12px 20px;max-width:900px;margin:20px auto 0}.empty-winners{grid-column:1/-1;text-align:center;background:rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.18);border-radius:28px;padding:60px;font-size:34px;font-weight:900}@keyframes winnerIn{from{opacity:0;transform:translateY(35px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes winnerFloat{50%{margin-top:-8px}}@keyframes winnerShine{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@media(max-width:1050px){.winners-board{padding:18px}.result-topo{width:94vw;max-height:160px}.winners-podium{grid-template-columns:1fr;gap:18px}.winner-pos-1{transform:none;min-height:280px}.winner-card{min-height:240px}.winner-pos-1 .winner-photo,.winner-photo{width:140px;height:140px}.result-datebox{font-size:15px}.result-alado-logo{height:46px}}

/* v3.4 - modal próprio, mobile e resultado premium */
body.modal-open{overflow:hidden}.julina-modal-backdrop{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(2,10,18,.68);backdrop-filter:blur(7px);animation:julinaBackdropIn .22s ease both}.julina-modal-backdrop.closing{animation:julinaBackdropOut .24s ease both}.julina-modal-card{position:relative;width:min(430px,94vw);border-radius:34px;padding:58px 26px 26px;text-align:center;color:#0b335a;background:linear-gradient(180deg,#fff9e9,#ffe7b9);border:4px solid #f9b233;box-shadow:0 35px 100px rgba(0,0,0,.5),inset 0 0 0 2px rgba(255,255,255,.8);overflow:hidden;animation:julinaModalIn .32s cubic-bezier(.2,.9,.2,1.25) both}.julina-modal-backdrop.closing .julina-modal-card{animation:julinaModalOut .24s ease both}.julina-modal-flags{position:absolute;left:-12px;right:-12px;top:0;height:42px;background:repeating-linear-gradient(90deg,#d9272e 0 28px,#f9b233 28px 56px,#4f8a2f 56px 84px,#14507e 84px 112px);clip-path:polygon(0 0,100% 0,100% 55%,96% 100%,92% 55%,88% 100%,84% 55%,80% 100%,76% 55%,72% 100%,68% 55%,64% 100%,60% 55%,56% 100%,52% 55%,48% 100%,44% 55%,40% 100%,36% 55%,32% 100%,28% 55%,24% 100%,20% 55%,16% 100%,12% 55%,8% 100%,4% 55%,0 100%)}.julina-modal-card:after{content:'🤠';position:absolute;right:18px;top:42px;font-size:34px;filter:drop-shadow(0 5px 7px rgba(0,0,0,.2));animation:floaty 2.4s ease-in-out infinite}.julina-modal-icon{width:84px;height:84px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:48px;background:white;border:4px solid rgba(255,255,255,.75);box-shadow:0 13px 28px rgba(0,0,0,.18)}.julina-modal-success .julina-modal-icon{color:#2f8a42}.julina-modal-error .julina-modal-icon{color:#d83a32}.julina-modal-warning .julina-modal-icon{color:#ef8a16}.julina-modal-info .julina-modal-icon,.julina-modal-question .julina-modal-icon{color:#14507e}.julina-modal-card h2{font-family:'Baloo 2',Inter,sans-serif;font-size:2rem;line-height:1.05;font-weight:900;margin:4px 0 10px}.julina-modal-message{font-size:1.03rem;line-height:1.45;font-weight:700;color:#24455f}.julina-modal-confirm{margin-top:20px;border:none;border-radius:18px;padding:13px 28px;color:#fff;font-weight:900;min-width:160px;cursor:pointer}.julina-modal-close{position:absolute;right:12px;top:48px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.75);color:#0b335a;cursor:pointer}.julina-modal-close:hover{background:#fff;transform:scale(1.06)}@keyframes julinaBackdropIn{from{opacity:0}to{opacity:1}}@keyframes julinaBackdropOut{to{opacity:0}}@keyframes julinaModalIn{from{opacity:0;transform:translateY(28px) scale(.9) rotate(-1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes julinaModalOut{to{opacity:0;transform:translateY(18px) scale(.94)}}
.fairy-lights{height:58px;margin-bottom:-4px}.fairy-lights:before{top:10px;height:28px;border-top:2px solid rgba(255,222,156,.8);border-radius:0 0 55% 55%;transform:rotate(-1.5deg)}.fairy-lights:after{top:15px;left:6%;width:9px;height:9px;border-radius:50%;background:#ffd667;box-shadow:48px 7px 0 0 #ffbd45,96px 12px 0 1px #ffe28a,144px 10px 0 0 #ffbd45,192px 5px 0 1px #ffe28a,240px 0 0 0 #ffbd45,288px -3px 0 1px #ffe28a,336px -4px 0 0 #ffbd45,384px -1px 0 1px #ffe28a,432px 4px 0 0 #ffbd45;filter:drop-shadow(0 0 8px #ffd166)}
#cpfScreen input[name=cpf]{font-size:18px;letter-spacing:.06em}.upload-box{position:relative}.upload-box:after{content:'Toque para abrir câmera ou galeria';display:block;margin-top:10px;font-size:.8rem;color:#14507e;font-weight:800}.crop-wrap{border:4px solid rgba(249,178,51,.65);box-shadow:inset 0 0 0 2px rgba(255,255,255,.65),0 14px 26px rgba(0,0,0,.18)}
.result-header{margin:0 auto 18px}.result-topo{width:min(1350px,94vw)!important;max-height:320px!important}.winners-board{padding:28px 46px 38px}.winners-podium{grid-template-columns:1fr 1.28fr 1fr;gap:30px}.winner-card{min-height:330px}.winner-pos-1{min-height:430px}.winner-medal{width:126px;height:126px;font-size:30px}.winner-medal:after{content:'';position:absolute;bottom:-32px;width:46px;height:58px;background:linear-gradient(90deg,#d9272e 0 50%,#f9b233 50%);clip-path:polygon(0 0,100% 0,82% 100%,50% 72%,18% 100%);z-index:-1}.winner-photo{width:172px;height:172px}.winner-pos-1 .winner-photo{width:245px;height:245px}.winner-label:before{content:'🏆';margin-right:8px}.winner-pos-2 .winner-label:before{content:'🥈'}.winner-pos-3 .winner-label:before{content:'🥉'}
@media(max-width:1050px){.result-topo{width:96vw!important;max-height:220px!important}.winners-podium{grid-template-columns:1fr}.winner-card,.winner-pos-1{min-height:250px}.winner-pos-1 .winner-photo,.winner-photo{width:138px;height:138px}.winner-medal{width:92px;height:92px;font-size:24px}.result-footer-msg{font-size:18px}}

/* v3.8 - resultado no formato referência e fluxo votar após foto */
.result-tv-body{min-height:100vh;margin:0;overflow:hidden;background:#060b12;color:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.result-tv-body:before{content:'';position:fixed;inset:0;background:linear-gradient(90deg,rgba(3,8,15,.45),rgba(3,8,15,.16),rgba(3,8,15,.45)),url('../img/background_web.png') center/cover no-repeat;z-index:-2}.result-tv-body:after{content:'';position:fixed;inset:0;background:radial-gradient(circle at 50% 12%,rgba(255,192,62,.32),transparent 28%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.48));z-index:-1}.result-tv-wrap{width:100vw;height:100vh;padding:28px 48px 24px;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.result-tv-topbar{height:78px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:5}.result-tv-logo{height:66px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6))}.result-tv-datebox{min-width:270px;background:rgba(0,0,0,.58);border:1px solid rgba(255,201,92,.42);border-radius:14px;padding:13px 18px;box-shadow:0 12px 32px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.08);font-size:21px;font-weight:800}.result-tv-datebox div{display:flex;gap:12px;align-items:center;line-height:1.35}.result-tv-datebox i{color:#ffcf49}.result-tv-header{text-align:center;margin-top:-76px;pointer-events:none}.result-tv-topo{width:min(920px,56vw);height:auto;max-height:205px;object-fit:contain;filter:drop-shadow(0 14px 25px rgba(0,0,0,.68))}.result-tv-winners{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:24px;align-items:stretch;margin:0 auto;width:min(1540px,94vw);min-height:255px}.result-tv-card{position:relative;border-radius:24px;display:flex;align-items:center;gap:18px;padding:22px 24px 22px 28px;box-shadow:0 18px 54px rgba(0,0,0,.55),inset 0 0 0 2px rgba(255,255,255,.28);border:2px solid rgba(255,255,255,.38);overflow:visible;animation:resultCardIn .45s cubic-bezier(.2,.9,.2,1.1) both}.result-tv-card:before{content:'';position:absolute;inset:0;border-radius:22px;background:linear-gradient(105deg,transparent 12%,rgba(255,255,255,.38) 34%,transparent 55%);transform:translateX(-125%);animation:resultShine 5s infinite;pointer-events:none}.result-tv-gold{background:linear-gradient(135deg,rgba(255,218,68,.98),rgba(255,178,36,.98));color:#542700;border-color:#ffd866}.result-tv-silver{background:linear-gradient(135deg,rgba(238,248,255,.98),rgba(163,202,232,.98));color:#082d4c;border-color:#cdeaff}.result-tv-bronze{background:linear-gradient(135deg,rgba(255,206,152,.98),rgba(231,118,41,.98));color:#4c1f00;border-color:#ffb16a}.result-tv-medal{position:absolute;left:-28px;top:-36px;width:116px;height:116px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:40px;font-weight:1000;background:radial-gradient(circle,#fff8bf 0,#ffd34e 48%,#d48000 100%);border:4px solid rgba(255,255,255,.78);box-shadow:0 14px 28px rgba(0,0,0,.42);z-index:2}.result-tv-medal strong{font-size:29px;line-height:1;color:#321b00}.result-tv-silver .result-tv-medal{background:radial-gradient(circle,#fff 0,#cfdce8 55%,#738899 100%)}.result-tv-bronze .result-tv-medal{background:radial-gradient(circle,#ffe2b5 0,#e98f3f 55%,#8c430f 100%)}.result-tv-photo-ring{position:relative;flex:0 0 auto;margin-left:32px}.result-tv-photo-ring img{width:160px;height:160px;border-radius:50%;object-fit:cover;border:6px solid rgba(255,255,255,.9);box-shadow:0 0 0 6px rgba(255,188,50,.5),0 15px 28px rgba(0,0,0,.38)}.result-tv-pos-1 .result-tv-photo-ring img{width:190px;height:190px}.result-tv-card-info{flex:1;text-align:left;min-width:0}.result-tv-card-info span{display:inline-flex;background:rgba(255,255,255,.38);padding:7px 20px;border-radius:999px;font-weight:1000;color:inherit;font-size:18px;letter-spacing:.04em}.result-tv-card-info h2{font-size:clamp(32px,2.8vw,54px);line-height:1.02;font-weight:1000;margin:8px 0 8px;text-shadow:0 2px 0 rgba(255,255,255,.18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-tv-card-info strong{display:block;font-size:clamp(54px,5.2vw,92px);line-height:.88;font-weight:1000;color:#d9490b;text-shadow:0 3px 0 rgba(255,255,255,.22)}.result-tv-silver .result-tv-card-info strong{color:#1266ad}.result-tv-bronze .result-tv-card-info strong{color:#c84808}.result-tv-card-info p{font-size:32px;font-weight:1000;line-height:1;margin-top:7px}.result-tv-table-wrap{width:min(1380px,86vw);margin:10px auto 0;background:linear-gradient(180deg,rgba(97,49,18,.96),rgba(45,24,11,.96));border:3px solid rgba(196,121,43,.95);border-radius:22px;overflow:hidden;box-shadow:0 20px 54px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,211,118,.22);flex:1;min-height:290px}.result-tv-table{width:100%;border-collapse:collapse;color:#fff;font-weight:900}.result-tv-table th{font-size:22px;text-transform:uppercase;color:#ffcf49;padding:15px 28px;background:rgba(18,9,3,.32);text-align:left}.result-tv-table th:nth-child(1){width:190px;text-align:center}.result-tv-table th:nth-child(3){width:350px;text-align:center}.result-tv-table td{border-top:1px solid rgba(255,221,146,.2);padding:10px 28px;font-size:25px;vertical-align:middle}.result-tv-table td:nth-child(1){text-align:center;font-size:36px}.result-tv-table td:nth-child(1) b{margin-left:8px}.rank-medal{display:inline-block;font-size:28px;filter:drop-shadow(0 4px 5px rgba(0,0,0,.35))}.result-tv-table td:nth-child(2){display:flex;align-items:center;gap:18px}.result-tv-table td:nth-child(2) img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid #ffcf49}.result-tv-table td:nth-child(3){text-align:center;color:#ffcf49}.result-tv-table td:nth-child(3) b{font-size:42px;margin-right:10px}.result-tv-table td:nth-child(3) span{font-size:22px;color:#fff}.result-tv-table td:nth-child(3) i{font-size:18px;margin-left:18px;color:#ffcf49}.result-tv-footer{text-align:center;font-size:21px;font-weight:800;margin-top:10px;padding:8px 20px;text-shadow:0 3px 10px rgba(0,0,0,.7)}.result-tv-confetti{font-size:30px;margin:0 14px}.result-tv-empty{grid-column:1/-1;text-align:center;background:rgba(0,0,0,.6);border-radius:28px;border:2px solid rgba(255,255,255,.22);padding:70px;font-size:38px;font-weight:1000}.result-tv-pos-1{animation-delay:.05s}.result-tv-pos-2{animation-delay:.15s}.result-tv-pos-3{animation-delay:.25s}@keyframes resultCardIn{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes resultShine{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@media(max-width:1200px){.result-tv-wrap{overflow:auto;height:auto;min-height:100vh;padding:20px}.result-tv-header{margin-top:0}.result-tv-topo{width:94vw;max-height:210px}.result-tv-winners{grid-template-columns:1fr;min-height:0}.result-tv-card{min-height:220px}.result-tv-card-info h2{white-space:normal}.result-tv-table-wrap{width:96vw;overflow-x:auto}.result-tv-datebox{font-size:16px;min-width:auto}.result-tv-logo{height:48px}.result-tv-table th,.result-tv-table td{padding:10px 16px}.result-tv-table td{font-size:20px}.result-tv-table td:nth-child(3) b{font-size:30px}}


/* ===== v3.9 - ajustes solicitados: login modal, resultado TV e seleção em massa ===== */
.jul-login-popup{border:3px solid #f9b233!important;border-radius:28px!important;box-shadow:0 24px 70px rgba(0,0,0,.28)!important;background:linear-gradient(180deg,#fffaf0,#fff0c9)!important}.jul-login-popup:before{content:'🎪';font-size:34px;display:block;margin-bottom:-8px}.jul-login-confirm{border-radius:14px!important;font-weight:900!important;box-shadow:0 10px 20px rgba(11,51,90,.22)!important}.admin-table input[type=checkbox]{accent-color:#0b335a}.admin-table tbody tr:has(.participant-check:checked){background:#fff7db}.bulk-delete-shake{animation:bulkShake .42s ease-in-out}@keyframes bulkShake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
.result-tv-body{height:100vh;height:100dvh;overflow:hidden}.result-tv-wrap{height:100vh;height:100dvh;max-height:100vh;padding:18px 42px 14px;gap:6px;overflow:hidden}.result-tv-topbar{height:56px;align-items:flex-start}.result-tv-logo{height:48px}.result-tv-datebox{min-width:236px;padding:9px 14px;font-size:18px;border-radius:12px}.result-tv-header{position:relative;text-align:center;margin:-45px auto 2px;width:100%;height:150px;z-index:3}.result-tv-topo{display:block;margin:0 auto;width:min(760px,47vw);max-height:158px;transform-origin:50% 0;animation:placaBalanca 3.6s ease-in-out infinite;filter:drop-shadow(0 16px 22px rgba(0,0,0,.72))}.result-tv-winners{width:min(1560px,94vw);grid-template-columns:1.14fr 1fr 1fr;gap:22px;min-height:210px;height:220px;margin-top:0}.result-tv-card{min-height:0;padding:17px 20px 17px 24px;border-radius:22px;gap:15px}.result-tv-medal{left:-23px;top:-27px;width:92px;height:92px;font-size:31px}.result-tv-medal strong{font-size:24px}.result-tv-photo-ring{margin-left:25px}.result-tv-photo-ring img{width:132px;height:132px;border-width:5px}.result-tv-pos-1 .result-tv-photo-ring img{width:155px;height:155px}.result-tv-card-info span{font-size:16px;padding:5px 16px}.result-tv-card-info h2{font-size:clamp(26px,2.1vw,42px);margin:6px 0}.result-tv-card-info strong{font-size:clamp(44px,4.3vw,76px)}.result-tv-card-info p{font-size:25px;margin-top:4px}.result-tv-table-wrap{width:min(1380px,86vw);margin:4px auto 0;flex:1;min-height:0;border-radius:18px}.result-tv-table th{font-size:18px;padding:8px 24px}.result-tv-table td{padding:5px 24px;font-size:21px;line-height:1.06}.result-tv-table td:nth-child(1){font-size:28px}.result-tv-table td:nth-child(2) img{width:42px;height:42px;border-width:2px}.result-tv-table td:nth-child(2){gap:13px}.result-tv-table td:nth-child(3) b{font-size:30px}.result-tv-table td:nth-child(3) span{font-size:18px}.rank-medal{font-size:25px}.result-tv-footer{font-size:18px;margin-top:2px;padding:4px 20px}.result-tv-confetti{font-size:24px;margin:0 10px}@keyframes placaBalanca{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@media(max-height:820px){.result-tv-wrap{padding:12px 34px 10px}.result-tv-header{height:126px;margin-top:-42px}.result-tv-topo{max-height:134px;width:min(680px,43vw)}.result-tv-winners{height:196px;min-height:196px}.result-tv-card{padding:14px 18px}.result-tv-photo-ring img{width:116px;height:116px}.result-tv-pos-1 .result-tv-photo-ring img{width:137px;height:137px}.result-tv-card-info h2{font-size:clamp(24px,2vw,36px)}.result-tv-card-info strong{font-size:clamp(38px,3.8vw,64px)}.result-tv-table th{font-size:16px;padding:7px 22px}.result-tv-table td{padding:4px 22px;font-size:19px}.result-tv-table td:nth-child(2) img{width:36px;height:36px}.result-tv-table td:nth-child(3) b{font-size:27px}.result-tv-footer{font-size:15px}}
@media(max-width:1200px){.result-tv-body{overflow:hidden}.result-tv-wrap{overflow:hidden;height:100dvh;padding:12px}.result-tv-topbar{height:48px}.result-tv-header{height:112px;margin-top:0}.result-tv-topo{width:80vw;max-height:120px}.result-tv-winners{grid-template-columns:1fr 1fr 1fr;width:98vw;gap:10px;height:165px;min-height:165px}.result-tv-card{padding:12px 10px;gap:8px}.result-tv-medal{width:62px;height:62px;font-size:22px;left:-8px;top:-18px}.result-tv-medal strong{font-size:16px}.result-tv-photo-ring{margin-left:12px}.result-tv-photo-ring img,.result-tv-pos-1 .result-tv-photo-ring img{width:78px;height:78px}.result-tv-card-info span{display:none}.result-tv-card-info h2{font-size:18px;white-space:normal}.result-tv-card-info strong{font-size:30px}.result-tv-card-info p{font-size:15px}.result-tv-table-wrap{width:98vw}.result-tv-table th{font-size:12px;padding:5px 8px}.result-tv-table td{font-size:14px;padding:3px 8px}.result-tv-table td:nth-child(1){font-size:18px}.result-tv-table td:nth-child(2) img{width:28px;height:28px}.result-tv-table td:nth-child(3) b{font-size:18px}.result-tv-table td:nth-child(3) span,.result-tv-table td:nth-child(3) i{display:none}.result-tv-datebox{font-size:12px;min-width:150px;padding:6px 8px}.result-tv-logo{height:34px}.result-tv-footer{font-size:12px}.result-tv-confetti{display:none}}

/* v4.0 - resultado em tempo real */
.result-live-status{
  position:fixed;
  left:50%;
  top:14px;
  transform:translateX(-50%);
  z-index:30;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.02em;
  font-size:clamp(11px,1.1vw,15px);
  color:#fff;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  backdrop-filter:blur(8px);
}
.result-live-status span{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  background:#ef4444;
  box-shadow:0 0 0 0 rgba(239,68,68,.7);
}
.result-live-status.on span{
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.75);
  animation:livePulse 1.1s infinite;
}
.result-live-status.off span{animation:livePulseRed 1.1s infinite;}
@keyframes livePulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.75)}
  70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}
@keyframes livePulseRed{
  0%{box-shadow:0 0 0 0 rgba(239,68,68,.65)}
  70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}
  100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}
}
.result-refreshing{opacity:.65; transform:scale(.992); transition:opacity .12s ease, transform .12s ease;}
.result-tv-card, .result-tv-table tbody tr{transition:transform .25s ease, opacity .25s ease, filter .25s ease;}
@media(max-width:900px){.result-live-status{top:8px; left:auto; right:8px; transform:none; font-size:10px; padding:6px 10px;}}

@keyframes modalPop {
  0% { opacity: 0; transform: scale(.88) translateY(12px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
.jul-login-popup {
  border: 3px solid #f5b642 !important;
  border-radius: 28px !important;
  box-shadow: 0 25px 70px rgba(0,0,0,.45) !important;
}
.jul-login-confirm {
  border-radius: 16px !important;
  font-weight: 900 !important;
  padding: 12px 28px !important;
}

/* ===== v4.2 - resultado TV mais premium, topo maior e status online no canto ===== */
.result-tv-body{
  width:100vw;
  height:100vh;
  height:100dvh;
  overflow:hidden!important;
  background:#050912;
}
.result-tv-wrap{
  width:100vw;
  height:100vh;
  height:100dvh;
  overflow:hidden!important;
  padding:16px 44px 12px!important;
  gap:6px!important;
}
.result-tv-topbar{
  height:58px!important;
  align-items:flex-start!important;
  position:relative;
  z-index:8;
}
.result-tv-logo{height:54px!important;}
.result-tv-datebox{
  min-width:250px!important;
  padding:9px 15px!important;
  font-size:18px!important;
  border:1px solid rgba(255,202,74,.52)!important;
}
.result-live-status{
  position:fixed!important;
  left:auto!important;
  right:22px!important;
  top:auto!important;
  bottom:18px!important;
  transform:none!important;
  z-index:80!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  background:rgba(3,10,20,.78)!important;
  border:1px solid rgba(64,255,149,.38)!important;
  box-shadow:0 10px 35px rgba(0,0,0,.5),0 0 22px rgba(34,197,94,.18)!important;
  backdrop-filter:blur(10px)!important;
  font-size:15px!important;
  text-transform:uppercase;
}
.result-live-status.on{color:#d9ffe7!important;}
.result-live-status.off{border-color:rgba(255,180,70,.45)!important;color:#fff2d4!important;}
.result-tv-header{
  height:205px!important;
  margin:-42px auto -4px!important;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  z-index:6;
}
.result-tv-topo{
  width:min(1040px,60vw)!important;
  max-height:214px!important;
  transform-origin:50% 4px!important;
  animation:placaBalancaPremium 3.2s ease-in-out infinite!important;
  filter:drop-shadow(0 22px 25px rgba(0,0,0,.72)) drop-shadow(0 0 16px rgba(255,190,58,.22))!important;
}
@keyframes placaBalancaPremium{
  0%,100%{transform:rotate(-1.05deg) translateY(0)}
  25%{transform:rotate(.55deg) translateY(2px)}
  50%{transform:rotate(1.05deg) translateY(0)}
  75%{transform:rotate(-.45deg) translateY(1px)}
}
.result-tv-winners{
  width:min(1580px,94vw)!important;
  height:230px!important;
  min-height:230px!important;
  gap:24px!important;
  margin-top:0!important;
}
.result-tv-card{
  border-radius:28px!important;
  padding:18px 22px 18px 26px!important;
  overflow:visible!important;
  animation:resultCardSoftIn .5s cubic-bezier(.22,1,.36,1) both!important;
  box-shadow:0 18px 50px rgba(0,0,0,.54),inset 0 0 0 2px rgba(255,255,255,.28),0 0 28px rgba(255,204,72,.12)!important;
}
.result-tv-card:before{
  opacity:.34!important;
  animation:resultShineSoft 7s ease-in-out infinite!important;
}
@keyframes resultCardSoftIn{
  from{opacity:0;transform:translateY(18px) scale(.97);filter:blur(3px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes resultShineSoft{
  0%,70%{transform:translateX(-130%);opacity:0}
  82%{opacity:.45}
  100%{transform:translateX(130%);opacity:0}
}
.result-tv-medal{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  width:112px!important;
  height:112px!important;
  left:-28px!important;
  top:-35px!important;
  padding:0!important;
  animation:medalFloat 2.2s ease-in-out infinite!important;
}
.result-tv-medal strong{display:none!important;}
.medal-visual{
  width:100%;
  height:100%;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  position:relative;
  font-weight:1000;
  text-shadow:0 2px 0 rgba(255,255,255,.28);
  border:4px solid rgba(255,255,255,.82);
  box-shadow:0 14px 28px rgba(0,0,0,.42),inset 0 0 18px rgba(255,255,255,.5),0 0 18px rgba(255,205,62,.32);
}
.medal-visual:after{
  content:'';
  position:absolute;
  bottom:-27px;
  width:42px;
  height:54px;
  clip-path:polygon(0 0,100% 0,82% 100%,50% 72%,18% 100%);
  z-index:-1;
  filter:drop-shadow(0 7px 7px rgba(0,0,0,.35));
}
.medal-visual i{font-size:34px;line-height:1;margin-bottom:2px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.28));}
.medal-visual b{font-size:30px;line-height:1;color:#2d1600;}
.medal-gold{background:radial-gradient(circle at 34% 24%,#fff8b8 0,#ffe15f 34%,#f7a800 68%,#b86600 100%);color:#7a3400;}
.medal-gold:after{background:linear-gradient(90deg,#d91f2d 0 50%,#ffd04a 50%);}
.medal-silver{background:radial-gradient(circle at 34% 24%,#fff 0,#e8f2fb 38%,#9fb4c8 70%,#5d6b78 100%);color:#213140;}
.medal-silver:after{background:linear-gradient(90deg,#145da0 0 50%,#7fb3e6 50%);}
.medal-bronze{background:radial-gradient(circle at 34% 24%,#ffe4ba 0,#e99a4b 42%,#b75d18 72%,#74350d 100%);color:#552000;}
.medal-bronze:after{background:linear-gradient(90deg,#2f8a44 0 50%,#f07a22 50%);}
.medal-trophy{
  width:54px;
  height:54px;
  display:inline-flex;
  border-radius:18px;
  background:linear-gradient(135deg,#fff2b6,#f7b71e 58%,#a85b00);
  color:#542700;
  border:2px solid rgba(255,255,255,.78);
  box-shadow:0 8px 16px rgba(0,0,0,.35),0 0 16px rgba(255,197,56,.28);
}
.medal-trophy:after{display:none;}
.medal-trophy i{font-size:24px;margin:0;}
.medal-trophy b{font-size:14px;margin-top:2px;}
.rank-medal{display:none!important;}
.result-tv-table td:nth-child(1) .medal-visual{
  width:48px;
  height:48px;
  margin:0 auto;
  animation:medalPulse 2.4s ease-in-out infinite;
}
.result-tv-table td:nth-child(1) .medal-visual:after{display:none;}
.result-tv-table td:nth-child(1) .medal-visual i{font-size:20px;margin:0;}
.result-tv-table td:nth-child(1) .medal-visual b{font-size:14px;}
@keyframes medalFloat{
  0%,100%{transform:translateY(0) rotate(-2deg)}
  50%{transform:translateY(-5px) rotate(2deg)}
}
@keyframes medalPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}
.result-tv-photo-ring img{
  box-shadow:0 0 0 6px rgba(255,208,73,.55),0 13px 28px rgba(0,0,0,.38),0 0 22px rgba(255,212,78,.18)!important;
}
.result-tv-table-wrap{
  width:min(1420px,88vw)!important;
  margin:2px auto 0!important;
  border-radius:22px!important;
  max-height:none!important;
}
.result-tv-table th{
  padding:8px 24px!important;
  font-size:18px!important;
}
.result-tv-table td{
  padding:4px 24px!important;
  font-size:20px!important;
  line-height:1!important;
}
.result-tv-table td:nth-child(2) img{width:38px!important;height:38px!important;}
.result-tv-table td:nth-child(3) b{font-size:29px!important;}
.result-tv-table td:nth-child(3) i{animation:starTwinkle 1.8s ease-in-out infinite;}
@keyframes starTwinkle{50%{transform:scale(1.25);filter:drop-shadow(0 0 9px #ffcf49)}}
.result-tv-footer{
  font-size:17px!important;
  margin-top:0!important;
  padding:3px 20px!important;
}
@media(max-height:820px){
  .result-tv-wrap{padding:10px 36px 8px!important;gap:4px!important;}
  .result-tv-header{height:170px!important;margin-top:-42px!important;}
  .result-tv-topo{width:min(930px,55vw)!important;max-height:178px!important;}
  .result-tv-winners{height:196px!important;min-height:196px!important;}
  .result-tv-medal{width:92px!important;height:92px!important;}
  .medal-visual i{font-size:27px}.medal-visual b{font-size:24px}.medal-visual:after{bottom:-22px;width:34px;height:44px;}
  .result-tv-photo-ring img{width:112px!important;height:112px!important;}
  .result-tv-pos-1 .result-tv-photo-ring img{width:132px!important;height:132px!important;}
  .result-tv-card-info h2{font-size:clamp(24px,2vw,36px)!important;}
  .result-tv-card-info strong{font-size:clamp(38px,3.7vw,62px)!important;}
  .result-tv-card-info p{font-size:21px!important;}
  .result-tv-table td{padding:3px 22px!important;font-size:18px!important;}
  .result-tv-table td:nth-child(2) img{width:32px!important;height:32px!important;}
  .result-tv-table td:nth-child(3) b{font-size:25px!important;}
  .result-tv-footer{font-size:14px!important;}
  .result-live-status{bottom:10px!important;right:14px!important;font-size:12px!important;padding:7px 12px!important;}
}
@media(max-width:1200px){
  .result-tv-header{height:140px!important;margin-top:0!important;}
  .result-tv-topo{width:min(760px,82vw)!important;max-height:145px!important;}
  .result-tv-winners{height:178px!important;min-height:178px!important;}
  .result-tv-medal{width:68px!important;height:68px!important;left:-10px!important;top:-18px!important;}
  .medal-visual i{font-size:20px}.medal-visual b{font-size:16px}.medal-visual:after{display:none;}
  .result-tv-table td:nth-child(1) .medal-visual{width:36px;height:36px;}
  .result-live-status{right:10px!important;bottom:8px!important;font-size:10px!important;padding:6px 9px!important;}
}

/* ===== v4.3 - tela de resultado no formato da referência, topo alto e medalhas por imagem ===== */
.result-tv-body{
  overflow:hidden!important;
  background:#05080f!important;
}
.result-tv-body:before{
  background:linear-gradient(90deg,rgba(0,0,0,.44),rgba(0,0,0,.08),rgba(0,0,0,.44)),url('../img/background_web.png') center/cover no-repeat!important;
}
.result-tv-body:after{
  background:radial-gradient(circle at 50% 8%,rgba(255,184,44,.22),transparent 22%),linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.46))!important;
}
.result-tv-wrap{
  height:100vh!important;
  height:100dvh!important;
  padding:14px 50px 12px!important;
  gap:0!important;
  overflow:hidden!important;
  position:relative!important;
}
.result-tv-topbar{
  height:54px!important;
  position:relative!important;
  z-index:20!important;
}
.result-tv-logo{height:52px!important;max-width:220px!important;object-fit:contain!important;}
.result-tv-datebox{
  min-width:245px!important;
  padding:8px 15px!important;
  font-size:17px!important;
  line-height:1.15!important;
  background:rgba(0,0,0,.54)!important;
  border:1px solid rgba(255,192,73,.55)!important;
}
.result-tv-header{
  position:absolute!important;
  left:50%!important;
  top:0!important;
  transform:translateX(-50%)!important;
  height:190px!important;
  width:min(980px,60vw)!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  margin:0!important;
  z-index:16!important;
  pointer-events:none!important;
}
.result-tv-topo{
  width:100%!important;
  max-height:190px!important;
  object-fit:contain!important;
  transform-origin:50% 0!important;
  animation:placaTopoBalancaV43 3.1s ease-in-out infinite!important;
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.78)) drop-shadow(0 0 18px rgba(255,194,71,.22))!important;
}
@keyframes placaTopoBalancaV43{
  0%,100%{transform:rotate(-1.05deg) translateY(0)}
  20%{transform:rotate(.55deg) translateY(2px)}
  50%{transform:rotate(1.25deg) translateY(0)}
  78%{transform:rotate(-.45deg) translateY(2px)}
}
.result-tv-winners{
  width:min(1540px,94vw)!important;
  height:225px!important;
  min-height:225px!important;
  margin:112px auto 8px!important;
  gap:24px!important;
  grid-template-columns:1.15fr 1fr 1fr!important;
  z-index:6!important;
}
.result-tv-card{
  min-height:0!important;
  border-radius:24px!important;
  padding:18px 24px 18px 28px!important;
  overflow:visible!important;
}
.result-tv-photo-ring{margin-left:42px!important;}
.result-tv-photo-ring img{width:130px!important;height:130px!important;}
.result-tv-pos-1 .result-tv-photo-ring img{width:158px!important;height:158px!important;}
.result-tv-card-info h2{font-size:clamp(28px,2.2vw,43px)!important;}
.result-tv-card-info strong{font-size:clamp(50px,4.4vw,78px)!important;}
.result-tv-card-info p{font-size:26px!important;}
.result-tv-card-info span{font-size:16px!important;}
.result-tv-medal{
  width:128px!important;
  height:128px!important;
  left:-40px!important;
  top:-46px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  animation:medalImgFloatV43 2.2s ease-in-out infinite!important;
}
.medal-visual.medal-img{
  width:100%!important;
  height:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  overflow:visible!important;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.42));
}
.medal-visual.medal-img:after{display:none!important;content:none!important;}
.medal-visual.medal-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.medal-visual.medal-img b{display:none!important;}
.medal-visual.medal-img i{display:none!important;}
.medal-visual.medal-trophy{border-radius:0!important;}
@keyframes medalImgFloatV43{
  0%,100%{transform:translateY(0) scale(1) rotate(-2deg)}
  50%{transform:translateY(-6px) scale(1.04) rotate(2deg)}
}
.result-tv-table-wrap{
  width:min(1390px,84vw)!important;
  margin:0 auto!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:calc(100vh - 410px)!important;
  border-radius:20px!important;
  position:relative!important;
  z-index:5!important;
}
.result-tv-table th{
  font-size:17px!important;
  padding:8px 24px!important;
}
.result-tv-table td{
  padding:4px 24px!important;
  font-size:19px!important;
  line-height:1!important;
}
.result-tv-table td:nth-child(1){width:170px!important;}
.result-tv-table td:nth-child(1) .medal-visual.medal-img{
  width:36px!important;
  height:36px!important;
  margin:0 10px 0 0!important;
  vertical-align:middle!important;
  animation:rankMedalPulseV43 2.6s ease-in-out infinite!important;
}
.result-tv-table td:nth-child(1) .medal-visual.medal-img img{width:36px!important;height:36px!important;}
.result-tv-table td:nth-child(1) .medal-visual.medal-trophy,
.result-tv-table td:nth-child(1) .medal-visual.medal-trophy img{width:31px!important;height:31px!important;}
.result-tv-table td:nth-child(2) img{width:34px!important;height:34px!important;}
.result-tv-table td:nth-child(2){gap:14px!important;}
.result-tv-table td:nth-child(3) b{font-size:27px!important;}
.result-tv-table td:nth-child(3) span{font-size:17px!important;}
@keyframes rankMedalPulseV43{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.result-tv-footer{
  font-size:15px!important;
  padding:4px 20px!important;
  margin:2px 0 0!important;
}
.result-live-status{
  right:24px!important;
  bottom:18px!important;
  font-size:14px!important;
  padding:10px 16px!important;
  text-transform:none!important;
  z-index:99!important;
}
@media(max-height:820px){
  .result-tv-wrap{padding:9px 42px 8px!important;}
  .result-tv-header{height:160px!important;width:min(860px,55vw)!important;}
  .result-tv-topo{max-height:160px!important;}
  .result-tv-winners{height:198px!important;min-height:198px!important;margin-top:90px!important;}
  .result-tv-card{padding:14px 18px 14px 22px!important;}
  .result-tv-medal{width:104px!important;height:104px!important;left:-30px!important;top:-34px!important;}
  .result-tv-photo-ring{margin-left:34px!important;}
  .result-tv-photo-ring img{width:108px!important;height:108px!important;}
  .result-tv-pos-1 .result-tv-photo-ring img{width:130px!important;height:130px!important;}
  .result-tv-card-info h2{font-size:clamp(23px,1.9vw,34px)!important;}
  .result-tv-card-info strong{font-size:clamp(38px,3.5vw,58px)!important;}
  .result-tv-card-info p{font-size:20px!important;}
  .result-tv-table-wrap{max-height:calc(100vh - 340px)!important;}
  .result-tv-table th{font-size:15px!important;padding:6px 22px!important;}
  .result-tv-table td{font-size:17px!important;padding:3px 22px!important;}
  .result-tv-table td:nth-child(2) img{width:30px!important;height:30px!important;}
  .result-tv-table td:nth-child(3) b{font-size:23px!important;}
  .result-tv-footer{font-size:13px!important;}
}
@media(max-width:1200px){
  .result-tv-wrap{padding:10px 14px 8px!important;}
  .result-tv-topbar{height:42px!important;}
  .result-tv-logo{height:34px!important;}
  .result-tv-datebox{font-size:11px!important;min-width:140px!important;padding:6px 8px!important;}
  .result-tv-header{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:92vw!important;height:112px!important;margin:-35px auto 0!important;}
  .result-tv-topo{max-height:116px!important;}
  .result-tv-winners{margin-top:0!important;width:98vw!important;height:154px!important;min-height:154px!important;gap:8px!important;}
  .result-tv-card{padding:10px 8px!important;gap:7px!important;border-radius:16px!important;}
  .result-tv-medal{width:58px!important;height:58px!important;left:-7px!important;top:-16px!important;}
  .result-tv-photo-ring{margin-left:15px!important;}
  .result-tv-photo-ring img,.result-tv-pos-1 .result-tv-photo-ring img{width:62px!important;height:62px!important;}
  .result-tv-card-info h2{font-size:16px!important;white-space:normal!important;}
  .result-tv-card-info strong{font-size:26px!important;}
  .result-tv-card-info p{font-size:13px!important;}
  .result-tv-table-wrap{width:98vw!important;max-height:calc(100vh - 320px)!important;}
  .result-tv-table th{font-size:11px!important;padding:5px 7px!important;}
  .result-tv-table td{font-size:13px!important;padding:3px 7px!important;}
  .result-tv-table td:nth-child(1) .medal-visual.medal-img,.result-tv-table td:nth-child(1) .medal-visual.medal-img img{width:25px!important;height:25px!important;}
  .result-tv-table td:nth-child(2) img{width:24px!important;height:24px!important;}
  .result-tv-table td:nth-child(3) b{font-size:17px!important;}
  .result-tv-table td:nth-child(3) span,.result-tv-table td:nth-child(3) i{display:none!important;}
}


.admin-pagination-wrap{display:flex;flex-direction:column;gap:.85rem;align-items:center;justify-content:center;padding-top:.35rem}.admin-pagination-summary{font-size:.92rem;font-weight:800;color:#64748b;text-align:center}.admin-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem}.page-chip{min-width:3.1rem;height:3.1rem;padding:0 .9rem;border-radius:1.05rem;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:1.02rem;transition:.22s ease;text-decoration:none}.page-chip.number,.page-chip.arrow{background:#eef2f5;color:#334155;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(14,30,37,.08)}.page-chip.number:hover,.page-chip.arrow:hover{transform:translateY(-2px);background:#e4edf8;color:#0b335a;box-shadow:0 14px 28px rgba(20,80,126,.18)}.page-chip.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 16px 34px rgba(37,99,235,.32)}.page-chip.active:hover{transform:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.page-chip.dots{background:transparent;box-shadow:none;color:#64748b;min-width:auto;padding:0 .2rem;font-size:1.5rem}.page-chip.disabled{pointer-events:none;opacity:.4;background:#edf1f4;color:#94a3b8;box-shadow:none}
@media (max-width:640px){.page-chip{min-width:2.7rem;height:2.7rem;border-radius:.95rem;font-size:.95rem}.admin-pagination{gap:.45rem}.admin-pagination-summary{font-size:.82rem}}


.participants-toolbar{align-items:flex-start}.participants-search-form{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;width:100%;max-width:430px;flex-wrap:nowrap}.participants-search-input{flex:1 1 auto;min-width:0;width:auto}.participants-search-btn{width:3.25rem;height:3.25rem;flex:0 0 3.25rem;border-radius:1rem;background:linear-gradient(135deg,#0b335a,#14507e);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.18rem;box-shadow:0 14px 26px rgba(11,51,90,.22);transition:.2s ease}.participants-search-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 30px rgba(11,51,90,.28)}.participants-search-btn:active{transform:translateY(0) scale(.98)}
@media (max-width:1024px){.participants-toolbar{align-items:stretch}.participants-search-form{max-width:none}}
@media (max-width:640px){.participants-search-form{gap:.6rem}.participants-search-btn{width:3rem;height:3rem;flex-basis:3rem}}

/* v4.3 - busca de candidatos e câmera Android */
.vote-search-wrap{
  box-shadow:0 16px 36px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.22);
}
.vote-search-icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#14507e;
  font-size:18px;
  z-index:2;
}
.vote-search-input{
  padding:14px 44px 14px 48px;
  background:#fffaf0;
  box-shadow:inset 0 2px 8px rgba(20,80,126,.08);
}
.vote-search-input::placeholder{color:rgba(11,51,90,.62);}
.vote-search-info{
  min-height:18px;
  margin:7px 4px 0;
  color:#0b335a;
  font-size:12px;
  font-weight:800;
  opacity:.76;
}
.candidate-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media(max-width:420px){
  .candidate-card{align-items:flex-start;}
  .candidate-card .voteBtn{padding:10px 12px;font-size:13px;}
  .vote-search-input{font-size:14px;}
}

/* v5.0 - ajustes admin, resultado e desempenho */
.participants-search-form{max-width:620px!important;align-items:center!important;}
.participants-clear-btn{height:3.25rem;padding:0 1rem;border-radius:1rem;background:#eef2f5;color:#0b335a;font-weight:900;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 10px 20px rgba(15,23,42,.08);}
.participants-clear-btn:hover{background:#e4edf8;transform:translateY(-1px);}

.result-tv-winners{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.result-tv-card{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.result-tv-medal{z-index:4!important;pointer-events:none!important;}
.result-tv-photo-ring{min-width:0!important;}
.result-tv-card-info{min-width:0!important;overflow:hidden!important;}
.result-tv-card-info h2{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.result-tv-pos-1,.result-tv-pos-2,.result-tv-pos-3{transform:none!important;}
.result-tv-card:before,.result-tv-card:after{will-change:transform;}
.result-refreshing{opacity:.55;transition:opacity .12s ease;}

@media(max-width:1500px){
  .result-tv-winners{gap:16px!important;}
  .result-tv-card{padding:15px 16px 15px 22px!important;gap:12px!important;}
  .result-tv-photo-ring{margin-left:28px!important;}
  .result-tv-photo-ring img{width:118px!important;height:118px!important;}
  .result-tv-pos-1 .result-tv-photo-ring img{width:138px!important;height:138px!important;}
  .result-tv-card-info h2{font-size:clamp(23px,1.9vw,36px)!important;}
  .result-tv-card-info strong{font-size:clamp(40px,3.5vw,64px)!important;}
}
@media(max-width:1200px){
  .result-tv-winners{grid-template-columns:1fr!important;height:auto!important;min-height:0!important;}
  .result-tv-card{min-height:130px!important;overflow:hidden!important;}
  .participants-clear-btn{height:3rem;padding:0 .8rem;}
}
@media(prefers-reduced-motion:reduce){
  .result-tv-card,.result-tv-card:before,.result-tv-medal,.medal-visual.medal-img,.logo-main,.splash-loader span,.fairy-lights:after{animation:none!important;}
}

/* v6.0 - ajustes de desempenho */
.candidate-card img,.admin-table img,.result-tv-table img,.result-tv-photo-ring img{content-visibility:auto;}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v6.1 - corrige icones/medalhas cortados na tela de resultado */
.result-tv-winners{
  overflow:visible!important;
  padding:18px 0 0!important;
  box-sizing:border-box!important;
}
.result-tv-card{
  overflow:visible!important;
  isolation:isolate!important;
}
.result-tv-card:before,
.result-tv-card:after{
  border-radius:22px!important;
  pointer-events:none!important;
  z-index:0!important;
}
.result-tv-photo-ring,
.result-tv-card-info{
  position:relative!important;
  z-index:2!important;
}
.result-tv-medal{
  left:-14px!important;
  top:-22px!important;
  z-index:5!important;
  overflow:visible!important;
}
.result-tv-table-wrap{
  overflow:hidden!important;
}
.result-tv-table td{
  padding-top:7px!important;
  padding-bottom:7px!important;
  line-height:1.15!important;
  overflow:visible!important;
}
.result-tv-table tr{
  overflow:visible!important;
}
.result-tv-table td:nth-child(1) .medal-visual.medal-img{
  overflow:visible!important;
  transform-origin:center!important;
}
.result-tv-table td:nth-child(1) .medal-visual.medal-img,
.result-tv-table td:nth-child(1) .medal-visual.medal-img img{
  width:42px!important;
  height:42px!important;
}
.result-tv-table td:nth-child(1) .medal-visual.medal-trophy,
.result-tv-table td:nth-child(1) .medal-visual.medal-trophy img{
  width:36px!important;
  height:36px!important;
}
@media(max-height:820px){
  .result-tv-winners{padding-top:14px!important;}
  .result-tv-medal{left:-10px!important;top:-18px!important;width:88px!important;height:88px!important;}
  .result-tv-table td{padding-top:5px!important;padding-bottom:5px!important;}
  .result-tv-table td:nth-child(1) .medal-visual.medal-img,
  .result-tv-table td:nth-child(1) .medal-visual.medal-img img{width:36px!important;height:36px!important;}
}
@media(max-width:1200px){
  .result-tv-winners{padding-top:10px!important;}
  .result-tv-card{overflow:visible!important;}
  .result-tv-medal{left:-4px!important;top:-12px!important;}
}


/* v6.2 - resultado: boxes mostram somente primeiro nome e fonte menor */
.result-tv-card-info h2{
  font-size:clamp(22px,1.75vw,34px)!important;
  line-height:1.02!important;
  letter-spacing:.01em!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.result-tv-pos-1 .result-tv-card-info h2{
  font-size:clamp(24px,1.9vw,38px)!important;
}
@media(max-height:820px){
  .result-tv-card-info h2{font-size:clamp(20px,1.55vw,30px)!important;}
  .result-tv-pos-1 .result-tv-card-info h2{font-size:clamp(21px,1.7vw,32px)!important;}
}
@media(max-width:1200px){
  .result-tv-card-info h2{font-size:15px!important;white-space:nowrap!important;}
}

/* ===== v4.3 - controle de votação e ajuste mobile de fontes ===== */
#goVote.hidden{display:none!important}
.btn-title,.btn-small,.candidate-name{overflow-wrap:anywhere;word-break:normal;hyphens:auto;line-height:1.08}
.btn-small{display:block;line-height:1.2}
.vote-emoji{flex:0 0 auto;line-height:1}
.candidate-card{min-width:0}
.candidate-card .flex-1{min-width:0}
.voteBtn{white-space:nowrap;flex:0 0 auto}
@media(max-width:430px){
  .app-stage .px-5{padding-left:1rem!important;padding-right:1rem!important}
  .logo-main{width:min(235px,72vw)!important}
  #cpfScreen p.text-lg{font-size:clamp(.9rem,4vw,1.05rem)!important;line-height:1.2}
  .font-julina.text-4xl{font-size:clamp(1.85rem,9vw,2.35rem)!important;line-height:1.02!important}
  .btn-julina{border-radius:1.35rem!important}
  .btn-title{font-size:clamp(1.25rem,6.2vw,1.55rem)!important;line-height:1.02!important}
  .btn-small{font-size:clamp(.78rem,3.6vw,.95rem)!important}
  .vote-emoji{font-size:2rem!important}
  .candidate-card{gap:.65rem!important;padding:.65rem!important}
  .candidate-card img{width:4rem!important;height:4rem!important;border-radius:1rem!important}
  .candidate-name{font-size:clamp(.95rem,4.3vw,1.08rem)!important;line-height:1.12!important}
  .voteBtn{padding:.75rem .9rem!important;font-size:.9rem!important}
}
@media(max-width:360px){
  .app-stage .px-5{padding-left:.75rem!important;padding-right:.75rem!important}
  .btn-julina.gap-4{gap:.75rem!important}
  .btn-julina.p-5{padding:1rem!important}
  .voteBtn{padding:.65rem .75rem!important;font-size:.82rem!important}
  .candidate-card img{width:3.5rem!important;height:3.5rem!important}
}
