:root{--mag:#e4005a;--orange:#ff7a00;--green:#2f8a57;--ink:#33373a;--muted:#74787b;--paper:#f7f3ed;--line:#ece7e1;--live:#d90b46}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}button,select,input{font:inherit}.hidden{display:none!important}.topbar{height:82px;padding:13px 18px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px}.topbar img{width:205px}.threadline{height:2px;flex:1;max-width:420px;background:linear-gradient(90deg,var(--orange),var(--mag),var(--green),transparent)}.meta{margin-left:auto;text-align:right;font-size:12px;color:var(--muted)}.toolbar{background:#fff;display:flex;gap:8px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar select,.toolbar input,.toolbar button,.editLink{border:1px solid #ddd;background:#fff;border-radius:11px;padding:9px 11px;color:var(--ink);text-decoration:none}.toolbar select{min-width:300px}.toolbar input{flex:1;min-width:180px}.toolbar button{font-weight:800}.toolbar button.active{background:var(--mag);color:#fff;border-color:var(--mag)}.editLink{font-weight:800;color:var(--mag)}.demoFlag{font-size:11px;font-weight:900;color:var(--mag);background:#fff1f6;border-radius:999px;padding:7px 10px}.shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;padding:14px;height:calc(100vh - 140px);max-width:1680px;margin:auto}.viewer{position:relative;background:#ece7e1;border-radius:18px;overflow:hidden;box-shadow:0 10px 35px #0001;min-height:560px}.viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.viewport.dragging{cursor:grabbing}.stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.stage img{position:absolute;inset:0;display:block;user-select:none;pointer-events:none}.hotspotLayer{position:absolute;inset:0;overflow:visible}.hotspot{fill:var(--mag);fill-opacity:.03;stroke:transparent;stroke-width:4;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .15s,stroke .15s,filter .15s}.hotspot:hover{fill-opacity:.17;stroke:var(--mag);filter:drop-shadow(0 0 8px #e4005a66)}.hotspot.selected{fill-opacity:.27;stroke:var(--mag);stroke-width:6;filter:drop-shadow(0 0 13px #e4005a99);animation:pulse 1.3s ease-out 2}@keyframes pulse{50%{fill-opacity:.4;filter:drop-shadow(0 0 20px #e4005acc)}}.maptitle{position:absolute;left:14px;top:14px;z-index:8;background:#fffefc;padding:10px 13px;border-radius:12px;box-shadow:0 4px 16px #0002;font-weight:900}.maptitle small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.zoom{position:absolute;right:14px;bottom:14px;z-index:12;display:flex;gap:6px;background:#fff;padding:6px;border-radius:13px;box-shadow:0 4px 16px #0002}.zoom button{width:40px;height:40px;border:1px solid #ddd;border-radius:10px;background:#fff;font-size:18px}.selectionToast{position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:18;background:#25292c;color:#fff;border-radius:14px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr;gap:0 8px;box-shadow:0 8px 30px #0004}.selectionToast span{grid-row:1/3;color:#ff7a00;font-size:20px}.selectionToast b{font-size:13px}.selectionToast small{font-size:10px;opacity:.75}.drawer{position:absolute;right:18px;top:72px;z-index:15;width:min(390px,calc(100% - 36px));background:#fff;border:2px solid var(--mag);border-radius:18px;padding:18px;box-shadow:0 18px 60px #0004;animation:slide .2s ease-out}@keyframes slide{from{transform:translateX(20px);opacity:0}}.drawerClose{position:absolute;right:10px;top:10px;border:0;background:#f5f2ef;width:34px;height:34px;border-radius:50%;font-size:20px}.eyebrow{color:var(--orange);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.drawer h2{font-size:26px;margin:4px 36px 4px 0}.drawer p{margin:0 0 12px;color:var(--muted);font-size:13px}.liveBox{border:1px solid var(--line);border-radius:14px;padding:12px}.liveHead{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:900;letter-spacing:.08em}.liveDot{width:8px;height:8px;border-radius:50%;background:#aaa}.islive .liveDot{background:var(--live);box-shadow:0 0 0 5px #e4005a15}.islive .liveHead{color:var(--live)}.sessionTitle{font-weight:900;margin:7px 0 2px}.sessionMeta,.nextLabel{font-size:12px;color:var(--muted)}.nextLabel{font-size:10px;font-weight:900;text-transform:uppercase;margin-top:10px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.actions a,.actions button{border:1px solid #ddd;border-radius:11px;padding:11px;text-align:center;text-decoration:none;background:#fff;font-weight:900;font-size:12px;color:var(--ink)}.actions .primary{background:var(--mag);color:#fff;border-color:var(--mag)}.actions .stream{background:var(--ink);color:#fff;border-color:var(--ink)}.actions .wide{grid-column:1/-1}.mapBtn{background:#fff7e8!important;border-color:#ffbf65!important}.panel{background:#fff;border-radius:18px;box-shadow:0 10px 35px #0001;overflow:auto}.panelHead{padding:18px;border-bottom:1px solid var(--line)}.panelHead h2{margin:5px 0;font-size:22px}.hint{font-size:12px;color:var(--muted);margin:0}.locationList{padding:10px}.locCard{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 12px;margin:6px 0;cursor:pointer}.locCard:hover,.locCard.active{border-color:var(--mag);box-shadow:0 5px 18px #e4005a15}.locCard .type{font-size:10px;text-transform:uppercase;font-weight:900;color:var(--mag);display:block}.locCard b{display:block;margin-top:3px}.locCard small{display:block;color:var(--muted);margin-top:3px}.modalBack{position:fixed;inset:0;background:#1119;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(720px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:20px}.modalHead{display:flex;gap:10px;padding:18px;border-bottom:1px solid var(--line)}.modalHead h3{margin:3px 0;font-size:25px}.pill{font-size:10px;text-transform:uppercase;font-weight:900;border-radius:999px;padding:6px 8px;background:#fff1f6;color:var(--mag)}.close{margin-left:auto;width:38px;height:38px;border-radius:50%;border:1px solid #ddd;background:#fff}.modalBody{padding:14px 18px 20px}.agendaItem{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.agendaTime{font-weight:900;color:var(--mag)}.agendaItem b,.agendaItem span{display:block}.agendaItem span{color:var(--muted);font-size:12px;margin-top:3px}.demoNote{background:#fff7e8;border:1px solid #ffe0aa;border-radius:12px;padding:10px 12px;font-size:12px;margin-bottom:10px}.noAgenda{color:var(--muted);font-size:12px;padding:8px 0}@media(max-width:960px){.shell{grid-template-columns:1fr;height:auto}.viewer{height:68vh}.panel{max-height:none}.drawer{left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:55%;overflow:auto}.meta,.threadline{display:none}.toolbar select{min-width:0;flex:1}.selectionToast{max-width:86%;width:max-content}.topbar img{width:180px}}

/* V5 · Header Academy con degradado (pensado para logo blanco) */
.topbar{background:linear-gradient(105deg,#e4005a 0%,#b01664 48%,#ff7a00 100%);border-bottom:0;color:#fff;box-shadow:0 5px 22px #6b18351f}
.topbar img{filter:none}
.topbar .threadline{height:1px;background:linear-gradient(90deg,#ffffffa8,#ffffff28,transparent)}
.topbar .meta{color:#fff;opacity:.96}
.topbar .meta b{color:#fff}

/* V5.1 · Ficha informativa de espacios */
.actions{grid-template-columns:1fr 1fr}
.actions #infoBtn{grid-column:1/-1}
.modalTabs{display:flex;gap:6px;padding:10px 18px 0;border-bottom:1px solid var(--line)}
.modalTabs button{border:0;background:transparent;padding:10px 12px;font-weight:900;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer}
.modalTabs button.active{color:var(--mag);border-bottom-color:var(--mag)}
.infoBody{padding-top:18px}.infoIntro{max-width:650px}.infoIntro p{margin:0 0 10px;color:var(--ink);line-height:1.5}.infoIntro .infoSummary{font-size:18px;font-weight:800;line-height:1.3}.infoGallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.infoGallery figure{margin:0;border-radius:14px;overflow:hidden;background:#f3f0ec;border:1px solid var(--line)}.infoGallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.infoGallery figcaption{padding:8px 10px;font-size:11px;color:var(--muted)}.galleryEmpty{margin-top:18px;border:1px dashed #d8d1ca;border-radius:14px;padding:18px;background:#faf8f5;color:var(--muted);display:flex;flex-direction:column;gap:5px}.galleryEmpty b{color:var(--ink)}.galleryEmpty code{font-size:11px;color:var(--mag)}
@media(max-width:620px){.infoGallery{grid-template-columns:1fr}}

/* V5.2 · Refinamiento UX de acciones y transición entre mapas */
button,a,.hotspot,.locCard,.modalTabs button,.infoGallery img{cursor:pointer}
.actions button,.actions a,.zoom button,.toolbar button,.editLink,.close,.drawerClose,.locCard{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease,opacity .16s ease}
.actions button:hover,.actions a:hover,.zoom button:hover,.toolbar button:hover,.editLink:hover,.close:hover,.drawerClose:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000012}
.actions button:active,.actions a:active,.zoom button:active,.locCard:active{transform:translateY(0) scale(.985)}
.mapBtn{display:flex!important;align-items:center;gap:10px;text-align:left;padding:11px 12px!important;color:#7b4b00!important;background:#fff8ec!important}
.mapBtn.hidden{display:none!important}
.exploreIcon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#ffebc6;color:var(--orange);font-size:23px;font-weight:900}
.exploreCopy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.exploreCopy b{font-size:12px;color:var(--ink)}.exploreCopy small{font-size:10px;color:#8a765c;font-weight:600}.exploreArrow{font-size:18px;color:var(--orange);font-weight:900}
.agendaAcademyLink{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:#fff;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.agendaAcademyLink:hover{transform:translateY(-1px);border-color:var(--mag);box-shadow:0 8px 22px #e4005a12}.agendaAcademyLink>span{color:var(--mag);font-size:18px}.agendaAcademyLink b{font-size:12px}.agendaAcademyLink small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.agendaAcademyLink strong{color:var(--mag);font-size:18px}
.stage{transition:opacity .24s ease,filter .24s ease}.stage.mapFadeOut{opacity:0;filter:blur(2px)}.stage.mapFadeIn{animation:mapReveal .46s ease both}@keyframes mapReveal{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
.viewer.mapChanging .hotspotLayer{pointer-events:none}.viewer.mapChanging .drawer{pointer-events:none;opacity:.7}
@media(prefers-reduced-motion:reduce){.stage,.actions button,.actions a,.zoom button,.locCard{transition:none!important}.stage.mapFadeIn{animation:none!important}}


/* V5.3 · Buscador global */
.searchWrap{position:relative;flex:1;min-width:260px;z-index:60}
.toolbar .searchWrap input{width:100%;min-width:0;padding-right:42px}
.searchClear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0!important;border-radius:50%!important;padding:0!important;background:#f4f0ed!important;color:var(--ink);font-size:19px;line-height:1;cursor:pointer}
.searchClear:hover{background:#ece5e1!important;transform:translateY(-50%)!important;box-shadow:none!important}
.searchResults{position:absolute;left:0;right:0;top:calc(100% + 7px);max-height:min(64vh,580px);overflow:auto;background:#fff;border:1px solid #ddd;border-radius:15px;box-shadow:0 18px 48px #28141d33;padding:7px;z-index:80}
.searchGroupLabel{padding:8px 9px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--orange)}
.searchResult{width:100%;border:0;background:#fff;text-align:left;border-radius:11px;padding:9px 10px;display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;color:var(--ink);cursor:pointer}
.searchResult:hover,.searchResult:focus-visible{background:#fff3f7;outline:none}
.searchResultIcon{width:32px;height:32px;border-radius:9px;background:#fff1f6;color:var(--mag);display:grid;place-items:center;font-weight:900;font-size:14px}
.searchResult.agendaResult .searchResultIcon{background:#fff7e8;color:#bf6200}
.searchResultCopy{min-width:0}
.searchResultCopy b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.searchResultCopy small{display:block;color:var(--muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.searchResultMeta{font-size:10px;color:var(--muted);text-align:right;white-space:nowrap}
.searchEmpty{padding:18px 12px;text-align:center;color:var(--muted);font-size:12px}
.searchHint{padding:8px 10px 10px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);margin-top:5px}
.searchMark{color:var(--mag)}
@media(max-width:960px){.searchWrap{order:10;flex-basis:100%;min-width:100%}.searchResults{max-height:52vh}}
