@import url('https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css');
:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#f5f5f5;background:#0b0d10}*{box-sizing:border-box}body{margin:0;background:#0b0d10;color:#eee}a{color:#fff}.wrap{max-width:1180px;margin:auto;padding:24px}.card{background:#14181d;border:1px solid #242a31;border-radius:16px;padding:20px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.btn,button{background:#e31b23;color:#fff;border:0;border-radius:10px;padding:11px 15px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:#2c333b}.btn.danger{background:#8b1117}input,textarea,select{width:100%;background:#0d1116;border:1px solid #343c46;color:#fff;border-radius:9px;padding:11px}label{display:block;font-weight:650;margin:12px 0 6px}.muted{color:#aeb6c0;font-size:.93rem}.notice{padding:12px;border-radius:10px;background:#183522;margin-bottom:18px}.error{background:#4b1717}.fb-box{margin-top:14px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #2b3138;text-align:left;vertical-align:top}.actions{display:flex;gap:8px;flex-wrap:wrap}code,pre{background:#090c10;border:1px solid #2b3138;border-radius:8px;padding:10px;overflow:auto;color:#d7e2ed}.login{max-width:430px;margin:8vh auto}.small{font-size:.85rem}

/* Player base */
.player-shell{--accent:#f00;--panel:rgba(12,12,12,.86);--control-size:42px;position:relative;background:#000;border-radius:14px;overflow:hidden;aspect-ratio:16/9;user-select:none;isolation:isolate}.player-shell video{position:absolute;inset:0;width:100%;height:100%;display:block;background:#000;object-fit:contain;z-index:0}.player-gradient{position:absolute;left:0;right:0;pointer-events:none;z-index:2}.player-gradient.top{top:0;height:28%;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent)}.player-gradient.bottom{bottom:0;height:34%;background:linear-gradient(to top,rgba(0,0,0,.9),transparent)}.channel-logo{position:absolute;left:24px;top:22px;width:min(38%,var(--logo-width,180px));max-width:var(--logo-width,180px);max-height:var(--logo-max-height,84px);object-fit:contain;z-index:5;filter:drop-shadow(0 2px 8px #000b);pointer-events:none}.live-badge{position:absolute;right:18px;top:18px;z-index:6;background:#e10600;color:#fff;padding:var(--live-pad-y,8px) var(--live-pad-x,12px);border-radius:var(--live-radius,10px);font-size:var(--live-font,14px);font-weight:900;letter-spacing:.055em;box-shadow:0 2px 12px #0008;display:flex;align-items:center;gap:8px}.live-badge span,.live-text span{width:9px;height:9px;background:#fff;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px #ffffff24;animation:pulse 1.35s infinite}@keyframes pulse{50%{opacity:.4;transform:scale(.78)}}

.big-play{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;padding:0;display:grid;place-items:center;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);transition:.18s}.big-play:hover{transform:translate(-50%,-50%) scale(1.08)}.big-play svg{width:38px;height:38px;fill:#fff;margin-left:5px}.is-playing .big-play{opacity:0;pointer-events:none}
.sound-gate{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);min-width:270px;min-height:86px;padding:18px 28px;border-radius:18px;background:rgba(220,0,0,.94);box-shadow:0 12px 38px #0009;display:flex;align-items:center;justify-content:center;gap:14px;font-size:1.08rem;letter-spacing:.035em}.sound-gate svg{width:36px;height:36px;fill:#fff}.sound-gate.hidden{opacity:0;visibility:hidden;pointer-events:none}.sound-gate:hover{filter:brightness(1.08)}
.loading-spinner{position:absolute;z-index:9;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;border:5px solid #ffffff35;border-top-color:#fff;animation:spin .8s linear infinite;opacity:0;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.is-loading .loading-spinner{opacity:1}.is-loading .big-play{opacity:0}.player-status{position:absolute;z-index:9;left:50%;top:64%;transform:translateX(-50%);background:rgba(0,0,0,.78);border:1px solid #ffffff28;padding:9px 13px;border-radius:9px;font-size:.88rem;opacity:0;transition:.2s;pointer-events:none}.player-status.show{opacity:1}

.custom-controls{position:absolute;z-index:7;left:0;right:0;bottom:0;padding:0 15px 11px;opacity:0;transform:translateY(6px);transition:.18s}.player-shell:hover .custom-controls,.player-shell:focus-within .custom-controls,.player-shell:not(.is-playing) .custom-controls{opacity:1;transform:none}.progress-row{height:13px;display:flex;align-items:center}.live-progress{position:relative;width:100%;height:4px;background:#ffffff42;border-radius:2px;overflow:hidden}.live-progress span{position:absolute;inset:0;background:var(--accent)}.controls-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.controls-left,.controls-right{display:flex;align-items:center;gap:5px}.control-btn,.live-text{height:var(--control-size);min-width:var(--control-size);padding:0 10px;border-radius:8px;background:transparent;color:#fff;display:grid;place-items:center}.control-btn:hover,.live-text:hover{background:#ffffff18}.control-btn svg{width:25px;height:25px;fill:#fff}.icon-pause,.is-playing .icon-play{display:none}.is-playing .icon-pause{display:block}.icon-muted{display:none}.is-muted .icon-volume{display:none}.is-muted .icon-muted{display:block}.volume-slider{width:86px;padding:0;accent-color:var(--accent);background:transparent;border:0}.live-text{display:flex;align-items:center;gap:7px;font-size:.76rem;font-weight:900;letter-spacing:.04em}.live-text span{background:var(--accent);width:8px;height:8px}.quality-wrap{position:relative}.quality-btn{font-size:.72rem;font-weight:900;min-width:54px}.quality-menu{position:absolute;right:0;bottom:48px;min-width:145px;background:var(--panel);backdrop-filter:blur(10px);border:1px solid #ffffff1e;border-radius:9px;padding:6px;box-shadow:0 12px 30px #0008}.quality-menu button{display:block;width:100%;text-align:left;background:transparent;border-radius:6px;padding:8px 10px}.quality-menu button:hover{background:#ffffff16}

/* Own selectable themes */
.skin-youtube{--accent:#ff0000;--panel:rgba(20,20,20,.96);border-radius:12px}.skin-youtube .custom-controls{padding-left:13px;padding-right:13px}.skin-youtube .control-btn{border-radius:2px}.skin-youtube .sound-gate{background:rgba(220,0,0,.96);border-radius:10px}
.skin-broadcast{--accent:#e21b23;--panel:rgba(10,16,22,.96);border:1px solid #3c4651;border-radius:6px;box-shadow:0 14px 40px #0007}.skin-broadcast .custom-controls{background:linear-gradient(to top,rgba(6,12,18,.96),rgba(6,12,18,.22),transparent);padding:11px 17px 13px}.skin-broadcast .live-badge{border-radius:3px}.skin-broadcast .channel-logo{left:28px;top:25px}.skin-broadcast .sound-gate{border-radius:8px;background:rgba(189,16,26,.96)}
.skin-minimal{--accent:#20c878;--panel:rgba(8,18,14,.94);border-radius:18px}.skin-minimal .live-badge{background:#15a862;border-radius:999px}.skin-minimal .sound-gate{background:rgba(18,166,96,.95);border-radius:999px}.skin-minimal .big-play{background:rgba(20,190,112,.88)}.skin-minimal .custom-controls{padding:0 18px 15px}.skin-minimal .control-btn{border-radius:999px}
.skin-dark{--accent:#00a8ff;--panel:rgba(16,18,24,.97);border-radius:4px;border:1px solid #343944}.skin-dark .live-badge{background:#c91c27;border-radius:3px}.skin-dark .sound-gate{background:rgba(22,25,33,.96);border:2px solid #00a8ff;border-radius:5px}.skin-dark .custom-controls{background:rgba(8,10,14,.83);padding:4px 10px 8px}.skin-dark .progress-row{height:10px}.skin-dark .control-btn{border-radius:3px}

@media(max-width:700px){.wrap{padding:14px}.admin-table{display:block;overflow-x:auto}.channel-logo{left:13px;top:12px;max-width:25%;max-height:54px}.live-badge{right:10px;top:10px;font-size:.7rem;padding:6px 8px}.sound-gate{min-width:220px;min-height:68px;font-size:.9rem;padding:13px 18px}.sound-gate svg{width:29px;height:29px}.big-play{width:66px;height:66px}.custom-controls{padding-left:8px;padding-right:8px}.volume-slider{display:none}.live-text{font-size:.66rem}.quality-btn{min-width:46px;padding:0 6px}.control-btn{padding:0 7px}.player-status{top:67%;font-size:.76rem;max-width:80%;text-align:center}}

/* v4: en transmisiones en vivo no mostramos una barra/progreso roja permanente. */
.progress-row,.live-progress{display:none!important}

/* Twitch-inspired: diseño propio, sin código ni recursos propietarios. */
.skin-twitch{--accent:#9147ff;--panel:rgba(24,18,35,.97);border-radius:8px;background:#0e0e10}
.skin-twitch .custom-controls{padding:10px 14px 12px;background:linear-gradient(to top,rgba(14,14,16,.94),transparent)}
.skin-twitch .control-btn,.skin-twitch .live-text{border-radius:6px}
.skin-twitch .control-btn:hover,.skin-twitch .live-text:hover{background:#9147ff2d}
.skin-twitch .live-badge{background:#eb0400;border-radius:4px;font-weight:800}
.skin-twitch .sound-gate{background:rgba(145,71,255,.96);border-radius:8px;box-shadow:0 12px 38px #000a}
.skin-twitch .quality-menu{border-color:#9147ff55}

/* Cinema: controles discretos y foco total en la imagen. */
.skin-cinema{--accent:#fff;--panel:rgba(4,4,4,.96);border-radius:2px;background:#000;box-shadow:0 18px 55px #0008}
.skin-cinema .custom-controls{padding:18px 20px;background:linear-gradient(to top,#000d,transparent)}
.skin-cinema .live-badge{background:#d50000;border-radius:2px;letter-spacing:.08em}
.skin-cinema .sound-gate{background:rgba(0,0,0,.82);border:1px solid #ffffff55;border-radius:2px}
.skin-cinema .control-btn,.skin-cinema .live-text{border-radius:2px}

/* Glass: controles translúcidos modernos. */
.skin-glass{--accent:#58d5ff;--panel:rgba(12,27,35,.72);border:1px solid #ffffff2b;border-radius:22px;background:#081116;box-shadow:0 18px 55px #0008}
.skin-glass .custom-controls{left:12px;right:12px;bottom:12px;padding:9px 12px;border:1px solid #ffffff24;border-radius:16px;background:#10182099;backdrop-filter:blur(16px)}
.skin-glass .control-btn,.skin-glass .live-text{border-radius:12px}
.skin-glass .live-badge{background:#ff2b3c;border-radius:999px}
.skin-glass .sound-gate{background:#101820c9;border:1px solid #ffffff40;border-radius:18px;backdrop-filter:blur(16px)}

/* Classic TV: aspecto de control de canal tradicional. */
.skin-classic{--accent:#f1f1f1;--panel:rgba(20,20,20,.98);border:3px solid #383838;border-radius:10px;background:#050505}
.skin-classic .custom-controls{padding:8px 12px;background:#111e;border-top:1px solid #444}
.skin-classic .control-btn,.skin-classic .live-text{border-radius:4px}
.skin-classic .live-badge{background:#c60000;border-radius:3px}
.skin-classic .sound-gate{background:#b30000;border:2px solid #fff;border-radius:6px}


/* v5 modern live-TV portal */
.tv-portal{min-height:100vh;background:radial-gradient(circle at 15% 0,#20263b 0,transparent 35%),linear-gradient(180deg,#080b12,#0c1019 40%,#080a0f);color:#fff}
.portal-wrap{max-width:1440px;margin:auto;padding:22px 28px 48px}.portal-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.portal-brand{display:flex;align-items:center;gap:12px}.portal-brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#ff2338,#a9091b);display:grid;place-items:center;font-weight:950;box-shadow:0 10px 30px #ff233833}.portal-brand h1{font-size:1.08rem;margin:0}.portal-brand small{color:#929bad}.portal-search{min-width:min(420px,45vw);position:relative}.portal-search input{border-radius:999px;padding:12px 18px;background:#151b27;border:1px solid #2b3445}.portal-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:22px;align-items:start}.watch-card{background:#0e131d;border:1px solid #242c3a;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px #0007}.watch-card .player-shell{border-radius:0}.watch-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.watch-title{display:flex;align-items:center;gap:13px}.watch-logo{width:52px;height:52px;border-radius:14px;background:#151b26;border:1px solid #2b3443;object-fit:contain;padding:6px}.watch-title h2{margin:0 0 4px;font-size:1.16rem}.watch-title p{margin:0;color:#9ca7b7;font-size:.9rem}.portal-side{background:#0e131d;border:1px solid #242c3a;border-radius:22px;padding:18px}.portal-side h3{margin:0 0 14px}.side-list{display:grid;gap:9px}.side-channel{display:flex;align-items:center;gap:11px;padding:10px;border-radius:14px;text-decoration:none;color:#fff;background:#121925;border:1px solid transparent}.side-channel:hover,.side-channel.active{background:#192234;border-color:#38455c}.side-channel img,.side-placeholder{width:42px;height:42px;border-radius:11px;object-fit:contain;background:#090c12;padding:5px}.side-placeholder{display:grid;place-items:center;font-weight:900}.mini-live{margin-left:auto;background:#e10600;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:900}.channels-section{margin-top:34px}.channels-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.channels-heading h2{margin:0;font-size:1.45rem}.channels-heading span{color:#929bad}.channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.channel-card{display:block;text-decoration:none;color:#fff;background:#101620;border:1px solid #242c3a;border-radius:18px;overflow:hidden;transition:.18s;box-shadow:0 10px 30px #0003}.channel-card:hover{transform:translateY(-3px);border-color:#44516a;background:#141c29}.channel-thumb{aspect-ratio:16/9;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#25304a,#0b0f17 65%)}.channel-thumb img{max-width:55%;max-height:52%;object-fit:contain;filter:drop-shadow(0 5px 12px #0008)}.card-live{position:absolute;left:12px;top:12px;background:#e10600;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:900}.channel-card-body{padding:13px 14px 15px}.channel-card-body strong{display:block;font-size:1rem}.channel-card-body span{display:block;color:#929bad;margin-top:4px;font-size:.82rem}.no-results{display:none;padding:24px;border:1px dashed #344057;border-radius:16px;color:#9aa5b5;text-align:center}
@media(max-width:1050px){.portal-hero{grid-template-columns:1fr}.portal-side{display:none}.channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.portal-wrap{padding:14px 12px 34px}.portal-nav{align-items:stretch;flex-direction:column}.portal-search{min-width:0;width:100%}.watch-card{border-radius:16px}.watch-meta{padding:13px}.watch-logo{width:44px;height:44px}.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.channels-heading h2{font-size:1.2rem}.channels-heading span{font-size:.78rem}}
@media(max-width:460px){.channel-grid{grid-template-columns:1fr}.portal-brand small{display:none}}


/* v6: selector de calidad sin la palabra AUTO visible */
.quality-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:38px}
.quality-btn .quality-icon{width:21px;height:21px;fill:#fff;display:block}
.quality-btn .quality-label:empty{display:none}
.quality-btn .quality-label{font-size:.68rem;font-weight:800;line-height:1}
.quality-btn.has-quality-label{min-width:auto;padding:0 8px}
.quality-menu button:first-child{font-weight:800}

/* v6: mini reproductor flotante en la portada */
.mini-player-close{display:none;position:absolute;right:7px;top:7px;z-index:30;width:30px;height:30px;min-width:30px;padding:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:21px;line-height:28px;border:1px solid rgba(255,255,255,.22);box-shadow:0 4px 16px #0008}
.player-shell.is-mini-player{position:fixed!important;right:22px;bottom:22px;left:auto!important;top:auto!important;width:min(420px,34vw)!important;height:auto!important;z-index:99990!important;border-radius:14px!important;box-shadow:0 18px 65px rgba(0,0,0,.72)!important;animation:miniPlayerIn .18s ease-out}
.player-shell.is-mini-player .mini-player-close{display:block}
.player-shell.is-mini-player .channel-logo{left:12px;top:11px;max-width:110px;max-height:48px}
.player-shell.is-mini-player .live-badge{right:46px;top:9px;transform:scale(.82);transform-origin:top right}
.player-shell.is-mini-player .sound-gate{min-width:180px;min-height:58px;padding:10px 14px;font-size:.75rem}
.player-shell.is-mini-player .sound-gate svg{width:25px;height:25px}
.player-shell.is-mini-player .custom-controls{padding:7px 8px}
.player-shell.is-mini-player .volume-slider{display:none}
.player-shell.is-mini-player .live-text{display:none}
.player-shell.is-mini-player .control-btn{height:34px;min-width:34px;padding:0 6px}
.player-shell.is-mini-player .quality-menu{bottom:42px}
@keyframes miniPlayerIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .player-shell.is-mini-player{width:min(360px,44vw)!important;right:14px;bottom:14px}
}
@media(max-width:639px){
  .player-shell.is-mini-player{position:relative!important;right:auto!important;bottom:auto!important;width:100%!important;box-shadow:none!important}
  .mini-player-close{display:none!important}
}

/* v7 radio portal */
.radio-section{margin-top:38px}.radio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.radio-card{background:#101620;border:1px solid #242c3a;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #0003;transition:.18s}
.radio-card:hover{transform:translateY(-3px);border-color:#44516a}.radio-card.is-playing{border-color:#e10600;box-shadow:0 0 0 1px #e1060038,0 16px 34px #0005}
.radio-cover{aspect-ratio:1.6/1;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#27314c,#0b0f17 68%)}
.radio-cover img{max-width:58%;max-height:58%;object-fit:contain;filter:drop-shadow(0 5px 12px #0008)}
.radio-placeholder{font-weight:950;letter-spacing:.14em;color:#aeb6c0}.radio-platform{position:absolute;left:11px;top:11px;font-size:.65rem;font-weight:900;padding:4px 8px;border-radius:999px;background:#222c3a;color:#dce6f4}
.radio-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}.radio-body strong{display:block}.radio-body span{display:block;color:#929bad;font-size:.82rem;margin-top:4px}
.radio-play{width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;display:grid;place-items:center;background:#e10600;color:#fff}
.radio-web{display:block;padding:0 14px 14px;color:#a9b7ca;font-size:.82rem;text-decoration:none}.radio-web:hover{color:#fff}
.pip-btn svg{width:22px;height:22px;fill:#fff}
@media(max-width:1050px){.radio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.radio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.radio-grid{grid-template-columns:1fr}}

/* v8 ficha pública del medio */
.media-info{padding:0 20px 20px;border-top:1px solid #202938;margin-top:2px}
.media-description{color:#c6cfda;line-height:1.6;margin:16px 0 10px;white-space:normal}
.media-location{color:#9eabbc;font-size:.9rem;margin-bottom:12px}
.media-links,.radio-socials{display:flex;flex-wrap:wrap;gap:8px}
.media-links a,.radio-socials a{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:#182131;border:1px solid #2d3a50;color:#e8eef7;text-decoration:none;font-size:.8rem;font-weight:750}
.media-links a:hover,.radio-socials a:hover{background:#222e43;border-color:#465977}
.media-links a.wa,.radio-socials a.wa{background:#123d2b;border-color:#1f6949}
.radio-extra{padding:0 14px 10px;color:#9eabbc;font-size:.8rem}
.radio-extra span{display:block;margin-bottom:7px}.radio-extra p{margin:0;line-height:1.45;color:#b9c3d0}
.radio-socials{padding:0 14px 14px}.radio-socials a{font-size:.72rem;min-height:30px;padding:5px 9px}
@media(max-width:760px){.media-info{padding:0 13px 15px}.media-links a{font-size:.74rem}}

/* v9 SEO, marca y páginas amigables */
.site-logo{width:auto;height:52px;max-width:210px;object-fit:contain;display:block}
.portal-brand{text-decoration:none;color:#fff}
.facebook-channel-box{padding:18px 20px;background:#0d121b;border-top:1px solid #202938}
.facebook-channel-box h3{margin:0 0 4px}.facebook-channel-box iframe{display:block;margin-top:12px;width:100%;max-width:500px;background:#fff;border-radius:10px}
.radio-detail{max-width:900px;margin:28px auto}.radio-detail-card{background:#0e131d;border:1px solid #242c3a;border-radius:24px;padding:24px;box-shadow:0 24px 60px #0006}
.radio-detail-head{display:flex;align-items:center;gap:18px}.radio-detail-logo{width:120px;height:120px;display:grid;place-items:center;border-radius:22px;background:#111925;border:1px solid #2b3546;overflow:hidden}.radio-detail-logo img{max-width:82%;max-height:82%;object-fit:contain}
.radio-detail-head h2{font-size:1.65rem;margin:8px 0}.radio-detail-head p{margin:0;color:#a6b0bf}
.radio-now{display:flex;align-items:center;gap:14px;margin:22px 0}.radio-main-play{border-radius:999px;padding:13px 20px}.radio-now span{color:#9eabbc}
.radio-detail-card>.media-links{margin-top:18px}
.radio-detail-link{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#222c3a;color:#fff;text-decoration:none;font-weight:900}
@media(max-width:600px){.site-logo{height:44px;max-width:170px}.radio-detail-card{padding:16px;border-radius:18px}.radio-detail-logo{width:90px;height:90px}.radio-detail-head h2{font-size:1.3rem}}

/* v9.3 navegación/scroll y radio */
html{scroll-behavior:smooth;overflow-y:auto!important}
body.tv-portal{overflow-x:hidden!important;overflow-y:auto!important;min-height:100vh}
.portal-wrap{overflow:visible!important;min-height:100vh}
.portal-actions{display:flex;align-items:center;gap:10px;min-width:min(560px,58vw)}
.portal-actions .portal-search{flex:1;min-width:0}
.radio-jump{white-space:nowrap;text-decoration:none;background:#182131;border:1px solid #303d52;border-radius:999px;padding:10px 14px;font-size:.82rem;font-weight:850}
.radio-jump:hover{background:#222e43}
.radio-section{scroll-margin-top:18px;position:relative;z-index:1}
.facebook-channel-box iframe{overscroll-behavior:contain}
@media(max-width:760px){
 .portal-actions{width:100%;min-width:0}
 .radio-jump{padding:9px 12px}
}

/* v9.4: desactivar mini flotante automático para preservar el scroll */
.player-shell.is-mini-player{
  position:relative!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  height:auto!important;
  z-index:auto!important;
  box-shadow:none!important;
  animation:none!important;
}
.player-shell.is-mini-player .mini-player-close{display:none!important}
html,body{height:auto!important;min-height:100%!important;overflow-y:auto!important}
body.tv-portal{position:static!important;overscroll-behavior-y:auto!important}

.radio-state{padding:0 14px 10px;color:#9aa6b6;font-size:.78rem}

/* v9.5 reproductor visual de radio */
.radio-player-shell{position:relative;aspect-ratio:16/9;background:radial-gradient(circle at 50% 40%,#243047 0,#101620 42%,#070a0f 100%);overflow:hidden}
.radio-visual-bg{position:absolute;inset:0;background:
radial-gradient(circle at 20% 20%,rgba(255,255,255,.08),transparent 30%),
linear-gradient(135deg,rgba(255,255,255,.025),transparent 40%,rgba(255,255,255,.02));z-index:0}
.radio-main-logo{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:3;width:min(55%,var(--logo-width,220px));max-width:var(--logo-width,220px);max-height:var(--logo-max-height,140px);object-fit:contain;filter:drop-shadow(0 12px 30px rgba(0,0,0,.7))}
.radio-logo-fallback{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:3;font-size:clamp(2rem,7vw,5rem);font-weight:950;letter-spacing:.16em;color:#fff9}
.radio-wave{position:absolute;left:50%;top:68%;transform:translateX(-50%);z-index:4;display:flex;align-items:end;gap:5px;height:38px;opacity:.65}
.radio-wave i{display:block;width:5px;height:10px;border-radius:4px;background:#fff;animation:radioBars 1s ease-in-out infinite alternate;animation-play-state:paused}
.radio-player-shell.is-playing .radio-wave i{animation-play-state:running}
.radio-wave i:nth-child(2){animation-delay:.12s;height:23px}.radio-wave i:nth-child(3){animation-delay:.25s;height:15px}.radio-wave i:nth-child(4){animation-delay:.38s;height:31px}.radio-wave i:nth-child(5){animation-delay:.5s;height:18px}.radio-wave i:nth-child(6){animation-delay:.62s;height:27px}.radio-wave i:nth-child(7){animation-delay:.74s;height:13px}
@keyframes radioBars{to{height:36px;opacity:.35}}
.radio-player-shell .radio-big-play{z-index:8}
.radio-player-shell.is-playing .radio-big-play{opacity:0;pointer-events:none}
.radio-player-shell .radio-player-status{top:73%;z-index:8}
.radio-player-shell .radio-controls{z-index:9}
.radio-player-shell audio{display:none}
.radio-player-shell .icon-pause,.radio-player-shell .icon-muted{display:none}
.radio-player-shell.is-playing .icon-play{display:none}.radio-player-shell.is-playing .icon-pause{display:block}
.radio-player-shell.is-muted .icon-volume{display:none}.radio-player-shell.is-muted .icon-muted{display:block}
.radio-player-shell .live-badge{font-size:var(--live-font,14px);border-radius:var(--live-radius,12px)}
.radio-page-card{padding:0;overflow:hidden}.radio-page-player .player-shell{border-radius:22px 22px 0 0}
.radio-detail-head-under{padding:22px 24px 10px}.radio-page-card>.media-info{padding-left:24px;padding-right:24px}.radio-page-links{padding:0 24px 24px}
.embed-body{margin:0;background:#000;overflow:hidden}.embed-main{padding:0;margin:0}.embed-main .player-shell{border-radius:0;width:100%}
@media(max-width:650px){
 .radio-main-logo{width:min(62%,var(--logo-width,220px))}
 .radio-wave{top:66%;transform:translateX(-50%) scale(.82)}
 .radio-detail-head-under{padding:16px 14px 8px}.radio-page-links{padding:0 14px 16px}
}

/* v9.7 tarjetas de radio y vúmetro */
.radio-card[data-radio-href]{cursor:pointer}
.radio-card[data-radio-href]:focus{outline:2px solid #7aa7ff;outline-offset:3px}
.radio-player-shell{cursor:pointer}
.radio-player-shell .custom-controls,.radio-player-shell .live-badge,.radio-player-shell .radio-main-logo{cursor:default}
.radio-vumeter{position:absolute;left:50%;bottom:72px;transform:translateX(-50%);z-index:5;width:min(72%,520px);height:52px;display:flex;align-items:end;justify-content:center;gap:5px;pointer-events:none;opacity:.82}
.radio-vumeter b{display:block;flex:1;max-width:20px;min-width:4px;height:6%;border-radius:3px 3px 1px 1px;background:linear-gradient(to top,#20d66b 0 60%,#ffd84c 60% 82%,#ff4949 82% 100%);transition:height .07s linear}
.radio-player-shell:not(.is-playing) .radio-vumeter{opacity:.28}
@media(max-width:650px){.radio-vumeter{bottom:58px;height:38px;gap:3px;width:78%}}

/* v9.8: tarjetas de radio con enlace HTML real */
.radio-card{position:relative}
.radio-card-overlay{position:absolute;inset:0;z-index:1;border-radius:inherit;text-decoration:none}
.radio-card .radio-cover,.radio-card .radio-body,.radio-card .radio-state,.radio-card .radio-extra{position:relative;z-index:0;pointer-events:none}
.radio-card .radio-play,.radio-card .radio-socials,.radio-card .radio-socials a{position:relative;z-index:3;pointer-events:auto}
.radio-card .radio-detail-link{display:none!important}
.radio-platform-card{display:none!important}
.radio-card:hover .channel-thumb,.radio-card:hover .radio-cover{filter:brightness(1.05)}

/* v9.9 espectro de audio moderno para radios */
.radio-vumeter{display:none!important}
.radio-spectrum-wrap{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);z-index:5;width:min(82%,720px);height:118px;pointer-events:none;opacity:.96;filter:drop-shadow(0 8px 22px rgba(0,0,0,.45))}
.radio-spectrum{display:block;width:100%;height:100%}
.radio-player-shell:not(.is-playing) .radio-spectrum-wrap{opacity:.22}
.radio-player-shell.is-playing .radio-spectrum-wrap{animation:spectrumGlow 2.2s ease-in-out infinite alternate}
@keyframes spectrumGlow{from{filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}to{filter:drop-shadow(0 8px 30px rgba(46,208,255,.22))}}
@media(max-width:650px){.radio-spectrum-wrap{bottom:55px;width:88%;height:82px}}

/* v10: vúmetro de barras + línea/onda de fondo en tiempo real */
.radio-spectrum-wrap,.radio-spectrum,.radio-vumeter,.radio-wave{display:none!important}
.radio-audio-fx{
  position:absolute;
  left:50%;
  bottom:64px;
  transform:translateX(-50%);
  z-index:5;
  width:min(88%,820px);
  height:150px;
  pointer-events:none;
  opacity:.98;
  filter:drop-shadow(0 9px 25px rgba(0,0,0,.42));
}
.radio-audio-canvas{display:block;width:100%;height:100%}
.radio-player-shell:not(.is-playing) .radio-audio-fx{opacity:.16}
.radio-player-shell.is-playing .radio-audio-fx{animation:radioFxBreath 2.4s ease-in-out infinite alternate}
@keyframes radioFxBreath{
  from{filter:drop-shadow(0 8px 18px rgba(0,0,0,.36))}
  to{filter:drop-shadow(0 10px 30px rgba(49,208,255,.26))}
}
@media(max-width:650px){
  .radio-audio-fx{bottom:52px;width:92%;height:96px}
}

/* v10.1 radio autoplay */
.radio-player-status:empty{display:none!important}

/* v10.2: ocultar plataforma Shoutcast/Icecast en vistas públicas */
.tv-portal .radio-platform,
.radio-detail .radio-platform,
.radio-card .radio-platform{display:none!important}

/* v10.4 filtros geográficos */
.geo-filter{margin:18px 0 24px}
.geo-filter-row{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}
.geo-filter label{margin-top:0}
@media(max-width:650px){.geo-filter-row{grid-template-columns:1fr}}

/* v10.5: controles fijos y vúmetros ampliados en radios */
.radio-player-shell .radio-controls{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
  pointer-events:auto!important;
  background:linear-gradient(to top,rgba(4,7,11,.96),rgba(4,7,11,.62) 55%,rgba(4,7,11,0))!important;
  padding:18px 16px 12px!important;
}
.radio-player-shell .custom-controls{
  opacity:1!important;
  transform:none!important;
}
.radio-player-shell .controls-row{
  position:relative;
  z-index:20;
}
.radio-player-shell .radio-audio-fx{
  bottom:38px!important;
  width:min(96%,980px)!important;
  height:182px!important;
  z-index:5!important;
}
.radio-player-shell .radio-main-logo{
  top:39%!important;
}
.radio-player-shell .radio-player-status{
  top:69%!important;
}
.radio-player-shell .radio-live-text{
  pointer-events:none;
}
@media(max-width:850px){
  .radio-player-shell .radio-audio-fx{
    bottom:34px!important;
    width:96%!important;
    height:145px!important;
  }
  .radio-player-shell .radio-controls{
    padding:14px 10px 9px!important;
  }
}
@media(max-width:650px){
  .radio-player-shell .radio-audio-fx{
    bottom:42px!important;
    width:98%!important;
    height:110px!important;
  }
  .radio-player-shell .radio-main-logo{
    top:37%!important;
  }
}

/* v10.6: logo de radio arriba a la izquierda + VU más alto */
.radio-player-shell .radio-main-logo{
  left:24px!important;
  top:22px!important;
  transform:none!important;
  width:min(38%,var(--logo-width,220px))!important;
  max-width:var(--logo-width,220px)!important;
  max-height:var(--logo-max-height,140px)!important;
  object-fit:contain!important;
  z-index:6!important;
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.72))!important;
}
.radio-player-shell .radio-logo-fallback{
  left:24px!important;
  top:22px!important;
  transform:none!important;
  font-size:1.35rem!important;
  letter-spacing:.1em!important;
  z-index:6!important;
}
.radio-player-shell .radio-audio-fx{
  bottom:34px!important;
  width:min(97%,1080px)!important;
  height:245px!important;
  z-index:5!important;
}
.radio-player-shell .radio-player-status{
  top:62%!important;
}
@media(max-width:900px){
  .radio-player-shell .radio-main-logo{
    left:18px!important;
    top:17px!important;
    max-width:34%!important;
    max-height:110px!important;
  }
  .radio-player-shell .radio-audio-fx{
    bottom:36px!important;
    width:97%!important;
    height:190px!important;
  }
}
@media(max-width:650px){
  .radio-player-shell .radio-main-logo{
    left:12px!important;
    top:11px!important;
    max-width:31%!important;
    max-height:78px!important;
  }
  .radio-player-shell .radio-logo-fallback{
    left:12px!important;
    top:12px!important;
    font-size:.95rem!important;
  }
  .radio-player-shell .radio-audio-fx{
    bottom:42px!important;
    width:98%!important;
    height:138px!important;
  }
}

/* v10.7 footer / créditos */
.site-footer{
  margin-top:46px;
  border-top:1px solid #222b39;
  background:#090d13;
  color:#8f9bad;
}
.site-footer-inner{
  max-width:1180px;
  margin:0 auto;
  padding:24px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
  font-size:.82rem;
  text-align:center;
}
.footer-sep{opacity:.38}
@media(max-width:600px){
  .site-footer-inner{padding:20px 14px;font-size:.76rem}
  .footer-sep{display:none}
  .site-footer-inner span{width:100%}
}

/* v10.8: Bootstrap 5, movimiento fluido y responsive móvil/tablet/PC/TV */
body{background:#0b0d10;color:#eee}.wrap,.portal-wrap{animation:v108PageIn .48s cubic-bezier(.2,.7,.2,1) both}
.card,.watch-card,.channel-card,.radio-card,.radio-detail-card{transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s,background-color .28s}
.channel-card:hover,.radio-card:hover{transform:translateY(-6px) scale(1.012);box-shadow:0 20px 46px rgba(0,0,0,.48)}
.channel-card:focus-visible,.radio-card:focus-within,.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(74,171,255,.75)!important;outline-offset:3px}
.portal-nav{position:relative;isolation:isolate}.portal-nav:after{content:"";position:absolute;inset:-30px 10% auto;height:90px;background:radial-gradient(ellipse,rgba(64,145,255,.12),transparent 70%);z-index:-1;pointer-events:none}
.site-footer{background:linear-gradient(180deg,#090d13,#06080c)}.footer-credits{color:#c9d5e6;font-weight:700}
.admin-table{margin-bottom:0}.admin-table tr{transition:background-color .18s}.admin-table tbody tr:hover{background:rgba(255,255,255,.035)}
button,.btn{transition:transform .18s,box-shadow .18s,background-color .18s,border-color .18s}button:hover,.btn:hover{transform:translateY(-1px)}
@keyframes v108PageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wrap,.portal-wrap,.radio-player-shell.is-playing .radio-audio-fx{animation:none!important}.card,.watch-card,.channel-card,.radio-card,.radio-detail-card,button,.btn{transition:none!important}}
@media(min-width:1600px){.portal-wrap{max-width:1560px;margin-inline:auto}.channel-grid,.radio-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.portal-nav{padding-block:22px}.watch-card,.radio-detail-card{box-shadow:0 28px 80px rgba(0,0,0,.5)}}
@media(min-width:2200px){html{font-size:20px}.portal-wrap{max-width:2040px}.channel-grid,.radio-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.site-logo{height:68px;max-width:270px}.radio-player-shell .radio-audio-fx{height:300px!important}}
@media(max-width:991.98px){.wrap{padding-inline:16px}.topbar{align-items:flex-start;gap:14px}.topbar>.actions{width:100%}.admin-table{display:block;overflow-x:auto;white-space:nowrap}.portal-actions{min-width:0}.portal-search{width:100%}}
@media(max-width:575.98px){.wrap{padding:14px 10px}.topbar,.actions{flex-direction:column;align-items:stretch}.actions .btn,.actions form,.actions form button{width:100%}.card{padding:15px}.portal-actions{flex-direction:column;align-items:stretch}.radio-detail{margin:14px auto}.radio-detail-head{align-items:flex-start}.site-footer-inner{gap:5px}}

/* v10.9: aviso de sonido suave */
.sound-gate,.skin-youtube .sound-gate,.skin-broadcast .sound-gate,.skin-minimal .sound-gate,.skin-dark .sound-gate,.skin-twitch .sound-gate,.skin-cinema .sound-gate,.skin-glass .sound-gate,.skin-classic .sound-gate{
  min-width:210px;min-height:62px;padding:12px 20px;border-radius:999px;background:rgba(12,18,28,.58)!important;border:1px solid rgba(255,255,255,.28);box-shadow:0 12px 34px rgba(0,0,0,.32);backdrop-filter:blur(14px) saturate(125%);font-size:.86rem;letter-spacing:.045em;font-weight:750;
}
.sound-gate svg{width:27px;height:27px;opacity:.92}.sound-gate:hover{background:rgba(25,35,50,.76)!important;border-color:rgba(255,255,255,.48);filter:none;box-shadow:0 14px 38px rgba(0,0,0,.4)}
.sound-gate,.sound-gate:hover,.sound-gate:focus{transform:translate(-50%,-50%)!important}

/* v11: nuevas plantillas */
.skin-aurora{--accent:#48e5c2;border-radius:22px;border:1px solid rgba(116,242,217,.38);background:radial-gradient(circle at 15% 10%,#244761,#0a101b 56%,#080b12);box-shadow:0 20px 65px rgba(16,135,180,.2)}.skin-aurora .custom-controls{background:linear-gradient(transparent,rgba(5,17,27,.94));padding:18px}.skin-aurora .live-badge{background:linear-gradient(135deg,#26c99b,#167d9d);border-radius:999px}
.skin-neon{--accent:#e348ff;border-radius:14px;border:1px solid rgba(227,72,255,.52);box-shadow:inset 0 0 35px rgba(30,204,255,.08),0 0 28px rgba(227,72,255,.16)}.skin-neon .custom-controls{background:rgba(5,7,15,.86);border-top:1px solid rgba(37,218,255,.24)}.skin-neon .live-badge{background:#b817e0;box-shadow:0 0 16px #d945ff}
.skin-premium{--accent:#d9b75f;border-radius:18px;border:1px solid rgba(225,195,117,.55);background:#080808;box-shadow:0 24px 70px #000}.skin-premium .custom-controls{background:linear-gradient(transparent,rgba(8,7,4,.97));border-top:1px solid rgba(217,183,95,.24)}.skin-premium .live-badge{background:linear-gradient(135deg,#b78b2f,#f1d785);color:#171105}
.skin-crystal{--accent:#65bfff;border-radius:26px;border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 0 0 1px rgba(101,191,255,.12),0 22px 60px rgba(0,0,0,.42)}.skin-crystal .custom-controls{margin:0 12px 10px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(13,25,39,.58);backdrop-filter:blur(18px)}.skin-crystal .live-badge{background:rgba(43,145,216,.78);backdrop-filter:blur(8px);border-radius:999px}
.visualizer-spectrum .radio-audio-canvas{filter:saturate(1.25) drop-shadow(0 0 10px rgba(52,205,255,.3))}.visualizer-wave .radio-audio-canvas{filter:hue-rotate(35deg) drop-shadow(0 0 14px rgba(75,255,196,.38))}.visualizer-neon .radio-audio-canvas{filter:hue-rotate(245deg) saturate(1.8) drop-shadow(0 0 18px rgba(234,55,255,.6))}.visualizer-particles .radio-audio-canvas{filter:saturate(1.45) drop-shadow(0 0 14px rgba(60,220,255,.5))}

/* v10.9: espacios publicitarios */
.ad-staging:empty{display:none}.ad-slot{position:relative;width:100%;max-width:1180px;margin:18px auto;text-align:center;overflow:hidden;border-radius:14px}.ad-slot img{display:block;max-width:100%;width:auto;height:auto;max-height:280px;margin:auto;object-fit:contain}.ad-code{max-width:100%;overflow:hidden}.ad-preview{display:block;max-width:360px;max-height:180px;margin-top:12px;border-radius:10px}.ad-sidebar{margin:10px 0}.ad-sidebar img{max-height:420px}.ad-mobile{display:none}.ad-popup{position:fixed;z-index:100000;left:50%;bottom:24px;transform:translateX(-50%);width:min(92vw,720px);padding:10px;background:rgba(11,16,24,.94);border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 80px rgba(0,0,0,.72);backdrop-filter:blur(16px)}.ad-popup-close{position:absolute;right:6px;top:6px;z-index:3;width:34px;height:34px;padding:0;border-radius:50%;background:rgba(0,0,0,.72);font-size:24px;line-height:1}.ad-slot iframe{max-width:100%}
@media(max-width:767.98px){.ad-mobile{display:block}.ad-sidebar{display:none}.ad-slot{margin:12px auto;border-radius:10px}.ad-slot img{max-height:190px}.sound-gate{min-width:170px!important;min-height:52px!important;padding:9px 15px!important;font-size:.74rem!important}.sound-gate svg{width:23px;height:23px}}
@media(min-width:768px){.ad-mobile{display:none!important}}

/* v12: comunidad, favoritos, comentarios y reacciones */
.bot-field{position:absolute!important;left:-9999px!important;opacity:0}.account-shortcut{display:flex;justify-content:flex-end;margin:-10px 0 12px}.account-shortcut a{color:#b9c9dd;text-decoration:none;font-size:.84rem}.community-rail{position:fixed;right:18px;top:110px;width:290px;max-height:calc(100vh - 130px);overflow:auto;z-index:40}.community-side-block{background:rgba(13,19,29,.95);border:1px solid #28354a;border-radius:16px;padding:14px;margin-bottom:14px;box-shadow:0 16px 40px #0006}.community-side-block h3{font-size:.95rem;margin:0 0 10px}.community-side-block>a{display:flex;justify-content:space-between;gap:10px;padding:9px 4px;border-bottom:1px solid #263143;text-decoration:none;font-size:.8rem}.community-side-block blockquote{margin:0;padding:8px 4px;border-bottom:1px solid #263143}.community-side-block blockquote p{margin:4px 0;color:#aeb9c9;font-size:.76rem}.community-panel{max-width:900px;margin:28px auto;padding:20px;background:#0e141e;border:1px solid #273348;border-radius:20px}.community-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-list article{padding:14px 0;border-bottom:1px solid #273143}.comment-list time{margin-left:8px;color:#8794a6;font-size:.72rem}.comment-list p{margin:7px 0}.comment-like{padding:5px 9px;border-radius:999px;background:#202b3c;font-size:.72rem}.reaction-bar{position:absolute;z-index:25;right:14px;bottom:64px;display:flex;gap:5px;padding:6px;border-radius:999px;background:rgba(8,13,21,.55);backdrop-filter:blur(10px)}.reaction-bar button{width:34px;height:34px;padding:0;border-radius:50%;background:transparent;font-size:18px}.emoji-burst{position:absolute;z-index:40;right:25%;bottom:25%;font-size:42px;font-style:normal;animation:emojiBurst 1.5s ease-out forwards}@keyframes emojiBurst{to{transform:translateY(-180px) scale(1.7);opacity:0}}
@media(max-width:1450px){.community-rail{position:static;width:auto;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.community-side-block{margin:0}}
@media(max-width:700px){.community-rail{grid-template-columns:1fr}.reaction-bar{right:7px;bottom:52px}.reaction-bar button{width:29px;height:29px;font-size:15px}.community-head{align-items:flex-start;flex-direction:column}}

/* v12.1: portada ordenada, temas claro/oscuro y comunidad en tiempo real */
.community-rail{position:static!important;right:auto!important;top:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0;z-index:auto}.community-side-block{margin:0;min-width:0}.popular-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.popular-list a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:8px;border:1px solid #27364b;border-radius:11px;text-decoration:none}.popular-list img,.featured-comment img{width:38px;height:38px;object-fit:contain;border-radius:9px;background:#0a0f17}.featured-comments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.featured-comment{display:flex;gap:9px;padding:9px;border:1px solid #27364b;border-radius:11px;text-decoration:none}.featured-comment span{display:block;color:#72b9f0;font-size:.7rem}.featured-comment strong{font-size:.78rem}.featured-comment p{margin:3px 0 0;color:#aeb9c9;font-size:.74rem;line-height:1.35}.theme-toggle{position:fixed;z-index:100010;right:16px;bottom:16px;padding:10px 14px;border-radius:999px;background:rgba(15,24,36,.88);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(12px);font-size:.78rem}.reaction-bar{pointer-events:auto}.reaction-bar button{transform:none!important}.emoji-burst{bottom:18%;right:auto;pointer-events:none}
html[data-theme="light"]{color-scheme:light}html[data-theme="light"] body,html[data-theme="light"] body.tv-portal{background:#eef3f8!important;color:#172131!important}html[data-theme="light"] .portal-wrap,html[data-theme="light"] .wrap{color:#172131}html[data-theme="light"] .portal-nav,html[data-theme="light"] .card,html[data-theme="light"] .watch-card,html[data-theme="light"] .radio-card,html[data-theme="light"] .channel-card,html[data-theme="light"] .community-panel,html[data-theme="light"] .community-side-block{background:#fff!important;color:#172131!important;border-color:#d4deea!important;box-shadow:0 10px 30px rgba(32,58,82,.1)}html[data-theme="light"] a{color:#17385b}html[data-theme="light"] .muted,html[data-theme="light"] .channel-card-body span,html[data-theme="light"] .radio-body span{color:#607187}html[data-theme="light"] input,html[data-theme="light"] textarea,html[data-theme="light"] select{background:#f7f9fc;color:#172131;border-color:#c8d4e2}html[data-theme="light"] .community-side-block a,html[data-theme="light"] .featured-comment{border-color:#dce5ef}html[data-theme="light"] .featured-comment p{color:#5c6b7d}html[data-theme="light"] .site-footer{background:#dae3ed;color:#425267}
@media(max-width:900px){.community-rail,.popular-list,.featured-comments{grid-template-columns:1fr}.theme-toggle{right:10px;bottom:10px}}


/* v12.2 Bootstrap Professional UI + PWA */
:root{--ssp-surface:rgba(13,20,32,.88);--ssp-border:rgba(148,163,184,.16);--ssp-shadow:0 22px 60px rgba(0,0,0,.30)}
body.tv-portal,body.auth-page{background:radial-gradient(circle at 12% 0%,rgba(37,99,235,.14),transparent 30%),radial-gradient(circle at 88% 8%,rgba(14,165,233,.10),transparent 28%),#070b12!important;color:#eef4ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.portal-nav,.watch-card,.portal-side,.channel-card,.radio-card,.radio-detail-card,.community-panel,.community-side-block,.geo-filter{border-color:var(--ssp-border)!important;box-shadow:var(--ssp-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.portal-nav{background:rgba(8,13,22,.76)!important;border-radius:22px!important;position:sticky;top:10px;z-index:1000;padding:14px 18px!important}
.portal-search input,.geo-filter select,.community-panel textarea{border-radius:12px!important;border:1px solid rgba(148,163,184,.22)!important;background:#0b1320!important;color:#f8fafc!important;min-height:44px}
.channel-card,.radio-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.channel-card:hover,.radio-card:hover{transform:translateY(-4px);border-color:rgba(59,130,246,.5)!important;box-shadow:0 24px 60px rgba(0,0,0,.42)}
.channels-heading h2{font-weight:800;letter-spacing:-.025em}.account-shortcut a,.radio-jump,.media-links a,.radio-socials a{border-radius:999px!important}
.community-panel{background:var(--ssp-surface)!important}.reaction-bar{background:rgba(8,13,21,.78)!important;border:1px solid rgba(255,255,255,.12)}
.reaction-bar button:hover{background:rgba(255,255,255,.10)!important;transform:scale(1.12)!important}
.app-install-btn{position:fixed;left:18px;bottom:18px;z-index:100020;font-weight:700;padding:.7rem 1rem}
.auth-page{min-height:100vh}.auth-card{background:rgba(12,19,31,.88)!important;border:1px solid var(--ssp-border)!important;border-radius:24px!important;box-shadow:var(--ssp-shadow);backdrop-filter:blur(20px)}.auth-card .form-control{background:#0a111d;border-color:#263348;color:#fff}.auth-card .form-control:focus{background:#0a111d;color:#fff;border-color:#3b82f6;box-shadow:0 0 0 .25rem rgba(59,130,246,.16)}.auth-card .form-floating>label{color:#94a3b8}.auth-divider{display:flex;align-items:center;gap:12px;color:#718096;font-size:.8rem;margin:1.3rem 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#263348}.btn-facebook{background:#1877f2!important;color:#fff!important;border-color:#1877f2!important}.btn-facebook:hover{background:#0f6ae0!important}.google-login-wrap{display:flex;justify-content:center;min-height:44px;overflow:hidden}
@media(max-width:768px){.portal-nav{top:6px;border-radius:16px!important}.app-install-btn{left:12px;bottom:12px}.auth-card{border-radius:18px!important}.portal-actions{flex-wrap:wrap}.portal-search{width:100%}}
@media(display-mode:standalone){.app-install-btn{display:none!important}}
.embed-body .reaction-bar,.embed-body .emoji-burst,.embed-body .theme-toggle{display:none!important}


/* v12.3: plantilla clara profesional completa */
html[data-theme="light"]{color-scheme:light;--ssp-surface:rgba(255,255,255,.94);--ssp-border:rgba(96,118,143,.18);--ssp-shadow:0 18px 48px rgba(51,72,95,.12)}
html[data-theme="light"] body,
html[data-theme="light"] body.tv-portal,
html[data-theme="light"] body.auth-page{background:radial-gradient(circle at 10% 0%,rgba(37,99,235,.08),transparent 28%),radial-gradient(circle at 90% 8%,rgba(14,165,233,.07),transparent 26%),#f4f7fb!important;color:#172131!important}
html[data-theme="light"] .portal-nav{background:rgba(255,255,255,.90)!important;border-color:#d9e2ec!important;box-shadow:0 12px 36px rgba(47,70,96,.10)!important}
html[data-theme="light"] .portal-brand,html[data-theme="light"] .portal-brand h1,html[data-theme="light"] .portal-brand strong{color:#172131!important}
html[data-theme="light"] .portal-brand small{color:#6b7c90!important}
html[data-theme="light"] .portal-search input,
html[data-theme="light"] .geo-filter select,
html[data-theme="light"] .community-panel textarea,
html[data-theme="light"] .form-control,
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select{background:#fff!important;color:#172131!important;border-color:#cdd9e6!important;box-shadow:none}
html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:#8797aa!important}
html[data-theme="light"] .watch-card,
html[data-theme="light"] .portal-side,
html[data-theme="light"] .channel-card,
html[data-theme="light"] .radio-card,
html[data-theme="light"] .radio-detail-card,
html[data-theme="light"] .community-panel,
html[data-theme="light"] .community-side-block,
html[data-theme="light"] .geo-filter,
html[data-theme="light"] .auth-card,
html[data-theme="light"] .card{background:#fff!important;color:#172131!important;border-color:#d9e2ec!important;box-shadow:0 14px 38px rgba(50,72,96,.10)!important}
html[data-theme="light"] .channel-card:hover,html[data-theme="light"] .radio-card:hover{background:#fff!important;border-color:#9bb8d8!important;box-shadow:0 20px 46px rgba(50,72,96,.16)!important}
html[data-theme="light"] .channel-card,html[data-theme="light"] .side-channel{color:#172131!important}
html[data-theme="light"] .side-channel{background:#f7f9fc!important;border-color:#e0e7ef!important}
html[data-theme="light"] .side-channel:hover,html[data-theme="light"] .side-channel.active{background:#eef4fb!important;border-color:#b9cee5!important}
html[data-theme="light"] .channel-thumb{background:radial-gradient(circle at 30% 20%,#edf4fb,#dde7f1 70%)!important}
html[data-theme="light"] .channel-thumb img{filter:drop-shadow(0 5px 12px rgba(48,68,92,.18))}
html[data-theme="light"] .channel-card-body strong,html[data-theme="light"] .radio-body strong,html[data-theme="light"] .channels-heading h2,html[data-theme="light"] h1,html[data-theme="light"] h2,html[data-theme="light"] h3{color:#172131!important}
html[data-theme="light"] .muted,html[data-theme="light"] .text-secondary,html[data-theme="light"] .channel-card-body span,html[data-theme="light"] .radio-body span,html[data-theme="light"] .channels-heading span{color:#65768b!important}
html[data-theme="light"] .radio-cover{background:linear-gradient(145deg,#eef3f8,#dce6f0)!important}
html[data-theme="light"] .radio-state,html[data-theme="light"] .radio-extra{color:#607187!important;border-color:#e0e7ef!important}
html[data-theme="light"] .media-links a,html[data-theme="light"] .radio-socials a,html[data-theme="light"] .radio-jump,html[data-theme="light"] .account-shortcut a{background:#eef4fb!important;color:#224b73!important;border-color:#cbdced!important}
html[data-theme="light"] .community-side-block>a,html[data-theme="light"] .community-side-block blockquote,html[data-theme="light"] .comment-list article,html[data-theme="light"] .popular-list a,html[data-theme="light"] .featured-comment{border-color:#e0e7ef!important;color:#26384c!important}
html[data-theme="light"] .featured-comment p,html[data-theme="light"] .community-side-block blockquote p{color:#66788d!important}
html[data-theme="light"] .comment-like{background:#edf3f9!important;color:#294a6c!important}
html[data-theme="light"] .site-footer{background:#e8eef5!important;color:#536579!important;border-top:1px solid #d7e0ea}
html[data-theme="light"] .auth-card .form-control{background:#fff!important;color:#172131!important;border-color:#cbd7e4!important}
html[data-theme="light"] .auth-card .form-floating>label{color:#697b90!important}
html[data-theme="light"] .auth-divider{color:#75869a!important}html[data-theme="light"] .auth-divider:before,html[data-theme="light"] .auth-divider:after{background:#d8e1eb!important}
html[data-theme="light"] .btn-outline-light{color:#274767!important;border-color:#aebfd0!important;background:#fff!important}
html[data-theme="light"] .btn-outline-light:hover{background:#eef4fb!important;color:#17385b!important}
html[data-theme="light"] .theme-toggle{background:rgba(255,255,255,.94)!important;color:#24384e!important;border:1px solid #cdd9e5!important;box-shadow:0 10px 30px rgba(43,66,91,.16)!important}
html[data-theme="light"] .notice{background:#e8f7ee!important;color:#1d5a35!important}html[data-theme="light"] .notice.error{background:#fff0f0!important;color:#8c2c2c!important}
html[data-theme="light"] .admin-table th,html[data-theme="light"] .admin-table td{border-color:#e0e7ef!important}
html[data-theme="light"] code,html[data-theme="light"] pre{background:#f5f7fa!important;color:#22364d!important;border-color:#d8e1eb!important}
/* El player y sus controles conservan fondo oscuro para legibilidad del video/audio. */
html[data-theme="light"] .player-shell,html[data-theme="light"] .radio-player-shell{color:#fff}


/* v12.4 - TEMA CLARO UNICO (frontend + backend) */
:root{
  color-scheme:light;
  --ssp-bg:#f4f7fb;
  --ssp-surface:#ffffff;
  --ssp-surface-soft:#f8fafc;
  --ssp-border:#dce5ef;
  --ssp-text:#172131;
  --ssp-muted:#66788d;
  --ssp-primary:#2563eb;
  --ssp-primary-hover:#1d4ed8;
  --ssp-danger:#c62828;
  --ssp-success:#217a46;
  --ssp-shadow:0 14px 38px rgba(50,72,96,.10);
}
html{background:var(--ssp-bg)!important;color-scheme:light!important}
body:not(.embed-body),body.tv-portal,body.auth-page{
  background:linear-gradient(180deg,#f8fbff 0,#f4f7fb 38%,#eef3f8 100%)!important;
  color:var(--ssp-text)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
}
body:not(.embed-body) a{color:#24527d}
body:not(.embed-body) h1,body:not(.embed-body) h2,body:not(.embed-body) h3,body:not(.embed-body) h4,body:not(.embed-body) h5,body:not(.embed-body) h6{color:var(--ssp-text)}
body:not(.embed-body) .muted,body:not(.embed-body) .text-secondary,body:not(.embed-body) small{color:var(--ssp-muted)!important}
.wrap,.portal-wrap{color:var(--ssp-text)!important}

/* Superficies generales */
body:not(.embed-body) .card,
body:not(.embed-body) .portal-nav,
body:not(.embed-body) .watch-card,
body:not(.embed-body) .portal-side,
body:not(.embed-body) .channel-card,
body:not(.embed-body) .radio-card,
body:not(.embed-body) .radio-detail-card,
body:not(.embed-body) .community-panel,
body:not(.embed-body) .community-side-block,
body:not(.embed-body) .geo-filter,
body:not(.embed-body) .auth-card{
  background:#fff!important;
  color:var(--ssp-text)!important;
  border-color:var(--ssp-border)!important;
  box-shadow:var(--ssp-shadow)!important;
}
.portal-nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body:not(.embed-body) .channel-card:hover,body:not(.embed-body) .radio-card:hover{background:#fff!important;border-color:#a9c2dd!important;box-shadow:0 20px 48px rgba(50,72,96,.16)!important}

/* Formularios */
body:not(.embed-body) input,
body:not(.embed-body) textarea,
body:not(.embed-body) select,
body:not(.embed-body) .form-control,
body:not(.embed-body) .form-select,
body:not(.embed-body) .portal-search input,
body:not(.embed-body) .geo-filter select,
body:not(.embed-body) .community-panel textarea{
  background:#fff!important;
  color:var(--ssp-text)!important;
  border:1px solid #cbd7e4!important;
  box-shadow:none!important;
}
body:not(.embed-body) input:focus,body:not(.embed-body) textarea:focus,body:not(.embed-body) select:focus,body:not(.embed-body) .form-control:focus,body:not(.embed-body) .form-select:focus{
  border-color:#7ba7d4!important;
  box-shadow:0 0 0 .2rem rgba(37,99,235,.10)!important;
  outline:0;
}
body:not(.embed-body) input::placeholder,body:not(.embed-body) textarea::placeholder{color:#8797aa!important}
body:not(.embed-body) label{color:#31465d}

/* Botones */
body:not(.embed-body) .btn,body:not(.embed-body) button:not(.control-btn):not(.reaction-bar button):not(.sound-gate):not(.big-play){background:var(--ssp-primary);color:#fff;border-color:transparent}
body:not(.embed-body) .btn:hover,body:not(.embed-body) button:not(.control-btn):not(.reaction-bar button):not(.sound-gate):not(.big-play):hover{background:var(--ssp-primary-hover);color:#fff}
body:not(.embed-body) .btn.secondary{background:#eaf1f8!important;color:#294966!important;border:1px solid #cbd9e7!important}
body:not(.embed-body) .btn.secondary:hover{background:#dfeaf4!important;color:#1f3e59!important}
body:not(.embed-body) .btn.danger{background:#c62828!important;color:#fff!important}
body:not(.embed-body) .btn-outline-light{background:#fff!important;color:#274767!important;border-color:#aebfd0!important}
body:not(.embed-body) .btn-outline-light:hover{background:#eef4fb!important;color:#17385b!important}

/* Tablas y panel administrativo */
.admin-table{background:#fff;color:var(--ssp-text);border-radius:12px;overflow:hidden}
.admin-table th{background:#f2f6fa!important;color:#31465d!important;font-weight:750}
.admin-table th,.admin-table td{border-color:#e1e8f0!important}
.admin-table tbody tr:hover{background:#f8fbfe}
code,pre{background:#f5f7fa!important;color:#22364d!important;border-color:#d8e1eb!important}
.notice{background:#e8f7ee!important;color:#1d5a35!important;border:1px solid #c7ead4}
.notice.error,.error{background:#fff0f0!important;color:#8c2c2c!important;border-color:#f0caca!important}

/* Frontend */
.tv-portal{background:linear-gradient(180deg,#f8fbff,#eef3f8)!important;color:var(--ssp-text)!important}
.portal-brand,.portal-brand h1,.portal-brand small{color:var(--ssp-text)!important}
.portal-brand-mark{box-shadow:0 8px 24px rgba(227,27,35,.18)!important}
.watch-logo,.side-placeholder,.popular-list img,.featured-comment img{background:#f3f6fa!important;border-color:#dce5ef!important}
.side-channel{background:#f7f9fc!important;color:var(--ssp-text)!important;border:1px solid #e0e7ef!important}
.side-channel:hover,.side-channel.active{background:#eef4fb!important;border-color:#b9cee5!important}
.channel-card{color:var(--ssp-text)!important}
.channel-thumb{background:radial-gradient(circle at 30% 20%,#edf4fb,#dde7f1 70%)!important}
.channel-thumb img{filter:drop-shadow(0 5px 12px rgba(48,68,92,.18))!important}
.channel-card-body strong,.radio-body strong,.channels-heading h2{color:var(--ssp-text)!important}
.channel-card-body span,.radio-body span,.channels-heading span,.radio-state,.radio-extra{color:var(--ssp-muted)!important}
.radio-cover{background:linear-gradient(145deg,#eef3f8,#dce6f0)!important}
.radio-jump,.media-links a,.radio-socials a,.account-shortcut a{background:#eef4fb!important;color:#224b73!important;border-color:#cbdced!important}
.community-side-block>a,.community-side-block blockquote,.comment-list article,.popular-list a,.featured-comment{border-color:#e0e7ef!important;color:#26384c!important}
.featured-comment p,.community-side-block blockquote p{color:#66788d!important}
.comment-like{background:#edf3f9!important;color:#294a6c!important}
.site-footer{background:#e7edf4!important;color:#536579!important;border-top:1px solid #d7e0ea!important}
.auth-divider{color:#75869a!important}.auth-divider:before,.auth-divider:after{background:#d8e1eb!important}

/* Publicidad y popups integrados */
.ad-popup{background:rgba(255,255,255,.97)!important;border:1px solid #d7e0ea!important;box-shadow:0 24px 80px rgba(48,68,92,.24)!important}
.ad-popup-close{background:#eef3f8!important;color:#31465d!important;border:1px solid #d5e0ea!important}

/* Sin selector ni modo oscuro */
.theme-toggle{display:none!important}

/* El área multimedia mantiene negro neutro para contraste del video/audio. */
.player-shell,.radio-player-shell{color:#fff}

@media(max-width:767.98px){
  .wrap{padding:14px}.portal-wrap{padding:14px 14px 36px}
  .admin-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* v12.5 - plantilla clara profesional inspirada en la referencia aprobada */
:root{
  --rm-blue:#1267f4;
  --rm-blue-2:#0a58e8;
  --rm-ink:#0d1b3d;
  --rm-text:#263b5e;
  --rm-muted:#6f83a1;
  --rm-line:#dce7f4;
  --rm-soft:#f5f9ff;
  --rm-bg:#f8fbff;
  --rm-shadow:0 18px 48px rgba(28,66,112,.10);
}
body:not(.embed-body){background:#f8fbff!important;color:var(--rm-ink)!important}
body:not(.embed-body) .wrap,body:not(.embed-body) .portal-wrap{max-width:1320px;margin-inline:auto}

/* Cabecera pública */
.portal-nav{background:rgba(255,255,255,.96)!important;border:1px solid #e6edf6!important;border-radius:20px!important;padding:14px 18px!important;box-shadow:0 8px 28px rgba(45,78,118,.08)!important;margin-bottom:18px!important}
.portal-nav:after{display:none!important}.portal-brand{gap:12px!important}.portal-brand h1{font-size:1.15rem!important;font-weight:850!important;letter-spacing:-.025em}.portal-brand small{font-size:.78rem!important}.site-logo{max-height:48px!important;max-width:220px!important;object-fit:contain}.portal-brand-mark{background:linear-gradient(135deg,var(--rm-blue),#4c8cff)!important;color:#fff!important;border-radius:14px!important;box-shadow:0 8px 20px rgba(18,103,244,.25)!important}
.portal-actions{gap:12px!important}.portal-search input{height:46px!important;border-radius:999px!important;background:#f7faff!important;border-color:#e0e9f5!important;padding-inline:18px!important}.radio-jump,.account-shortcut a{background:#fff!important;border:1px solid #dce7f4!important;color:#24476d!important;border-radius:999px!important;box-shadow:0 5px 16px rgba(55,86,121,.06)!important}

/* Superficies/tarjetas */
body:not(.embed-body) .card,body:not(.embed-body) .watch-card,body:not(.embed-body) .portal-side,body:not(.embed-body) .channel-card,body:not(.embed-body) .radio-card,body:not(.embed-body) .radio-detail-card,body:not(.embed-body) .community-panel,body:not(.embed-body) .community-side-block{border:1px solid #e0e9f4!important;border-radius:22px!important;box-shadow:var(--rm-shadow)!important;background:#fff!important}
.watch-card,.portal-side{overflow:hidden}.watch-meta{padding:18px 22px!important}.watch-title h2{font-weight:850!important;letter-spacing:-.025em}.watch-title p{color:var(--rm-muted)!important}.watch-logo{border-radius:14px!important;background:#fff!important;border:1px solid #e1e9f3!important}
.portal-side{padding:20px!important}.portal-side h3{font-size:1rem!important;font-weight:800!important;color:var(--rm-ink)!important;margin-bottom:14px!important}.side-channel{border-radius:14px!important;padding:10px!important;margin-bottom:8px!important;background:#fff!important}.side-channel.active{background:#eef5ff!important;border-color:#c8dcf7!important}.mini-live,.card-live,.live-badge{background:#eb1224!important;color:#fff!important}.mini-live{font-weight:900!important;letter-spacing:.02em!important;border-radius:999px!important;padding:5px 8px!important}.side-channel .mini-live{color:#fff!important}
.channels-heading h2{font-weight:850!important;letter-spacing:-.02em}.channel-card,.radio-card{overflow:hidden}.channel-card:hover,.radio-card:hover{transform:translateY(-4px)!important;box-shadow:0 20px 42px rgba(34,72,112,.14)!important}.channel-card-body{padding:16px!important}.channel-card-body strong,.radio-body strong{font-weight:800!important}.channel-thumb{background:linear-gradient(145deg,#f8fbff,#edf4fc)!important}.radio-cover{background:linear-gradient(145deg,#f7faff,#edf3fa)!important}
.geo-filter{padding:18px 20px!important}.geo-filter label{font-size:.82rem!important;font-weight:800!important;color:#536a88!important}.geo-filter select{height:46px!important;border-radius:12px!important}

/* Comunidad */
.community-panel,.community-side-block{color:var(--rm-ink)!important}.community-panel textarea{border-radius:14px!important}.comment-like{border:1px solid #dbe7f4!important}.reaction-bar{background:rgba(255,255,255,.88)!important;border:1px solid rgba(211,225,241,.9)!important;box-shadow:0 8px 26px rgba(27,59,92,.12)!important}.reaction-bar button{color:inherit!important}

/* Administración */
.wrap{padding-top:30px!important;padding-bottom:44px!important}.wrap>.topbar{padding:18px 20px!important;background:#fff!important;border:1px solid #e1eaf4!important;border-radius:20px!important;box-shadow:0 10px 32px rgba(42,73,107,.08)!important;margin-bottom:20px!important}.wrap>.topbar h1{font-size:1.65rem!important;font-weight:850!important;letter-spacing:-.03em!important;margin:0!important}.wrap>.topbar .muted{margin:.35rem 0 0!important}.actions{gap:8px!important}.btn,.wrap button{border-radius:11px!important;font-weight:750!important;box-shadow:none!important}.btn:not(.secondary):not(.danger):not(.live-page-link):not(.modern-back-btn):not(.modern-social-btn){background:linear-gradient(135deg,var(--rm-blue),var(--rm-blue-2))!important;border-color:transparent!important;color:#fff!important}.btn.secondary{background:#f4f8fd!important;color:#294c70!important;border:1px solid #dbe6f1!important}.btn.danger{background:#c92b35!important;color:#fff!important}.admin-table{border:1px solid #e0e8f1!important;border-radius:16px!important}.admin-table th{background:#f7faff!important;color:#536a88!important;text-transform:uppercase!important;font-size:.72rem!important;letter-spacing:.045em!important}.admin-table td{color:#29405e!important}.admin-table tbody tr:hover{background:#f9fbfe!important}.wrap .card{padding:24px!important}.wrap input,.wrap select,.wrap textarea{border-radius:11px!important;min-height:44px!important}.wrap textarea{min-height:auto!important}.wrap label{font-size:.84rem!important;color:#3c5675!important;margin-top:14px!important}

/* Cuenta / login estilo referencia */
.modern-auth{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff 0,#f7faff 16%,#f3f8fe 100%)!important}.modern-site-header{background:rgba(255,255,255,.98);border-bottom:1px solid #e6edf6;box-shadow:0 5px 22px rgba(40,74,113,.05);position:sticky;top:0;z-index:100}.modern-header-inner{max-width:1460px;margin:0 auto;min-height:72px;padding:10px 28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}.modern-brand{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:var(--rm-ink)!important}.modern-brand-image{height:46px;max-width:230px;object-fit:contain}.modern-brand-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--rm-blue),#3b82f6);color:#fff;box-shadow:0 7px 20px rgba(18,103,244,.25);font-size:1.4rem}.modern-brand-copy{display:flex;flex-direction:column;line-height:1.05}.modern-brand-copy strong{font-size:1.18rem;font-weight:900;letter-spacing:-.035em}.modern-brand-copy small{margin-top:5px;font-size:.72rem;color:var(--rm-muted)!important}.modern-main-nav{display:flex;justify-content:center;gap:25px}.modern-main-nav a{font-size:.88rem;font-weight:750;color:#263d5c!important;text-decoration:none;display:flex;align-items:center;gap:7px}.modern-main-nav a:hover{color:var(--rm-blue)!important}.modern-login-pill{border-radius:12px!important;padding:10px 17px!important}.modern-auth-main{width:min(1320px,calc(100% - 36px));margin:0 auto;padding:34px 0 38px;flex:1}.modern-channel-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px;padding:0 4px}.modern-channel-identity{display:flex;align-items:center;gap:14px}.modern-channel-logo{width:58px;height:58px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid #dce6f1;box-shadow:0 8px 20px rgba(43,75,110,.10);padding:4px}.site-fallback-logo{width:auto;max-width:180px;padding:6px}.modern-channel-fallback{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--rm-blue),#5692ff);color:#fff;font-size:1.35rem}.modern-channel-identity h1{margin:0;color:var(--rm-ink)!important;font-size:1.45rem;font-weight:900;letter-spacing:-.03em}.modern-channel-identity p{margin:4px 0 0;color:var(--rm-muted);font-size:.85rem}.modern-channel-actions{display:flex;gap:12px}.modern-back-btn{background:#fff!important;color:#345171!important;border:1px solid #dce6f0!important;border-radius:999px!important;padding:10px 18px!important;box-shadow:0 7px 20px rgba(48,76,109,.07)!important}.modern-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.modern-auth-card{background:#fff;border:1px solid #dfe8f3;border-radius:22px;box-shadow:0 18px 46px rgba(33,70,110,.09);overflow:hidden}.modern-auth-card-body{padding:42px 46px}.modern-auth-card h2{margin:0 0 8px;font-size:1.85rem;font-weight:900;letter-spacing:-.035em;color:var(--rm-ink)!important}.modern-auth-lead{margin:0 0 26px;color:#6d809d;font-size:.96rem}.modern-field{margin-bottom:15px}.modern-field label{display:block;margin:0 0 8px!important;color:#3b5373!important;font-size:.79rem!important;font-weight:800!important}.modern-input-wrap{position:relative}.modern-input-wrap>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;color:#536d91;font-size:1.05rem}.modern-input-wrap .form-control{height:52px!important;border-radius:10px!important;border:1px solid #d6e1ee!important;padding:12px 15px 12px 46px!important;font-size:.94rem!important;color:#203754!important;background:#fff!important}.modern-input-wrap .form-control::placeholder{color:#9aa9ba!important}.modern-input-wrap .form-control:focus{border-color:#78a8ee!important;box-shadow:0 0 0 3px rgba(18,103,244,.10)!important}.modern-submit{width:100%;min-height:50px;border-radius:10px!important;display:flex!important;align-items:center;justify-content:center;gap:10px;font-weight:850!important}.auth-divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:#7386a2!important;font-size:.78rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e0e8f2!important}.modern-social-stack{display:grid;gap:10px}.modern-social-btn{min-height:48px;background:#fff!important;color:#183154!important;border:1px solid #d8e3ef!important;border-radius:10px!important;display:flex!important;align-items:center;justify-content:center;gap:10px;font-weight:800!important}.modern-social-btn i{color:#1877f2;font-size:1.15rem}.google-login-wrap{display:flex;justify-content:center;min-height:44px;overflow:hidden}.modern-terms{text-align:center;margin:18px 0 0;color:#71839b;font-size:.78rem}.modern-alert{max-width:100%;border-radius:14px!important}.modern-auth-footer{background:#fff;border-top:1px solid #e3ebf4}.modern-auth-footer-inner{max-width:1460px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#61758f;font-size:.78rem}.modern-footer-brand{display:flex;align-items:center;gap:8px;color:#1f3b61}.modern-footer-brand img{height:30px;max-width:160px;object-fit:contain}.small-symbol{width:28px;height:28px;font-size:.9rem}

@media(max-width:991.98px){.modern-header-inner{grid-template-columns:1fr auto}.modern-main-nav{display:none}.modern-auth-grid{grid-template-columns:1fr}.modern-auth-main{width:min(760px,calc(100% - 28px))}.modern-auth-card-body{padding:34px 30px}.modern-channel-bar{align-items:flex-start}.portal-hero{grid-template-columns:1fr!important}.portal-side{order:2}}
@media(max-width:575.98px){.modern-header-inner{padding:9px 14px;gap:10px}.modern-brand-copy small{display:none}.modern-brand-copy strong{font-size:1rem}.modern-brand-image{height:38px;max-width:150px}.modern-login-pill{font-size:.75rem;padding:9px 10px!important}.modern-auth-main{width:calc(100% - 20px);padding-top:20px}.modern-channel-bar{flex-direction:column}.modern-channel-actions{width:100%}.modern-channel-actions .btn{flex:1;text-align:center}.modern-channel-identity h1{font-size:1.22rem}.modern-auth-card-body{padding:26px 18px}.modern-auth-card h2{font-size:1.55rem}.modern-auth-footer-inner{padding:16px;flex-direction:column;text-align:center}.portal-nav{border-radius:16px!important;padding:12px!important}}

/* v12.6.1: player reactions removed */
.reaction-bar,.emoji-burst{display:none!important}
