@font-face{font-family:'VotoxRoboto';src:url('fonts/roboto-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'VotoxRoboto';src:url('fonts/roboto-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --vx-b:#000;--vx-txt:#3e4246;--vx-ins-txt:#262b2f;--vx-brd-img:2px solid #575a5d;--vx-brd-num:2px solid #000;
  --v-sz:clamp(56px, 18vw, 64px);
}

#votox-scope{display:block;font-family:'VotoxRoboto',-apple-system,sans-serif;background:#fff;width:100%}
#votox-scope *{box-sizing:border-box}

/* HEADER & NAVIGATION */
.v-top{padding:15px 20px;border-bottom:1px solid #eee;background:#f9f9f9}
.v-wrap{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}
.v-back{color:#000;text-decoration:none;font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.v-logo-inline{background:#000;color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;letter-spacing:1px;font-weight:900}
.v-login{color:#666;text-decoration:none;font-size:13px;font-weight:600;border:1px solid #ddd;padding:6px 16px;border-radius:20px;transition:all .2s}
.v-login:hover{background:#000;color:#fff;border-color:#000}
.v-header{padding:30px 10px;text-align:center;background:#fff;border-bottom:solid 1px #ddd}
.v-title{margin:16px 0;font-size:35px;font-weight:900;text-transform:uppercase;letter-spacing:-1px;color:#000;line-height:1}

/* REGION SELECTOR MODERNIZADO */
.v-region-selector{max-width:100%;text-align:center}
.v-region-label{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px;color:#888}
#selectDepartamento{width:100%;padding:16px 20px;border:2px solid #000;border-radius:12px;font-family:inherit;font-weight:800;font-size:16px;background:#fff;cursor:pointer;appearance:none;color:#000;box-shadow:0 8px 20px rgba(0,0,0,0.06);background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:14px;transition:all .2s ease}
#selectDepartamento:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(0,0,0,0.1)}
#selectDepartamento:focus{outline:none;background-color:#fcfcfc}
#selectDepartamento.v-error { border-color: #d32f2f !important; box-shadow: 0 0 0 4px rgba(211, 47, 47, 0.1); animation: v-shake 0.4s ease-in-out; }
@keyframes v-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }

/* CEDULA ESTRUCTURA */
.v-full{width:100%;padding:10px}
.v-cedula{display:grid;grid-template-columns:1fr;gap:25px;align-items:start}
.v-col-table{border-collapse:separate;border-spacing:0 6px;table-layout:auto;width:100%;border:none}
.v-bg-c1 td{background:#d3eefc}.v-bg-c2 td{background:#fbdbe9}.v-bg-c3 td{background:#dfccc4}.v-bg-c4 td{background:#d7ecdc}.v-bg-c5 td{background:#fffbd6}

.v-h{height:60px;vertical-align:middle;font-weight:800;font-size:25px;padding:4px;text-transform:uppercase;line-height:1.1;color:#000;background-color:#fff!important}
.v-row-ins{background:#d1d3d4!important;height:85px}
.v-ins-txt{height:85px;vertical-align:middle;font-size:12px;color:var(--vx-ins-txt);font-weight:400;padding:5px 10px;line-height:1.2;text-align:center;background:#d1d3d4!important}
.v-ins-txt b{font-weight:900}.v-br{border-right:1px solid rgba(255,255,255,0.4)!important}
.v-mini-box{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;background:#fff;border:1px solid #575a5d;color:#000;font-weight:700;font-size:9px;margin:0 2px;vertical-align:middle}

.v-name{padding:0 12px;font-size:14px;text-transform:uppercase;color:var(--vx-txt);font-weight:700;vertical-align:middle;line-height:1.1}
.v-cell-box{width:1%;vertical-align:middle;padding:5px;white-space:nowrap;transition:all .2s ease-in-out;cursor:pointer;position:relative}

/* CAJAS DE VOTO */
.v-box-img,.v-box-num{width:var(--v-sz);height:var(--v-sz);display:flex;align-items:center;justify-content:center;background:#fff;margin:0 auto}
.v-box-img img{width:100%;height:100%;object-fit:cover;border:var(--vx-brd-img)}
.v-box-num input{width:100%;height:100%;border:var(--vx-brd-num);text-align:center;font-size:26px;font-weight:700;background:#fff;outline:0;appearance:textfield;padding:0;transition:all 0.2s}
.v-box-num input:disabled{background:#d1d3d4;border:none;cursor:not-allowed;color:transparent}

/* SOLUCIÓN VISUAL CELDAS OCULTAS */
.v-hidden .v-box-num{opacity:0;pointer-events:none}
.v-none{display:none!important}

/* OCULTAR CIERTAS CELDAS */
.v-row-candi[data-id="4"][data-tipo="presidencial"] td,.v-row-candi[data-id="36"][data-tipo="presidencial"] td {color: transparent !important; height: 64px;}
.v-row-candi[data-id="4"][data-tipo="presidencial"] img,.v-row-candi[data-id="36"][data-tipo="presidencial"] img {display: none !important;}
.v-row-candi[data-id="15"] td { height: 64px !important; color: transparent !important; } .v-row-candi[data-id="15"] .v-cell-box { min-width: 50px; }

/* SELECCIÓN */
.v-cell-box.v-selected::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;pointer-events:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230006fb' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='20' y1='4' x2='4' y2='20'%3E%3C/line%3E%3Cline x1='4' y1='4' x2='20' y2='20'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;animation:v-pop .15s cubic-bezier(0.175,0.885,0.32,1.275)}
@keyframes v-pop{0%{transform:translate(-50%,-50%) scale(0.5);opacity:0}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}

/* MODAL */
#v-modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.7);align-items:center;justify-content:center;padding:20px}
.v-modal-content{background:#fff;padding:30px;border-radius:12px;max-width:380px;text-align:center;box-shadow:0 15px 35px rgba(0,0,0,0.3);border-top:5px solid #000}
.v-modal-content b{color:#d32f2f;display:block;margin-bottom:12px;font-size:18px;font-weight:700}
.v-modal-content button{background:#000;color:#fff;border:none;padding:12px;border-radius:6px;cursor:pointer;font-weight:700;text-transform:uppercase;width:100%}

/* RESULTADOS */
.v-resultados{display:flex;justify-content:center;padding:10px;background:#fff;min-height:100vh}
.v-res-card{background:#fff;max-width:500px;width:100%;padding:20px 10px}
.v-res-card h3{text-align:center;font-size:20px;font-weight:900;color:#000;margin-bottom:30px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #eee;padding-bottom:15px}
.v-res-item{margin-bottom:25px;position:relative}
.v-res-item h4{font-size:11px;font-weight:700;color:#999;text-transform:uppercase;margin:0 0 8px 0;letter-spacing:0.5px}
.v-res-partido{font-weight:800;font-size:15px;margin:0 0 12px 0;text-transform:uppercase;color:#1a1a1a;line-height:1.3}
.v-res-flex{display:flex;gap:8px;align-items:center}
.v-res-box{background:#fff;border:2px solid #000;border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.v-res-white{font-weight:800;color:#d0d0d0;text-transform:uppercase;font-size:13px;margin:5px 0}

/* BOTONES */
.v-btn-result,.v-btn-retry{display:block;width:100%;max-width:320px;margin:30px auto;padding:18px;background:#000;color:#fff;text-align:center;text-decoration:none;font-weight:900;border-radius:8px;text-transform:uppercase;border:none;cursor:pointer;font-size:14px}
.v-btn-retry{width:100%;margin-top:20px}

/* FOOTER COMPLETO */
.footer{margin:24px auto 0;padding:40px 0;text-align:center;font-size:16px;color:#555;background:#f0f0f0;border-top:1px solid #dcdcdc;width:100%}
.footer .footer-top{display:flex;flex-direction:column;align-items:center;gap:32px;padding:16px}
.footer .logo-box{background:#000;padding:8px 16px;display:inline-flex;border-radius:2px}
.footer .logo-svg{fill:#fff;color:#fff}
.footer .footer-social{display:flex;justify-content:center;gap:15px}
.footer .social-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e0e0e0;color:#555;transition:all 0.3s ease}
.footer .social-icon svg{width:18px;height:18px;fill:currentColor}
.footer .social-icon:hover{background:#d6d6d6;color:#000;transform:translateY(-2px)}
.footer .footer-menu-list{display:flex;flex-wrap:wrap;gap:15px;margin:0;padding:0;list-style:none;justify-content:center}
.footer .footer-menu-list li a{text-decoration:none;color:#333;font-weight:700;font-size:12px;text-transform:uppercase}
.footer p{margin-top:32px;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}

/* RESPONSIVE DESKTOP */
@media(min-width:767px){
  :root{ --v-sz: 54px; }
  .v-title{font-size:38px}
  .v-full{padding:10px 30px;overflow-x:auto}
  .v-cedula{grid-template-columns:repeat(5,1fr);min-width:1250px;gap:15px}
  .v-name{font-size:11px}
  .v-h{font-size:18px}
  .v-resultados{padding:40px 20px;background:#f8f9fa}
  .v-res-card{border:1px solid #eee;padding:40px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,0.05)}
}

/* ADS */
