:root{
  --bg:#050505;--surface:#0c0c0c;--surface2:#121212;--surface3:#181818;
  --text:#f5f5f2;--muted:#969690;--accent:#c8e600;--accent2:#ecff59;
  --green:#00ad68;--blue:#3478f6;--line:#272727;--ok:#27cf87;--danger:#ff626c;
  --shadow:0 30px 90px #000b
}
[hidden]{display:none!important}
.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
*{scrollbar-width:thin;scrollbar-color:#393939 #080808}
body{background:var(--bg);color:var(--text)}
body:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 84% 0,#15243a50 0,transparent 28%),radial-gradient(circle at 8% 42%,#28300035 0,transparent 25%)}
.wrap{width:min(1240px,calc(100% - 48px))}
.mut{color:var(--muted)}
h1,h2,h3{letter-spacing:-.045em}

/* Lockup exacto de la referencia, ya recortado como un solo activo. */
.brand{display:inline-flex;align-items:center;text-decoration:none;min-width:190px;height:58px}
.brandLockup{display:block;width:190px;height:56px;overflow:hidden;background:#000;flex:none}
.brandLockup>img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;filter:none!important}
.nav{height:82px;padding:0 max(24px,calc((100vw - 1240px)/2));background:#050505f2;border-bottom:1px solid #1d1d1d;backdrop-filter:blur(18px)}
.nav nav{gap:31px}.nav nav a{color:#a5a5a0;font-size:13px}.nav nav a:hover,.nav nav a.active{color:#fff}.nav nav a.active:after{bottom:-17px;height:2px;background:var(--accent)}
.mobileMenu summary{background:#111;border-color:#2c2c2c}.mobileMenuPanel{background:#090909;border-color:#2b2b2b}

.btn{min-height:46px;border-radius:11px;padding:12px 19px}
.btn.primary,.btn.gold{background:var(--accent);color:#080900;box-shadow:none}
.btn.primary:hover,.btn.gold:hover{background:var(--accent2);filter:none}
.btn.ghost{background:#101010;border:1px solid #303030;color:#f5f5f2}
.eyebrow{color:#d9ef28;background:#151800;border:1px solid #424900;padding:7px 11px}
.input,select,textarea{background:#101010;border:1px solid #333;color:#fff;border-radius:10px;padding:14px 15px}
.input:focus,select:focus,textarea:focus{border-color:#99ad0d;box-shadow:0 0 0 3px #c8e60013}
label{color:#c7c7c2}

/* Portada editorial, sobria y centrada en el evento. */
.hero{min-height:680px;background:linear-gradient(180deg,#070707,#050505);overflow:hidden;position:relative}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}
.hero:after{content:"";position:absolute;width:420px;height:420px;right:6%;top:12%;border-radius:50%;background:#215ba51f;filter:blur(90px)}
.heroLayout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);gap:70px;align-items:center;min-height:680px}
.heroCopy{max-width:700px}.heroCopy>*{max-width:none}
.hero h1{font-size:clamp(58px,7vw,94px);line-height:.95;margin:21px 0 27px}
.hero h1 span{color:var(--accent)}
.hero p{font-size:18px;color:#b5b5b0;max-width:590px;margin:0}
.heroActions{display:flex;align-items:center;gap:22px;margin-top:30px}
.heroTextLink{color:#fff;font-weight:800;text-underline-offset:5px}
.heroProof{display:flex;gap:0;margin-top:56px;border-top:1px solid #292929;border-bottom:1px solid #292929}
.heroProof span{padding:15px 20px 15px 0;margin-right:24px;color:#a2a29d;font-size:12px;white-space:nowrap}.heroProof b{color:var(--accent);margin-right:7px}
.heroFeature{width:100%;max-width:460px;justify-self:end;border:1px solid #303030;border-radius:20px;overflow:hidden;background:#0b0b0b;box-shadow:0 36px 90px #000}
.heroFeatureMedia{height:410px;position:relative;overflow:hidden;isolation:isolate}
.heroFeatureInfo{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 21px;border-top:1px solid #292929}.heroFeatureInfo span{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.heroFeatureInfo h2{font-size:25px;margin:4px 0}.heroFeatureInfo p{font-size:11px;color:#8e8e88;margin:0}.heroFeatureInfo>a{width:46px;height:46px;display:grid;place-items:center;flex:none;border-radius:50%;background:#fff;color:#090909;text-decoration:none;font-size:20px}
.section{padding:86px 0}.sectionHead{margin-bottom:34px}.sectionHead h2{font-size:clamp(36px,5vw,54px)}

/* Fotografías: nunca se duplican ni se desenfocan para rellenar espacio. */
.cardMedia,.eventHero,.summaryMedia,.ticketCover,.heroFeatureMedia{position:relative;overflow:hidden;background:#0a0a0a;isolation:isolate}
.mediaBackdrop{display:none!important}
.mediaPrimary{position:absolute!important;z-index:1!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;transform:none!important;filter:drop-shadow(0 16px 30px #000b)}
.card:hover .mediaPrimary{transform:none!important}
.cardMedia:after,.eventHero:after,.summaryMedia:after,.ticketCover:after,.heroFeatureMedia:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 62%,#0009)}

.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:22px}
.grid>.card:only-child{width:100%;max-width:520px}
.card{background:#0b0b0b;border:1px solid #292929;border-radius:18px;box-shadow:none}
.card:hover{transform:translateY(-3px);border-color:#4a4a47;box-shadow:0 25px 70px #0009}
.cardMedia{height:auto!important;aspect-ratio:16/10}
.cardMedia.mediaPortrait{aspect-ratio:var(--media-ratio)!important;background:#050505}
.cardMedia.mediaLandscape{aspect-ratio:16/9!important}
.cardMedia.mediaSquare{aspect-ratio:1/1!important}
.cardMedia.mediaPortrait .mediaPrimary,.cardMedia.mediaLandscape .mediaPrimary,.cardMedia.mediaSquare .mediaPrimary{object-fit:cover!important;filter:none!important}
.cardBadge{z-index:3;background:#070707e8;border-color:#626b1a;color:#e7f85a}
.card .body{padding:22px}.card h3{font-size:24px;margin:7px 0 10px}.eventDate{color:#cbdc44;font-size:11px;font-weight:800;text-transform:capitalize}.price{border-color:#272727}.price b{font-size:20px}

/* Ficha de evento inspirada en una boletera editorial: imagen en su proporción real, sin rellenos borrosos. */
.eventPageSurface{background:#f4f5f2;color:#111;border-top:1px solid #1d1d1d}
.eventPageV3{padding:30px 0 88px}.eventPageV3 .backLink{color:#545650;text-decoration:none;margin-bottom:21px;font-weight:700}
.eventWorkspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:0;background:#fff;border:1px solid #dfe1dc;border-radius:22px;overflow:hidden;box-shadow:0 24px 70px #1112}
.eventPrimary{padding:32px;border-right:1px solid #dfe1dc;min-width:0}
.eventSecondary{padding:32px;min-width:0;background:#fafbf9}
.eventPoster{width:100%;height:auto!important;min-height:0!important;max-width:none;border:0;border-radius:16px;box-shadow:none;background:#111;overflow:hidden;margin:0 0 27px}
.eventPoster.mediaPortrait{width:min(100%,500px);margin:0 auto 29px}
.eventPoster .mediaPrimary{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important}
.eventPoster:after{display:none}
.eventPageV3 .eventIntro{background:transparent;border:0;border-radius:0;padding:0;margin:0 0 30px}
.eventPageV3 .eventIntro h1{font-size:clamp(40px,5vw,62px);line-height:.98;margin:16px 0 24px;color:#0d0e0c}
.eventPageV3 .eyebrow{color:#475100;background:#f2f8c8;border-color:#ccd986}
.eventPageV3 .eventMeta{display:grid;grid-template-columns:1fr;gap:0;margin:0;border-top:1px solid #dedfd9}
.eventPageV3 .eventMeta span{display:grid;gap:4px;padding:15px 0;background:transparent;border:0;border-bottom:1px solid #dedfd9;border-radius:0;color:#292b27;font-size:15px}
.eventPageV3 .eventMeta b{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#74776f;margin:0}
.eventPageV3 .accessPanel{position:static;background:transparent;border:0;border-radius:0;padding:28px 0 0;border-top:1px solid #dfe1dc}
.eventPageV3 .accessPanelHead h2{font-size:32px;color:#111;margin:12px 0 6px}.eventPageV3 .accessPanelHead p{color:#646760;margin:0 0 20px}
.eventPageV3 .ticketOption{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;background:#fff;border:1px solid #dfe1dc;border-radius:15px;padding:19px;margin:11px 0;color:#111;box-shadow:0 7px 22px #1110000a}
.eventPageV3 .ticketOptionInfo{display:grid;min-width:0}.eventPageV3 .ticketOption h3{font-size:18px;margin:0 0 3px;letter-spacing:-.02em}.eventPageV3 .ticketOptionInfo span{color:#565952;font-size:13px}.eventPageV3 .ticketOption small{display:block;color:#81847d;font-size:11px;margin-top:4px}.eventPageV3 .ticketOption .amount{color:#111;font-size:19px;text-align:right;white-space:nowrap}.eventPageV3 .ticketOption .amount small{font-size:9px;letter-spacing:.12em;text-transform:uppercase}.eventPageV3 .ticketOption .btn{width:auto;grid-column:auto;min-width:92px}
.eventPageV3 .secureNote{display:flex;align-items:center;gap:12px;margin-top:17px;padding:14px;border:1px solid #d8ddbd;background:#f7fadf;border-radius:12px}.eventPageV3 .secureNote>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#c8e600;color:#090a00;font-weight:900}.eventPageV3 .secureNote p{margin:0;color:#5a5d54;font-size:12px}.eventPageV3 .secureNote b{color:#111}
.eventInfoBlock{position:relative;padding:5px 0 32px;margin-bottom:30px;border-bottom:1px solid #dfe1dc}.eventInfoBlock:last-child{margin-bottom:0;border-bottom:0}.eventInfoIndex{display:block;color:#8b8e86;font:800 10px Manrope,sans-serif;letter-spacing:.13em}.eventInfoBlock h2{font-size:27px;margin:8px 0 17px;color:#121310}.eventInfoBlock h3{font-size:20px;margin:17px 0 6px;color:#121310}.eventInfoBlock p{color:#4c4f48;font-size:15px;line-height:1.75;margin:0}.eventInfoBlock .eventDescription{white-space:pre-line}
.venueVisual{height:230px;border-radius:16px;overflow:hidden;position:relative;display:grid;place-items:center;background:linear-gradient(35deg,#e5e8df 25%,transparent 25%) 0 0/56px 56px,linear-gradient(145deg,#eef0eb 25%,transparent 25%) 0 0/72px 72px,#f7f8f5;border:1px solid #dfe1dc}.venueVisual:before,.venueVisual:after,.venueVisual i{content:"";position:absolute;background:#cfd3c8;border-radius:99px}.venueVisual:before{width:130%;height:12px;transform:rotate(-18deg)}.venueVisual:after{width:110%;height:7px;transform:rotate(37deg)}.venueVisual i:nth-of-type(1){width:85%;height:4px;transform:rotate(8deg)}.venueVisual i:nth-of-type(2){width:70%;height:5px;transform:rotate(-55deg)}.venueVisual span{position:relative;z-index:2;width:54px;height:54px;display:grid;place-items:center;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:#111;color:#c8e600;font-size:24px;box-shadow:0 12px 24px #1114}.venueVisual span::first-letter{transform:rotate(45deg)}
.eventGuarantee ul{list-style:none;padding:0;margin:0}.eventGuarantee li{padding:12px 0 12px 28px;border-top:1px solid #e2e3df;position:relative;color:#373a34}.eventGuarantee li:before{content:"✓";position:absolute;left:0;color:#657500;font-weight:900}

/* Compra, cuentas y formularios */
.panel,.checkoutForm,.summary,.adminList,.adminEditor,.formSection,.scanIdle,.scanResultDock,.scanHistory{background:#0b0b0b;border-color:#292929;box-shadow:none}
.panel{border-radius:18px}.authPanel{margin-top:68px;margin-bottom:88px}
.checkoutPage{padding-top:36px}.checkoutTitle h1{font-size:clamp(44px,6vw,68px)}
.checkoutGrid{grid-template-columns:minmax(0,1fr) 400px;gap:24px}.checkoutForm,.summary{border-radius:18px}.checkoutForm{padding:29px}.summary{top:100px}
.summaryMedia{height:255px}.summaryBody{padding:24px}.summaryLine{border-color:#292929}.totalLine b{color:#e6f94f;font-size:21px}
.checkoutAssurance span{background:#101200;border-color:#343a18;color:#d8e87a}
.ticketPicker{border:0;padding:0;margin:27px 0 12px;min-width:0}.ticketPicker legend{font:700 23px 'Space Grotesk',sans-serif;padding:0}.ticketPicker>.fieldHelp{margin:5px 0 13px}
.ticketPickRow{display:grid;grid-template-columns:minmax(0,1fr) auto 150px;gap:18px;align-items:center;padding:17px;border:1px solid #2b2b2b;border-radius:12px;background:#0f0f0f;margin:9px 0}.ticketPickRow:focus-within{border-color:#727b1b;background:#121300}.ticketPickInfo{display:grid;min-width:0}.ticketPickInfo strong{font-size:16px}.ticketPickInfo span{color:#b8b8b2;font-size:13px}.ticketPickInfo small{color:#777772;font-size:11px;margin-top:3px}.ticketPickPrice{color:#e5f84b;white-space:nowrap}.ticketQty{margin:0;min-width:0}
.ticketSummaryLine{transition:opacity .2s}.ticketSummaryLine.emptySelection{opacity:.36}.ticketSummaryLine small{color:var(--muted);font-weight:600}
.alert.good,.good{background:#0d281c;border-color:#236447;color:#c8f4dd}.alert.bad,.bad{background:#351416;border-color:#793038;color:#ffd0d3}

/* Administración */
.adminHero{padding-top:47px}.adminHero h1{font-size:clamp(46px,6vw,70px)}
.adminGrid{grid-template-columns:1fr!important;gap:22px}.adminEditor{grid-row:1!important;position:static!important;max-height:none!important;overflow:visible!important;padding:clamp(22px,3vw,35px)}.adminList{grid-row:2}.adminEditor form{max-width:none}
.formSection{background:#0e0e0e}.uploadBox{background:#101010;border-color:#484848;padding:21px}.uploadBox:hover{border-color:#7d8916;background:#121300}.uploadBox b:after{content:" · vertical u horizontal";color:#c8e600;font-weight:700}.uploadBox img{width:auto;max-width:100%;height:auto!important;max-height:520px;object-fit:contain!important;background:#050505;border-radius:12px}
.adminEvent>img{object-fit:contain!important;background:#080808}.statusDot.live{background:var(--accent);box-shadow:0 0 10px #c8e60077}
.ticketTypeRow{grid-template-columns:minmax(145px,1.05fr) minmax(210px,1.45fr) minmax(120px,.72fr) minmax(100px,.62fr) minmax(100px,.62fr) 44px!important;gap:12px!important}.ticketTypeRow>*{min-width:0}.ticketTypeRow .input{width:100%;min-width:0;padding:12px!important}.removeType{width:44px}

/* Pase digital */
.ticketShell{max-width:900px}.ticketPro{background:#f5f5ef;color:#101010;border:1px solid #444;border-radius:20px;box-shadow:0 35px 100px #000c}.ticketCover{height:auto!important;aspect-ratio:16/7}.ticketCover:after{background:linear-gradient(0deg,#050505e8,transparent 70%)}
.ticketCoverBrand{z-index:4!important;left:20px!important;top:14px!important}.ticketCoverBrand .brandLockup{transform:scale(.78);transform-origin:left top}
.ticketCoverCopy{z-index:4}.ticketCoverCopy>span{color:#e4f74d}.ticketMain{grid-template-columns:1fr 270px}.ticketQrSide{border-color:#c7c7be;background:#eee}.ticketQrSide:before,.ticketQrSide:after{background:var(--bg)}
.ticketStatus{background:#d6f6e6;color:#17623f}.ticketStatus.used{background:#f5dce0;color:#8b2330}

/* Escáner */
.scannerStatus i{background:var(--accent);box-shadow:0 0 12px #c8e60088}.reader{border-color:#292929;background:#080808}.scanResultDock.ok{background:#0b3826;border-color:#27b878}.scanResultDock.no{background:#411418;border-color:#91313a}

footer{border-color:#222;color:#777}.footerBrand .brand{transform:scale(.82);transform-origin:left center;margin-right:-34px}.footerBrand p{margin-top:-6px}

/* Portada producida: carrusel editorial con soporte para cualquier cantidad de eventos. */
.showcaseHero{padding:72px 0 0;background:radial-gradient(circle at 82% 8%,#24340055,transparent 26%),linear-gradient(180deg,#070807,#030403);overflow:hidden}.showcaseTop{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:70px;margin-bottom:44px}.showcaseTop h1{font-size:clamp(58px,7.5vw,104px);line-height:.88;margin:22px 0 0}.showcaseTop h1 span{color:var(--accent)}.showcaseIntro{padding-bottom:8px}.showcaseIntro p{font-size:17px;color:#aaa;max-width:440px}.showcaseIntro a{display:inline-block;margin-top:14px;color:#fff;font-weight:800;text-underline-offset:6px}.carouselShell{position:relative}.carouselTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.carouselTop>div:first-child{display:flex;align-items:center;gap:14px}.carouselTop span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-weight:900}.carouselTop b{font-size:12px;color:#868680}.carouselControls{display:flex;gap:8px}.carouselControls button{width:44px;height:44px;border-radius:50%;border:1px solid #333;background:#101110;color:#fff;font-size:18px;cursor:pointer}.carouselControls button:hover{background:var(--accent);color:#080900}.carouselViewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.carouselViewport::-webkit-scrollbar{display:none}.carouselTrack{display:flex;gap:20px}.featureSlide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);min-height:570px;background:#0b0c0b;border:1px solid #2d3029;border-radius:24px;overflow:hidden}.featurePoster{position:relative;overflow:hidden;background:#070807}.featurePoster .mediaPrimary{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important}.featureCopy{padding:clamp(32px,5vw,70px);display:flex;flex-direction:column;justify-content:center;min-width:0}.featureCounter{display:flex;align-items:center;gap:10px;margin-bottom:36px;color:#686b63;font-size:10px}.featureCounter i{width:60px;height:1px;background:#34362f}.featureCategory{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:900}.featureCopy h2{font-size:clamp(48px,6vw,82px);line-height:.93;margin:17px 0 32px}.featureFacts{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:22px 0;border-top:1px solid #292b27;border-bottom:1px solid #292b27}.featureFacts p{margin:0;color:#caccc5}.featureFacts small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#70736c;margin-bottom:5px}.featureBottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:29px}.featureBottom>span{color:#8d9088;font-size:12px}.featureBottom>span b{display:block;color:#fff;font-size:27px}.trustRail{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border-top:1px solid #262825;border-bottom:1px solid #262825}.trustRail span{padding:17px 12px;color:#85877f;font-size:11px}.trustRail b{color:var(--accent);margin-right:8px}.eventsCatalog{padding-top:100px}.catalogHeader{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.catalogHeader h2{font-size:clamp(40px,5vw,62px);margin:14px 0 0}.eventSearch{width:min(100%,400px);display:flex;align-items:center;gap:10px;padding:0 16px;border:1px solid #32342f;border-radius:14px;background:#0d0e0d;margin:0}.eventSearch span{font-size:23px;color:var(--accent)}.eventSearch input{width:100%;height:52px;border:0;outline:0;background:transparent;color:#fff}.eventSearch input::placeholder{color:#696b65}.eventCard .cardMedia{display:block}.noResults{padding:45px;text-align:center;border:1px dashed #343632;border-radius:18px;color:#888}

/* Editor de accesos y mesas. */
.ticketTypesEditor{padding:0!important;background:transparent!important;border:0!important}.ticketTypesEditor .typeHeader{margin-bottom:14px}.ticketTypeRow{position:relative!important;display:block!important;padding:20px!important;margin:12px 0;border:1px solid #30322d!important;border-radius:15px;background:#101110}.typeCore{display:grid;grid-template-columns:1fr 1.3fr 1fr .8fr .72fr;gap:12px}.typeInventory{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:12px;margin-top:12px;border-top:1px solid #292b27}.tableOnly{display:none}.ticketTypeRow.isTable .tableOnly{display:block}.ticketTypeRow.isTable .ticketOnly{display:none}.ticketTypeRow .removeType{position:absolute;right:10px;top:10px;width:34px;height:34px;min-height:0}.ticketTypeRow label{margin-top:0}.ticketTypeRow select,.ticketTypeRow .input{padding:11px 12px}.uploadBox b:after{content:""}

/* Plano de mesas VIP en compra. */
.ticketPickRow:has(.tableSelector){grid-template-columns:minmax(0,1fr) auto}.tableSelector{grid-column:1/-1;margin-top:8px}.tableLegend{display:flex;gap:15px;flex-wrap:wrap;color:#858881;font-size:10px;margin-bottom:12px}.tableLegend span{display:flex;align-items:center;gap:5px}.tableLegend i{width:10px;height:10px;border-radius:3px;background:#242622}.tableLegend i.selected{background:var(--accent)}.tableLegend i.occupied{background:#4d2528}.tableGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:9px}.tableSeat{margin:0;cursor:pointer}.tableSeat input{position:absolute;opacity:0;pointer-events:none}.tableSeat>span{display:grid;place-items:center;min-height:76px;border:1px solid #353731;border-radius:12px;background:#151615;color:#fff;transition:.2s}.tableSeat b{font-size:14px}.tableSeat small{color:#83867e;font-size:9px}.tableSeat input:checked+span{background:var(--accent);border-color:var(--accent);color:#080900;box-shadow:0 8px 30px #c8e60020}.tableSeat input:checked+span small{color:#343a00}.tableSeat.taken{cursor:not-allowed}.tableSeat.taken>span{background:#241719;border-color:#4c282c;color:#795b5e;text-decoration:line-through}

@media(max-width:1100px){
  .heroLayout{grid-template-columns:1fr minmax(330px,.65fr);gap:35px}
  .eventContent{grid-template-columns:1fr}.accessPanel{position:static}
  .eventWorkspace{grid-template-columns:1fr}.eventPrimary{border-right:0;border-bottom:1px solid #dfe1dc}.eventSecondary{display:grid;grid-template-columns:1fr 1fr;gap:28px}.eventInfoBlock{margin:0}.eventGuarantee{grid-column:1/-1}
  .typeCore{grid-template-columns:1fr 1fr}.featureSlide{grid-template-columns:minmax(280px,.8fr) 1.2fr}
}
@media(max-width:900px){
  .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
  .heroLayout{grid-template-columns:1fr;gap:36px;padding-block:65px}.hero{min-height:auto}.heroFeature{max-width:none;display:grid;grid-template-columns:1fr 1fr}.heroFeatureMedia{height:390px}.heroFeatureInfo{border-top:0;border-left:1px solid #292929}
  .checkoutGrid{grid-template-columns:1fr}.summary{position:static;grid-row:1}
  .ticketPickRow{grid-template-columns:minmax(0,1fr) auto}.ticketQty{grid-column:1/-1}
  .ticketTypeRow{grid-template-columns:1fr 1fr!important}.ticketTypeRow .removeType{grid-column:1/-1!important;width:100%}
  .eventHero{height:clamp(360px,70vw,570px)!important}
  .showcaseTop{grid-template-columns:1fr;gap:18px}.featureSlide{grid-template-columns:1fr 1fr;min-height:520px}.featureCopy{padding:30px}.featureCopy h2{font-size:45px}.trustRail{grid-template-columns:1fr 1fr}.catalogHeader{align-items:stretch;flex-direction:column}.eventSearch{width:100%;max-width:none}
}
@media(max-width:620px){
  .wrap{width:calc(100% - 28px)}.nav{height:70px;padding-inline:14px}.brand{min-width:145px;height:48px}.brandLockup{width:145px;height:43px}.brandLockup>img{width:100%!important;height:100%!important;object-fit:contain!important}
  .heroLayout{padding-block:55px}.hero h1{font-size:clamp(48px,14vw,64px)}.hero p{font-size:16px}.heroActions{align-items:flex-start;flex-direction:column;gap:15px}.heroProof{display:grid;border-bottom:0;margin-top:37px}.heroProof span{margin:0;border-bottom:1px solid #282828}
  .heroFeature{display:block}.heroFeatureMedia{height:390px}.heroFeatureInfo{border-left:0;border-top:1px solid #292929}
  .section{padding:62px 0}.sectionHead{display:block}.grid{grid-template-columns:1fr}.cardMedia{aspect-ratio:16/10}.card .body{padding:20px}
  .eventPage{padding:23px 0 60px}.eventHero{height:390px!important;border-radius:15px}.eventContent{margin-top:15px;gap:15px}.eventIntro,.accessPanel{padding:19px;border-radius:15px}.eventIntro h1{font-size:42px}.eventMeta{grid-template-columns:1fr}.accessPanelHead h2{font-size:28px}
  .eventPageV3{width:100%;padding:17px 0 48px}.eventPageV3>.backLink{margin-left:16px}.eventWorkspace{border-left:0;border-right:0;border-radius:0}.eventPrimary,.eventSecondary{padding:18px}.eventPoster,.eventPoster.mediaPortrait{width:100%;height:auto!important;border-radius:13px;margin-bottom:23px}.eventPageV3 .eventIntro{padding:0;border-radius:0}.eventPageV3 .eventIntro h1{font-size:39px}.eventPageV3 .accessPanel{padding:25px 0 0;border-radius:0}.eventPageV3 .accessPanelHead h2{font-size:28px}.eventPageV3 .ticketOption{grid-template-columns:1fr auto;padding:16px;gap:10px}.eventPageV3 .ticketOption .btn{grid-column:1/-1;width:100%}.eventSecondary{display:block}.eventInfoBlock{padding-bottom:27px;margin-bottom:27px}.venueVisual{height:200px}
  .checkoutTitle h1{font-size:43px}.checkoutForm{padding:19px}.summaryMedia{height:235px}.summaryBody{padding:19px}
  .ticketPickRow{grid-template-columns:1fr auto;gap:10px 12px;padding:14px}.ticketPickInfo{grid-column:1/-1}.ticketQty{grid-column:1/-1}.ticketPicker legend{font-size:21px}.checkoutAssurance{grid-template-columns:1fr}
  .ticketTypeRow{grid-template-columns:1fr!important}.ticketTypeRow .removeType{grid-column:auto!important}.uploadBox{padding:14px}.uploadBox img{max-height:300px}
  .ticketCover{aspect-ratio:16/9}.ticketCoverBrand .brandLockup{transform:scale(.7)}.ticketMain{grid-template-columns:1fr}.ticketQrSide{border-left:0;border-top:2px dashed #c7c7be}
  footer{width:calc(100% - 28px);grid-template-columns:1fr;text-align:center}.footerBrand .brand{margin-inline:auto;transform:scale(.82);transform-origin:center}
  .showcaseHero{padding-top:46px}.showcaseTop{margin-bottom:30px}.showcaseTop h1{font-size:52px}.carouselTop b{display:none}.featureSlide{display:block;min-height:0}.featurePoster{height:auto;aspect-ratio:2/3}.featureCopy{padding:25px}.featureCopy h2{font-size:40px}.featureCounter{margin-bottom:20px}.featureFacts{grid-template-columns:1fr;gap:12px}.featureBottom{align-items:stretch;flex-direction:column}.featureBottom .btn{width:100%}.trustRail{grid-template-columns:1fr 1fr;margin-top:25px}.eventsCatalog{padding-top:65px}.catalogHeader h2{font-size:42px}.typeCore,.typeInventory{grid-template-columns:1fr}.tableGrid{grid-template-columns:repeat(2,1fr)}
}
@media print{
  .nav,footer,.ticketToolbar,.ticketPager{display:none!important}.ticketCover{aspect-ratio:16/7!important}.ticketCover .mediaBackdrop{display:block!important}.ticketCover .mediaPrimary{object-fit:contain!important}
}

/* Plano VIP compacto: una línea visual por fila */
.tableRowsPlan{gap:7px;overflow-x:auto;padding:3px 1px 8px;scrollbar-color:#404535 #0a0b0a;scrollbar-width:thin}.tablePlanRow{grid-template-columns:48px minmax(max-content,1fr);gap:8px;min-width:max-content;padding:5px 0;border-bottom:1px solid #20231e}.tablePlanRow:last-child{border-bottom:0}.tableRowName{position:sticky;left:0;z-index:2;display:flex;align-items:center;min-height:48px;padding:0 7px;background:#0f100f;border-right:1px solid #2b3026}.tablePlanRow .tableGrid{display:grid;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:56px;gap:5px}.tablePlanRow .tableSeat>span{min-height:48px!important;border-radius:8px;padding:4px 2px}.tablePlanRow .tableSeat b{font-size:11px}.tablePlanRow .tableSeat small{font-size:7px}.venueOrientation{max-width:520px;gap:3px;margin-bottom:12px}.venueOrientation>div{padding:6px}.vipBand{padding:7px!important}.tableLegend{margin-bottom:8px}

/* Cantidad libre de accesos que acompañan una mesa */
.admissionOptions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.admissionUpsell .admissionOptions label{margin:0}.admissionQuantity{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:8px 14px;align-items:end;margin-top:14px;padding:13px;border:1px solid #32372a;border-radius:11px;background:#151812}.admissionQuantity[hidden]{display:none}.admissionQuantity label{grid-column:1;margin:0!important;font-weight:800}.admissionQuantity .input{grid-column:1;margin:0}.admissionQuantity small{grid-column:2;grid-row:2;color:#8f9586;font-size:10px;line-height:1.45}.admissionQty:disabled{opacity:.55}

/* Acciones destructivas y cuenta administradora */
.btn.danger{border:1px solid #703139;background:#2a1114;color:#ffb8bd}.btn.danger:hover{background:#40171c;border-color:#a64b55}.staffActions{flex-wrap:wrap}.accountSecurity{margin:0 0 20px!important;padding:clamp(20px,3vw,30px)!important;border-color:#343a2d!important;background:linear-gradient(135deg,#11150d,#0b0c0b)!important}.accountSecurity .settingsSectionHead{margin-bottom:18px}.securityBadge{flex:0 0 auto;padding:8px 11px;border:1px solid #42502c;border-radius:999px;background:#17200d;color:#dceb8b;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.accountSecurity>.btn{margin-top:8px}

@media(max-width:760px){.row3{grid-template-columns:1fr}.securityBadge{display:inline-flex;margin-top:12px}.admissionQuantity{grid-template-columns:1fr}.admissionQuantity small{grid-column:1;grid-row:auto}.staffActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.tablePlanRow{grid-template-columns:43px minmax(max-content,1fr)!important;gap:6px}.tableRowName{min-height:44px;padding:0 5px}.tablePlanRow .tableGrid{grid-template-columns:none!important;grid-auto-columns:51px}.tablePlanRow .tableSeat>span{min-height:44px!important}.venueOrientation{font-size:6px}.admissionOptions{display:grid;gap:8px}.admissionUpsell .admissionOptions label{margin:0}.staffActions{grid-template-columns:1fr 1fr}.staffActions>form:last-child{grid-column:1/-1}}

/* Octubre 2026 · portada compacta y ubicaciones reales */
.homeShowcase{padding:50px 0 0!important;background:radial-gradient(circle at 58% -15%,rgba(200,230,0,.12),transparent 35%),linear-gradient(180deg,#080a08 0%,#030403 100%)!important}
.homeHeroGrid{display:grid;grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);gap:clamp(34px,5vw,72px);align-items:center}
.homePitch{padding:35px 0}.homePitch .eyebrow{background:rgba(200,230,0,.08);border-color:rgba(200,230,0,.25)}
.homePitch h1{font-size:clamp(50px,5.4vw,78px);line-height:.91;letter-spacing:-.06em;margin:24px 0 23px;max-width:580px}.homePitch h1 span{color:var(--accent)}
.homePitch>p{max-width:480px;color:#a7aaa3;font-size:16px;line-height:1.7;margin:0 0 27px}
.heroSearch{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;height:58px;padding:6px 6px 6px 17px;background:#111311;border:1px solid #32352e;border-radius:14px;max-width:520px;margin:0!important}.heroSearch:focus-within{border-color:#859600;box-shadow:0 0 0 4px rgba(200,230,0,.08)}.heroSearch>span{font-size:22px;color:var(--accent)}.heroSearch input{width:100%;min-width:0;background:transparent;border:0;outline:0;color:#fff;font:600 13px Manrope,sans-serif}.heroSearch input::placeholder{color:#72766e}.heroSearch button{height:44px;padding:0 19px;border:0;border-radius:9px;background:var(--accent);color:#090a05;font-weight:900;cursor:pointer}
.homeProof{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;color:#747870;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.homeProof b{color:var(--accent);margin-right:4px}
.homeCarousel{min-width:0}.homeCarousel .carouselTop{margin:0 0 12px}.homeCarousel .carouselTop>div:first-child{gap:11px}.homeCarousel .carouselTop b{font-variant-numeric:tabular-nums}.homeCarousel .carouselControls button{width:39px;height:39px}
.homeCarousel .carouselViewport{border-radius:22px}.homeCarousel .carouselTrack{gap:0}.homeCarousel .featureSlide{flex:0 0 100%;min-height:0;height:480px;grid-template-columns:minmax(255px,.78fr) minmax(0,1.22fr);border-radius:22px;background:#0d0f0d;border-color:#30342c}
.homeCarousel .featurePoster{min-width:0;background:radial-gradient(circle at 50% 45%,#292e20,#090a09 68%);border-right:1px solid #2b2e27;display:grid;place-items:center;padding:0;isolation:isolate}.homeCarousel .featurePoster:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.09);border-radius:12px;z-index:2;pointer-events:none}.homeCarousel .featurePoster .mediaPrimary{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;filter:none!important;z-index:1}.homeCarousel .featureDateFlag{position:absolute;left:28px;top:28px;z-index:4;display:grid;place-items:center;width:58px;height:66px;border-radius:12px;background:var(--accent);color:#080900;font-size:9px;font-weight:900;letter-spacing:.09em;box-shadow:0 14px 30px #0007}.homeCarousel .featureDateFlag b{font:800 25px/1 'Space Grotesk',sans-serif;letter-spacing:-.05em}
.homeCarousel .featureCopy{padding:clamp(28px,3.5vw,48px);justify-content:center}.homeCarousel .featureCategory{font-size:10px}.homeCarousel .featureCopy h2{font-size:clamp(36px,4vw,58px);line-height:.94;margin:16px 0 25px;letter-spacing:-.055em}.homeCarousel .featureFacts{gap:20px;padding:17px 0}.homeCarousel .featureFacts p{font-size:12px;line-height:1.55}.homeCarousel .featureBottom{margin-top:23px}.homeCarousel .featureBottom>span b{font-size:23px}.homeCarousel .featureBottom .btn{white-space:nowrap;padding-inline:19px}.homeCarousel .featureBottom .btn span{margin-left:7px}
.experienceRail{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid #252822}.experienceRail>span{display:flex;align-items:center;gap:7px;padding:18px 0;color:#71756d;font-size:11px}.experienceRail>span+span{border-left:1px solid #252822;padding-left:24px}.experienceRail i{font-style:normal;color:var(--accent);font-weight:900;margin-right:4px}.experienceRail b{color:#d9dbd5}
.eventsCatalog{padding-top:78px!important}.eventsCatalog .eventGrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.eventCard{border-radius:18px;overflow:hidden}.eventCard .cardMedia{height:300px;aspect-ratio:auto;background:#0a0b0a;display:grid!important;place-items:center}.eventCard .cardMedia .mediaPrimary{width:100%!important;height:100%!important;object-fit:contain!important}.eventCard .cardMedia.mediaLandscape .mediaPrimary{object-fit:cover!important}.eventCard .cardMedia.mediaPortrait{height:360px}.eventCard .body{border-top:1px solid #252722}
.homeEmpty{padding:50px;border:1px solid #30342c;border-radius:22px;background:#0d0f0d}.homeEmpty>span{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.homeEmpty h2{font-size:38px;line-height:1;margin:18px 0}.homeEmpty p{color:#8b8e87}

/* Google Maps en ficha y editor */
.venueMap{position:relative;height:300px;border:1px solid #dfe1dc;border-radius:16px;overflow:hidden;background:#eef0eb}.venueMap iframe{display:block;width:100%;height:100%;border:0}.venueMap>a{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:11px 14px;border-radius:10px;background:#10110f;color:#fff;text-decoration:none;font-size:11px;font-weight:800;box-shadow:0 8px 24px #0005}.venueMap>a:hover{background:#20251a}.venueMap>a span{color:var(--accent);font-size:15px}
.locationSection{padding:27px!important}.locationHeading,.settingsSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:21px}.locationHeading h3,.settingsSectionHead h2{margin:5px 0 6px}.locationHeading p,.settingsSectionHead p{margin:0;max-width:700px}.sectionKicker{display:block;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.mapsBadge{flex:0 0 auto;padding:8px 11px;border:1px solid #3d4430;border-radius:999px;color:#dbe982;background:#11150d;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mapSearchRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.mapSearchRow .btn{min-width:110px}.adminMapWrap{position:relative;margin:14px 0 22px;border:1px solid #34372f;border-radius:15px;overflow:hidden;background:#090a09}.adminMap{display:block;width:100%;height:330px;border:0}.adminMap[hidden]{display:none}.mapPinHint{position:absolute;left:14px;bottom:14px;right:14px;display:flex;align-items:center;gap:9px;width:max-content;max-width:calc(100% - 28px);padding:10px 13px;border-radius:10px;background:rgba(5,6,5,.9);color:#e8eae4;font-size:10px;box-shadow:0 8px 26px #0008;backdrop-filter:blur(10px)}.mapPinHint span{color:var(--accent);font-size:18px}.mapPinHint b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locationSection>.row2{margin-top:5px}.mapsSettings{background:linear-gradient(135deg,#0f120c,#0c0d0c)!important;border-color:#303828!important}

@media(max-width:1120px){.homeHeroGrid{grid-template-columns:1fr}.homePitch{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);column-gap:45px;align-items:end;padding:18px 0}.homePitch .eyebrow,.homePitch h1{grid-column:1}.homePitch>p,.homePitch .heroSearch,.homePitch .homeProof{grid-column:2}.homePitch>p{grid-row:1/3;align-self:end;margin-bottom:86px}.homePitch .heroSearch{grid-row:3;margin-top:-65px!important}.homePitch .homeProof{grid-row:4}.homeCarousel .featureSlide{height:455px;grid-template-columns:minmax(300px,.7fr) 1.3fr}}
@media(max-width:760px){.homeShowcase{padding-top:29px!important}.homeHeroGrid{gap:32px}.homePitch{display:block;padding:8px 0}.homePitch h1{font-size:clamp(47px,14vw,68px);margin:20px 0}.homePitch>p{margin:0 0 24px}.homePitch .heroSearch{height:55px;margin:0!important}.homeCarousel .featureSlide{height:auto;display:block}.homeCarousel .featurePoster{height:auto;aspect-ratio:4/5;border-right:0;border-bottom:1px solid #2b2e27}.homeCarousel .featurePoster.mediaLandscape{aspect-ratio:16/10}.homeCarousel .featureCopy{padding:25px}.homeCarousel .featureCopy h2{font-size:38px}.homeCarousel .featureFacts{grid-template-columns:1fr 1fr}.homeCarousel .featureBottom{align-items:center;flex-direction:row}.homeCarousel .featureBottom .btn{width:auto}.experienceRail{margin-top:30px;grid-template-columns:1fr}.experienceRail>span{padding:13px 0}.experienceRail>span+span{border-left:0;border-top:1px solid #252822;padding-left:0}.eventCard .cardMedia,.eventCard .cardMedia.mediaPortrait{height:auto;aspect-ratio:4/5}.eventCard .cardMedia.mediaLandscape{aspect-ratio:16/10}.locationHeading,.settingsSectionHead{display:block}.mapsBadge{display:inline-flex;margin-top:12px}.adminMap{height:285px}}
@media(max-width:480px){.heroSearch{grid-template-columns:auto minmax(0,1fr)}.heroSearch button{display:none}.homeCarousel .featurePoster{aspect-ratio:4/5}.homeCarousel .featureCopy h2{font-size:34px}.homeCarousel .featureFacts{grid-template-columns:1fr;gap:10px}.homeCarousel .featureBottom{align-items:stretch;flex-direction:column}.homeCarousel .featureBottom .btn{width:100%}.mapSearchRow{grid-template-columns:1fr}.mapSearchRow .btn{width:100%}.adminMap{height:245px}.locationSection{padding:19px!important}}

/* Gestión del equipo de acceso */
.adminHeroActions{display:flex;gap:10px;flex-wrap:wrap}.staffManager{margin-bottom:24px;padding:28px;border:1px solid #292c26;border-radius:22px;background:linear-gradient(145deg,#10120e,#080908)}.staffManagerHead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.staffManagerHead h2{font-size:31px;margin:6px 0}.staffManagerHead p{margin:0}.staffCount{flex:0 0 auto;display:grid;place-items:center;min-width:86px;padding:12px;border:1px solid #34392d;border-radius:13px;color:#7c8078;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.staffCount b{display:block;color:var(--accent);font:800 24px 'Space Grotesk',sans-serif}.staffLayout{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,.64fr);gap:20px;align-items:start}.staffCreate{padding:20px;border:1px solid #2e312b;border-radius:16px;background:#0d0e0d}.staffCreate h3{margin:0 0 13px}.staffCreate .btn{width:100%;margin-top:8px}.staffList{display:grid;gap:9px}.staffUser{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid #2b2e28;border-radius:14px;background:#0d0e0d}.staffUser.inactive{opacity:.58}.staffAvatar{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:#20251a;color:var(--accent);font-weight:900}.staffIdentity{min-width:0}.staffIdentity h3{margin:0 0 2px;font-size:16px}.staffIdentity>span{display:block;color:#a4a79f;font-size:12px;overflow:hidden;text-overflow:ellipsis}.staffIdentity small{display:flex;align-items:center;margin-top:6px;color:#70736c;font-size:9px}.staffIdentity small i{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:6px}.staffUser.inactive .staffIdentity small i{background:#8c454b}.staffActions{display:flex;align-items:center;gap:7px}.staffActions form{margin:0}.staffActions details{position:relative}.staffActions summary{list-style:none;padding:11px 13px;border:1px solid #30332e;border-radius:10px;cursor:pointer;font-size:11px;font-weight:800}.staffActions summary::-webkit-details-marker{display:none}.staffActions details form{position:absolute;z-index:5;right:0;top:48px;display:grid;grid-template-columns:210px auto;gap:7px;width:max-content;padding:10px;border:1px solid #3a3d36;border-radius:12px;background:#111;box-shadow:0 18px 45px #000b}.staffActions details .input{margin:0}

/* Escáner operativo: cámara y resultado siempre visibles */
body.scannerMode{height:100dvh;min-height:100dvh;overflow:hidden;background:#050605}.scannerMode .nav{height:68px}.scannerMode footer{display:none}.scannerMode main{height:calc(100dvh - 68px);overflow:hidden}.scannerApp{width:min(1180px,calc(100% - 28px));height:100%;margin:0 auto;padding:14px 0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.scannerAppBar{display:flex;align-items:center;justify-content:space-between;gap:18px}.scannerAppBar h1{font-size:clamp(22px,3vw,34px);margin:3px 0 0}.scannerLive{display:flex;align-items:center;gap:7px;color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.14em}.scannerLive i,.scannerReady i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 13px rgba(200,230,0,.75)}.scannerOperator{display:flex;align-items:center;gap:11px;color:#898c84;font-size:11px}.scannerOperator a{padding:8px 11px;border:1px solid #30332e;border-radius:9px;color:#fff;text-decoration:none;font-weight:800}.scannerViewport{position:relative;min-height:0;overflow:hidden;border:1px solid #30332e;border-radius:20px;background:#090a09}.scannerViewport .reader{width:100%;height:100%;min-height:0;border:0;border-radius:0;background:#070807}.scannerViewport .reader>div{height:100%}.scannerViewport video{width:100%!important;height:100%!important;object-fit:cover!important}.scanLoading{height:100%;display:grid;place-content:center;justify-items:center;gap:7px;text-align:center}.scanLoading>span{width:33px;height:33px;border:3px solid #30332d;border-top-color:var(--accent);border-radius:50%;animation:scanSpin .8s linear infinite}.scanLoading small{color:#73766e}.cameraGuide{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.cameraGuide>i{position:absolute;width:44px;height:44px;border-color:var(--accent);border-style:solid}.cameraGuide>i:nth-child(1){transform:translate(-135px,-135px);border-width:3px 0 0 3px;border-radius:11px 0 0 0}.cameraGuide>i:nth-child(2){transform:translate(135px,-135px);border-width:3px 3px 0 0;border-radius:0 11px 0 0}.cameraGuide>i:nth-child(3){transform:translate(-135px,135px);border-width:0 0 3px 3px;border-radius:0 0 0 11px}.cameraGuide>i:nth-child(4){transform:translate(135px,135px);border-width:0 3px 3px 0;border-radius:0 0 11px 0}.cameraGuide>span{position:absolute;bottom:22px;padding:8px 12px;border-radius:9px;background:#060706c7;color:#fff;font-size:10px;backdrop-filter:blur(8px)}.scannerReady{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;background:#060706cf;color:#fff;font-size:9px;font-weight:800;backdrop-filter:blur(8px)}.scannerBottomBar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.scanMiniHistory{display:flex;align-items:center;gap:12px;min-width:0}.scanMiniHistory>span{color:#6f736a;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.scanMiniHistory ol{display:flex;gap:7px;list-style:none;margin:0;padding:0;min-width:0;overflow:hidden}.scanMiniHistory li{display:grid;padding:7px 10px;border:1px solid #292c27;border-radius:9px;background:#0d0e0d;font-size:9px;white-space:nowrap}.scanMiniHistory li small{color:#74776f}.manualDrawer{position:relative}.manualDrawer summary{list-style:none;padding:10px 13px;border:1px solid #30332e;border-radius:10px;background:#0d0e0d;cursor:pointer;font-size:10px;font-weight:800}.manualDrawer summary::-webkit-details-marker{display:none}.manualDrawer form{position:absolute;right:0;bottom:48px;z-index:10;width:min(420px,calc(100vw - 28px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border:1px solid #3a3e35;border-radius:13px;background:#101110;box-shadow:0 20px 55px #000c}.manualDrawer .input{margin:0}.scanResultOverlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,3,2,.76);backdrop-filter:blur(12px)}.scanResultOverlay[hidden]{display:none}.resultCard{width:min(440px,100%);padding:30px;border:1px solid;border-radius:24px;text-align:center;box-shadow:0 35px 100px #000;background:#0e100e}.scanResultOverlay.ok .resultCard{border-color:#2cb97e;background:linear-gradient(155deg,#123d2d,#071a12)}.scanResultOverlay.no .resultCard{border-color:#a43a45;background:linear-gradient(155deg,#48171c,#20090c)}.scanResultOverlay .scanSignal{width:82px;height:82px;margin:0 auto 15px;font-size:48px}.scanResultOverlay .scanTitle{font-size:clamp(28px,5vw,42px);line-height:1}.scanResultOverlay .scanPerson{margin:18px 0}.scanResultOverlay .scanPerson b{font-size:20px}.scanResultOverlay .scanPerson span{font-size:13px}.scanResultOverlay .scanPerson small{margin-top:5px}.scanResultOverlay .btn{width:100%;margin-top:5px}.scanResultOverlay p{color:#d4c7c8}.scannerViewport #reader__dashboard{position:absolute;left:0;right:0;bottom:10px;z-index:4;padding:0!important}.scannerViewport #reader__dashboard_section_csr button,.scannerViewport #reader__dashboard_section_swaplink{min-height:38px!important;padding:8px 11px!important;border:1px solid #3d4139!important;border-radius:9px!important;background:#10120f!important;color:#fff!important}.scannerViewport #reader__header_message,.scannerViewport img[alt="Info icon"]{display:none!important}@keyframes scanSpin{to{transform:rotate(360deg)}}

@media(max-width:800px){.staffLayout{grid-template-columns:1fr}.staffCreate{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.staffCreate h3,.staffCreate .fieldHelp,.staffCreate .btn{grid-column:1/-1}.staffCreate label{margin-top:8px}.staffCreate .btn{margin-top:10px}}
@media(max-width:620px){.adminHeroActions{width:100%}.adminHeroActions .btn{flex:1}.staffManager{width:calc(100% - 20px);padding:17px;border-radius:17px}.staffManagerHead{align-items:flex-start}.staffManagerHead h2{font-size:26px}.staffCreate{display:block}.staffUser{grid-template-columns:42px minmax(0,1fr)}.staffAvatar{width:42px;height:42px}.staffActions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.staffActions .btn,.staffActions details,.staffActions summary{width:100%}.staffActions details form{position:fixed;left:14px;right:14px;top:auto;bottom:14px;width:auto;grid-template-columns:1fr;z-index:100}.scannerMode .nav{height:58px}.scannerMode .nav nav,.scannerMode .desktopOnly{display:none!important}.scannerMode .mobileMenu{display:block}.scannerMode main{height:calc(100dvh - 58px)}.scannerApp{width:100%;padding:8px 10px;gap:8px}.scannerAppBar h1{font-size:20px}.scannerLive{font-size:7px}.scannerOperator>span{display:none}.scannerViewport{border-radius:15px}.cameraGuide>i{width:38px;height:38px}.cameraGuide>i:nth-child(1){transform:translate(-105px,-105px)}.cameraGuide>i:nth-child(2){transform:translate(105px,-105px)}.cameraGuide>i:nth-child(3){transform:translate(-105px,105px)}.cameraGuide>i:nth-child(4){transform:translate(105px,105px)}.cameraGuide>span{bottom:15px}.scannerBottomBar{grid-template-columns:minmax(0,1fr) auto}.scanMiniHistory>span{display:none}.scanMiniHistory ol{max-width:100%}.scanMiniHistory li:nth-child(n+2){display:none}.manualDrawer summary{font-size:0}.manualDrawer summary:first-letter{font-size:16px}.resultCard{padding:25px 20px;border-radius:20px}.scanResultOverlay .scanSignal{width:72px;height:72px;font-size:42px}.scanResultOverlay .scanTitle{font-size:30px}.scannerViewport #reader__dashboard{bottom:5px}.scannerViewport #reader__dashboard_section_csr span{font-size:0!important}}

/* Zonificación VIP configurable */
.tableRowsBuilder{grid-column:1/-1;padding:16px;border:1px solid #2d302a;border-radius:13px;background:#0b0c0b}.tableRowsTitle{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.tableRowsTitle>span{display:grid}.tableRowsTitle small{color:#777a73;font-size:10px;margin-top:2px}.tableRowsTitle .btn{min-height:36px;padding:7px 12px}.tableRowsList{display:grid;gap:8px}.tableRowConfig{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,.45fr) 40px;gap:9px;align-items:end;padding:10px;border:1px solid #292c27;border-radius:11px;background:#101110}.tableRowConfig label{margin:0}.tableRowConfig .input{margin-top:5px!important}.tableRowConfig>button{width:40px;height:42px;border:1px solid #5b292e;border-radius:9px;background:#2a1114;color:#ffb2b8;font-size:21px;cursor:pointer}
.tableNotice{display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid #4b5129;border-radius:12px;background:#15190b;margin-bottom:16px}.tableNotice>span{flex:0 0 auto;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#090a04;font-weight:900}.tableNotice p{margin:0;color:#b9bdad;font-size:11px;line-height:1.55}.tableNotice b{color:#eef3d2}.venueOrientation{display:grid;grid-template-columns:1fr;gap:5px;margin:0 auto 16px;max-width:580px;text-align:center;font-size:8px;font-weight:900;letter-spacing:.12em}.venueOrientation>div{padding:8px;border-radius:7px}.stageBand{background:linear-gradient(90deg,#252822,#464b3e,#252822);color:#fff}.vipBand{background:linear-gradient(90deg,#718100,#c8e600,#718100);color:#090a04;padding:11px!important}.preferredBand{background:#283019;color:#dce99b;border:1px solid #46532c}.generalBand{background:#141514;color:#777b72;border:1px dashed #353831}.tableRowsPlan{display:grid;gap:13px}.tablePlanRow{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center}.tableRowName{color:var(--accent);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.tablePlanRow .tableGrid{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:7px}.tablePlanRow .tableSeat>span{min-height:67px}.admissionUpsell{margin:18px 0 0;padding:16px;border:1px solid #343830;border-radius:13px;background:#101110}.admissionUpsell legend{padding:0 7px;color:#fff;font-size:13px;font-weight:800}.admissionUpsell p{margin:0 0 11px;color:#858980;font-size:11px}.admissionUpsell p b{color:var(--accent)}.admissionUpsell label{display:inline-flex;align-items:center;gap:7px;margin:0 18px 0 0;color:#d3d5cf;font-size:11px;cursor:pointer}.admissionUpsell input{accent-color:var(--accent)}.admissionUpsell:disabled{opacity:.55}
@media(max-width:620px){.tableRowConfig{grid-template-columns:1fr 100px 38px}.tablePlanRow{grid-template-columns:1fr}.tableRowName{padding-left:3px}.tablePlanRow .tableGrid{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.admissionUpsell label{display:flex;margin:9px 0}.venueOrientation{font-size:7px}.tableRowsBuilder{padding:12px}}

/* Pase digital v4: imagen completa, pantalla y PDF consistentes */
.ticketShell{max-width:940px}.ticketV4{border-radius:24px;background:#f7f6f0;overflow:hidden}.ticketHeaderV4{display:grid;grid-template-columns:240px minmax(0,1fr);height:300px;background:#090b09;color:#fff;border-bottom:1px solid #252922}.ticketPosterV4{display:grid;place-items:center;min-width:0;background:radial-gradient(circle at 50% 45%,#303526,#080908 70%);overflow:hidden;border-right:1px solid #2b3027}.ticketV4 .ticketPosterV4>img{display:block!important;position:static!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}.ticketHeadlineV4{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:26px 30px;min-width:0;background:radial-gradient(circle at 90% 10%,rgba(200,230,0,.12),transparent 36%)}.ticketBrandV4{display:flex;align-items:center;justify-content:space-between;gap:20px}.ticketBrandV4 img{width:142px;height:45px;object-fit:contain}.ticketBrandV4 span{color:#8b9086;font-size:8px;font-weight:900;letter-spacing:.16em}.ticketEventDate{color:var(--accent);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.ticketHeadlineV4 h1{font-size:clamp(32px,4.2vw,52px);line-height:.94;letter-spacing:-.055em;margin:11px 0}.ticketHeadlineV4 p{margin:0;color:#a8aca3;font-size:12px}.ticketNumberV4{position:absolute;right:28px;bottom:24px;padding:8px 11px;border:1px solid #434a39;border-radius:999px;color:#dce899;background:#12160f;font-size:8px;font-weight:900;letter-spacing:.1em}.ticketV4 .ticketMain{grid-template-columns:minmax(0,1fr) 290px;min-height:330px}.ticketV4 .ticketInfo{padding:30px}.ticketV4 .ticketQrSide{background:#efeee7;padding:24px;border-left:2px dashed #c7c6bd}.ticketV4 .ticketQrSide .qr{width:220px;height:220px;margin:8px auto;padding:8px;border:1px solid #d2d2cb}.ticketV4 .ticketQrSide .qr img,.ticketV4 .ticketQrSide .qr canvas{width:100%!important;height:100%!important}.ticketV4 .ticketQrSide>strong{color:#20221e;font-size:10px;letter-spacing:.08em;margin-bottom:5px}.ticketV4 .qrLabel{color:#667400;font-size:8px;font-weight:900;letter-spacing:.14em}.ticketV4 .ticketNote{padding:12px 14px;border-radius:10px;background:#ecebe3;color:#5f625b}.ticketV4 .ticketStatus{background:#d8f3e4}.ticketV4 .ticketStatus.used{background:#f1d7db}
@media(max-width:700px){.ticketHeaderV4{grid-template-columns:42% 58%;height:260px}.ticketHeadlineV4{padding:18px}.ticketBrandV4{display:block}.ticketBrandV4 img{width:112px;height:38px}.ticketBrandV4 span{display:none}.ticketHeadlineV4 h1{font-size:30px}.ticketNumberV4{right:15px;bottom:15px}.ticketV4 .ticketMain{grid-template-columns:1fr}.ticketV4 .ticketQrSide{border-left:0;border-top:2px dashed #c7c6bd}.ticketV4 .ticketInfo{padding:21px}.ticketV4 .ticketQrSide .qr{width:230px;height:230px}}
@media(max-width:440px){.ticketHeaderV4{height:auto;grid-template-columns:1fr}.ticketPosterV4{height:auto;aspect-ratio:4/5;border-right:0;border-bottom:1px solid #2b3027}.ticketHeadlineV4{min-height:230px}.ticketHeadlineV4 h1{font-size:34px}.ticketNumberV4{position:static;width:max-content;margin-top:15px}.ticketV4 .ticketData{grid-template-columns:1fr 1fr}}
@media print{
  @page{size:A4 portrait;margin:10mm}
  html,body{width:210mm!important;height:297mm!important;margin:0!important;background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .nav,footer,.ticketToolbar,.ticketPager{display:none!important}
  main{width:100%!important;margin:0!important;padding:0!important}.ticketShell{width:190mm!important;max-width:none!important;margin:0 auto!important;padding:0!important}.ticketV4{width:190mm!important;border:1px solid #bfc1ba!important;border-radius:5mm!important;box-shadow:none!important;break-inside:avoid!important}.ticketHeaderV4{display:grid!important;grid-template-columns:58mm 1fr!important;height:72mm!important}.ticketPosterV4{height:72mm!important}.ticketPosterV4 img{width:100%!important;height:100%!important;object-fit:contain!important}.ticketHeadlineV4{padding:7mm!important}.ticketBrandV4 img{width:38mm!important;height:12mm!important}.ticketHeadlineV4 h1{font-size:12mm!important}.ticketV4 .ticketMain{display:grid!important;grid-template-columns:1fr 70mm!important;min-height:88mm!important}.ticketV4 .ticketInfo{padding:7mm!important}.ticketV4 .ticketQrSide{padding:5mm!important}.ticketV4 .ticketQrSide .qr{width:52mm!important;height:52mm!important;padding:2mm!important}.ticketData{gap:5mm!important;margin-top:6mm!important}.ticketNote{font-size:8pt!important}.ticketQrSide:before,.ticketQrSide:after{background:#fff!important}
}

/* Mapa de recinto compacto: muestra el plano completo sin tarjetas exageradas */
.tableSelector{min-width:0;max-width:100%}.venueOrientation{display:flex;flex-direction:column;align-items:center;gap:3px;max-width:720px;margin:0 auto 11px}.venueOrientation>div{box-sizing:border-box;min-height:22px;padding:5px!important;border-radius:6px}.venueOrientation .stageBand{width:44%}.venueOrientation .vipBand{width:62%}.venueOrientation .preferredBand{width:80%}.venueOrientation .generalBand{width:96%}.tableLegend{align-items:center;max-width:860px;margin:0 auto 7px}.tableLegend>small{margin-left:auto;color:#6f746b;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.tableRowsPlan{display:grid;width:100%;max-width:860px;min-width:0;gap:2px;overflow-x:auto;margin:0 auto;padding:7px 9px;contain:inline-size;border:1px solid #252a20;border-radius:11px;background:linear-gradient(180deg,#0d100a,#080908)}.tablePlanRow{display:grid;grid-template-columns:38px minmax(0,1fr)!important;gap:5px;width:100%;min-width:0;padding:3px 0;border-bottom:1px solid #1d211b}.tablePlanRow:last-child{border-bottom:0}.tableRowName{position:static;display:flex;align-items:center;justify-content:center;min-height:34px;padding:0 3px;border-right:1px solid #30372a;background:transparent;font-size:7px;white-space:nowrap}.tablePlanRow .tableGrid{display:grid!important;grid-template-columns:repeat(var(--cols),minmax(18px,1fr))!important;grid-auto-flow:row;grid-auto-columns:auto;justify-self:center;gap:3px;padding:0}.tablePlanRow .tableSeat>span{min-height:34px!important;padding:2px 1px;border-radius:6px}.tablePlanRow .tableSeat b{font-size:8px;line-height:1}.tablePlanRow .tableSeat small{font-size:6px;line-height:1;margin-top:2px}.tableSeat input:checked+span{box-shadow:0 3px 12px rgba(200,230,0,.18)}
@media(min-width:900px){.checkoutGrid:has(.tableSelector){grid-template-columns:minmax(0,1fr) 300px}.checkoutGrid:has(.tableSelector) .checkoutForm{padding:clamp(20px,2vw,30px)}}
@media(max-width:700px){.venueOrientation .stageBand{width:55%}.venueOrientation .vipBand{width:72%}.venueOrientation .preferredBand{width:86%}.venueOrientation .generalBand{width:100%}.tableLegend>small{display:none}.tableRowsPlan{padding:6px}.tablePlanRow{grid-template-columns:34px minmax(0,1fr)!important;min-width:560px;gap:4px}.tableRowName{min-height:31px}.tablePlanRow .tableGrid{gap:2px}.tablePlanRow .tableSeat>span{min-height:31px!important}.tablePlanRow .tableSeat b{font-size:7px}.tablePlanRow .tableSeat small{font-size:5px}}

/* Escáner móvil v2: arranque explícito, estado real de cámara y controles táctiles */
.cameraStartPanel{position:absolute;z-index:8;inset:0;display:grid;place-content:center;justify-items:center;gap:9px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(44,51,34,.92),rgba(4,5,4,.98) 58%)}
.cameraStartPanel[hidden],.cameraGuide[hidden],.cameraControls [hidden]{display:none!important}.cameraStartIcon{width:58px;height:58px;display:grid;place-items:center;border:1px solid #56602f;border-radius:50%;background:#161b10;color:var(--accent);font-size:27px;box-shadow:0 0 45px rgba(200,230,0,.11)}.cameraStartPanel b{font:700 clamp(20px,4vw,29px) 'Space Grotesk',sans-serif;color:#fff}.cameraStartPanel small{max-width:420px;color:#9da097;font-size:12px;line-height:1.55}.cameraStartPanel .btn{min-width:190px;margin-top:5px}.cameraStartPanel.busy .cameraStartIcon{border-style:dashed;animation:scanSpin .8s linear infinite;font-size:0}.cameraStartPanel.busy .cameraStartIcon:after{content:"";width:17px;height:17px;border:2px solid transparent;border-top-color:var(--accent);border-radius:50%}
.cameraControls{position:absolute;z-index:10;top:12px;right:12px;display:flex;align-items:center;gap:6px}.cameraControls select,.cameraControls button,.scannerSound{min-height:35px;border:1px solid #363a33;border-radius:9px;background:rgba(9,10,9,.88);color:#fff;font:800 9px Manrope,sans-serif;backdrop-filter:blur(10px)}.cameraControls select{max-width:min(250px,42vw);padding:0 9px}.cameraControls button,.scannerSound{padding:7px 10px;cursor:pointer}.scannerSound[aria-pressed="false"]{color:#8b8e86}.scannerReady{z-index:10}.scannerReady #cameraDot{background:#7a7d76;box-shadow:none}.scannerReady #cameraDot.ready{background:#35dc91;box-shadow:0 0 13px rgba(53,220,145,.8)}.scannerReady #cameraDot.working{background:#f2cb48;box-shadow:0 0 13px rgba(242,203,72,.75);animation:scannerPulse .85s ease-in-out infinite}.scannerReady #cameraDot.error{background:#ff5b67;box-shadow:0 0 13px rgba(255,91,103,.72)}
.scannerViewport #reader__scan_region{height:100%!important;min-height:100%!important;background:#050605!important}.scannerViewport #reader__scan_region video{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}.scannerViewport canvas{max-width:100%!important}.scannerViewport #reader:empty{background:radial-gradient(circle at 50% 45%,#171a14,#050605 65%)}
@keyframes scannerPulse{50%{opacity:.35;transform:scale(.8)}}
@media(max-width:620px){.scannerOperator{gap:5px}.scannerOperator a,.scannerSound{min-height:32px;padding:6px 8px;font-size:8px}.cameraControls{top:10px;right:9px}.cameraControls select{max-width:35vw}.cameraStartPanel{padding:20px}.cameraStartIcon{width:52px;height:52px}.cameraStartPanel b{font-size:21px}.cameraStartPanel small{font-size:11px}.scannerReady{top:10px;left:9px;max-width:48%;padding:7px 8px}.scannerReady span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cameraGuide>span{max-width:calc(100% - 30px);text-align:center}}
