/* ═══════════════════════════════════════════════════════════════
   Archivo Clasificado · mapa "centro de vigilancia"
   Se carga al final de mapa.html y sobrescribe el estilo anterior.
   Mismo sistema que la landing: oscuro, naranja de marca como único
   acento, radio 2px, Bebas Neue (titulares), Geist (texto),
   VT323 (rótulos de cámara). No cambia z-index ni la mecánica de
   paneles/cajones que usa el JS.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --bg:#070707;--panel:rgba(7,7,7,.94);--panel-2:#0e0e0d;--panel-3:#161615;
  --fg:#f2f0eb;--fg-2:#b3afa7;--fg-3:#8c877f;
  --line:rgba(242,240,235,.1);--line-2:rgba(242,240,235,.2);
  --accent:#e8450c;--accent-hi:#ff5a1f;--on-accent:#070707;
  --osd:'VT323',ui-monospace,monospace;
  --sans:'Geist',system-ui,sans-serif;
  --display:'Bebas Neue',Impact,sans-serif;
  --white:#f2f0eb;--white2:#b3afa7;--white3:#8c877f;--black:#070707;--black2:#0e0e0d;
  --gray:#161615;--gray3:#2a2a28;--orange:#e8450c;
  --r:2px;--ease:cubic-bezier(.16,1,.3,1);
  --cctv:grayscale(1) sepia(.28) hue-rotate(58deg) saturate(.9) contrast(1.25) brightness(.8);
  --nav-h:56px;--sb-w:300px;--det-w:360px;--bar-h:34px;
}
html,body{background:var(--bg);font-family:var(--sans)}
body::before{opacity:.45}
#vignette{background:radial-gradient(ellipse at center,transparent 45%,rgba(3,3,3,.7) 100%)}

/* ── OSD genérico ── */
.rec{display:inline-flex;align-items:center;gap:.4rem;color:var(--fg)}
.rec::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(232,69,12,.8);animation:acRec 1.2s steps(1) infinite}
@keyframes acRec{50%{opacity:0}}

/* ── LOADER: arranque del sistema ── */
#loader{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#030303;transition:opacity .5s var(--ease)}
.ld-inner{width:min(30rem,86vw)}
.ld-brand{font:400 2.6rem/1 var(--display);letter-spacing:.04em;color:var(--fg)}
.ld-brand b{font-weight:400;color:var(--accent)}
.ld-log{margin:1.2rem 0 1.4rem;font:400 1.25rem/1.45 var(--osd);color:var(--fg-2);white-space:pre-wrap}
.ld-track{height:2px;background:var(--line);overflow:hidden}
#loader-bar{height:100%;width:0;background:var(--accent);transition:width .4s ease}
#loader .ac-caret{color:var(--accent)}

/* ── HUD SUPERIOR ── */
#nav{height:var(--nav-h);padding:0 16px;background:rgba(7,7,7,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-left{gap:14px}
.nav-back{font:400 1.1rem/1 var(--osd);letter-spacing:.06em;color:var(--fg-3)}
.nav-back:hover{color:var(--fg)}
.nav-sep{background:var(--line-2)}
.nav-logo{gap:.6rem;text-decoration:none;color:var(--fg)}
.brand-mark{position:relative;flex:none;width:20px;height:20px;border:1.5px solid var(--accent);border-radius:50%}
.brand-mark::before{content:"";position:absolute;inset:4.5px;background:var(--accent);border-radius:50%}
.nav-brand{display:flex;flex-direction:column;gap:3px}
.nav-brand-title{font:400 1.3rem/1 var(--display)!important;letter-spacing:.06em;text-transform:none;color:var(--fg)}
.nav-brand-title b{font-weight:400;color:var(--accent)}
.nav-brand-sub{font:400 .95rem/1 var(--osd);letter-spacing:.08em;color:var(--fg-3);text-transform:uppercase}
.nav-status{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1.1rem;font:400 1.15rem/1 var(--osd);letter-spacing:.05em;color:var(--fg-2);pointer-events:none}
.nav-right{gap:10px}
.visit-pill{gap:.5rem;padding:0 .4rem;font:400 1.1rem/1 var(--osd);letter-spacing:.04em;color:var(--fg-2)}
.visit-lbl{color:var(--fg-3)}
.visit-bar-wrap{width:44px;height:3px;background:var(--line)}
.nav-counter{font:400 1.1rem/1 var(--osd)!important;letter-spacing:.03em;color:var(--fg-3)}
#nav-cta-btn{border-radius:var(--r)!important;background:var(--accent);border:1px solid var(--accent);color:var(--on-accent)!important;font:600 .72rem/1 var(--sans)!important;letter-spacing:.1em;padding:0 1rem!important;min-height:2.35rem;margin-right:2px}
#nav-cta-btn:hover{background:var(--accent-hi);border-color:var(--accent-hi);transform:none}
#nav-cta-btn.unlocked{background:transparent!important;border-color:var(--line-2)!important;color:var(--fg-2)!important}
#nav-afil-btn,#nav-login-btn{border-radius:var(--r)!important;background:transparent!important;border:1px solid var(--line-2)!important;color:var(--fg)!important;font:600 .72rem/1 var(--sans)!important;letter-spacing:.1em!important;padding:0 .95rem!important;min-height:2.35rem;backdrop-filter:none}
#nav-afil-btn:hover,#nav-login-btn:hover{border-color:var(--fg)!important;background:rgba(242,240,235,.05)!important}
.nav-user-avatar{border-radius:var(--r);background:var(--accent);color:var(--on-accent);font-family:var(--sans)}
.nav-user-email{font:400 1rem/1 var(--osd);color:var(--fg-2)}
.nav-user-dropdown{background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--r)}
.nav-user-dd-item{font:400 1.05rem/1 var(--osd);color:var(--fg-2)}

