/* Rockola Pro: misma estética de la página de inicio para los paneles */
:root{
 --pro-bg:#07060e;
 --pro-card:rgba(22,19,40,.62);
 --pro-line:rgba(255,255,255,.08); --pro-line-h:rgba(168,85,247,.45);
 --pro-v:#8b5cf6; --pro-p:#ec4899; --pro-c:#22d3ee;
 --pro-grad:linear-gradient(135deg,#8b5cf6 0%,#ec4899 55%,#f97316 100%);
 --pro-txt:#ece9ff; --pro-mut:#a19cc0;
 --pro-glow:0 14px 40px -16px rgba(139,92,246,.6);
}
html{background:var(--pro-bg)!important}
body{background:transparent!important;color:var(--pro-txt);min-height:100vh}
body::before{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;
 background:
  radial-gradient(38% 32% at 15% 10%,rgba(139,92,246,.22),transparent 70%),
  radial-gradient(34% 30% at 85% 18%,rgba(236,72,153,.15),transparent 70%),
  radial-gradient(40% 34% at 50% 100%,rgba(34,211,238,.11),transparent 70%);
 animation:proAurora 24s ease-in-out infinite alternate}
@keyframes proAurora{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3%,-2%,0) scale(1.06)}100%{transform:translate3d(-3%,2%,0) scale(1.02)}}
::selection{background:rgba(236,72,153,.35);color:#fff}
*{scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.45) transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:linear-gradient(#8b5cf6,#ec4899);border-radius:9px}
::-webkit-scrollbar-track{background:transparent}
:focus-visible{outline:2px solid rgba(168,85,247,.75);outline-offset:2px}
h1,h2,h3{font-family:'Outfit',system-ui,sans-serif;letter-spacing:-.02em}

/* Títulos con brillo */
.pro-title{background:linear-gradient(90deg,#fff 0%,#c4b5fd 30%,#f0abfc 50%,#fff 70%);background-size:250% auto;
 -webkit-background-clip:text;background-clip:text;color:transparent!important;animation:proShine 9s linear infinite}
@keyframes proShine{to{background-position:250% center}}

/* Barras fijas y menú lateral */
.pro-bar{background:rgba(8,7,16,.72)!important;-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:0 1px 0 var(--pro-line)}
.pro-side{background:rgba(10,8,22,.72)!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset -1px 0 0 var(--pro-line)}

/* Tarjetas de vidrio con luz que sigue el cursor */
.pro-card{
 background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px),rgba(139,92,246,.13),transparent 42%),var(--pro-card)!important;
 border-color:var(--pro-line)!important;
 box-shadow:inset 0 0 0 1px var(--pro-line),0 10px 30px -18px rgba(0,0,0,.8);
 -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
 transition:box-shadow .3s ease,transform .3s ease,opacity .6s ease}
.pro-card:hover{box-shadow:inset 0 0 0 1px var(--pro-line-h),var(--pro-glow)}
.pro-sub{background:rgba(255,255,255,.035)!important;border-color:var(--pro-line)!important;box-shadow:inset 0 0 0 1px var(--pro-line);transition:background .2s}
.pro-sub:hover{background:rgba(139,92,246,.07)!important}

/* Aparición al entrar en pantalla */
.pro-rv{opacity:0;transform:translateY(14px)}
.pro-rv.pro-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease}
.pro-lift:hover{transform:translateY(-3px)}

/* Pestañas */
.pro-tab{transition:background .2s,color .2s,box-shadow .25s}
.pro-tab:hover{background:rgba(139,92,246,.10)!important}
.pro-tab.active,.pro-tab.is-active,.pro-tab[aria-selected="true"]{
 background:linear-gradient(135deg,rgba(139,92,246,.30),rgba(236,72,153,.18))!important;color:#fff!important;
 box-shadow:inset 0 0 0 1px rgba(168,85,247,.45),0 8px 24px -14px rgba(236,72,153,.7)}

