:root{font-family:Inter,system-ui,Arial,sans-serif;color:#edf5ff;background:#08162e}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#203e70 0,#08162e 60%);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:12px;background:#00c9ee;color:#06223b;font-weight:800;padding:12px 17px}button:hover{filter:brightness(1.1)}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#263d60;color:#eaf5ff}.ghost{background:transparent;color:#c9def9;border:1px solid #466188}.container{max-width:1150px;margin:auto;padding:0 20px}header{border-bottom:1px solid #314667;background:#0b1b36bb}header .container{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:76px}.brand{font-size:clamp(20px,3vw,28px);font-weight:950;letter-spacing:-1.2px;white-space:nowrap}.brand span{color:#16d8ff}.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav button{padding:9px 12px;font-size:13px}.hero{margin:26px 0;padding:28px 30px;background:linear-gradient(120deg,#204478,#16254a 65%,#32275c);border:1px solid #456395;border-radius:22px}.eyebrow{font-size:12px;font-weight:850;letter-spacing:1.6px;color:#48dfff}h1{font-size:clamp(30px,5vw,49px);margin:10px 0}h2{margin:6px 0 15px;font-size:clamp(21px,3vw,27px)}h3{margin:8px 0 12px}p{color:#b8cce7;line-height:1.55}.layout{display:grid;gap:22px}.card{background:#142744;border:1px solid #345174;border-radius:18px;padding:22px;min-width:0}.mainpoll{border-color:#1bd8f7;background:linear-gradient(135deg,#183c64,#152744);padding:28px}.mainpoll h2{font-size:clamp(25px,4vw,35px)}.section-title{margin:32px 0 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.section-title h2{margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:16px}.tag{font-size:11px;color:#62e5ff;font-weight:900;letter-spacing:1px}.pill{background:#234567;border-radius:99px;padding:7px 10px;font-size:12px;color:#bfe9ff}.options{display:grid;gap:9px;margin:20px 0}.option{background:#203b5e;color:#e9f5ff;border:1px solid #456b91;text-align:left;display:flex;align-items:center;gap:13px;min-height:64px}.option.selected{border:2px solid #20dcff;background:#28567d}.photo{width:48px;height:48px;object-fit:cover;border-radius:10px}.count{font-weight:850;font-size:19px;color:#e3f9ff;margin:16px 0}.muted{font-size:13px;color:#a9bfd9}.resultline{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0 4px}.bar{height:11px;background:#263e5e;border-radius:99px;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,#03b7ee,#8b5cf6);border-radius:99px}.full{width:100%}.empty{padding:20px;background:#132743;border-radius:14px;color:#c3d7f1}.hidden{display:none!important}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tabs button{background:#213a5d;color:#cce3fc}.tabs button.active{background:#00c9ee;color:#08243a}.request{margin-top:36px;background:linear-gradient(110deg,#173b62,#31245d);border:1px solid #4d6196;border-radius:20px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}label{display:block;margin:14px 0 6px;color:#d1e5fb;font-size:14px}input,textarea,select{width:100%;background:#0c1e36;border:1px solid #42618a;border-radius:11px;padding:12px;color:white}textarea{min-height:80px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 15px}.adminlayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.adminitem{background:#1b3453;padding:15px;border-radius:12px;margin:12px 0}.adminitem .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.adminitem button{font-size:12px;padding:9px}.notice{background:#293d60;border:1px solid #5b7399;border-radius:12px;padding:14px;color:#d3e8ff;margin:15px 0;font-size:13px}footer{text-align:center;padding:38px 12px;color:#b5c8e2;border-top:1px solid #2c4163;margin-top:40px}footer a{color:#47dcff;text-decoration:none}.footerbrand{font-weight:850;color:white}.flex{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}@media(max-width:700px){header .container{padding-top:15px;padding-bottom:15px;align-items:flex-start;flex-direction:column}.hero{padding:23px}.adminlayout{grid-template-columns:1fr}.mainpoll{padding:20px}.request{align-items:stretch}.request button{width:100%}}
.photo-upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:9px 0;padding:10px;border:1px solid #405b80;border-radius:12px}.photo-upload-row img{width:56px;height:56px;object-fit:cover;border-radius:9px}.photo-upload-row input{max-width:220px}.photo-upload-row span{min-width:100px}.photo-uploads{margin:8px 0 16px}
.userbox{display:flex;align-items:center;gap:8px;font-size:12px;color:#c9def9}.userbox img{width:28px;height:28px;border-radius:50%}.warn{background:#4a2a3a;border-color:#a05575}.mini{font-size:12px;padding:8px 10px}.shown{color:#c4b5fd}
.filebtn{display:inline-block;margin:0;cursor:pointer;border-radius:12px;background:#263d60;color:#eaf5ff;font-weight:800;font-size:12px;padding:9px 12px}.filebtn:hover{filter:brightness(1.1)}.cand b{color:#48dfff;min-width:18px}.cand .cand-name{flex:1;min-width:150px;width:auto}.cand img{width:56px;height:56px}
/* Tarjetas de candidatos */
.options.cards{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.options.cards[data-n="1"]{grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto}
.options.cards[data-n="3"],.options.cards[data-n="5"],.options.cards[data-n="6"],.options.cards[data-n="9"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.options.cards[data-n="7"],.options.cards[data-n="8"],.options.cards[data-n="10"],.options.cards[data-n="11"],.options.cards[data-n="12"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.ccard{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;min-height:0;overflow:hidden;text-align:center;border-radius:16px;transition:transform .15s,border-color .15s,box-shadow .15s}
.ccard:hover:not(:disabled){transform:translateY(-3px);border-color:#20dcff}
.ccard:disabled{opacity:1;cursor:default}.ccard:disabled:not(.selected){opacity:.55}
.ccard.selected{border:2px solid #20dcff;background:#28567d;box-shadow:0 0 0 3px #20dcff44,0 8px 26px #8b5cf633}
.cmedia{display:block;position:relative;width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,#03b7ee,#8b5cf6);overflow:hidden}
.cmedia img{width:100%;height:100%;object-fit:cover;display:block}
.cph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(34px,7vw,64px);font-weight:950;color:#ffffffcc}
.cname{display:block;padding:12px 10px 4px;font-weight:850;font-size:clamp(14px,2vw,18px);line-height:1.2;color:#f1f9ff;overflow-wrap:anywhere}
.cpick{display:block;margin:6px 10px 12px;padding:7px 8px;border-radius:99px;background:#263d60;color:#bfe9ff;font-size:12px;font-weight:850}
.ccard.selected .cpick{background:#00c9ee;color:#06223b}
@media(max-width:700px){.cmedia{aspect-ratio:1/1}.options.cards[data-n]:not([data-n="1"]){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.options.cards:not([data-n="1"]) .ccard:last-child:nth-child(odd){grid-column:span 2}.options.cards:not([data-n="1"]) .ccard:last-child:nth-child(odd) .cmedia{aspect-ratio:2/1}}
/* Reloj de cuenta regresiva */
.clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,2vw,16px);margin:20px 0 22px}
.cu{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(12px,2.6vw,22px) 4px clamp(10px,2vw,16px);border-radius:18px;background:linear-gradient(160deg,#0f3a66,#1b2a5e 60%,#2f2461);border:1px solid #3f78b0;box-shadow:0 8px 24px #02102a66,inset 0 1px 0 #ffffff1a;overflow:hidden}
.cu::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#16d8ff,#8b5cf6)}
.cu b{font-size:clamp(34px,8.5vw,72px);line-height:1;font-weight:950;letter-spacing:-1px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";background:linear-gradient(180deg,#ffffff,#48dfff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 26px #16d8ff55}
.cu small{margin-top:8px;font-size:clamp(10px,1.8vw,13px);font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:#a9c8ee}
.cu-s{border-color:#a98bff;background:linear-gradient(160deg,#2a2a78,#5b2fa8)}
.cu-s::before{background:linear-gradient(90deg,#ff4fd8,#ffb347)}
.cu-s b{background:linear-gradient(180deg,#ffffff,#ffb3f2);-webkit-background-clip:text;background-clip:text;text-shadow:0 0 26px #ff4fd866}
.cu-s small{color:#e5d4ff}
@media(max-width:700px){.clock{margin:16px 0 18px}.cu{border-radius:14px}}
@media(max-width:700px){.cu{padding-inline:2px}.cu b{font-size:clamp(34px,12vw,52px)}.cu small{letter-spacing:.4px;font-size:clamp(9px,2.6vw,11px)}}
@media(max-width:360px){.clock{grid-template-columns:repeat(2,minmax(0,1fr))}.cu b{font-size:52px}.cu small{font-size:11px;letter-spacing:1px}}
