:root{--bg-color:#ba2233}html{scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:#fff;background-image:url(/assets/fondosinruido.png);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}#root{width:100%;overflow-x:hidden}.canvas-overlay{mix-blend-mode:multiply;pointer-events:none;z-index:0;background-image:url(/assets/fondo-lienzo-blanco.png);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100vw;height:100vh;position:fixed;top:0;left:0}.app-container{z-index:1000;flex-direction:column;justify-content:space-between;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex;position:relative}.top-section{z-index:100;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem;transition:all .4s cubic-bezier(.25,1,.5,1);display:flex;position:fixed;top:1rem;left:0;right:0}.top-section.scrolled{-webkit-backdrop-filter:blur(12px);background:#000000b3;border:1px solid #ffffff1a;border-radius:50px;max-width:700px;padding:.8rem 2rem;box-shadow:0 10px 30px #0000004d}.header-logo{filter:drop-shadow(0 2px 4px #0003);width:auto;max-height:40px}.nav-menu{align-items:center;gap:2rem;display:flex}.nav-link{color:#fff;text-transform:uppercase;letter-spacing:1px;font-size:.95rem;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:.7}.mobile-menu-toggle{cursor:pointer;z-index:101;background:0 0;border:none;display:none}.main-content{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;gap:3rem;width:100%;max-width:800px;display:flex}.logo{filter:drop-shadow(0 10px 20px #0003);width:100%;max-width:500px;height:auto;transition:transform .3s}.logo:hover{transform:scale(1.05)}.subtitle{width:100%;max-width:600px;height:auto}.footer-section{flex-direction:column;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.dot-separator{letter-spacing:.1em;text-transform:uppercase;color:#ffffffe6;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.dot-separator span.dot{background-color:#fff;border-radius:50%;width:6px;height:6px;display:inline-block}.login-btn{color:#000;cursor:pointer;background-color:#fff;border:none;border-radius:30px;align-items:center;gap:10px;padding:12px 30px;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px #0000001a}.login-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.desktop-menu{display:flex}.mobile-overlay-menu{display:none}.section-title-img{filter:drop-shadow(0 8px 15px #00000080);width:350px;max-width:90%;margin:0 auto 3rem;transition:transform .3s;display:block}.section-title-img:hover{transform:scale(1.02)}.boletos-section{z-index:2;width:100%;padding:8rem 2rem;position:relative;overflow:hidden}.tickets-container{flex-wrap:wrap;justify-content:center;gap:2rem;max-width:1200px;margin:0 auto;display:flex}.ticket-card{--ticket-gradient:linear-gradient(135deg, #f1c40f, #f39c12);background:var(--ticket-gradient);color:#000;aspect-ratio:457/934;text-align:center;filter:drop-shadow(0 12px 24px #00000059);flex-direction:column;justify-content:space-between;width:320px;transition:transform .2s,filter .2s;display:flex;position:relative;-webkit-mask-image:url(/assets/contorno%20ticket.png);mask-image:url(/assets/contorno%20ticket.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ticket-card:before{content:"";outline-offset:-12px;pointer-events:none;z-index:1;border-radius:16px;outline:2px dashed #0003;position:absolute;inset:0}.ticket-1:before{outline-color:#00000040}.ticket-2:before{outline-color:#fff6}.ticket-inner-border{z-index:2;flex-direction:column;width:100%;height:100%;display:flex}.ticket-1{--ticket-gradient:linear-gradient(135deg, #f1c40f, #e67e22);transform:rotate(-3deg)}.ticket-2{--ticket-gradient:linear-gradient(135deg, #ff4d4d, #8e0e00);color:#fff;transform:rotate(2deg)}.ticket-paid{--ticket-gradient:linear-gradient(135deg, #e0e0e0, #95a5a6);color:#000;transform:none}.ticket-paid:before{outline-color:#0000004d}.ticket-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.serial-number{opacity:.5;writing-mode:vertical-rl;font-family:monospace;font-size:.9rem;font-weight:700;transform:rotate(180deg)}.ticket-small-logo{filter:drop-shadow(0 2px 4px #0003);max-width:80px;margin:0}.ticket-card:hover{filter:drop-shadow(12px 12px #000);z-index:10;transform:translateY(-10px)rotate(0)}.ticket-top{flex-direction:column;flex-grow:1;padding:1.5rem 1.5rem 1rem;display:flex}.ticket-top h3{text-transform:uppercase;margin-top:1.5rem;margin-bottom:.5rem;font-family:Arial Black,Impact,sans-serif;font-size:2.6rem;line-height:1}.subtitle-ticket{text-transform:uppercase;letter-spacing:1px;font-size:1rem;font-weight:800}.ticket-divider{z-index:5;background-image:linear-gradient(90deg,#000 50%,#0000 50%);background-repeat:repeat-x;background-size:12px 2px;width:100%;height:2px;margin:0;position:relative}.ticket-2 .ticket-divider{background-image:linear-gradient(90deg,#fff 50%,#0000 50%)}.ticket-bottom{flex-direction:column;justify-content:center;height:161px;padding:0 2rem;display:flex}.ticket-extra-info{opacity:.8;letter-spacing:1px;flex-direction:column;gap:.3rem;margin-top:1rem;font-family:monospace;font-size:.9rem;font-weight:700;display:flex}.price-section{margin-top:1.5rem}.ticket-top .price{margin:0;font-family:Arial Black,Impact,sans-serif;font-size:2.2rem;font-weight:900;line-height:1}.taxes{opacity:.7;text-transform:uppercase;margin-top:.4rem;font-size:.8rem;font-weight:800}.barcode-placeholder{opacity:.7;text-align:center;margin-top:auto;font-family:"Libre Barcode 39",monospace;font-size:5rem;font-weight:400;line-height:.8}.brutalist-btn{color:#fff;cursor:pointer;text-transform:uppercase;background:#000;border:none;border-radius:4px;width:100%;padding:1.2rem 2rem;font-size:1.3rem;font-weight:900;transition:transform .2s,background .2s}.brutalist-btn:hover{background:#222;transform:scale(1.05)}.ticket-2 .brutalist-btn{color:#000;background:#fff}.ticket-2 .brutalist-btn:hover{background:#f0f0f0}.contacto-section{z-index:2;flex-direction:column;align-items:center;width:100%;padding:6rem 2rem 10rem;display:flex;position:relative}.contacto-form{flex-direction:column;gap:1.5rem;width:100%;max-width:600px;margin:0 auto;display:flex}.contacto-form input,.contacto-form textarea{color:#f4e3c2;background:0 0;border:4px solid #f4e3c2;border-radius:8px;outline:none;width:100%;padding:1.5rem;font-family:Arial Black,Impact,sans-serif;font-size:1.2rem;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:6px 6px #f4e3c2}.contacto-form input::placeholder,.contacto-form textarea::placeholder{color:#f4e3c2;opacity:.8}.contacto-form input:focus,.contacto-form textarea:focus{background:#f4e3c21a;transform:translate(2px,2px);box-shadow:4px 4px #f4e3c2}.contacto-form textarea{resize:vertical;min-height:150px}.submit-btn{color:#000;text-transform:uppercase;cursor:pointer;background:#f4e3c2;border:4px solid #f4e3c2;border-radius:8px;margin-top:1rem;padding:1.5rem;font-family:Arial Black,Impact,sans-serif;font-size:1.5rem;font-weight:900;transition:transform .2s,box-shadow .2s;box-shadow:6px 6px #000}.submit-btn:hover{transform:translate(2px,2px);box-shadow:4px 4px #000}.user-profile{cursor:pointer;justify-content:center;align-items:center;margin-left:1rem;transition:transform .2s;display:flex}.user-profile:hover{transform:scale(1.1)}.user-avatar{object-fit:cover;border:2px solid #000;border-radius:50%;width:32px;height:32px;display:block;box-shadow:2px 2px #f4e3c2}.auth-modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9998;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal-content{background:#db2828;border:4px solid #f4e3c2;border-radius:8px;width:90%;max-width:400px;padding:3rem 2rem;position:relative;box-shadow:10px 10px #000}.auth-modal-content h2{color:#f4e3c2;text-align:center;text-transform:uppercase;margin-bottom:2rem;font-family:Arial Black,Impact,sans-serif;font-size:2rem}.close-modal-btn{color:#f4e3c2;cursor:pointer;background:0 0;border:none;font-size:1.5rem;font-weight:900;transition:transform .2s;position:absolute;top:10px;right:10px}.close-modal-btn:hover{transform:scale(1.2)}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form input{color:#f4e3c2;background:0 0;border:3px solid #f4e3c2;border-radius:4px;outline:none;padding:1rem;font-family:Arial Black,Impact,sans-serif;font-size:1rem;box-shadow:4px 4px #000}.auth-form input::placeholder{color:#f4e3c299}.auth-submit{width:100%;margin-top:1rem}.auth-switch{text-align:center;color:#f4e3c2;margin-top:1.5rem;font-weight:700}.switch-mode-btn{color:#000;cursor:pointer;background:0 0;border:none;font-size:1rem;font-weight:900;text-decoration:underline}.auth-divider{text-align:center;margin:2rem 0;position:relative}.auth-divider:before{content:"";z-index:1;background:#f4e3c2;width:100%;height:2px;position:absolute;top:50%;left:0}.auth-divider span{color:#f4e3c2;z-index:2;background:#db2828;padding:0 10px;font-weight:700;position:relative}.google-auth-btn{color:#000;cursor:pointer;background:#fff;border:3px solid #000;border-radius:4px;justify-content:center;align-items:center;gap:10px;width:100%;padding:1rem;font-family:Arial Black,Impact,sans-serif;font-size:1.2rem;font-weight:900;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:4px 4px #000}.google-auth-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px #000}.auth-error{color:#ff4d4d;text-align:center;background:#000;border-radius:4px;margin-bottom:1rem;padding:10px;font-weight:700}.checkout-container{color:#f4e3c2;z-index:10;flex-direction:column;gap:2rem;width:100%;max-width:1000px;margin:0 auto;padding:4rem 2rem;display:flex;position:relative}.checkout-header{border-bottom:4px solid #f4e3c2;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.back-btn{color:#f4e3c2;cursor:pointer;text-transform:uppercase;background:0 0;border:none;font-family:Arial Black,Impact,sans-serif;font-size:1.2rem}.back-btn:hover{text-decoration:underline}.checkout-logo{height:40px}.checkout-content{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.checkout-summary,.checkout-payment{background:#0006;border:4px solid #f4e3c2;padding:2rem;box-shadow:10px 10px #db2828}.checkout-summary h2,.checkout-payment h2{text-transform:uppercase;border-bottom:2px dashed #f4e3c2;margin-bottom:1.5rem;padding-bottom:.5rem;font-family:Arial Black,Impact,sans-serif;font-size:1.8rem}.summary-details{flex-direction:column;gap:1rem;display:flex}.summary-row{justify-content:space-between;font-family:Arial Black,Impact,sans-serif;font-size:1.2rem;display:flex}.summary-value{color:#db2828;text-shadow:1px 1px #f4e3c2}.summary-divider{background:repeating-linear-gradient(90deg,#f4e3c2,#f4e3c2 10px,#0000 10px 20px);height:2px;margin:1rem 0}.total-row{font-size:1.5rem}.payment-form{flex-direction:column;gap:1rem;display:flex}.payment-form input{color:#f4e3c2;background:0 0;border:3px solid #f4e3c2;outline:none;padding:1rem;font-family:Arial Black,Impact,sans-serif;font-size:1rem}.payment-form input::placeholder{color:#f4e3c280}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.pay-btn{color:#f4e3c2;background:#db2828;border-color:#f4e3c2;margin-top:1rem}.pay-btn:hover{background:#000}.site-footer{color:#f4e3c2;background-color:#680218;border-top:4px solid #f4e3c2;margin-top:4rem;padding:4rem 2rem 2rem}.footer-content{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:1200px;margin:0 auto;display:flex}.footer-logo{opacity:.8;height:40px}.footer-content p{letter-spacing:1px;font-size:.9rem;font-weight:500}.footer-links{gap:2rem;margin-top:1rem;display:flex}.footer-links a{color:#f4e3c2;text-transform:uppercase;font-family:Arial Black,Impact,sans-serif;font-size:1.2rem;text-decoration:none;transition:opacity .2s}.footer-links a:hover{opacity:.7}.client-panel-overlay{z-index:1;background:#f4f4f4;justify-content:center;align-items:stretch;min-height:100vh;display:flex;position:relative}.client-panel-container{width:100%;max-width:100%;box-shadow:none;background:#fff;border:none;flex-direction:column;min-height:100vh;display:flex}.client-panel-header{background:#ba2233;border-bottom:none;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:relative;overflow:hidden}.client-panel-header:after{content:"";mix-blend-mode:multiply;pointer-events:none;z-index:0;background-image:url(/assets/fondo-lienzo-blanco.png);background-position:50%;background-size:cover;position:absolute;inset:0}.client-panel-header>*{z-index:1;position:relative}.client-panel-logo{height:40px}.back-btn{color:#ba2233;cursor:pointer;background:#fff;border:1px solid #ba2233;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Arial Black,Impact,sans-serif;font-size:1rem;display:flex}.client-close-btn{color:#f4e3c2;cursor:pointer;background:0 0;border:none;font-size:2.5rem;line-height:1}.client-panel-layout{flex:1;display:flex;overflow:hidden}.client-sidebar{background:#fff;border-right:2px solid #ececec;flex-direction:column;width:250px;display:flex}.sidebar-btn{color:#333;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #ececec;padding:1.5rem;font-family:Arial Black,Impact,sans-serif;font-size:1.1rem;transition:all .2s}.sidebar-btn:hover{background:#f9f9f9}.sidebar-btn.active{color:#fff;background:#ba2233}.client-content-area{flex:1;padding:2rem;overflow-y:auto}.section-title-panel{color:#ba2233;border-bottom:2px dotted #ba2233;margin-bottom:2rem;padding-bottom:1rem;font-family:Arial Black,Impact,sans-serif;font-size:2rem}.profile-details{flex-direction:column;gap:1.5rem;display:flex}.profile-avatar-large{object-fit:cover;border:4px solid #f4e3c2;border-radius:50%;width:100px;height:100px;box-shadow:4px 4px #000}.profile-info-row{color:#1a1a1a;flex-direction:column;font-size:1.2rem;display:flex}.profile-info-row span{color:#666;margin-bottom:.2rem;font-size:.9rem}.logout-action-btn{background:#000;margin-top:3rem}.tickets-list{flex-direction:column;gap:1.5rem;display:flex}.ticket-item{background:#fff;border:2px solid #ececec;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.ticket-item-header{justify-content:space-between;align-items:center;display:flex}.ticket-item-header h3{margin:0;font-family:Arial Black,Impact,sans-serif}.ticket-status{color:#000;background:#2ecc71;padding:.2rem .5rem;font-size:.8rem;font-weight:700}.ticket-id{color:#666;font-family:monospace}.no-tickets-msg{color:#666;font-size:1.2rem}.checkout-grid{grid-template-columns:1fr 1.2fr;gap:3rem;display:grid}.success-title{color:#2ecc71;margin-bottom:1rem;font-family:Arial Black,Impact,sans-serif;font-size:2.5rem}.checkout-success-view{text-align:center;background:#fff;border:4px solid #2ecc71;padding:2rem;box-shadow:10px 10px #2ecc71}.success-id-label{color:#666;margin-top:2rem}.success-id{color:#1a1a1a;background:#f4f4f4;border:1px solid #ececec;padding:1rem;font-family:monospace;font-size:1.5rem}.admin-loading{color:#fff;background:#000;justify-content:center;align-items:center;height:100vh;font-family:Arial Black,Impact,sans-serif;font-size:2rem;display:flex}.admin-login-container{background:#111;justify-content:center;align-items:center;height:100vh;display:flex}.admin-login-box{background:#000;border:4px solid #db2828;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem;display:flex;box-shadow:10px 10px #db2828}.admin-logo{height:60px;margin-bottom:1rem}.admin-login-box h2{color:#f4e3c2;letter-spacing:2px;font-family:Arial Black,Impact,sans-serif}.admin-submit-btn{color:#fff!important;background:#db2828!important;border-color:#db2828!important}.admin-dashboard{color:#f4e3c2;background:#0a0a0a;min-height:100vh;font-family:Inter,sans-serif}.admin-header{background:#000;border-bottom:2px solid #333;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.admin-controls{align-items:center;gap:1.5rem;font-weight:500;display:flex}.admin-logout-btn{color:#f4e3c2;cursor:pointer;background:0 0;border:1px solid #f4e3c2;padding:.5rem 1rem;font-family:Arial Black,Impact,sans-serif}.admin-logout-btn:hover{color:#000;background:#f4e3c2}.admin-content{max-width:1200px;margin:0 auto;padding:4rem 2rem}.admin-content h1{text-transform:uppercase;margin-bottom:3rem;font-family:Arial Black,Impact,sans-serif;font-size:2.5rem}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.admin-stat-card{background:#111;border:2px solid #333;flex-direction:column;gap:1rem;padding:2rem;transition:transform .2s;display:flex}.admin-stat-card:hover{border-color:#db2828;transform:translateY(-5px)}.admin-stat-card h3{color:#888;letter-spacing:1px;font-size:1rem}.stat-number{color:#fff;font-family:Arial Black,Impact,sans-serif;font-size:3rem}@media (width<=768px){h1{font-size:2rem}h2{font-size:1.5rem}.logo{max-width:80%}.subtitle{max-width:90%}.top-section{flex-direction:row;width:90%;margin:1rem auto;padding:.8rem 1.5rem;left:0;right:0}.top-section.hidden-on-mobile{opacity:0;pointer-events:none;transform:translateY(-20px)}.desktop-menu{display:none}.mobile-menu-toggle{display:block}.mobile-overlay-menu{-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;z-index:9999;background:#0009;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .3s;display:flex;position:fixed;inset:0}.mobile-overlay-menu.open{opacity:1;pointer-events:auto}.mobile-close-btn{cursor:pointer;background:0 0;border:none;position:absolute;top:2rem;right:2rem}.mobile-menu-content{flex-direction:column;align-items:center;gap:3rem;display:flex}.mobile-link{letter-spacing:2px;font-size:1.5rem;font-weight:600}.mobile-profile{color:#fff;flex-direction:column;align-items:center;gap:1rem;font-size:1.2rem;font-weight:600;display:flex}.mobile-profile .user-avatar{width:60px;height:60px}.client-panel-overlay{background:#fff;height:auto}.client-panel-container{height:auto}.client-panel-layout{flex-direction:column;overflow:visible}.client-content-area{background:#fff;height:auto;overflow-y:visible}.client-panel-header{padding:1rem}.client-panel-logo{height:30px}.back-text{display:none}.back-btn{padding:.5rem .8rem;font-size:1.2rem}.client-sidebar{border-bottom:2px solid #f4e3c233;border-right:none;flex-direction:row;width:100%;overflow-x:hidden}.sidebar-btn{text-align:center;white-space:nowrap;border-bottom:none;border-right:1px solid #f4e3c21a;flex:1;padding:1rem .5rem;font-size:.9rem}.sidebar-btn:last-child{border-right:none}.checkout-grid{text-align:center;grid-template-columns:1fr;justify-items:center}.checkout-content{grid-template-columns:1fr}.section-title-img{max-width:95%}.ticket-card{margin:0 auto}.section-title-panel{margin-bottom:1rem;font-size:1.1rem;text-align:center!important}.client-content-area{text-align:center;flex-direction:column;align-items:center;padding:1rem;display:flex;overflow-y:auto}.tickets-selection-grid{align-items:center!important}.tickets-list,.tickets-container{justify-content:center!important;align-items:center!important}.profile-details{text-align:center;align-items:center}.ticket-html-content{transform:translateY(-50px)!important}.canvas-overlay{width:120vw;height:120vh;top:-10vh;left:-10vw}.auth-modal-content{width:95%;padding:1.5rem 1.2rem}.auth-modal-content h2{margin-bottom:1rem;font-size:1.3rem}.auth-form input{padding:.8rem;font-size:.9rem}.switch-mode-btn{font-size:.9rem!important}.checkout-content{padding:1rem 0}.payment-form{width:100%;padding:0;overflow-x:hidden}}