/* Botones */
.pro-btn{transition:transform .18s ease,box-shadow .25s ease,filter .2s ease,background-position .5s ease}
.pro-btn:hover{transform:translateY(-1px);filter:brightness(1.1)}
.pro-btn:active{transform:scale(.97)}
.pro-btn:disabled{transform:none;filter:grayscale(.4) opacity(.7)}
.pro-hot{background:var(--pro-grad)!important;background-size:170% 170%!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 24px -10px rgba(236,72,153,.6)}
.pro-hot:hover{background-position:100% 50%!important;box-shadow:0 12px 30px -10px rgba(236,72,153,.8)}

/* Campos */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea{
 background-color:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.10)!important;color:var(--pro-txt)!important;
 transition:border-color .2s,box-shadow .2s,background-color .2s}
input:focus,select:focus,textarea:focus{border-color:rgba(168,85,247,.7)!important;background-color:rgba(139,92,246,.06)!important;
 box-shadow:0 0 0 4px rgba(139,92,246,.18)!important;outline:none}
input::placeholder,textarea::placeholder{color:rgba(161,156,192,.7)}
select option{background:#14112a;color:#ece9ff}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--pro-p)}

/* Tablas */
th{color:var(--pro-mut)}
tbody tr{transition:background .2s}
tbody tr:hover{background:rgba(139,92,246,.07)}

@media(max-width:760px){.pro-card,.pro-side{-webkit-backdrop-filter:none;backdrop-filter:none}.pro-lift:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}.pro-rv{opacity:1;transform:none}}

/* Superadmin: los bloques contenedores no se iluminan, solo los cuadros de adentro */
.pro-wrap{background:transparent!important;border-color:transparent!important;box-shadow:none!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1!important;transform:none!important}

/* Superadmin: sin fondo morado detrás de todo al pasar el mouse */
.pro-wrap,.pro-wrap:hover{background:transparent!important;box-shadow:none!important}
.pro-nohover:hover{background:rgba(255,255,255,.035)!important}

/* sa-glow-v2: en el superadmin el brillo lo decide el mouse, solo en el cuadro que tocas */
html.sa-flat .pro-card{background:var(--pro-card)!important}
html.sa-flat .pro-card:hover{box-shadow:inset 0 0 0 1px var(--pro-line),0 10px 30px -18px rgba(0,0,0,.8)!important}
html.sa-flat .pro-sub:hover{background:rgba(255,255,255,.035)!important}
html.sa-flat .pro-lift:hover{transform:none}
html.sa-flat body .pro-glow.pro-glow{
 background-image:radial-gradient(400px circle at var(--mx,-999px) var(--my,-999px),rgba(139,92,246,.16),transparent 45%)!important;
 box-shadow:inset 0 0 0 1px rgba(168,85,247,.45),0 14px 40px -16px rgba(139,92,246,.6)!important;transition:box-shadow .25s}

