/* Correcciones de interacción posteriores a theme-v5. */
#dateIn{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
#datePicker{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:16px;background:rgba(3,6,9,.72);backdrop-filter:blur(12px)}
#datePicker[hidden]{display:none}
.dp-card{width:min(360px,calc(100vw - 24px));padding:17px;color:var(--ink);background:linear-gradient(155deg,#172019,#0d1312);border:1px solid rgba(185,255,60,.22);border-radius:22px;box-shadow:0 26px 80px rgba(0,0,0,.58)}
.dp-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:13px}.dp-head strong{text-align:center;font-size:16px;text-transform:capitalize}
.dp-nav{width:42px;height:42px;padding:0;color:var(--brand);background:#111a16;border:1px solid var(--line);border-radius:12px;font-size:27px;line-height:1}
.dp-week,.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.dp-week{margin-bottom:5px}.dp-week span{text-align:center;color:var(--muted);font-size:10px;font-weight:700}
.dp-grid button{aspect-ratio:1;width:100%;padding:0;color:#dce4dc;background:#121a17;border:1px solid transparent;border-radius:11px;font-size:13px;cursor:pointer}.dp-grid button:hover{border-color:var(--brand);color:var(--brand)}
.dp-grid button.today{border-color:rgba(185,255,60,.45)}.dp-grid button.selected{color:#071009;background:var(--brand);border-color:var(--brand);font-weight:800;box-shadow:0 7px 18px rgba(185,255,60,.18)}
.dp-foot{display:flex;justify-content:space-between;gap:9px;margin-top:14px}.dp-foot button{min-height:40px;padding:8px 16px;color:var(--brand);background:#111a16;border:1px solid var(--line);border-radius:11px;font-weight:700}.dp-foot button:last-child{color:#071009;background:var(--brand);border-color:var(--brand)}
.new-badge{position:absolute;z-index:4;top:10px;left:10px;min-height:25px;padding:5px 8px;display:inline-flex;align-items:center;gap:4px;color:#071009;background:var(--brand);border:1px solid rgba(255,255,255,.2);border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.35);font:800 9px/1 "Bahnschrift","Arial Nova",Arial,sans-serif;letter-spacing:.08em}.new-badge svg{flex:none}.new-badge b{font:inherit}

@media(max-width:719px){
  .new-badge{top:7px;left:7px;min-height:22px;padding:4px 7px;font-size:8px}
  #loginModal{top:0;height:100svh;min-height:100svh;overflow-y:auto}
  #loginModal .modal-box{height:100svh;min-height:100svh;padding:14px 22px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow-y:auto}
  #loginModal .lm-logo{display:block;width:76px;margin:0 auto 12px}
  #loginModal .modal-box:not(.reg) .lm-title{display:none}
  #lmLogin{flex:1;min-height:calc(100svh - 110px);align-content:stretch;grid-template-rows:auto auto auto auto auto auto minmax(32px,1fr) auto auto auto}
  #lmLogin #lmToReg{align-self:end}
  #lmLogin #lmRecover{margin-top:0}
  #lmLogin .legal-links{padding-top:4px;padding-bottom:2px}
  #mobileFilters{color:var(--brand)!important;background:transparent!important;border:1px solid var(--brand)!important;box-shadow:none!important}
  #mobileFilters.filtered{color:#071009!important;background:var(--brand)!important;border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(185,255,60,.08)!important}
  #extra .iconbtns .ibtn{transition:none}
  body :is(#dateChip,#chipTardeo,#chipNoche,#cmChip).on{color:#0a0a10!important;background:linear-gradient(135deg,var(--acc),var(--acc2))!important;border-color:transparent!important}
  body #chipNoche.on .moon{filter:brightness(0)!important}
  body #favChip.any{color:#fff!important;background:#e23c5c!important;border-color:#e23c5c!important}
  body #favChip.on{color:#0a0a10!important;background:#c07bff!important;border-color:#c07bff!important}
  body #goingChip.on{color:#071009!important;background:var(--brand)!important;border-color:var(--brand)!important}
  body #goingChip.mine{color:#0a0a10!important;background:#5bb7ff!important;border-color:#5bb7ff!important}
  body.mappage #events{display:none!important}
  body.mappage #mapWrap{display:block}
  #mPage .prof-top[hidden]{display:none!important}
  .findview .find-top{display:flex;align-items:center;justify-content:flex-start;padding:14px 16px}
  .findview .find-title{display:flex;flex-direction:row;align-items:center;gap:9px;width:auto;margin:0}
  .findview .find-title svg{position:static;flex:none}
  body.eventpage .event-actions-host{padding:0 8px 7px;background:transparent;border:0}
  body.eventpage .event-actions-host>.lb-right{position:static!important;inset:auto!important;width:100%;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
  body.eventpage .event-actions-host .lb-actions{width:100%;gap:5px;overflow-x:auto}
  body.eventpage .event-actions-host .ibtn{flex:0 0 43px!important;width:43px!important;height:42px!important;min-width:43px!important;background:transparent!important;border:1px solid rgba(255,255,255,.12)!important;color:#eef6ec!important;transition:none!important}
  body.eventpage .event-actions-host #lbFav.on{color:#fff!important;background:#ff5c8a!important;border-color:#ff5c8a!important}
  body.eventpage .event-actions-host #lbGoingBtn.mine{color:#071009!important;background:var(--brand)!important;border-color:var(--brand)!important}
  body.eventpage .event-actions-host>.lb-right{display:flex;flex-direction:column;align-items:center}
  body.eventpage .event-actions-host .lb-sharerow{width:100%;margin-top:6px;display:flex;justify-content:center;gap:8px;order:2}
  body.eventpage .event-actions-host .lb-sharerow[hidden]{display:none}
  body.eventpage .lb-box{padding-top:8px!important}
  body.mpage-open{overflow-x:hidden}
  #mPage,#mPage .pv-wrap,#mPage .mp-body,#mPage .ptab-panel[data-panel="admin"],#mPage .ptab-panel[data-panel="admin"] .apanel,#mPage .ptab-panel[data-panel="admin"] .pgrid,#mPage .ptab-panel[data-panel="admin"] .pcard{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
  #mPage,#mPage .ptab-panel[data-panel="admin"]{overflow-x:hidden}
  #mPage .ptab-panel[data-panel="admin"] :is(p,span,div,label,a,.hint,.phint,.req-url){max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  #mPage .ptab-panel[data-panel="admin"] .req-url{white-space:normal}
  #mPage .ptab-panel[data-panel="admin"] :is(input,select,textarea,button,.req,.ig-status,.ut-row,.spot-option){min-width:0;max-width:100%}
  #mPage .ptab-panel[data-panel="admin"] :is(.row2,.row2.two,.spotlight-controls){grid-template-columns:minmax(0,1fr)}
}

/* Centro de control administrativo */
.admin-health{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.admin-health>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:15px 16px;border:1px solid #273140;border-radius:14px;background:linear-gradient(145deg,#141c27,#0d131c)}
.admin-health span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7f8b9d}
.admin-health b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#edf4ff}
.admin-health b.is-running{color:#b9ff3c}
.admin-control-grid{align-items:stretch}
.admin-control-grid>.pcard{height:100%;box-sizing:border-box}
.control-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 8px}
.control-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#dce5f2}
.unit-input{display:flex;align-items:center;border:1px solid #303b4b;border-radius:10px;background:#0c121a;overflow:hidden}
.unit-input input{width:100%;min-width:0;border:0!important;background:transparent!important}
.unit-input i{padding:0 12px;font-size:11px;font-style:normal;color:#7f8b9d;border-left:1px solid #26303d}
.admin-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
.control-feedback{min-height:20px;margin-top:9px;color:#b9ff3c;font-size:12px}
.security-summary ul{display:grid;gap:9px;margin:14px 0;padding-left:19px;color:#c7d0dc;font-size:12px;line-height:1.45}
.security-summary li::marker{color:#b9ff3c}
.security-summary code{color:#c9ff72}
.audit-list{display:grid;gap:0;margin-top:10px;border:1px solid #273140;border-radius:12px;overflow:hidden}
.audit-row{display:grid;grid-template-columns:125px 110px minmax(0,1fr);gap:12px;align-items:center;padding:11px 13px;border-bottom:1px solid #232c38;font-size:11px}
.audit-row:last-child{border-bottom:0}
.audit-row time{color:#7f8b9d}.audit-row b{color:#b9ff3c}.audit-row span{min-width:0;overflow-wrap:anywhere;color:#c6cfdb}
@media(max-width:760px){
  .admin-health{grid-template-columns:1fr 1fr}
  .control-fields{grid-template-columns:1fr}
  .audit-row{grid-template-columns:1fr;gap:3px}
}

html:has(body.mappage),body.mappage,body.mappage #pageScroll,body.mappage #mapWrap{overscroll-behavior:none}
body.mappage #mapWrap{touch-action:none}
#mapWrap{position:relative}
.map-locate{position:absolute;z-index:500;top:34px;right:38px;min-height:42px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;color:#dfe3ec;background:rgba(18,25,37,.94);border:1px solid rgba(255,255,255,.16);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.4);font:750 11px/1 inherit;cursor:pointer;backdrop-filter:blur(12px)}
.map-locate:hover,.map-locate.on{color:#071009;background:var(--brand);border-color:var(--brand)}.map-locate.loading{margin:0}.map-locate:disabled{cursor:wait;opacity:.78}.map-locate.loading svg{animation:map-locate-spin .9s linear infinite}@keyframes map-locate-spin{to{transform:rotate(360deg)}}
body:not(.mappage) .map-locate{display:none!important}
@media(max-width:719px){.map-locate{top:20px;right:20px;width:44px;height:44px;padding:0;justify-content:center}.map-locate span{display:none}}

.fr-qrbox{margin-top:14px;padding:12px;display:flex;align-items:center;gap:14px;background:#0d131c;border:1px solid var(--line);border-radius:16px}.fr-qrbox img{width:128px;height:128px;flex:none;padding:7px;background:#fff;border-radius:12px}.fr-qrbox>div>b{display:block;margin-bottom:6px;color:#fff}.fr-qrbox p{margin:0}.fr-scanbtn{width:100%;margin-top:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.qr-scanbox{width:min(480px,100%)}.qr-camera{position:relative;margin-top:16px;aspect-ratio:1;overflow:hidden;background:#05080c;border:1px solid var(--line);border-radius:18px}.qr-camera video{width:100%;height:100%;display:block;object-fit:cover}.qr-frame{position:absolute;inset:17%;border:2px solid var(--brand);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.25);pointer-events:none}.geo-helpbox p,.geo-helpbox li{color:#c7cfda;line-height:1.5}.geo-helpbox ol{padding-left:20px}

@media(max-width:719px){
  .spot-deck>.card.spot .spot-fly::after{background:linear-gradient(0deg,rgba(3,5,9,1) 0%,rgba(3,5,9,.9) 48%,rgba(3,5,9,.48) 76%,rgba(3,5,9,.08) 100%)!important}
  .spot-deck>.card.spot .spot-info{background:linear-gradient(0deg,rgba(3,5,9,.98) 0%,rgba(3,5,9,.76) 76%,transparent 100%)}
  .fr-qrbox{align-items:flex-start}.fr-qrbox img{width:112px;height:112px}
}

@media(min-width:720px){body #favChip.on{color:#0a0a10!important;background:#c07bff!important;border-color:#c07bff!important}}
@media(min-width:1151px){body.eventpage .lb-box{padding-top:8px}body.eventpage .lb-whencol #lbName{margin-top:20px}}

/* Ranking de fiestas y valoración verificada */
@media(min-width:720px){body.mappage #mapBtn,#mapBtn.on{color:#071009!important;background:var(--brand)!important;border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(185,255,60,.08)!important}}
.rankingpage .feed-intro{display:none!important}.rank-page[hidden]{display:none!important}
.rank-page{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:42px 0 80px}
.rank-head{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.rank-head span,.review-kicker{display:block;margin-bottom:7px;color:var(--brand);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.rank-head h1{margin:0;color:#fff;font-size:clamp(32px,5vw,58px);line-height:.95;letter-spacing:-.045em}.rank-head p{max-width:650px;margin:12px 0 0;color:#8c97a8;line-height:1.5}
.rank-head>button{width:42px;height:42px;flex:none;color:#aeb7c5;background:#121925;border:1px solid var(--line);border-radius:13px}
.rank-pending{margin-bottom:28px;padding:18px;border:1px solid rgba(185,255,60,.24);border-radius:18px;background:rgba(185,255,60,.04)}.rank-pending[hidden]{display:none}
.rank-pending h2{margin:0 0 10px;color:#fff;font-size:17px}.rank-pending-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line)}.rank-pending-row span{display:grid;gap:4px}.rank-pending-row b{color:#fff}.rank-pending-row small{color:#8792a3}
.rank-list{display:grid;gap:13px}.rank-card{position:relative;display:grid;grid-template-columns:48px 132px minmax(0,1fr);gap:18px;align-items:center;min-height:180px;padding:14px 18px 14px 10px;background:#0f151f;border:1px solid var(--line);border-radius:19px;overflow:hidden}
.rank-pos{color:var(--brand);font-size:25px;font-weight:900;text-align:center}.rank-poster{width:132px;height:166px;display:grid;place-items:center;overflow:hidden;color:var(--brand);background:#171e29;border-radius:13px;font-weight:900}.rank-poster img{width:100%;height:100%;object-fit:cover}
.rank-info{min-width:0}.rank-info h2{margin:0 0 7px;color:#fff;font-size:22px;line-height:1.08}.rank-info p{margin:0;color:#8d98a8;font-size:12px;line-height:1.45}.rank-info .rank-djs{margin-top:7px;color:#cbd3de;font-weight:650}
.rank-score{display:flex;align-items:center;gap:9px;margin-top:15px}.rank-stars{display:inline-flex;gap:2px}.rank-stars i{color:#333d4a;font-size:18px;font-style:normal}.rank-stars i.on{color:#ffd447}.rank-score>b{color:#fff;font-size:17px}.rank-score>span{color:#798596;font-size:11px}
.rank-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.rank-actions button{padding:7px 11px;color:#c2cbd7;background:#151d29;border:1px solid var(--line);border-radius:9px;font-size:11px;font-weight:750}.rank-actions button.primary{color:#071009;background:var(--brand);border-color:var(--brand)}.rank-actions button:disabled{opacity:.45}
.rank-empty{padding:50px 20px;display:grid;justify-items:center;gap:8px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:#7f8b9c}.rank-empty b{color:#fff;font-size:18px}
.review-box{max-width:440px!important}.review-box .modal-title{color:#fff;font-size:20px;letter-spacing:-.01em;text-transform:none}.review-date{margin:8px 0 16px;color:#8b96a6;font-size:12px;line-height:1.45}.review-stars{display:flex;justify-content:center;gap:5px;margin:8px 0 18px}.review-stars button{padding:2px;color:#34404e;background:none;border:0;font-size:38px;line-height:1;cursor:pointer;transition:color .14s,transform .14s}.review-stars button.on{color:#ffd447}.review-stars button:hover{transform:scale(1.08)}.review-sign-label{display:grid;gap:7px;color:#c9d1dc;font-size:11px;font-weight:750}.review-sign-label textarea{resize:none}.review-box>.btn{width:100%;margin-top:12px}
.signatures-box{max-width:600px!important}.signatures-list{display:grid;gap:10px;max-height:min(65vh,620px);margin-top:15px;overflow-y:auto}.signature{padding:13px;background:#111925;border:1px solid var(--line);border-radius:13px}.signature>div{display:flex;align-items:center;gap:9px}.signature img,.signature>div>b{width:34px;height:34px;display:grid;place-items:center;object-fit:cover;color:#071009;background:var(--brand);border-radius:50%}.signature>div>span{display:grid;gap:2px}.signature strong{color:#fff;font-size:12px}.signature .rank-stars i{font-size:11px}.signature p{margin:10px 0 0;color:#c8d0db;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:719px){
  #rankClose{display:none}
  #bnav .bn{padding-inline:2px;font-size:7px;letter-spacing:0}
  .rank-page{width:100%;padding:22px 12px calc(var(--bnavH) + 32px + env(safe-area-inset-bottom))}.rank-head{margin-bottom:18px}.rank-head h1{font-size:37px}.rank-head p{font-size:12px}
  .rank-pending{padding:14px}.rank-pending-row{align-items:flex-end}.rank-pending-row small{font-size:10px}.rank-pending-row .btn{padding:8px 11px}
  .rank-card{grid-template-columns:28px 92px minmax(0,1fr);gap:10px;min-height:142px;padding:9px 10px 9px 5px;border-radius:16px}.rank-pos{font-size:18px}.rank-poster{width:92px;height:124px;border-radius:10px}.rank-info h2{font-size:15px}.rank-info p{font-size:9px}.rank-score{gap:5px;margin-top:9px;flex-wrap:wrap}.rank-stars i{font-size:13px}.rank-score>b{font-size:14px}.rank-score>span{font-size:9px}.rank-actions{gap:5px;margin-top:8px}.rank-actions button{padding:6px 8px;font-size:9px}
}

.ptab-panel[data-panel="cal"] .cal-list{width:calc(100% - 35px);margin-left:35px;box-sizing:border-box}
@media(max-width:719px){.ptab-panel[data-panel="cal"] .cal-list{width:calc(100% - 25px);margin-left:25px}}

.entity-meta-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0}
.entity-meta-types{display:flex;gap:7px}
.entity-meta-types .btn{padding:9px 13px}
.entity-meta-types .btn.on{background:var(--acc);color:#10120b}
.entity-meta-search{flex:1;min-width:min(100%,320px);margin:0}
.entity-meta-list{display:grid;gap:10px;margin-top:12px}
.entity-meta-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.2fr) minmax(180px,1.2fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}
.entity-meta-name{display:flex;gap:10px;align-items:center;min-width:0}
.entity-meta-name img{width:48px;height:48px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#090d12;flex:none}
.entity-meta-name b{overflow-wrap:anywhere}
.entity-meta-name small{margin-left:auto;color:var(--dim);font-size:10px;white-space:nowrap}
.entity-meta-row label{display:grid;gap:5px;color:var(--dim);font-size:11px;font-weight:700}
.entity-meta-row input{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#0c1118;color:var(--txt);font:inherit;font-size:12px}
.entity-meta-row .btn{white-space:nowrap}
@media(max-width:720px){.entity-meta-row{grid-template-columns:1fr}.entity-meta-name{padding-bottom:2px}.entity-meta-search{min-width:100%}}