/* ── PANEL DE CÁMARAS (sidebar) ── */
#sidebar{top:var(--nav-h);width:var(--sb-w);background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-right:1px solid var(--line)}
.sb-header{padding:14px 14px 12px;border-bottom:1px solid var(--line)}
.sb-title{display:flex;align-items:baseline;justify-content:space-between;font:400 1.7rem/1 var(--display);letter-spacing:.04em;margin-bottom:12px}
.sb-title span{font:400 1.15rem/1 var(--osd);color:var(--fg-3);letter-spacing:.04em}
.sb-search::before{content:">";position:absolute;left:.7rem;top:50%;transform:translateY(-52%);font:400 1.2rem/1 var(--osd);color:var(--accent);pointer-events:none}
.sb-search input{background:#030303;border:1px solid var(--line-2);border-radius:var(--r);font:400 1.2rem/1 var(--osd);letter-spacing:.03em;padding:.55rem 2rem .55rem 1.6rem;color:var(--fg)}
.sb-search input::placeholder{color:var(--fg-3)}
.sb-search input:focus{border-color:var(--accent)}
.sb-search-x{font:400 1rem/1 var(--osd)}
/* la etiqueta "BETA · nuevas ubicaciones" (div sin clase tras .sb-header) */
.sb-header + div{padding:8px 14px 0!important}
.sb-header + div span{font:400 .95rem/1 var(--osd)!important;letter-spacing:.04em!important}
.cidx-modes{padding:10px 14px 0;gap:4px}
.cidx-modes .fk{font:400 1.05rem/1 var(--osd)!important;letter-spacing:.06em;padding:.55rem .4rem;border:1px solid var(--line-2);color:var(--fg-2);border-radius:var(--r)}
.cidx-modes .fk.on{border-color:var(--accent);color:var(--fg);background:rgba(232,69,12,.12)}
.sb-filters-label,.cont-label{font:400 .95rem/1 var(--osd)!important;letter-spacing:.08em!important;color:var(--fg-3)!important;opacity:1!important;padding:12px 14px 2px!important;text-transform:uppercase}
.sb-filters{padding:6px 14px 10px;gap:4px;border-bottom:0}
.fk{font:400 1rem/1 var(--osd)!important;letter-spacing:.04em;padding:.35rem .55rem!important;border:1px solid var(--line-2);color:var(--fg-2);border-radius:var(--r)}
.fk:hover{color:var(--fg);border-color:var(--fg-3)}
.fk.on{color:var(--fg);border-color:var(--accent);background:rgba(232,69,12,.12)}
.fk.on::before,.fk.on::after{display:none}
.fk-n{font-size:.85em!important;color:var(--fg-3);opacity:1}
.fk.on .fk-n{color:var(--accent)}
.fk.fk-danger{border-color:rgba(232,69,12,.35);color:var(--accent)}
.fk.fk-danger.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.fk.fk-danger.on .fk-n{color:var(--on-accent)}
.cont-filters{padding:4px 14px 10px;gap:4px;border-bottom:1px solid var(--line)}
.cont-btn{font:400 .98rem/1 var(--osd)!important;letter-spacing:.04em;padding:.3rem .5rem;border:1px solid var(--line);color:var(--fg-3);border-radius:var(--r)}
.cont-btn:hover{color:var(--fg);border-color:var(--line-2)}
.cont-btn.on{color:var(--fg);border-color:var(--accent);background:rgba(232,69,12,.12)}
.view-toggle{padding:10px 14px;gap:4px;border-bottom:1px solid var(--line)}
.view-btn{font:400 1.02rem/1 var(--osd)!important;letter-spacing:.05em;padding:.45rem;border:1px solid var(--line-2);color:var(--fg-2);border-radius:var(--r)}
.view-btn.on{color:var(--fg);border-color:var(--accent);background:rgba(232,69,12,.12)}
.daily-wrap{padding:10px 14px;border-bottom:1px solid var(--line)}
.daily-label{font:400 1rem/1 var(--osd);letter-spacing:.06em;color:var(--accent);opacity:1;margin-bottom:6px}
.daily-card{border:1px solid rgba(232,69,12,.35);background:rgba(232,69,12,.05);border-radius:var(--r)}
.daily-card-img{filter:var(--cctv)}
.daily-card-name{font:400 1rem/1.1 var(--display);letter-spacing:.03em}
.daily-card-meta{font:400 .95rem/1.1 var(--osd);color:var(--fg-3)}
.sb-history{padding:10px 14px 12px;border-bottom:1px solid var(--line)}
.sb-history-label{font:400 1rem/1 var(--osd);letter-spacing:.06em;color:var(--fg-3)}
.sb-hist-card-img{filter:var(--cctv)}
.sb-hist-card-name{font:400 .9rem/1.1 var(--osd);color:var(--fg-3)}

/* lista */
.sb-list{padding:6px 6px 10px}
.sb-list::-webkit-scrollbar{width:4px}
.sb-list::-webkit-scrollbar-thumb{background:var(--line-2)}
.sb-group{font:400 1rem/1 var(--osd)!important;letter-spacing:.08em;color:var(--fg-3)!important;opacity:1!important;padding:12px 8px 8px}
.sb-group-line{background:var(--line)!important}
.sb-card{height:94px;margin-bottom:5px;border:0;border-radius:var(--r);background:#030303;isolation:isolate}
.sb-card::before{width:3px;background:var(--accent);z-index:6}
.sb-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;filter:var(--cctv) brightness(.72);transition:filter .35s var(--ease),transform .6s var(--ease)}
.sb-card:hover .sb-card-img{filter:var(--cctv) brightness(.95);transform:scale(1.04)}
.sb-card.sel .sb-card-img{filter:saturate(.9) brightness(.7)}
.sb-card-overlay{background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 1px,transparent 1px 3px),linear-gradient(0deg,rgba(3,3,3,.92) 0%,rgba(3,3,3,.2) 60%,rgba(3,3,3,.35) 100%)}
.sb-card-strip{display:none}
.sb-card-cam{position:absolute;top:7px;left:9px;z-index:4;font:400 1rem/1 var(--osd);letter-spacing:.05em;color:var(--fg);text-shadow:0 0 6px #000}
.sb-card-badge{top:6px;right:7px;font:400 .95rem/1 var(--osd)!important;letter-spacing:.06em;padding:.15rem .35rem!important;background:rgba(3,3,3,.65)}
.sb-card-body{padding:8px 10px}
.sb-card-name{font:400 1.12rem/1.05 var(--display)!important;letter-spacing:.03em}
.sb-card-meta{font:400 .98rem/1.1 var(--osd)!important;letter-spacing:.02em;color:var(--fg-2)!important;margin-top:3px}
.sb-card::after{background:linear-gradient(180deg,transparent,rgba(242,240,235,.08),transparent)}
/* expediente cerrado: señal cifrada */
.sb-card-locked .sb-card-img{filter:var(--cctv) blur(5px) brightness(.45)!important;transform:scale(1.1)}
.sb-card-locked .sb-card-overlay{background:repeating-linear-gradient(0deg,rgba(0,0,0,.4) 0 1px,transparent 1px 3px),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/></svg>"),linear-gradient(0deg,rgba(3,3,3,.9),rgba(3,3,3,.3))}
.sb-card-lock{font:400 1.15rem/1 var(--osd);letter-spacing:.12em;color:var(--accent);opacity:.9;transform:translate(-50%,-70%)}
.sb-card-redact{background:rgba(242,240,235,.2)}
.sb-empty{font:400 1.1rem/1.3 var(--osd);color:var(--fg-3);opacity:1}
.tl-group{font:400 1rem/1 var(--osd);color:var(--fg-3);opacity:1}
.tl-item{border-radius:var(--r)}
.tl-item-year{font:400 1.05rem/1 var(--osd);color:var(--accent)}
.tl-item-name{font:500 .82rem/1.2 var(--sans)}
.tl-item-meta{font:400 .9rem/1 var(--osd);color:var(--fg-3)}

/* ── MARCO DE MONITOR SOBRE EL MAPA ── */
#cctv-frame{position:fixed;z-index:3;pointer-events:none;top:calc(var(--nav-h) + 14px);bottom:calc(var(--bar-h) + 14px);left:calc(var(--sb-w) + 14px);right:14px;transition:right .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1)}
#detail.on ~ #cctv-frame{right:calc(var(--det-w) + 14px)}
#sidebar.collapsed ~ #cctv-frame{left:14px}
.cf-c{position:absolute;width:26px;height:26px;border:2px solid rgba(242,240,235,.5)}
.cf-tl{top:0;left:0;border-right:0;border-bottom:0}
.cf-tr{top:0;right:0;border-left:0;border-bottom:0}
.cf-bl{bottom:0;left:0;border-right:0;border-top:0}
.cf-br{bottom:0;right:0;border-left:0;border-top:0}
.cf-osd{position:absolute;font:400 1.2rem/1 var(--osd);letter-spacing:.05em;color:var(--fg);text-shadow:0 0 6px #000,0 1px 0 #000}
.cf-top-l{top:12px;left:18px}
.cf-top-r{top:12px;right:18px}
.cf-bot-l{bottom:12px;left:18px}

/* ── PANEL DE DETALLE ── */
#detail{top:var(--nav-h);width:var(--det-w);background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-left:1px solid var(--line);background-image:none}
#detail::-webkit-scrollbar{width:4px}
#detail::-webkit-scrollbar-thumb{background:var(--line-2)}
.det-top{padding:20px 18px 14px;background:rgba(7,7,7,.98);border-bottom:1px solid var(--line)}
.dossier-edge{height:3px;background:currentColor;opacity:.9}
.det-cat{font:400 1.05rem/1 var(--osd);letter-spacing:.06em;color:var(--accent);margin-bottom:8px}
.det-cat::before{width:18px}
.det-name{font:400 clamp(1.7rem,2.4vw,2.2rem)/.92 var(--display);letter-spacing:.02em;padding-right:40px}
.det-country{font:400 1.08rem/1.1 var(--osd);color:var(--fg-2);letter-spacing:.03em;margin-top:4px}
.dossier-fileno{font:400 1rem/1 var(--osd);letter-spacing:.06em;color:var(--fg-3);opacity:1}
.dossier-fileno::before{content:">";color:var(--accent)}
.dossier-stamp{font:400 1rem/1 var(--osd);letter-spacing:.12em;padding:.3rem .55rem;border-width:2px;text-shadow:none;top:24px;right:58px;transform:rotate(-6deg)}
.dossier-stamp::after{display:none}
.det-close,.modal-close{width:32px;height:32px;border:1px solid var(--line-2);background:transparent;color:var(--fg-2);border-radius:var(--r);font-size:14px}
.det-close:hover,.modal-close:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.det-body{padding:16px 18px 24px}
.det-nivel,.modal-nivel{font:400 1.02rem/1 var(--osd);letter-spacing:.05em;padding:.35rem .6rem;border-left-width:3px;border-radius:0 var(--r) var(--r) 0}
.det-desc{font:400 .92rem/1.7 var(--sans);color:var(--fg-2)}
.det-tag,.modal-tag{font:400 .98rem/1 var(--osd);letter-spacing:.03em;padding:.25rem .5rem;border:1px solid var(--line-2);color:var(--fg-2);border-radius:var(--r)}
.det-btn{border-radius:var(--r);background:var(--accent);color:var(--on-accent);font:600 .78rem/1 var(--sans);letter-spacing:.1em;padding:.95rem}
.det-btn:hover{background:var(--accent-hi)}
.det-yt,.modal-yt{border:1px solid var(--line-2);border-radius:var(--r)}
.det-yt-sub,.modal-yt-sub{font:400 .95rem/1 var(--osd);letter-spacing:.04em;color:var(--fg-3)}
.det-yt-title,.modal-yt-title{font:500 .85rem/1.35 var(--sans);color:var(--fg)}

/* vista de cámara (detalle y expediente) */
.feed-view{position:relative;aspect-ratio:4/3;margin-bottom:6px;overflow:hidden;border-radius:var(--r);background:#030303;isolation:isolate}
.feed-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--cctv) blur(.2px);transform:scale(1.03);transition:filter .5s var(--ease)}
.feed-view:hover img{filter:saturate(1) contrast(1.05)}
.feed-view::before,.modal-img::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.32) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.55) 100%)}
.fv-osd{position:absolute;inset:0;z-index:3;pointer-events:none;font:400 1.08rem/1 var(--osd);letter-spacing:.04em;color:var(--fg);text-shadow:0 0 6px #000,0 1px 0 #000}
.fv-osd > *{position:absolute}
.fv-tl{top:9px;left:11px}
.fv-tr{top:9px;right:11px}
.fv-bl{bottom:9px;left:11px}
.fv-br{bottom:9px;right:11px}
.fv-mid{display:none;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center;font-size:1.5rem;letter-spacing:.12em}
.feed-view.nosignal{background:#050505 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/></svg>")}
.feed-view.nosignal .fv-mid{display:block;animation:acRec 1.2s steps(1) infinite}
.feed-view.nosignal .fv-tr,.feed-view.nosignal .fv-br{display:none}
.photo-credit{margin:0 0 14px;font:400 .7rem/1.45 var(--sans);color:var(--fg-3)}
.photo-credit a{color:var(--fg-2);text-decoration:underline;text-underline-offset:2px}
.photo-credit a:hover{color:var(--fg)}

/* muro de pago en el detalle */
.pro-preview{height:auto;aspect-ratio:4/3;border:0;border-radius:var(--r);background:#030303}
.pro-preview .fv-osd{z-index:4}
.pro-preview-img{filter:var(--cctv) blur(9px) brightness(.5)!important;transform:scale(1.15)}
.pro-lock-badge{top:auto;bottom:34px;left:50%;right:auto;transform:translateX(-50%);background:transparent;border:1px solid var(--accent);color:var(--accent);font:400 1.1rem/1 var(--osd);letter-spacing:.1em;padding:.3rem .6rem;white-space:nowrap}
.pro-redact{background:rgba(242,240,235,.14)}
.pro-bar{width:26px;height:2px}
.pro-head{font:400 2.4rem/.9 var(--display);letter-spacing:.02em}
.pro-sub{font:400 .9rem/1.65 var(--sans);color:var(--fg-2)}
.pro-feat{font:400 1.02rem/1.2 var(--osd);letter-spacing:.02em;color:var(--fg-2);border-bottom:1px solid var(--line)}
.pro-feat::before{content:">"}
.pro-price{font:400 3.6rem/1 var(--display)}
.pro-price-sub{font:400 1rem/1 var(--osd);letter-spacing:.04em;color:var(--fg-3)}
.pro-btn{border-radius:var(--r);background:var(--accent);color:var(--on-accent);font:600 .8rem/1 var(--sans);letter-spacing:.1em;padding:1rem}
.pro-btn:hover{background:var(--accent-hi)}

/* ── TOOLTIP DEL MAPA ── */
#tooltip,#cidx-tt{background:rgba(3,3,3,.95);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 10px 30px rgba(0,0,0,.6)}
.tt-nivel{font:400 1rem/1 var(--osd);letter-spacing:.05em}
.tt-name{font:400 1.3rem/1 var(--display);letter-spacing:.03em}
.tt-country{font:400 1rem/1.1 var(--osd);color:var(--fg-2)}
.tt-hint{font:400 .98rem/1 var(--osd);letter-spacing:.04em;color:var(--accent)}

/* ── EXPEDIENTE COMPLETO (modal) ── */
#modal-overlay{background:rgba(3,3,3,.88);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
#modal{background:var(--panel-2);background-image:none;border:1px solid var(--line-2);border-radius:var(--r);max-width:860px}
#modal::-webkit-scrollbar{width:4px}
#modal::-webkit-scrollbar-thumb{background:var(--line-2)}
.modal-hdr{padding:22px 22px 16px;background:var(--panel-2);border-bottom:1px solid var(--line)}
.modal-cat{font:400 1.05rem/1 var(--osd);letter-spacing:.06em;color:var(--accent)}
.modal-name{font:400 clamp(2rem,3.4vw,2.9rem)/.92 var(--display);letter-spacing:.02em}
.modal-country{font:400 1.1rem/1.1 var(--osd);color:var(--fg-2);letter-spacing:.03em}
.modal-body{padding:20px 22px 26px}
.modal-img{position:relative;height:auto;aspect-ratio:16/8;margin-bottom:6px;border-radius:var(--r);background:#030303}
.modal-img img{height:100%;filter:saturate(.9) contrast(1.05)}
.modal-img.dossier-frame::before{top:0;left:0;width:auto;height:auto;border:0;opacity:1}
.modal-img.dossier-frame::after{display:none}
.modal-gallery{margin:10px 0 18px;gap:6px}
.modal-gallery-thumb{flex:0 0 112px;height:78px;border:1px solid var(--line);border-radius:var(--r);filter:var(--cctv);transition:filter .3s var(--ease),border-color .2s}
.modal-gallery-thumb:hover{filter:none;border-color:var(--accent);opacity:1}
.modal-coords{font:400 1.08rem/1 var(--osd);letter-spacing:.04em;color:var(--fg-2)}
.dossier-divider{border-top:1px dashed var(--line-2)}
.modal-desc{font:400 .98rem/1.75 var(--sans);color:var(--fg-2)}
.modal-section{font:400 1.12rem/1 var(--osd);letter-spacing:.08em;color:var(--accent);margin:24px 0 10px}
.modal-facts{gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.modal-fact{background:#030303;padding:12px 14px}
.modal-fact-label{font:400 .98rem/1.1 var(--osd);letter-spacing:.04em;color:var(--fg-3);text-transform:uppercase}
.modal-fact-val{font:500 .92rem/1.35 var(--sans);color:var(--fg)}
.modal-extra{font:400 .92rem/1.75 var(--sans);color:var(--fg-2)}
.modal-timeline{border:1px solid var(--line-2);border-radius:var(--r);background:#030303;padding:6px 14px}
.modal-tl-item{display:grid;grid-template-columns:minmax(4.5rem,auto) 1fr;gap:1rem;padding:9px 0;margin:0;border:0;border-bottom:1px dashed var(--line)}
.modal-tl-item:last-child{border-bottom:0}
.modal-tl-item::before{display:none}
.modal-tl-year{font:400 1.1rem/1.25 var(--osd);letter-spacing:.03em;color:var(--accent);margin:0}
.modal-tl-event{font:400 .88rem/1.5 var(--sans);color:var(--fg-2)}
.modal-link{border:1px solid var(--line-2);border-radius:var(--r)}
.modal-link:hover{border-color:var(--accent)}
.modal-link-icon{background:var(--panel-3);border-radius:var(--r)}
.modal-link-label{font:400 .95rem/1 var(--osd);letter-spacing:.04em;color:var(--fg-3)}
.modal-link-title{font:500 .85rem/1.35 var(--sans)}
.modal-share-btn{border-radius:var(--r);background:transparent;border:1px solid var(--line-2);color:var(--fg);font:600 .72rem/1 var(--sans);letter-spacing:.1em;padding:.8rem 1rem}
.modal-share-btn:hover{border-color:var(--accent);background:rgba(232,69,12,.1)}

/* ── LIGHTBOX ── */
#lightbox{background:rgba(3,3,3,.95)}
#lightbox img{border-radius:var(--r)}
#lightbox-close{border-radius:var(--r)}

/* ── BARRA INFERIOR TIPO DVR ── */
#bottombar{height:var(--bar-h);padding:0 16px;background:rgba(7,7,7,.92);border-top:1px solid var(--line)}
.legend{gap:18px}
.leg-item{font:400 1.02rem/1 var(--osd)!important;letter-spacing:.03em;color:var(--fg-2)}
.leg-item b{font-weight:400;color:var(--fg)}
.leg-dot{width:7px;height:7px}
#coords{font:400 1.05rem/1 var(--osd)!important;letter-spacing:.04em;color:var(--fg-2)}

/* ── CONTROLES DE MAPBOX ── */
.mapboxgl-ctrl-group{background:rgba(7,7,7,.92)!important;border:1px solid var(--line-2)!important;border-radius:var(--r)!important;box-shadow:none!important}
.mapboxgl-ctrl-group button + button{border-top:1px solid var(--line)!important}
.mapboxgl-ctrl-attrib,.mapboxgl-ctrl-attrib a{color:var(--fg-3)!important;font-size:10px!important}

/* ── VENTANA DE PAGO (showPro) ── */
#pro-overlay{background:rgba(3,3,3,.9)!important}
.pro-box{position:relative;width:min(400px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:26px 24px 22px;background:linear-gradient(160deg,rgba(232,69,12,.14),rgba(232,69,12,0) 55%),var(--panel-2);border:1px solid var(--accent);border-radius:var(--r);font-family:var(--sans);color:var(--fg)}
.pro-x{position:absolute;top:10px;right:10px;width:32px;height:32px;border:1px solid var(--line-2);border-radius:var(--r);background:transparent;color:var(--fg-2);cursor:pointer;font-size:14px}
.pro-x:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pro-top{display:flex;align-items:center;gap:14px;padding-right:40px}
.pro-tag{font:400 1.15rem/1 var(--osd);letter-spacing:.08em;color:var(--accent);text-transform:uppercase}
.pro-barcode{width:70px;height:20px;opacity:.7;background:repeating-linear-gradient(90deg,var(--fg) 0 2px,transparent 2px 4px,var(--fg) 4px 5px,transparent 5px 8px,var(--fg) 8px 11px,transparent 11px 13px)}
.pro-title{margin-top:14px;font:400 3.1rem/.9 var(--display);letter-spacing:.01em;text-transform:uppercase}
.pro-title b{font-weight:400;color:var(--accent)}
.pro-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:18px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pro-stats div{padding:12px 14px;background:#030303}
.pro-stats b{display:block;font:400 2.1rem/1 var(--display)}
.pro-stats span{display:block;margin-top:4px;font:400 1rem/1.1 var(--osd);color:var(--fg-2)}
.pro-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.pro-list li{display:grid;grid-template-columns:1rem 1fr;gap:.5rem;font:400 .9rem/1.4 var(--sans);color:var(--fg)}
.pro-list li::before{content:">";font:400 1.1rem/1.2 var(--osd);color:var(--accent)}
.pro-pricebox{position:relative;display:flex;align-items:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px dashed var(--line-2)}
.pro-p{font:400 4.2rem/.85 var(--display)}
.pro-ps{font:400 1.02rem/1.15 var(--osd);color:var(--fg-2)}
.pro-stamp{position:absolute;right:0;bottom:6px;padding:.3rem .6rem;border:2px solid var(--accent);color:var(--accent);font:400 1.2rem/1 var(--osd);letter-spacing:.12em;text-transform:uppercase;transform:rotate(-8deg);opacity:.85}
.pro-go{width:100%;margin-top:18px;min-height:3.1rem;border:0;border-radius:var(--r);background:var(--accent);color:var(--on-accent);font:600 .82rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background-color .2s var(--ease)}
.pro-go:hover{background:var(--accent-hi)}
.pro-go:active{transform:translateY(1px)}
.pro-note{margin-top:10px;text-align:center;font:400 1rem/1.3 var(--osd);color:var(--fg-3)}

/* ── PAYWALL DEL ÍNDICE POR PAÍS ── */
.cidx-pw-box{background:var(--panel-2);background-image:none;border:1px solid var(--accent);border-radius:var(--r)}
.cidx-pw-tag{font:400 1.1rem/1 var(--osd);letter-spacing:.08em}
.cidx-pw-title{font:400 2.2rem/1 var(--display)}
.cidx-pw-sub{font:400 .9rem/1.55 var(--sans);color:var(--fg-2)}
.cidx-pw-price{font:400 3.6rem/1 var(--display)}
.cidx-pw-buy{border-radius:var(--r);color:var(--on-accent);font:600 .78rem/1 var(--sans);letter-spacing:.1em}
.cidx-pw-close{border-radius:var(--r);font:600 .78rem/1 var(--sans);border-color:var(--line-2)}

/* ── ÍNDICE POR PAÍS (panel y ficha) ── */
#cidx-panel{font-family:var(--sans);color:var(--fg-2);border-top:1px solid var(--line);padding:14px}
#cidx-panel .cidx-h{font:400 1rem/1 var(--osd);letter-spacing:.07em;color:var(--fg-3)}
.cidx-metric button,.cidx-preset-card{border-radius:var(--r);border-color:var(--line-2);font:400 1rem/1.1 var(--osd);letter-spacing:.03em;color:var(--fg-2)}
.cidx-metric button.on,.cidx-preset-card.on{border-color:var(--accent);color:var(--fg);background:rgba(232,69,12,.12)}
.cidx-preset-card.on::before,.cidx-preset-card.on::after{display:none}
.cidx-slider-label{font:400 1rem/1 var(--osd);letter-spacing:.03em;color:var(--fg-2)}
.cidx-slider-val{font:400 1.05rem/1 var(--osd)}
.cidx-lg-row{font:400 .98rem/1 var(--osd);letter-spacing:.03em;color:var(--fg-2)}
.cidx-table-count{font:400 .95rem/1 var(--osd)}
.cidx-table-search{background:#030303;border:1px solid var(--line-2);border-radius:var(--r);font:400 1.1rem/1 var(--osd)}
.cidx-trow{font:400 1rem/1.15 var(--osd);border-bottom:1px solid var(--line)}
.cidx-trow-band{font-size:.9rem}
#cidx-detail{background:var(--panel-2);background-image:none;border-left:1px solid var(--line-2);font-family:var(--sans)}
.cidx-d-banner{background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 1px,transparent 1px 3px),#030303}
.cidx-d-flag-big{filter:var(--cctv)}
.cidx-d-name{font:400 1.9rem/1 var(--display)}
.cidx-d-big span,.cidx-d-mini span,.cidx-d-info-row span,.cidx-row-l,.cidx-d-rows-title{font:400 .98rem/1.1 var(--osd)!important;letter-spacing:.04em;color:var(--fg-3)}
.cidx-d-big,.cidx-d-mini{background:#030303;border-color:var(--line);border-radius:var(--r)}
.cidx-d-sources{font:400 .95rem/1.4 var(--osd);color:var(--fg-3)}

/* ── MODAL DE ACCESO (login) ── */
#auth-modal{background:rgba(3,3,3,.9)}
#auth-box{background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--r)}
.auth-pre{font:400 1.05rem/1 var(--osd);letter-spacing:.08em;color:var(--accent)}
.auth-title{font:400 2.4rem/.92 var(--display)}
.auth-sub{font:400 .88rem/1.55 var(--sans);color:var(--fg-2)}
.auth-google-btn{border-radius:var(--r)}
.auth-tab{font:400 1.05rem/1 var(--osd);letter-spacing:.05em;color:var(--fg-3)}
.auth-tab.active{color:var(--fg);border-bottom-color:var(--accent)}
.auth-input{border-radius:var(--r);background:#030303;border:1px solid var(--line-2);font:400 .92rem/1.2 var(--sans);color:var(--fg)}
.auth-input::placeholder{color:var(--fg-3)}
.auth-submit-btn{border-radius:var(--r);color:var(--on-accent);font:600 .78rem/1 var(--sans);letter-spacing:.1em}
.auth-divider{font:400 1rem/1 var(--osd);color:var(--fg-3)}
.auth-divider::before,.auth-divider::after{background:var(--line)}
.auth-skip{border-radius:var(--r);border-color:var(--line-2);color:var(--fg-2);font:500 .8rem/1 var(--sans)}
.auth-status{font:400 1rem/1.2 var(--osd)}

/* ── AFILIADOS ── */
#aff-overlay{background:rgba(3,3,3,.92)}
#aff-box{background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--r)}
.aff-hdr{background:var(--panel-2);border-bottom:1px solid var(--line)}
.aff-pre,.aff-section{font:400 1.05rem/1 var(--osd)!important;letter-spacing:.07em!important;color:var(--accent)!important}
.aff-label,.aff-stat-lbl,.aff-commission-sub{font:400 .98rem/1.1 var(--osd)!important;letter-spacing:.04em!important;color:var(--fg-3)!important}
.aff-info{font:400 .82rem/1.6 var(--sans)!important;color:var(--fg-2)!important;border-color:var(--line)!important;border-radius:var(--r)}
.aff-input,.aff-link-box,.aff-stat,.aff-commission{border-radius:var(--r)}
.aff-btn{border-radius:var(--r);font:600 .78rem/1 var(--sans)!important;letter-spacing:.1em!important}
.aff-close-btn{border-radius:var(--r)}

/* ── BOTONES FLOTANTES ── */
#afil-pill,#countries-free-pill{border-radius:var(--r);background:rgba(7,7,7,.92);border:1px solid rgba(232,69,12,.6);font:400 1.1rem/1 var(--osd);letter-spacing:.05em;padding:.7rem 1rem .7rem .85rem;box-shadow:none;backdrop-filter:blur(10px)}
#afil-pill:hover,#countries-free-pill:hover{background:rgba(232,69,12,.16);box-shadow:none}
.afil-dot{width:7px;height:7px;box-shadow:0 0 8px var(--accent)}
#afil-pill{bottom:calc(var(--bar-h) + 18px);right:22px}
#countries-free-pill{bottom:calc(var(--bar-h) + 74px)}

/* ── AVISOS: cámara del día, salida, compartir ── */
#daily-toast{top:calc(var(--nav-h) + 12px);right:calc(22px)}
#daily-toast-inner{border:1px solid rgba(232,69,12,.5);border-radius:var(--r);background:rgba(7,7,7,.97);width:230px}
#daily-toast-label{font:400 1.05rem/1 var(--osd);letter-spacing:.06em;color:var(--accent)}
#daily-toast-img{height:110px;filter:var(--cctv)}
#daily-toast-name{font:400 1.2rem/1.05 var(--display);letter-spacing:.03em}
#daily-toast-country{font:400 1rem/1 var(--osd);color:var(--fg-3)}
#daily-toast-btn{font:600 .72rem/1 var(--sans);letter-spacing:.1em;padding:.8rem}
.ei-box{border:1px solid var(--accent);border-radius:var(--r);background:var(--panel-2)}
.ei-box::before,.ei-box::after{display:none}
.ei-title{font:400 2.3rem/.95 var(--display);letter-spacing:.02em}
.ei-sub{font:400 .9rem/1.6 var(--sans);color:var(--fg-2)}
.ei-stat{font:400 1.1rem/1.2 var(--osd);letter-spacing:.03em;border-radius:var(--r)}
.ei-cta{border-radius:var(--r);background:var(--accent);color:var(--on-accent);font:600 .8rem/1 var(--sans);letter-spacing:.1em;text-align:center}
.ei-skip{font:400 1rem/1 var(--osd);color:var(--fg-3);margin-top:12px}
.ss-box{border-radius:var(--r) var(--r) 0 0;background:var(--panel-2);border-top-color:var(--accent)}
.ss-opt{border-radius:var(--r)}
.ss-opt-label{font:400 .98rem/1 var(--osd);letter-spacing:.03em;color:var(--fg-2)}
.ss-copy{border-radius:var(--r);font:600 .72rem/1 var(--sans);letter-spacing:.1em}

/* ── ajustes de composición ── */
#nav-globe{display:none!important}
.nav-status{display:none}
.sb-header + div{display:none!important}
/* filtros en una sola fila deslizable para dejar sitio a las cámaras */
.sb-filters,.cont-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.sb-filters::-webkit-scrollbar,.cont-filters::-webkit-scrollbar{display:none}
.fk,.cont-btn{flex-shrink:0;white-space:nowrap}
.sb-header,.cidx-modes,.sb-filters-label,.sb-filters,.cont-label,.cont-filters,.view-toggle,.daily-wrap,.sb-history{flex-shrink:0}
.sb-filters{padding-right:30px}
.cont-filters{padding-right:30px}
/* sello de nivel: en línea bajo el número de expediente para no tapar el nombre */
.det-top .dossier-stamp{position:static;display:inline-flex;margin-top:10px;transform:rotate(-3deg)}
/* el botón de afiliados se aparta cuando el panel de detalle está abierto */
#detail.on ~ #afil-pill{right:calc(var(--det-w) + 22px)}
.sb-hist-card{width:64px;opacity:.85}
.sb-hist-card-img{width:64px;height:46px;border-radius:var(--r);object-fit:cover}
.sb-hist-locked .sb-hist-card-img{filter:var(--cctv) blur(3px) brightness(.5)}

/* ═══════════════ MÓVIL (≤768px) ═══════════════ */
@media (max-width:768px){
  :root{--nav-h:48px}
  #nav{height:48px;padding:0 10px!important}
  .nav-status,.visit-pill{display:none}
  .nav-brand-sub{display:none!important}
  .nav-brand-title{font-size:1.15rem!important}
  #nav-cta-btn{font-size:.62rem!important;padding:0 .6rem!important;min-height:2rem;letter-spacing:.06em}
  #nav-afil-btn,#nav-login-btn{font-size:.62rem!important;padding:0 .55rem!important;min-height:2rem;letter-spacing:.06em!important}
  .nav-mob-meta{top:48px;height:22px;background:rgba(7,7,7,.95);border-bottom:1px solid var(--line);font:400 .98rem/1 var(--osd)!important;letter-spacing:.05em;color:var(--fg-2)}
  .nav-mob-dot{box-shadow:0 0 6px var(--accent)}
  #map,#vignette{top:70px}
  #cctv-frame{top:80px;left:10px!important;right:10px!important;bottom:84px}
  .cf-c{width:18px;height:18px}
  .cf-osd{font-size:1.05rem}
  .cf-top-l{top:8px;left:12px}.cf-top-r{top:8px;right:12px}.cf-bot-l{bottom:8px;left:12px}

  #sidebar{top:auto;width:100%;background:rgba(7,7,7,.97);border-top:1px solid var(--line-2);border-radius:10px 10px 0 0}
  .sb-handle-bar{background:rgba(242,240,235,.3)}
  .sb-header{padding:6px 12px 10px}
  .sb-title{font-size:1.45rem;margin-bottom:8px}
  .sb-filters-label,.cont-label{padding:8px 12px 2px!important}
  .sb-filters{padding:6px 12px 10px}
  .fk{font-size:1.05rem!important;min-height:36px}
  .cont-btn{font-size:1.02rem!important;min-height:34px}
  .view-btn{font-size:1.05rem!important;min-height:36px}
  .sb-card{height:84px}

  #detail{top:auto;background:rgba(7,7,7,.98);border-top:1px solid var(--line-2);border-radius:10px 10px 0 0}
  .det-handle{background:rgba(7,7,7,.98)}
  .det-top .dossier-stamp{font-size:.95rem}
  #modal{border-radius:10px 10px 0 0}
  .modal-facts{grid-template-columns:1fr}
  .modal-img{aspect-ratio:4/3}

  #sb-toggle{border-radius:var(--r)!important;background:rgba(7,7,7,.95)!important;border:1px solid var(--line-2)!important;color:var(--fg)!important;font:400 1.15rem/1 var(--osd)!important;letter-spacing:.08em!important;padding:0 1.2rem!important;height:42px!important}
  #sb-toggle::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:1;box-shadow:0 0 8px var(--accent)}
  #mode-switcher-fab{border-radius:var(--r)!important;background:rgba(7,7,7,.95)!important;border-color:var(--line-2)!important}
  #mode-switcher-fab .msw-lbl{font:400 .9rem/1 var(--osd)!important;letter-spacing:.05em!important}
  #mode-switcher-menu{border-radius:var(--r)!important;background:rgba(7,7,7,.98)!important;border-color:var(--line-2)!important}
  .msw-pre{font:400 .98rem/1 var(--osd)!important;letter-spacing:.06em!important}
  .msw-opt-txt small{font:400 .95rem/1 var(--osd)!important;letter-spacing:.03em!important}
  #daily-toast{top:auto;bottom:84px;right:12px}
  #daily-toast-inner{width:200px}
  #daily-toast-img{height:84px}
  .pro-box{padding:22px 18px 18px}
  .pro-title{font-size:2.6rem}
}

@media (max-width:480px){
  .nav-brand{display:none}
  .nav-left{gap:8px}
  .nav-right{gap:5px}
  #nav-cta-btn{font-size:.6rem!important;padding:0 .5rem!important}
  #nav-afil-btn,#nav-login-btn{font-size:.58rem!important;padding:0 .45rem!important;letter-spacing:.04em!important}
}

@media (prefers-reduced-motion:reduce){
  .rec::before,.feed-view.nosignal .fv-mid{animation:none}
  .sb-card-img,.feed-view img,#cctv-frame{transition:none}
}

/* ═══════════════════════════════════════════════════════════════
   CONSOLA FLOTANTE
   Estructura y materiales inspirados en God's Eye View
   (github.com/bilawalsidhu/gods-eye-view · MIT, © 2026 Bilawal Sidhu):
   paneles de cristal flotantes, dock inferior centrado y lecturas de
   telemetría. El color sigue siendo el naranja de la marca.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --glass:rgba(10,10,13,.72);
  --glass-border:rgba(242,240,235,.1);
  --glass-border-hi:rgba(242,240,235,.18);
  --r-panel:14px;--r-btn:10px;--r-card:7px;
  --shadow-panel:0 14px 40px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.05),0 0 30px rgba(232,69,12,.06);
  --blur:blur(28px) saturate(1.35);
}

/* paneles flotantes sobre el globo */
#sidebar{
  top:calc(var(--nav-h) + 16px);bottom:calc(var(--bar-h) + 26px);left:16px;
  width:322px;border:1px solid var(--glass-border);border-radius:var(--r-panel);
  background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  box-shadow:var(--shadow-panel);overflow:hidden}
#detail{
  top:calc(var(--nav-h) + 16px);bottom:calc(var(--bar-h) + 26px);right:16px;
  width:376px;border:1px solid var(--glass-border);border-radius:var(--r-panel);
  background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  box-shadow:var(--shadow-panel)}
#detail.on{transform:none}
#detail:not(.on){transform:translateX(calc(100% + 24px))}
#sidebar.collapsed{transform:translateX(calc(-100% - 24px))}
.det-top{border-radius:var(--r-panel) var(--r-panel) 0 0;background:transparent;backdrop-filter:none}
.sb-header{background:transparent}

/* el marco del monitor se adapta a los paneles flotantes */
#cctv-frame{left:calc(322px + 32px);right:32px;top:calc(var(--nav-h) + 26px);bottom:calc(var(--bar-h) + 40px)}
#detail.on ~ #cctv-frame{right:calc(376px + 32px)}
#sidebar.collapsed ~ #cctv-frame{left:32px}
.cf-c{border-color:rgba(232,69,12,.5);width:22px;height:22px}
.cf-osd{text-shadow:0 0 12px rgba(232,69,12,.5),0 1px 2px #000}

/* lectura de telemetría */
.cf-readout{position:absolute;right:0;bottom:34px;display:grid;gap:7px;justify-items:end;
  font:400 1.05rem/1 var(--osd);letter-spacing:.04em;text-align:right}
.cf-readout div{display:flex;align-items:baseline;gap:9px;padding:5px 11px;
  background:rgba(10,10,13,.6);border:1px solid var(--glass-border);border-radius:var(--r-btn);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.cf-readout span{color:var(--fg-3);font-size:.88em;letter-spacing:.1em}
.cf-readout b{font-weight:400;color:var(--fg);min-width:5.4rem;text-align:right;
  text-shadow:0 0 10px rgba(232,69,12,.35)}

/* dock inferior centrado */
#bottombar{left:50%;right:auto;bottom:14px;transform:translateX(-50%);width:auto;height:auto;
  display:flex;align-items:center;gap:0;padding:0;border:1px solid var(--glass-border);
  border-radius:var(--r-btn);background:var(--glass);backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-panel);max-width:94vw;overflow:hidden}
#bottombar .legend{gap:16px;padding:11px 18px}
#bottombar #coords{padding:11px 18px;border-left:1px solid var(--glass-border);min-width:12.5rem;text-align:center}
.leg-item{white-space:nowrap}

/* botones y tarjetas: esquinas suaves como en la referencia */
#nav-cta-btn,#nav-afil-btn,#nav-login-btn{border-radius:var(--r-btn)!important}
.btn,.det-btn,.pro-btn,.pro-go,.cidx-pw-buy,.cidx-pw-close,.auth-submit-btn,.auth-skip,.auth-google-btn,.aff-btn{border-radius:var(--r-btn)!important}
.fk,.cont-btn,.view-btn,.cidx-modes .fk,.cidx-metric button,.cidx-preset-card{border-radius:var(--r-btn)!important}
.sb-card{border-radius:var(--r-card)}
.sb-search input,.cidx-table-search,.auth-input,.aff-input{border-radius:var(--r-btn)!important}
.feed-view,.modal-img,.pro-preview{border-radius:var(--r-card)}
#modal,.pro-box,#auth-box,#aff-box,.ei-box,.cidx-pw-box,#daily-toast-inner,#cidx-detail{border-radius:var(--r-panel)!important}
#modal,.pro-box,#auth-box{background:var(--glass)!important;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-panel)}
.modal-hdr{background:transparent;backdrop-filter:none}
#afil-pill,#countries-free-pill{border-radius:var(--r-btn);box-shadow:var(--shadow-panel)}
.det-close,.modal-close,.pro-x{border-radius:var(--r-btn)}

@media (max-width:1100px){
  #cctv-frame .cf-readout{display:none}
}
@media (max-width:768px){
  #sidebar{top:auto;left:0;bottom:0;width:100%;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0}
  #detail{top:auto;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0}
  #detail:not(.on){transform:translateY(100%)}
  #sidebar.collapsed{transform:translateY(105%)}
  #bottombar{display:none}
  #cctv-frame{left:10px!important;right:10px!important}
}

/* el conmutador de vista y el botón de afiliados se apartan cuando hay ficha abierta */
body:has(#detail.on) #mode-switcher{opacity:0;pointer-events:none}
#detail.on ~ #afil-pill{right:calc(376px + 40px)}
@media (max-width:768px){
  body:has(#detail.on) #afil-pill{display:none!important}
}

/* en modo Países, la telemetría sube para no chocar con el aviso de países gratis */
body.cidx-mode-countries .cf-readout{bottom:104px}