/* Velocidad: sin desenfoque en tarjetas (el fondo animado lo hacía recalcular siempre) */
:root{--pro-card:rgba(22,19,40,.80)}
.pro-card{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body::before{will-change:transform}

/* Moderar chat con la estética Pro */
.admin-chat-moderation-container{background:transparent!important;border-color:rgba(255,255,255,.08)!important}
.admin-chat-header{color:var(--pro-mut)!important;border-color:rgba(255,255,255,.08)!important;text-transform:uppercase;font-size:.75rem;letter-spacing:.06em}
.admin-chat-item{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:14px!important;margin-bottom:8px;transition:background .2s,border-color .2s}
.admin-chat-item:hover{background:rgba(139,92,246,.08)!important;border-color:rgba(168,85,247,.35)!important}
.admin-chat-nick{color:#c4b5fd!important;font-weight:700}
.admin-chat-msg{color:#ece9ff!important}
.admin-chat-meta{color:var(--pro-mut)!important}
/* rk-toggle-fix: el circulo siempre dentro del interruptor */
.toggle-switch{box-sizing:border-box!important;width:46px!important;min-width:46px!important;height:26px!important;padding:0!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;overflow:hidden!important;transform:none!important;background:rgba(255,255,255,.12)!important;box-shadow:inset 0 1px 3px rgba(0,0,0,.35)!important;transition:background .25s ease!important}
.toggle-switch::after{box-sizing:border-box!important;top:50%!important;left:3px!important;width:18px!important;height:18px!important;margin:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 2px 6px rgba(0,0,0,.35)!important;transform:translateY(-50%)!important;transition:left .25s ease!important}
.toggle-checkbox:checked + .toggle-label .toggle-switch{background:linear-gradient(135deg,var(--primary),#d946ef)!important;border-color:transparent!important}
.toggle-checkbox:checked + .toggle-label .toggle-switch::after{left:calc(100% - 21px)!important;transform:translateY(-50%)!important}
/* Enlace a inicio arriba de Cerrar sesion */
.rk-home-link{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;margin-bottom:8px!important;text-decoration:none!important;color:#e9d5ff!important;background:rgba(168,85,247,.12)!important;border:1px solid rgba(168,85,247,.35)!important}
.rk-home-link:hover{background:rgba(168,85,247,.24)!important;color:#fff!important}
/* rk-mod-fix: Moderacion Chat limpio, un solo borde por mensaje */
#tab-chat .admin-chat-moderation-container{margin-top:16px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
#tab-chat .admin-chat-moderation-container::before,#tab-chat .admin-chat-moderation-container::after,#tab-chat .admin-chat-messages-list::before,#tab-chat .admin-chat-messages-list::after{display:none!important}
#tab-chat .admin-chat-header{display:flex;justify-content:space-between;padding:0 6px 10px!important;border:0!important;background:transparent!important;box-shadow:none!important}
#tab-chat .admin-chat-messages-list{display:flex;flex-direction:column;gap:8px;max-height:460px;overflow-y:auto;padding:2px 4px 2px 0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#tab-chat .admin-chat-messages-list::-webkit-scrollbar{width:6px}
#tab-chat .admin-chat-messages-list::-webkit-scrollbar-thumb{background:rgba(168,85,247,.35);border-radius:6px}
#tab-chat .admin-chat-item{margin:0!important;padding:12px 14px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:12px!important;background:rgba(255,255,255,.03)!important;box-shadow:none!important;backdrop-filter:none!important;transform:none!important;transition:background .2s,border-color .2s}
#tab-chat .admin-chat-item:hover{background:rgba(139,92,246,.07)!important;border-color:rgba(168,85,247,.3)!important}
#tab-chat .admin-chat-item.rk-hidden{opacity:.5}
.rk-mod-actions{display:flex;gap:6px;flex-shrink:0}
.rk-mod-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 12px;border-radius:9px;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.rk-mod-hide{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#d6d3e8}
.rk-mod-hide:hover{background:rgba(168,85,247,.18);border-color:rgba(168,85,247,.45);color:#fff}
.rk-mod-del{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#fca5a5}
.rk-mod-del:hover{background:rgba(239,68,68,.25);color:#fff}
@media(max-width:520px){.rk-mod-btn span{display:none}.rk-mod-btn{width:36px;padding:0}}
/* rk-control-fix: iconos del Control Remoto siempre visibles al pasar el mouse */
.playback-controls .control-btn{position:relative;overflow:hidden;transition:transform .2s ease,background .25s ease,box-shadow .25s ease,color .2s ease!important}
.playback-controls .control-btn i{position:relative;z-index:3;opacity:1!important;pointer-events:none}
.playback-controls .control-btn::before,.playback-controls .control-btn::after{z-index:1!important}
.playback-controls .control-btn:hover,.playback-controls .control-btn:focus-visible{background:linear-gradient(135deg,var(--primary),#6366f1)!important;color:#fff!important;border-color:transparent!important;transform:scale(1.06)!important;box-shadow:0 6px 18px rgba(124,58,237,.45)!important}
.playback-controls .control-btn:hover i,.playback-controls .control-btn:focus-visible i{color:#fff!important}
.playback-controls .play-pause-btn:hover{transform:scale(1.06)!important}
.playback-controls .control-btn:active{transform:scale(.96)!important}
/* rk-cola-fix: canciones con estilo fijo (sin titileo) y cuadros alineados */
#adm-queue,#adm-results{display:flex;flex-direction:column;gap:8px;list-style:none;margin-top:14px;padding:0 4px 0 0}
#adm-queue>li,#adm-results>li{margin:0!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:12px!important;background:rgba(255,255,255,.03)!important;background-image:none!important;box-shadow:none!important;animation:none!important;transform:none!important;opacity:1!important;transition:background-color .2s,border-color .2s!important}
#adm-queue>li::before,#adm-queue>li::after,#adm-results>li::before,#adm-results>li::after{display:none!important}
#adm-queue>li:hover,#adm-results>li:hover{background:rgba(139,92,246,.08)!important;border-color:rgba(168,85,247,.3)!important}
#adm-queue>li.empty-state,#adm-results>li.empty-state{border:0!important;background:transparent!important}
#adm-queue img,#adm-results img{animation:none!important}
#adm-results::-webkit-scrollbar,#adm-queue::-webkit-scrollbar{width:6px}
#adm-results::-webkit-scrollbar-thumb,#adm-queue::-webkit-scrollbar-thumb{background:rgba(168,85,247,.35);border-radius:6px}
#tab-queue .queue-tab-grid{align-items:stretch!important}
@media(min-width:981px){
 #tab-queue .queue-tab-grid>.glass-card:first-child{contain:size;display:flex!important;flex-direction:column;min-height:420px}
 #adm-results{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto}
}
@media(max-width:980px){#adm-results{max-height:60vh;overflow-y:auto}}
/* rk-move-css: flechas de la cola y botón Siguiente */
#adm-queue .rk-move{display:flex;flex-direction:column;gap:3px;flex-shrink:0;margin-right:4px}
#adm-queue .btn-action-move{width:30px;height:22px;padding:0;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:rgba(139,92,246,.12);color:#c4b5fd;font-size:.7rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}
#adm-queue .btn-action-move:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}
#adm-queue .btn-action-move:disabled{opacity:.25;cursor:default}
#adm-queue .rk-fijada{color:#c4b5fd;font-weight:600}
#adm-results .search-item{position:relative}
#adm-results .rk-next-btn{order:99;margin-left:auto;flex-shrink:0;padding:6px 11px;border-radius:9px;border:0;background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;font:600 .74rem 'Outfit',sans-serif;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .2s}
#adm-results .rk-next-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(139,92,246,.45)}
/* rk-ctl-state: botón activo iluminado, los demás neutros, confirmación al tocar */
.playback-controls .control-btn:not(.rk-on){background:rgba(255,255,255,.06)!important;color:#d8d2f5!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important;transform:none!important}
@media (hover:hover){.playback-controls .control-btn:not(.rk-on):hover{background:rgba(139,92,246,.28)!important;color:#fff!important;border-color:rgba(168,85,247,.55)!important;transform:scale(1.05)!important}}
.playback-controls .control-btn.rk-on{background:linear-gradient(135deg,#8b5cf6,#ec4899)!important;color:#fff!important;border:1px solid transparent!important;box-shadow:0 0 0 3px rgba(139,92,246,.28),0 8px 22px rgba(236,72,153,.4)!important}
.playback-controls .control-btn i{color:inherit!important}
.playback-controls .control-btn:active{transform:scale(.92)!important;transition-duration:.08s!important}
.playback-controls .control-btn.rk-flash{animation:rkCtlFlash .55s ease-out}
@keyframes rkCtlFlash{0%{outline:2px solid rgba(255,255,255,.85);outline-offset:0}100%{outline:2px solid rgba(255,255,255,0);outline-offset:10px}}
.rk-ctl-status{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px auto 0;padding:6px 14px;width:max-content;max-width:100%;border-radius:999px;font:600 .8rem 'Outfit',sans-serif;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#ece9ff;transition:all .25s}
.rk-ctl-status.is-playing{color:#6ee7b7;border-color:rgba(56,196,147,.4);background:rgba(56,196,147,.1)}
.rk-ctl-status.is-paused{color:#fcd34d;border-color:rgba(212,160,23,.45);background:rgba(212,160,23,.1)}
.rk-ctl-status.is-info{color:#c4b5fd;border-color:rgba(139,92,246,.45);background:rgba(139,92,246,.12)}
.rk-ctl-status.is-error{color:#fca5a5;border-color:rgba(242,107,107,.5);background:rgba(242,107,107,.12)}
.rk-ctl-status .rk-dot{width:8px;height:8px;border-radius:50%;background:#38c493;animation:rkDot 1.6s infinite}
@keyframes rkDot{0%{box-shadow:0 0 0 0 rgba(56,196,147,.6)}100%{box-shadow:0 0 0 8px rgba(56,196,147,0)}}
/* rk-moved-css: destello al mover una canción */
#adm-queue li.rk-moved{animation:rkMoved .6s ease-out}
@keyframes rkMoved{0%{background:rgba(139,92,246,.35);box-shadow:0 0 0 2px rgba(168,85,247,.6)}100%{background:transparent;box-shadow:0 0 0 0 rgba(168,85,247,0)}}
/* rk-kara-css: botón Modo Karaoke */
.rk-kara-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.rk-kara-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#ece9ff;font:600 .9rem 'Outfit',sans-serif;cursor:pointer;transition:all .2s}
@media (hover:hover){.rk-kara-btn:not(.rk-on):hover{border-color:rgba(168,85,247,.55);background:rgba(139,92,246,.2)}}
.rk-kara-btn.rk-on{background:linear-gradient(135deg,#8b5cf6,#ec4899);border-color:transparent;color:#fff;box-shadow:0 0 0 3px rgba(139,92,246,.25),0 8px 22px rgba(236,72,153,.4)}
.rk-kara-shift{padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#c4b5fd;font:600 .78rem 'Outfit',sans-serif;cursor:pointer;transition:all .2s}
.rk-kara-shift:hover{background:rgba(139,92,246,.22);color:#fff}
.rk-kara-shift:active,.rk-kara-btn:active{transform:scale(.95)}
/* rk-genres-css: caja de géneros y artistas */
.input-group textarea.rk-genres{width:100%;min-height:110px;resize:vertical;padding:10px 12px;border-radius:10px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:inherit;font:inherit;line-height:1.5;box-sizing:border-box}
.input-group textarea.rk-genres:focus{outline:none;border-color:rgba(168,85,247,.7);box-shadow:0 0 0 3px rgba(168,85,247,.2)}
.rk-genres-help{display:block;margin-top:6px;opacity:.65;font-size:.8rem}

/* rk-kara-sync: deslizador de ajuste de letra */
.rk-kara-sync{flex-basis:100%;max-width:360px;margin:6px auto 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
.rk-ks-top{display:flex;justify-content:space-between;align-items:center;font:600 .78rem 'Outfit',sans-serif;color:#c4b5fd}
.rk-ks-val{font-size:.95rem;color:#fff}
.rk-ks-line{display:flex;align-items:center;gap:8px;margin:10px 0 6px}
.rk-ks-range{flex:1;accent-color:#a855f7;height:28px;cursor:pointer}
.rk-ks-step,.rk-ks-reset{padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#c4b5fd;font:600 .75rem 'Outfit',sans-serif;cursor:pointer;transition:all .2s}
.rk-ks-step:hover,.rk-ks-reset:hover{background:rgba(139,92,246,.22);color:#fff}
.rk-ks-step:active,.rk-ks-reset:active{transform:scale(.95)}
.rk-ks-foot{display:flex;justify-content:space-between;align-items:center;font:500 .7rem 'Outfit',sans-serif;color:#9b93c9}
.rk-kara-row{flex-direction:column}
.rk-kara-sync{width:100%}
