*{box-sizing:border-box}body{color:#1a1a2e;background:#f4f5f7;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button{cursor:pointer;color:#fff;background:#0877d1;border:none;border-radius:8px;padding:.6rem 1rem;font-size:1rem}button:disabled{opacity:.6;cursor:default}input,select{border:1px solid #ccc;border-radius:8px;padding:.6rem;font-size:1rem}.error{color:#c62828}.ok{color:#2e7d32}.cargando{text-align:center;margin-top:3rem}.login-page{justify-content:center;align-items:center;height:100vh;padding:1rem;display:flex}.login-card{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:360px;padding:2rem;display:flex;box-shadow:0 4px 20px #00000014}.login-card label{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.staff-layout{flex-direction:column;min-height:100vh;display:flex}.staff-header{color:#fff;background:#0877d1;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.staff-tabs{background:#fff;border-bottom:1px solid #eee;gap:.5rem;padding:.6rem 1rem 0;display:flex}.staff-tabs a{color:#1a1a2e;border-radius:8px 8px 0 0;padding:.5rem .8rem;font-size:.9rem;text-decoration:none}.staff-tabs a.active{color:#fff;background:#0877d1;font-weight:700}.staff-page{flex-direction:column;flex:1;align-items:center;gap:1.5rem;padding:2rem 1rem;display:flex}.buscar-form{gap:.5rem;width:100%;max-width:400px;display:flex}.buscar-form input{text-align:center;flex:1;font-size:1.4rem}.buscar-form-botones{gap:.5rem;display:flex}.resultado{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:1.5rem;box-shadow:0 2px 10px #0000000f}.resultado .nombre{font-size:1.3rem;font-weight:700}.resultado.disponible .confirmar{background:#2e7d32;width:100%;margin-top:1rem;padding:1rem;font-size:1.1rem}.resultado.ya-canjeado .titulo{color:#c62828;font-size:1.4rem;font-weight:700}.resultado.exito .check{color:#2e7d32;font-size:3rem}.resultado button{width:100%;margin-top:1rem}.lista-resultados{flex-direction:column;gap:.75rem;width:100%;max-width:500px;display:flex}.fila-resultado{background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex;box-shadow:0 2px 8px #0000000f}.fila-resultado.canjeado{opacity:.7}.fila-resultado .nombre{margin:0;font-weight:700}.fila-resultado .detalle{opacity:.8;margin:.2rem 0 0;font-size:.85rem}.fila-resultado .detalle.ya{color:#c62828}.fila-resultado .confirmar{white-space:nowrap;background:#2e7d32}.fila-resultado .confirmar.confirmar-especial{background:#6a1b9a}.fila-resultado .confirmar.confirmar-sano{background:#616161}.fila-resultado .confirmar.confirmar-cooldown{opacity:1;background:#b45309}.fila-resultado .confirmar.confirmar-cooldown:disabled{opacity:.85}.tarjeta-puntero{background:#fff;border-radius:10px;flex-direction:column;gap:.5rem;padding:.9rem 1rem;display:flex;box-shadow:0 2px 8px #0000000f}.tarjeta-puntero.sin-pendiente{opacity:.7}.tarjeta-puntero-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tarjeta-puntero-header .nombre{margin:0;font-size:1.05rem;font-weight:700}.badge-porcentaje{color:#0877d1;background:#e3f2fd;border-radius:999px;flex-shrink:0;padding:.15rem .55rem;font-size:.8rem;font-weight:700}.stats-compactas{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.stat-compacta{background:#f8f9fa;border-radius:8px;flex-direction:column;align-items:center;padding:.5rem .3rem;display:flex}.stat-compacta-numero{font-size:1.2rem;font-weight:700}.stat-compacta-label{opacity:.7;text-transform:uppercase;letter-spacing:.02em;font-size:.7rem}.stat-compacta-numero.stat-pagada{color:#2e7d32}.stat-compacta-numero.stat-pendiente{color:#b45309}.lista-estadisticas{flex-direction:column;gap:.75rem;display:flex}.admin-page.admin-page-ancho{max-width:1100px}.tabla-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.tabla-scroll table{min-width:480px}.personas-listado .tabla-scroll table{min-width:700px}.resumen-por-local{flex-direction:column;gap:.3rem;margin:.6rem 0;display:flex}.fila-local-resumen{background:#f8f9fa;border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.personas-listado{border-top:1px solid #eee;margin-top:.8rem;padding-top:.8rem}.personas-listado .subtitulo{margin-bottom:.5rem;font-weight:600}.personas-listado>button{margin-top:.6rem}.usuarios-toolbar{margin-bottom:.8rem}.telefono-inline{width:100%;min-width:110px}.pass-fila{align-items:center;gap:.4rem;display:flex}.pass-visual{background:#f8f9fa;border-radius:4px;padding:.2rem .4rem;font-family:monospace}.editar-pass{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.editar-pass input{min-width:120px}.tarjeta-puntero .detalle{opacity:.85;margin:0;font-size:.85rem}.tarjeta-puntero .detalle.pendiente-texto{color:#b45309;opacity:1;font-weight:600}.tarjeta-puntero .detalle.sano-texto{color:#2e7d32;opacity:1;font-weight:600}.tarjeta-puntero .confirmar{background:#2e7d32;margin-top:.2rem}.fila-resultado.bloqueado{background:#fff5f5;border:2px solid #ff5252}.fila-resultado.sano{background:#fafafa;border:2px solid #9e9e9e}.badge-sano{color:#616161;vertical-align:middle;background:#eee;border-radius:4px;margin-left:.5rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.badge-monto-especial{color:#6a1b9a;vertical-align:middle;background:#ede7f6;border-radius:4px;margin-left:.5rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.badge-bloqueado-mini{color:#ff5252;vertical-align:middle;background:#1a1a2e;border-radius:4px;margin-left:.5rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.fila-resultado .detalle.bloqueado-texto{color:#c62828;font-weight:700}.fila-resultado .detalle.sano-texto{color:#616161;font-weight:600}.registrador-page{flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.registro-form{background:#fff;border-radius:12px;flex-direction:column;gap:.8rem;width:100%;max-width:400px;padding:1.5rem;display:flex;box-shadow:0 2px 10px #0000000f}.registro-form label{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.ficha-existente{flex-direction:column;gap:.5rem;display:flex}.titulo-ficha{margin:0;font-weight:700}.ficha-existente .dato{margin:0;font-size:.9rem}.ficha-existente .detalle{opacity:.8;margin:0;font-size:.85rem}.dato.estado{border-radius:6px;padding:.5rem;font-weight:700}.dato.estado.pendiente{color:#b45309;background:#fff3e0}.dato.estado.confirmado{color:#2e7d32;background:#e6f4ea}.dato.estado.pagado{color:#c62828;text-align:center;background:#ffebee;border:2px solid #c62828;border-radius:8px;padding:.6rem;font-size:1.1rem;font-weight:700}.dato.estado.bloqueado{color:#ff5252;text-align:center;letter-spacing:.02em;background:#1a1a2e;border:2px solid #ff5252;border-radius:8px;padding:.7rem;font-size:1.05rem;font-weight:700}.datos-elector-grid{grid-template-columns:1fr;gap:.4rem;display:grid}.fila-doble{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.fila-doble .registro-dato{justify-content:space-between}.fila-doble .dato-valor{text-align:right;margin-left:.3rem}.registro-dato{box-sizing:border-box;background:#f8f9fa;border-left:4px solid #0877d1;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.55rem .8rem;display:flex}.registro-dato.dato-nombre{background:#eef7ee;border-left-color:#2e7d32}.registro-dato .dato-label{text-transform:uppercase;letter-spacing:.03em;opacity:.65;flex-shrink:0;font-size:.75rem}.registro-dato .dato-valor{text-align:right;word-break:break-word;flex:1;margin-left:.5rem;font-size:1.05rem;font-weight:600}.registro-dato.dato-nombre .dato-valor{font-size:1.15rem}@media (width<=600px){.registrador-page{gap:.5rem;padding:1rem .5rem}.registro-form{gap:.6rem;max-width:100%;padding:1rem}.registro-form label{gap:.2rem;font-size:.8rem}.registro-form input{padding:.5rem;font-size:1rem}.ficha-existente{width:100%;max-width:100%;padding:.5rem}.titulo-ficha{text-align:center;color:#fff;background:#0877d1;border-radius:6px;padding:.3rem;font-size:1rem}.registro-dato{box-sizing:border-box;background:#f8f9fa;border-left:4px solid #0877d1;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-bottom:.3rem;padding:.5rem .7rem;display:flex}.registro-dato .dato-label{opacity:.8;flex-shrink:0;font-size:.75rem}.registro-dato .dato-valor{text-align:right;word-break:break-word;flex:1;margin-left:.5rem;font-size:1rem;font-weight:600}.dato.estado.pendiente{text-align:center;width:100%;margin-top:.5rem;padding:.4rem .6rem;font-size:.9rem}.dato.estado.pagado{width:100%;margin-top:.5rem;padding:.5rem;font-size:1rem}.ficha-existente button{width:100%;margin-top:.5rem;padding:.7rem;font-size:.95rem}.sugerencias-punteros{background:#fff;border-radius:8px;max-height:150px;margin-top:.3rem;overflow-y:auto;box-shadow:0 2px 8px #0000001f}.sugerencia-puntero{cursor:pointer;border-bottom:1px solid #eee;padding:.5rem .8rem;font-size:.9rem}.sugerencia-puntero:last-child{border-bottom:none}.puntero-preview{text-align:center;background:#f0f0f0;border-radius:6px;padding:.3rem;font-size:.8rem}.error{text-align:center;padding:.4rem;font-size:.85rem}.ok{text-align:center;background:#e8f5e9;border-radius:6px;padding:.4rem;font-size:.85rem}}.puntero-preview{opacity:.8;font-size:.85rem}.admin-layout{min-height:100vh}.admin-nav{color:#fff;background:#1a1a2e;flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1.2rem;display:flex}.admin-nav a{color:#cfd8ff;text-decoration:none}.admin-nav a.active{color:#fff;font-weight:700}.admin-menu-toggle{display:none}.marca{margin-right:1rem;font-weight:700}.usuario-actual{opacity:.8;margin-left:auto}main{padding:1.5rem}table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;margin-top:1rem;overflow:hidden}th,td{text-align:left;border-bottom:1px solid #eee;padding:.6rem .8rem}.resumen{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.tarjeta{text-align:center;background:#fff;border-radius:8px;flex:140px;padding:1rem 1.5rem;box-shadow:0 2px 8px #0000000d}.tarjeta .numero{font-size:1.8rem;font-weight:700}.tarjeta .numero.numero-premio{color:#2e7d32}.tarjeta .numero.numero-sano{color:#616161}.form-inline{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.configuracion-premio{background:#fff;border-radius:8px;padding:1rem}.nota{opacity:.7;font-size:.9rem}.pendiente-destacado{color:#b45309;font-weight:700}.acciones{flex-wrap:wrap;gap:.4rem;display:flex}.acciones button{padding:.4rem .7rem;font-size:.85rem}button.peligro{background:#c62828}.admin-page{max-width:700px}.admin-page .page-desc{opacity:.75;margin-top:-.5rem;margin-bottom:1.2rem}.search-box{background:#fff;border-radius:10px;align-items:flex-end;gap:.6rem;margin-bottom:1rem;padding:1rem;display:flex;box-shadow:0 2px 8px #0000000d}.search-box label{flex-direction:column;flex:1;gap:.3rem;font-size:.85rem;display:flex}.error-box{background:#ffebee;border-radius:8px;margin-bottom:1rem;padding:.8rem 1rem}.error-box .error{margin:0}.flash{border-radius:8px;margin-bottom:1rem;padding:.8rem 1rem}.flash p{margin:0;font-weight:600}.flash.exito{color:#2e7d32;background:#e6f4ea}.flash.error{color:#c62828;background:#ffebee}.flash.info,.flash.cooldown-flash{color:#b45309;background:#fff3e0}.flash.conflicto{color:#c62828;background:#fff3e0}.alerta-comision{background:#fff8e1;border:2px solid #f9a825;border-radius:10px;width:100%;max-width:500px;margin-bottom:.5rem;padding:.9rem 2.2rem .9rem 1rem;position:relative}.alerta-comision-titulo{color:#8d6200;margin:0 0 .2rem;font-size:1rem;font-weight:700}.alerta-comision-detalle{color:#8d6200;margin:0;font-size:.9rem}.alerta-comision-cerrar{color:#8d6200;background:0 0;padding:.2rem .5rem;font-size:1.3rem;line-height:1;position:absolute;top:.4rem;right:.4rem}.cliente-detail-box{background:#fff;border-radius:12px;padding:1.2rem;box-shadow:0 2px 10px #0000000f}.cliente-detail-box h3{margin-top:0}.cliente-info-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1.2rem;display:grid}.cliente-info-item{background:#f8f9fa;border-left:4px solid #0877d1;border-radius:8px;flex-direction:column;gap:.2rem;padding:.6rem .8rem;display:flex}.cliente-info-item label{text-transform:uppercase;letter-spacing:.03em;opacity:.6;font-size:.7rem}.cliente-info-item span{font-size:1rem;font-weight:600}.badge-ok{color:#2e7d32}.badge-bloqueado{color:#c62828}.monto-especial-badge{color:#6a1b9a}.cliente-actions{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.btn-success{background:#2e7d32}.btn-danger{background:#c62828}.btn-secondary{background:#616161}.btn-neutral{background:#455a64}.badge-sano-admin{color:#616161;font-weight:700}.btn-primary{background:#0877d1}.monto-especial-form{border-top:1px solid #eee;padding-top:1rem}.monto-especial-form h4{margin-top:0;margin-bottom:.5rem}.monto-input-group{gap:.5rem;display:flex}.monto-input-group input{flex:1}.monto-ayuda{opacity:.7;margin-top:.5rem;font-size:.85rem}.loading-box{opacity:.75;text-align:center;background:#fff;border-radius:10px;padding:1rem}.enlace-cruzado{margin-top:.6rem;font-size:.9rem;display:inline-block}.modo-selector{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.modo-btn{color:#1a1a2e;background:#e0e0e0}.modo-btn.activo{color:#fff;background:#0877d1;font-weight:700}.accion-masiva-box{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin:.8rem 0;padding:.8rem 1rem}.radio-linea{align-items:center;gap:.5rem;padding:.3rem 0;font-size:.9rem;display:flex}.radio-linea input{width:auto}@media (width<=600px){*{box-sizing:border-box}body{overflow-x:hidden}.staff-layout,.admin-layout{width:100%;min-width:0}main{width:100%;max-width:100%;padding:1rem .8rem;overflow-x:hidden}.admin-nav{flex-wrap:nowrap;gap:.6rem;padding:.6rem .8rem;position:relative}.admin-menu-toggle{color:#fff;background:0 0;border:1px solid #ffffff59;flex-shrink:0;margin-left:auto;padding:.35rem .7rem;font-size:.85rem;display:inline-block}.admin-nav>a,.admin-nav>.usuario-actual,.admin-nav>button:not(.admin-menu-toggle){display:none}.admin-nav.admin-nav-abierto{flex-wrap:wrap;align-items:stretch}.admin-nav.admin-nav-abierto>a,.admin-nav.admin-nav-abierto>.usuario-actual,.admin-nav.admin-nav-abierto>button:not(.admin-menu-toggle){box-sizing:border-box;border-top:1px solid #ffffff1f;width:100%;max-width:100%;padding:.7rem .4rem;display:block}.admin-nav.admin-nav-abierto>.usuario-actual{opacity:.75;margin-left:0;font-size:.85rem}.admin-nav.admin-nav-abierto>button:not(.admin-menu-toggle){text-align:left;color:#ff8a80;background:0 0;border-radius:0}.admin-nav.admin-nav-abierto>a{white-space:normal;max-width:100%}.staff-header{width:100%;padding:.6rem .8rem}.staff-tabs{-webkit-overflow-scrolling:touch;gap:.4rem;width:100%;padding:.5rem .6rem 0;overflow-x:auto}.staff-tabs a{white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:160px;padding:.4rem .7rem;overflow:hidden}.staff-page{align-items:stretch;gap:.6rem;width:100%;max-width:100%;padding:.8rem .6rem;overflow-x:hidden}.buscar-form{flex-direction:column;gap:.5rem;width:100%;max-width:100%}.buscar-form input{text-align:center;box-sizing:border-box;-webkit-appearance:none;border:1px solid #ccc;width:100%;max-width:100%;padding:.7rem;font-size:1.1rem}.buscar-form-botones{width:100%}.buscar-form button[type=submit],.buscar-form button[type=button]{white-space:normal;word-break:break-word;box-sizing:border-box;flex:1;width:100%;padding:.7rem;font-size:.95rem}.resultado{width:100%;max-width:100%;margin:0;padding:1rem}.lista-resultados{flex-direction:column;gap:.45rem;width:100%;max-width:100%;margin:0;padding:0;display:flex;overflow-x:hidden}.fila-resultado{box-sizing:border-box;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex-direction:column;align-items:flex-start;gap:.4rem;width:100%;max-width:100%;padding:.65rem .7rem;overflow:hidden}.fila-resultado .datos{box-sizing:border-box;width:100%}.fila-resultado .nombre{word-break:break-word;margin:0;font-size:1rem}.fila-resultado .detalle{word-wrap:break-word;margin:.15rem 0;font-size:.8rem;line-height:1.35}.fila-resultado .confirmar{white-space:normal;word-break:break-word;box-sizing:border-box;width:100%;margin-top:.2rem;padding:.6rem;font-size:.9rem}.badge-canjeado{vertical-align:middle;white-space:nowrap;border-radius:4px;margin-left:.3rem;padding:.1rem .4rem;font-size:.7rem}.busqueda-subtitulo{opacity:.85;text-align:left;word-wrap:break-word;width:100%;margin-bottom:.3rem;font-size:.8rem}.flash{box-sizing:border-box;border-radius:8px;width:100%;max-width:100%;margin:.5rem .6rem;padding:.6rem .8rem;overflow-x:hidden}.alerta-comision{box-sizing:border-box;width:100%;max-width:100%;margin:.5rem .6rem;padding:.8rem 2rem .8rem .8rem}.alerta-comision-titulo{font-size:.9rem}.alerta-comision-detalle{font-size:.8rem}.flash p{text-align:left;word-wrap:break-word;font-size:.85rem;line-height:1.35}.error{word-wrap:break-word;font-size:.9rem}table{width:100%;max-width:100%;font-size:.8rem;overflow:hidden}th,td{word-wrap:break-word;white-space:normal;padding:.4rem .5rem}.resumen{flex-wrap:wrap;gap:.5rem}.tarjeta{box-sizing:border-box;flex:calc(50% - .25rem);padding:.8rem .6rem}.tarjeta .numero{font-size:1.4rem}.tarjeta p:last-child{font-size:.8rem}.form-inline{flex-direction:column;gap:.5rem;padding:0}.configuracion-premio{padding:.8rem}.config-fila label{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.config-fila input{width:100%;padding:.5rem;font-size:.95rem}.config-botones-monto{flex-direction:column;gap:.4rem}.config-botones-monto button{width:100%;padding:.6rem}.acciones{flex-wrap:wrap;gap:.3rem}.acciones button{white-space:normal;word-break:break-word;flex:1;padding:.3rem .6rem;font-size:.75rem}.personas-listado{width:100%;max-width:100%;overflow-x:hidden}.tarjeta-puntero{box-sizing:border-box;width:100%;max-width:100%;padding:.75rem .8rem}.tarjeta-puntero-header .nombre{font-size:1rem}.stat-compacta-numero{font-size:1.05rem}.tarjeta-puntero .detalle{font-size:.8rem}.tarjeta-puntero .confirmar{box-sizing:border-box;width:100%;padding:.65rem;font-size:.9rem}.personas-listado table{font-size:.75rem}.personas-listado th,.personas-listado td{word-wrap:break-word;padding:.3rem .4rem}.codigo-puntero{font-size:1rem}.detalle-porcentaje{font-size:.85rem}.acciones-estadistica{flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.acciones-estadistica button{white-space:nowrap;flex:1;padding:.5rem .8rem;font-size:.85rem}.subtitulo{word-wrap:break-word;margin-bottom:.4rem;padding:0;font-size:.85rem}.stat-numero{font-size:1.2rem}.stat-label{font-size:.75rem}}
