/*
 * OndaStems 8.15 · Studio UI
 * Sistema visual único para reproductor, administración, acceso e instalación.
 */

:root{
  --os-bg:#050810;
  --os-bg-soft:#09111d;
  --os-panel:#0d1726;
  --os-panel-2:#111f32;
  --os-panel-3:#172941;
  --os-panel-glass:rgba(11,20,34,.92);
  --os-text:#f5f8fc;
  --os-muted:#96a6ba;
  --os-subtle:#6f8096;
  --os-line:rgba(173,203,230,.14);
  --os-line-strong:rgba(173,203,230,.24);
  --os-cyan:#62d8ff;
  --os-cyan-strong:#1db9ec;
  --os-green:#82e6a7;
  --os-yellow:#ffc86b;
  --os-red:#ff858f;
  --os-focus:#b9f1ff;
  --os-shadow:0 24px 80px rgba(0,0,0,.42);
  --os-radius:20px;
  --os-radius-sm:13px;
  --os-safe-top:env(safe-area-inset-top,0px);
  --os-safe-right:env(safe-area-inset-right,0px);
  --os-safe-bottom:env(safe-area-inset-bottom,0px);
  --os-safe-left:env(safe-area-inset-left,0px);
  color-scheme:dark;
}

*{scrollbar-width:thin;scrollbar-color:rgba(98,216,255,.34) rgba(255,255,255,.035)}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  min-height:100vh;
  color:var(--os-text);
  background:
    radial-gradient(circle at 12% -15%,rgba(29,185,236,.16),transparent 32rem),
    radial-gradient(circle at 100% 22%,rgba(130,230,167,.075),transparent 30rem),
    linear-gradient(180deg,var(--os-bg),var(--os-bg-soft) 55%,#070d17);
  line-height:1.45;
  overflow-wrap:anywhere;
  -webkit-tap-highlight-color:transparent;
}
body::before{
  position:fixed;
  inset:0;
  z-index:-1;
  opacity:.17;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:52px 52px;
  content:"";
  mask-image:linear-gradient(180deg,black,transparent 72%);
}
::selection{color:#031019;background:var(--os-cyan)}
button,a,input,select,textarea{font:inherit}
button,a.button,[role="button"]{touch-action:manipulation}
.hidden{display:none!important}
.muted{color:var(--os-muted)!important}
.eyebrow{
  margin:0 0 7px!important;
  color:var(--os-cyan)!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
  text-transform:uppercase;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[role="slider"]:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--os-focus)!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}
.skip-link{
  position:fixed;
  top:max(8px,var(--os-safe-top));
  left:max(8px,var(--os-safe-left));
  z-index:10000;
  transform:translateY(-180%);
  padding:.7rem .9rem;
  border-radius:12px;
  color:#06111d;
  background:#f6fbff;
  font-weight:900;
  text-decoration:none;
  box-shadow:var(--os-shadow);
}
.skip-link:focus{transform:none}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Botones y campos */
.page-player button,
.page-player a.button,
.page-admin button,
.page-admin a.button,
.page-system button,
.page-system a.button,
.page-install button,
.page-install a.button,
.page-login button{
  min-height:42px;
  border:1px solid var(--os-line-strong);
  border-radius:12px;
  color:var(--os-text);
  background:linear-gradient(180deg,rgba(37,57,83,.94),rgba(19,31,49,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  font-weight:800;
  transition:transform .14s ease,border-color .14s ease,background-color .14s ease,filter .14s ease;
}
.page-player button:hover:not(:disabled),
.page-player a.button:hover,
.page-admin button:hover:not(:disabled),
.page-admin a.button:hover,
.page-system button:hover:not(:disabled),
.page-system a.button:hover{border-color:rgba(98,216,255,.55);filter:brightness(1.08)}
.page-player button:active:not(:disabled),
.page-admin button:active:not(:disabled){transform:translateY(1px)}
.page-player button.primary,
.page-admin button.ok,
.page-system button.primary,
.page-login button{
  border-color:rgba(98,216,255,.48);
  color:#03111b;
  background:linear-gradient(135deg,#79e3ff,#58c9f2 55%,#76e4ac);
  box-shadow:0 10px 30px rgba(29,185,236,.16),inset 0 1px 0 rgba(255,255,255,.52);
}
.page-player button:disabled,
.page-admin button:disabled,
.page-system button:disabled,
.page-install button:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.4)}
.page-admin input,
.page-admin select,
.page-admin textarea,
.page-system input,
.page-install input,
.page-install select,
.page-login input{
  min-height:46px;
  border:1px solid var(--os-line);
  border-radius:12px;
  color:var(--os-text);
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.page-admin input:hover,
.page-admin select:hover,
.page-admin textarea:hover{border-color:var(--os-line-strong)}
.page-admin input::placeholder,
.page-admin textarea::placeholder,
.page-login input::placeholder{color:#64758b}
.page-admin select option,
.page-admin select optgroup{color:#07111f;background:#fff}

/* Reproductor general */
.page-player .wrap{width:min(1480px,calc(100% - 28px));padding-top:14px}
.page-player .card{
  border:1px solid var(--os-line);
  background:
    radial-gradient(circle at 96% -20%,rgba(98,216,255,.05),transparent 22rem),
    linear-gradient(180deg,rgba(15,26,43,.94),rgba(9,17,29,.95));
  box-shadow:var(--os-shadow);
}
.page-player .topbar{
  position:sticky;
  top:max(10px,var(--os-safe-top));
  z-index:120;
  min-height:68px;
  padding:10px 12px;
  border-radius:18px;
  background:rgba(8,15,26,.86);
  backdrop-filter:blur(18px) saturate(1.25);
}
.page-player .brand .logo,
.page-admin .brand .logo{
  position:relative;
  width:44px;
  height:44px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  color:#04121c;
  background:linear-gradient(135deg,var(--os-cyan),var(--os-green));
  box-shadow:0 9px 28px rgba(29,185,236,.18);
}
.page-player .brand .logo::after,
.page-admin .brand .logo::after{
  position:absolute;
  inset:1px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:12px;
  content:"";
}
.page-player .brand strong{font-size:.94rem;letter-spacing:-.015em}
.page-player .brand span{color:var(--os-muted);font-size:.75rem}
.page-player .top-actions{gap:8px}
.page-player .hero{
  min-height:205px;
  padding:34px;
  border-radius:24px;
  background:
    radial-gradient(circle at 84% 30%,rgba(98,216,255,.14),transparent 24rem),
    linear-gradient(135deg,rgba(18,34,55,.98),rgba(8,16,28,.97));
}
.page-player .hero h1{max-width:760px;font-size:clamp(2.25rem,5vw,5rem);letter-spacing:-.065em}
.page-player .hero .status{
  min-width:210px;
  padding:20px;
  border:1px solid var(--os-line);
  border-radius:18px;
  background:rgba(4,10,18,.38);
  backdrop-filter:blur(12px);
}
.page-player .grid{grid-template-columns:300px minmax(0,1fr);gap:16px}
.page-player .side{
  position:sticky;
  top:96px;
  align-self:start;
  max-height:calc(100vh - 112px);
  border-radius:20px;
}
.page-player .event-item,
.page-player .fav-item,
.page-player .song-card{border-radius:13px}
.page-player .band-cover{border-radius:20px}
.page-player #eventBox{border-radius:20px}

/* Modo Estudio único */
body.page-player.studio-active{
  padding-bottom:126px;
}
body.page-player.studio-active .wrap{
  width:min(1600px,calc(100% - 20px));
  padding-bottom:128px;
}
body.page-player.studio-active .hero,
body.page-player.studio-active .band-cover,
body.page-player.studio-active #eventBox,
body.page-player.studio-active .side{display:none!important}
body.page-player.studio-active .grid{display:block!important}
body.page-player.studio-active .main{width:100%;max-width:none}
body.page-player.studio-active .player{
  min-height:calc(100vh - 106px);
  padding:0 0 14px!important;
  overflow:visible;
  border-radius:20px;
  box-shadow:0 20px 70px rgba(0,0,0,.34);
}
body.page-player.studio-active .song-head{
  position:sticky;
  top:91px;
  z-index:110;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  margin:0;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid var(--os-line);
  border-radius:19px 19px 0 0;
  background:rgba(8,15,26,.92);
  backdrop-filter:blur(20px) saturate(1.3);
  box-shadow:0 12px 34px rgba(0,0,0,.16);
}
body.page-player.studio-active #songTitle{
  margin:0;
  font-size:clamp(1.05rem,2vw,1.4rem);
  letter-spacing:-.035em;
  line-height:1.1;
}
body.page-player.studio-active #songNotes{
  max-width:780px;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.72rem;
}
.page-player .player-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}
body.page-player.studio-active .player-actions button,
body.page-player.studio-active .player-actions a.button{
  min-height:38px;
  padding:.45rem .72rem;
  font-size:.72rem;
  white-space:nowrap;
}
.page-player .mix-launch{
  gap:7px;
  color:#06121b!important;
}
.page-player .mixbox{
  margin:12px 12px 0;
  border-color:rgba(98,216,255,.18);
  border-radius:15px;
  background:rgba(98,216,255,.045);
}

/* Presets y grupos: siempre dentro del flujo, nunca sobre los paneles */
body.page-player.studio-active .studio-tools-panel{
  position:relative!important;
  z-index:2!important;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:10px;
  margin:10px 10px 6px;
  padding:8px;
  border:1px solid var(--os-line);
  border-radius:15px;
  background:rgba(255,255,255,.025);
  box-shadow:none;
}
body.page-player.studio-active .studio-tools-panel .toolbar-block{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-width:0;
  margin:0;
}
body.page-player.studio-active .toolbar-title{
  margin:0;
  color:var(--os-subtle);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.page-player .presetbar,
.page-player .groupbar{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  min-width:0;
  overflow-x:auto!important;
  padding:1px 1px 3px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.page-player .presetbar::-webkit-scrollbar,
.page-player .groupbar::-webkit-scrollbar{display:none}
.page-player .presetbar button,
.page-player .groupbar button{
  flex:0 0 auto!important;
  width:auto!important;
  min-height:34px!important;
  padding:.38rem .62rem!important;
  border-radius:10px!important;
  color:#b7c3d2!important;
  background:rgba(255,255,255,.035)!important;
  font-size:.66rem!important;
  white-space:nowrap;
  box-shadow:none!important;
}
.page-player .presetbar button.active,
.page-player .groupbar button.active{
  border-color:rgba(98,216,255,.45)!important;
  color:#dff8ff!important;
  background:rgba(29,185,236,.14)!important;
}

/* Canales */
body.page-player.studio-active #tracksBox{padding:2px 10px 7px!important}
body.page-player.studio-active .track-group{margin:0 0 5px}
body.page-player.studio-active .group-title{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:25px;
  margin:0;
  padding:3px 6px;
  border:0;
  color:#7789a0;
  background:transparent;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body.page-player.studio-active .group-title::after{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,var(--os-line),transparent);
  content:"";
}
body.page-player.studio-active .group-title .tag{
  order:2;
  min-width:20px;
  padding:.1rem .34rem;
  border-radius:999px;
  color:var(--os-cyan);
  background:rgba(98,216,255,.07);
  font-size:.58rem;
  text-align:center;
}
body.page-player.studio-active .track{
  position:relative;
  display:grid;
  grid-template-columns:168px 108px minmax(210px,1fr) minmax(345px,410px);
  gap:8px;
  align-items:center;
  min-height:54px;
  margin:0 0 5px;
  padding:6px 7px 6px 10px;
  overflow:hidden;
  border:1px solid rgba(173,203,230,.105);
  border-radius:13px;
  background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.018));
  box-shadow:inset 3px 0 0 rgba(98,216,255,.28);
  transition:border-color .14s ease,background-color .14s ease,opacity .14s ease;
}
body.page-player.studio-active .track:hover{
  border-color:rgba(98,216,255,.24);
  background:linear-gradient(90deg,rgba(98,216,255,.06),rgba(255,255,255,.025));
}
body.page-player.studio-active .track.is-muted,
body.page-player.studio-active .track.is-inactive{opacity:.48}
body.page-player.studio-active .track.is-soloed{
  opacity:1;
  border-color:rgba(255,200,107,.5);
  background:linear-gradient(90deg,rgba(255,200,107,.09),rgba(255,255,255,.022));
  box-shadow:inset 3px 0 0 var(--os-yellow);
}
body.page-player.studio-active .track-info{min-width:0}
body.page-player.studio-active .track-title{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#eef6ff;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}
body.page-player.studio-active .track-title span:first-child{
  display:grid;
  flex:0 0 29px;
  width:29px;
  height:29px;
  place-items:center;
  border:1px solid rgba(98,216,255,.2);
  border-radius:8px;
  color:var(--os-cyan);
  background:rgba(98,216,255,.065);
  font-size:.65rem;
  font-variant-numeric:tabular-nums;
}
body.page-player.studio-active .track-role{
  margin:1px 0 0 36px;
  color:#65778e;
  font-size:.59rem;
}
body.page-player.studio-active .track-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px}
body.page-player.studio-active .track-buttons button{
  min-width:0!important;
  min-height:34px!important;
  padding:0 .35rem!important;
  border-radius:9px!important;
  color:#aab8c9;
  background:rgba(255,255,255,.035);
  font-size:.65rem!important;
  box-shadow:none;
}
body.page-player.studio-active .track-buttons .mute::before,
body.page-player.studio-active .track-buttons .solo::before{
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:currentColor;
  content:"";
  opacity:.42;
}
body.page-player.studio-active .track-buttons .mute.active{
  border-color:rgba(255,133,143,.62);
  color:#fff1f2;
  background:rgba(225,51,68,.3);
}
body.page-player.studio-active .track-buttons .solo.active{
  border-color:rgba(255,200,107,.68);
  color:#241500;
  background:linear-gradient(180deg,#ffd789,#e9aa3c);
}
body.page-player.studio-active .track-buttons button.active::before{opacity:1}
body.page-player.studio-active .wave-wrap{
  position:relative;
  height:38px!important;
  overflow:hidden;
  border:1px solid rgba(98,216,255,.105);
  border-radius:9px;
  background:#07101b;
  cursor:crosshair;
}
body.page-player.studio-active .wave-wrap::after{
  position:absolute;
  right:6px;
  bottom:2px;
  color:rgba(222,239,250,.55);
  font-size:.55rem;
  font-variant-numeric:tabular-nums;
  content:attr(aria-valuetext);
  pointer-events:none;
}
body.page-player.studio-active .wave-playhead{width:2px!important;background:var(--os-green)!important;box-shadow:0 0 12px rgba(130,230,167,.75)}
body.page-player.studio-active .volbox{
  display:grid;
  grid-template-columns:minmax(88px,1fr) 42px 56px 59px 38px;
  gap:5px;
  align-items:center;
  min-width:0;
}
body.page-player.studio-active .vol-label{display:none}
body.page-player.studio-active .volbox input[type="range"]{min-width:0;height:22px}
body.page-player.studio-active .vol-value{
  min-width:0;
  color:#dce8f3;
  font-size:.63rem;
  font-variant-numeric:tabular-nums;
  text-align:right;
}
body.page-player.studio-active .sound-quick,
body.page-player.studio-active .download-track{
  min-width:0!important;
  min-height:32px!important;
  padding:0 .32rem!important;
  border-radius:8px!important;
  color:#aebed0;
  background:rgba(255,255,255,.035);
  font-size:.58rem!important;
  box-shadow:none;
}
body.page-player.studio-active .sound-quick.active{
  border-color:rgba(130,230,167,.38);
  color:var(--os-green);
  background:rgba(130,230,167,.08);
}
body.page-player.studio-active .download-track{
  width:38px;
  color:transparent!important;
  font-size:0!important;
}
body.page-player.studio-active .download-track::before{
  color:#c5d2df;
  font-size:1rem;
  content:"↓";
}

/* Transporte */
body.page-player.studio-active .control-deck{
  position:fixed!important;
  right:auto!important;
  bottom:max(10px,var(--os-safe-bottom))!important;
  left:50%!important;
  z-index:650!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(300px,380px)!important;
  gap:8px!important;
  align-items:center;
  width:min(1380px,calc(100% - 24px))!important;
  margin:0!important;
  padding:8px!important;
  transform:translateX(-50%)!important;
  border:1px solid rgba(173,203,230,.2)!important;
  border-radius:18px!important;
  background:rgba(7,14,24,.94)!important;
  box-shadow:0 20px 80px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.04)!important;
  backdrop-filter:blur(22px) saturate(1.3);
}
body.page-player.studio-active .transport-row{
  display:grid;
  grid-template-columns:auto minmax(210px,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:0;
}
body.page-player.studio-active .transport.transport-modern{display:flex;gap:5px}
body.page-player.studio-active .transport.transport-modern button{
  min-width:42px;
  min-height:40px;
  padding:.38rem .58rem;
  border-radius:10px;
}
body.page-player.studio-active #playBtn.play-modern{min-width:94px}
body.page-player.studio-active .timebar.timebar-modern{
  display:grid;
  grid-template-columns:46px minmax(100px,1fr) 46px;
  gap:6px;
  align-items:center;
  min-width:0;
  padding:0 6px;
}
body.page-player.studio-active .timecode{font-size:.66rem;font-variant-numeric:tabular-nums}
body.page-player.studio-active .progress{
  min-height:18px!important;
  border-radius:999px;
  cursor:pointer;
  touch-action:none;
}
body.page-player.studio-active .mode-hint{min-width:0;font-size:.62rem}
body.page-player.studio-active .mode-hint #activeMode{
  display:block;
  max-width:110px;
  overflow:hidden;
  color:var(--os-cyan);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.page-player .shortcut-hint{color:#6e7e92;font-size:.56rem;white-space:nowrap}
body.page-player.studio-active .loop-chipbar{
  display:flex;
  gap:4px;
  align-items:center;
  min-width:0;
  padding:4px;
  border:1px solid var(--os-line);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
body.page-player.studio-active .loop-kicker{padding:0 4px;color:#718198;font-size:.55rem;font-weight:900;text-transform:uppercase}
body.page-player.studio-active .loop-chip{
  min-width:38px;
  min-height:34px!important;
  padding:.28rem .45rem!important;
  border-radius:8px!important;
  font-size:.58rem!important;
}
body.page-player.studio-active .master.master-modern{
  display:grid;
  grid-template-columns:auto minmax(88px,1fr) 42px auto;
  gap:6px;
  align-items:center;
  min-width:0;
  margin:0;
  padding:4px 5px;
  border:1px solid var(--os-line);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
body.page-player.studio-active .master-label{color:#77899f;font-size:.57rem;text-transform:uppercase}
body.page-player.studio-active #masterVal{font-size:.62rem;font-variant-numeric:tabular-nums;text-align:right}
body.page-player.studio-active .master-sound-button{
  min-height:34px!important;
  padding:.3rem .5rem!important;
  border-radius:8px!important;
  font-size:.59rem!important;
}

/* Mi mezcla: portal directo al body, por encima de todo */
.mix-workspace-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:9000!important;
  display:grid;
  place-items:center;
  padding:
    max(14px,var(--os-safe-top))
    max(14px,var(--os-safe-right))
    max(14px,var(--os-safe-bottom))
    max(14px,var(--os-safe-left));
  overflow:hidden;
  background:rgba(1,5,10,.78);
  backdrop-filter:blur(16px) saturate(.85);
  isolation:isolate;
}
.mix-workspace-open{overflow:hidden}
.mix-workspace-open .wrap,
.mix-workspace-open .studio-mini{pointer-events:none}
.mix-workspace{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:min(680px,100%);
  max-height:min(760px,calc(100dvh - 28px));
  overflow:hidden;
  border:1px solid rgba(98,216,255,.26);
  border-radius:25px;
  color:var(--os-text);
  background:
    radial-gradient(circle at 92% -10%,rgba(98,216,255,.15),transparent 24rem),
    linear-gradient(180deg,#111f32,#08111e);
  box-shadow:0 40px 150px rgba(0,0,0,.78);
}
.mix-workspace-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:22px 22px 18px;
  border-bottom:1px solid var(--os-line);
  background:rgba(8,16,28,.7);
}
.mix-workspace-head h2{margin:0 0 7px;font-size:1.65rem;letter-spacing:-.04em}
.mix-workspace-head p:last-child{max-width:520px;margin:0;color:var(--os-muted);font-size:.82rem}
.panel-close{
  flex:0 0 44px;
  width:44px;
  min-height:44px!important;
  padding:0!important;
  border-radius:13px!important;
  font-size:1.4rem!important;
}
.mix-workspace-body{min-height:0;overflow:auto;padding:16px 22px 8px}
.mix-workspace-status{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
  padding:11px 13px;
  border:1px solid var(--os-line);
  border-radius:12px;
  color:var(--os-muted);
  background:rgba(255,255,255,.025);
  font-size:.73rem;
}
.mix-workspace-status strong{color:var(--os-green);font-size:.76rem}
.mix-action-grid{display:grid;gap:8px}
.mix-action-card{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px!important;
  align-items:center;
  width:100%;
  min-height:74px!important;
  padding:11px 13px!important;
  border:1px solid var(--os-line)!important;
  border-radius:14px!important;
  color:var(--os-text)!important;
  background:rgba(255,255,255,.025)!important;
  text-align:left;
  box-shadow:none!important;
}
.mix-action-card:hover:not(:disabled){border-color:rgba(98,216,255,.38)!important;background:rgba(98,216,255,.055)!important}
.mix-action-featured{
  border-color:rgba(98,216,255,.35)!important;
  background:linear-gradient(135deg,rgba(29,185,236,.15),rgba(130,230,167,.07))!important;
}
.mix-action-icon{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid rgba(98,216,255,.2);
  border-radius:12px;
  color:var(--os-cyan);
  background:rgba(98,216,255,.075);
  font-size:1.1rem;
}
.mix-action-card strong{display:block;margin-bottom:2px;font-size:.83rem}
.mix-action-card small{display:block;color:var(--os-muted);font-size:.69rem;font-weight:500;line-height:1.35}
.mix-action-arrow{color:#72839a;font-size:1rem}
.mix-action-card.active .mix-action-icon{color:#06131b;background:var(--os-green)}
.mix-action-danger .mix-action-icon{border-color:rgba(255,133,143,.22);color:var(--os-red);background:rgba(255,133,143,.06)}
.mix-workspace-foot{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:12px 22px calc(12px + var(--os-safe-bottom));
  border-top:1px solid var(--os-line);
  color:var(--os-muted);
  background:rgba(6,13,23,.9);
  font-size:.68rem;
}
.mix-workspace-foot button{min-width:100px}

/* Diálogos de mezcla avanzada y sonido */
.page-player .smart-mix-backdrop,
.page-player .sound-panel-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:9100!important;
  display:grid;
  place-items:center;
  padding:
    max(12px,var(--os-safe-top))
    max(12px,var(--os-safe-right))
    max(12px,var(--os-safe-bottom))
    max(12px,var(--os-safe-left));
  overflow:hidden;
  background:rgba(1,5,10,.8);
  backdrop-filter:blur(16px);
  isolation:isolate;
}
.page-player.smart-mix-open,
.page-player.sound-panel-open{overflow:hidden}
.page-player.smart-mix-open .wrap,
.page-player.sound-panel-open .wrap{pointer-events:none}
.page-player .smart-mix-panel,
.page-player .sound-panel{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:min(800px,100%);
  max-height:calc(100dvh - 24px);
  overflow:hidden;
  padding:0;
  border:1px solid rgba(98,216,255,.24);
  border-radius:25px;
  background:
    radial-gradient(circle at 95% -10%,rgba(98,216,255,.14),transparent 23rem),
    linear-gradient(180deg,#111f32,#07101c);
  box-shadow:0 40px 150px rgba(0,0,0,.78);
}
.page-player .sound-panel{width:min(680px,100%)}
.page-player .smart-mix-head,
.page-player .sound-panel-head{
  margin:0;
  padding:18px 20px 15px;
  border-bottom:1px solid var(--os-line);
  background:rgba(8,16,28,.76);
}
.page-player .smart-mix-head h2,
.page-player .sound-panel-head h2{margin:0 0 5px;letter-spacing:-.035em}
.page-player .smart-mix-head p:last-child,
.page-player .sound-panel-head p:last-child{margin:0;color:var(--os-muted);font-size:.77rem}
.page-player .sound-panel-close{
  width:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border-radius:13px;
}
.page-player .smart-mix-scroll,
.page-player .sound-panel-scroll{min-height:0;overflow:auto;padding:14px 18px 5px}
.page-player .smart-mix-actions,
.page-player .sound-panel-actions{
  margin:0;
  padding:11px 18px calc(11px + var(--os-safe-bottom));
  border-top:1px solid var(--os-line);
  background:rgba(6,13,23,.94);
}
.page-player .smart-mix-actions button,
.page-player .sound-panel-actions button{min-height:44px}
.page-player .smart-mix-list{max-height:none;overflow:visible}
.page-player .smart-mix-compare{z-index:3}
.page-player .sound-panel-section{
  border-color:var(--os-line);
  border-radius:15px;
  background:rgba(255,255,255,.025);
}
.page-player .sound-row{min-height:47px}

/* Extras, mini y estados */
.page-player .song-extras{gap:12px;padding:8px 10px 14px}
.page-player .extras-panel{border-color:var(--os-line);border-radius:16px;background:rgba(255,255,255,.025)}
.page-player .studio-mini{
  z-index:700!important;
  border:1px solid var(--os-line-strong);
  border-radius:18px;
  background:rgba(7,14,24,.95);
  box-shadow:0 22px 80px rgba(0,0,0,.6);
  backdrop-filter:blur(20px);
}
.page-player .overlay{z-index:9200!important}
.page-player .admin-overlay{z-index:9300!important}
.page-player .toast,
.page-admin .msg{
  z-index:9500!important;
  max-width:min(620px,calc(100% - 24px));
  border:1px solid var(--os-line-strong);
  border-radius:14px!important;
  background:#111d2e;
  box-shadow:0 20px 70px rgba(0,0,0,.6);
  text-align:center;
}

/* Administración */
.page-admin .wrap,
.page-system .wrap,
.page-install .wrap{width:min(1440px,calc(100% - 28px));padding-top:14px}
.page-admin .card,
.page-system .card,
.page-install .card,
.page-login .box{
  border:1px solid var(--os-line);
  background:
    radial-gradient(circle at 98% -15%,rgba(98,216,255,.05),transparent 24rem),
    linear-gradient(180deg,rgba(15,26,43,.95),rgba(9,17,29,.96));
  box-shadow:var(--os-shadow);
}
.page-admin .admin-topbar,
.page-system .top{
  position:sticky;
  display:flex;
  top:max(10px,var(--os-safe-top));
  z-index:200;
  min-height:70px;
  padding:11px 13px;
  border-radius:18px;
  background:rgba(7,14,24,.88);
  backdrop-filter:blur(18px) saturate(1.25);
}
.page-admin .brand{align-items:center}
.page-admin .brand>div:last-child{display:grid}
.page-admin .brand strong{font-size:1rem;line-height:1.1}
.page-admin .brand span{font-size:.72rem}
.page-admin .admin-kicker{color:var(--os-cyan)!important;font-size:.58rem!important;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.page-admin .actions{display:flex;gap:6px;flex-wrap:nowrap}
.page-admin .actions a,
.page-admin .actions button{width:auto;min-height:40px;padding:.45rem .68rem;font-size:.7rem;white-space:nowrap}
.page-admin .admin-exit{color:#ffb5bc!important}
.page-admin .admin-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:end;
  min-height:250px;
  padding:34px;
  border-radius:24px;
  background:
    radial-gradient(circle at 82% 35%,rgba(98,216,255,.15),transparent 27rem),
    radial-gradient(circle at 100% 0%,rgba(130,230,167,.08),transparent 22rem),
    linear-gradient(135deg,rgba(18,34,55,.98),rgba(8,16,28,.97));
}
.page-admin .admin-hero h1{
  max-width:760px;
  margin:0 0 10px;
  font-size:clamp(2.4rem,5vw,5.2rem);
  line-height:.88;
  letter-spacing:-.07em;
}
.page-admin .admin-hero .muted{max-width:650px;margin:0;font-size:.95rem}
.page-admin .admin-overview{
  display:grid;
  grid-template-columns:repeat(2,130px);
  gap:8px;
}
.page-admin .admin-overview>div{
  display:grid;
  min-height:88px;
  align-content:center;
  padding:13px;
  border:1px solid var(--os-line);
  border-radius:15px;
  background:rgba(4,10,18,.38);
  backdrop-filter:blur(12px);
}
.page-admin .admin-overview strong{font-size:1.55rem;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.page-admin .admin-overview span{color:var(--os-muted);font-size:.65rem;font-weight:800;text-transform:uppercase}
.page-admin .admin-nav{
  position:sticky;
  top:91px;
  z-index:190;
  display:flex;
  flex-wrap:nowrap;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin:12px auto 14px;
  padding:6px;
  overflow-x:auto;
  border:1px solid var(--os-line);
  border-radius:15px;
  background:rgba(7,14,24,.88);
  backdrop-filter:blur(18px);
  scrollbar-width:none;
}
.page-admin .admin-nav::-webkit-scrollbar{display:none}
.page-admin .admin-nav .tab{
  display:flex;
  flex:0 0 auto;
  gap:7px;
  align-items:center;
  min-width:120px;
  min-height:42px;
  padding:.5rem .8rem;
  border-radius:10px;
  color:#9eacbd;
  background:transparent;
  box-shadow:none;
}
.page-admin .admin-nav .tab.active,
.page-admin .admin-nav .tab[aria-selected="true"]{
  border-color:rgba(98,216,255,.4);
  color:#e9faff;
  background:rgba(29,185,236,.14);
}
.page-admin .panel{
  padding:0 18px 18px;
  overflow:visible;
  border-radius:22px;
}
.page-admin .panel-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-end;
  margin:0 -18px 18px;
  padding:22px 24px 17px;
  border-bottom:1px solid var(--os-line);
  border-radius:22px 22px 0 0;
  background:rgba(255,255,255,.018);
}
.page-admin .panel-heading h2{margin:0 0 3px;font-size:1.7rem;letter-spacing:-.045em}
.page-admin .panel-heading p:last-child{margin:0}
.page-admin .admin-split{grid-template-columns:370px minmax(0,1fr);gap:14px}
.page-admin .box{
  border:1px solid var(--os-line);
  border-radius:17px;
  background:rgba(255,255,255,.025);
  box-shadow:none;
}
.page-admin .panel-form{
  position:sticky;
  top:158px;
  align-self:start;
  padding:16px;
}
.page-admin .two{grid-template-columns:1fr 1fr}
.page-admin .three{grid-template-columns:1fr 1fr 1fr}
.page-admin .song-create .form-grid{grid-template-columns:1fr 1fr}
.page-admin .form-heading{
  display:flex;
  gap:11px;
  align-items:flex-start;
  margin:0 0 15px;
  padding-bottom:13px;
  border-bottom:1px solid var(--os-line);
}
.page-admin .form-heading.compact{margin-bottom:11px;padding-bottom:10px}
.page-admin .form-heading h3{margin:0 0 2px;font-size:1.05rem}
.page-admin .form-heading p{margin:0;color:var(--os-muted);font-size:.7rem}
.page-admin .step-badge{
  display:grid;
  flex:0 0 36px;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid rgba(98,216,255,.22);
  border-radius:11px;
  color:var(--os-cyan);
  background:rgba(98,216,255,.07);
  font-size:.65rem;
  font-weight:950;
  text-transform:uppercase;
}
.page-admin label{margin:10px 0 5px;color:#a6b5c7;font-size:.7rem;letter-spacing:.015em}
.page-admin .form-submit{width:100%;min-height:46px;margin-top:14px}
.page-admin .field-help{margin:6px 0 0;color:var(--os-muted);font-size:.65rem;line-height:1.4}
.page-admin .entity-list-shell{padding:14px}
.page-admin .list-heading{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin:0 0 12px;
}
.page-admin .list-heading h3{margin:0 0 2px;font-size:1.05rem}
.page-admin .list-heading p{margin:0;color:var(--os-muted);font-size:.7rem}
.page-admin .admin-entity-list{display:grid;gap:9px}
.page-admin .entity-card{
  overflow:hidden;
  border:1px solid var(--os-line);
  border-radius:15px;
  background:rgba(255,255,255,.022);
}
.page-admin .entity-card-head{
  display:flex;
  gap:10px;
  align-items:center;
  min-height:61px;
  padding:10px 12px;
  border-bottom:1px solid var(--os-line);
  background:rgba(255,255,255,.02);
  cursor:pointer;
  list-style:none;
}
.page-admin .entity-card-head::-webkit-details-marker{display:none}
.page-admin .entity-card-head::marker{display:none;content:""}
.page-admin .entity-card[open] .entity-card-head{
  border-bottom-color:rgba(98,216,255,.18);
  background:rgba(98,216,255,.035);
}
.page-admin .entity-card-head>div{display:grid;min-width:0;flex:1}
.page-admin .entity-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.page-admin .entity-card-head span:not(.entity-avatar):not(.pill):not(.entity-color){overflow:hidden;color:var(--os-muted);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}
.page-admin .entity-avatar{
  display:grid;
  flex:0 0 38px;
  width:38px;
  height:38px;
  place-items:center;
  border:1px solid rgba(98,216,255,.2);
  border-radius:11px;
  color:var(--os-cyan);
  background:rgba(98,216,255,.07);
  font-size:.7rem;
  font-weight:950;
  text-transform:uppercase;
}
.page-admin .entity-avatar.entity-date{color:var(--os-yellow);border-color:rgba(255,200,107,.22);background:rgba(255,200,107,.07)}
.page-admin .entity-color{flex:0 0 12px;width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-radius:50%}
.page-admin .entity-edit-hint{
  flex:0 0 auto;
  color:var(--os-cyan)!important;
  font-size:.61rem!important;
  font-weight:900;
}
.page-admin .entity-edit-hint::after{margin-left:5px;content:"↓"}
.page-admin .entity-card[open] .entity-edit-hint::after{content:"↑"}
.page-admin .entity-form{padding:10px 12px 12px}
.page-admin .entity-actions{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--os-line);
}
.page-admin button.danger.subtle{
  border-color:rgba(255,133,143,.22);
  color:#ffadb5;
  background:rgba(255,133,143,.055);
}
.page-admin .credential-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  padding:0 12px 12px;
}
.page-admin .pass-form>div{display:flex;gap:6px}
.page-admin .pass-form input{min-width:0}
.page-admin .empty-state{
  display:grid;
  place-items:center;
  min-height:150px;
  padding:24px;
  border:1px dashed var(--os-line-strong);
  border-radius:14px;
  color:var(--os-muted);
  text-align:center;
}
.page-admin .empty-state strong{color:var(--os-text)}
.page-admin .empty-state span{font-size:.72rem}

/* Canciones en Administración */
.page-admin .song-layout{max-width:none;gap:14px}
.page-admin .song-create{position:static;padding:18px}
.page-admin .song-create .form-grid{gap:10px}
.page-admin .track-builder-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin:18px 0 9px;
  padding-top:15px;
  border-top:1px solid var(--os-line);
}
.page-admin .track-builder-head>div:first-child{display:flex;gap:10px;align-items:center}
.page-admin .track-builder-head h3{margin:0;font-size:1rem}
.page-admin .track-builder-head p{margin:1px 0 0;color:var(--os-muted);font-size:.68rem}
.page-admin .track-builder{display:grid;gap:7px}
.page-admin .track-row{
  display:grid;
  grid-template-columns:76px 1fr 1fr 1.35fr auto;
  gap:8px;
  align-items:end;
  margin:0;
  padding:9px;
  border:1px solid var(--os-line);
  border-radius:13px;
  background:rgba(255,255,255,.02);
}
.page-admin .track-row label{margin-top:0}
.page-admin .song-submit-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(130,230,167,.16);
  border-radius:14px;
  background:rgba(130,230,167,.035);
}
.page-admin .song-submit-row>div{display:grid}
.page-admin .song-submit-row span{color:var(--os-muted);font-size:.67rem}
.page-admin .song-submit-row .form-submit{width:auto;min-width:170px;margin:0}
.page-admin .song-library-admin{padding:14px}
.page-admin .song-admin-toolbar{
  position:sticky;
  top:158px;
  z-index:80;
  grid-template-columns:1.4fr 1fr 1fr .9fr .75fr;
  gap:8px;
  margin:0 0 12px;
  padding:10px;
  border-color:var(--os-line);
  border-radius:14px;
  background:rgba(8,16,28,.94);
  backdrop-filter:blur(16px);
}
.page-admin .song-admin-toolbar label{margin-top:0}
.page-admin .song-card.compact{
  margin-bottom:8px;
  border-color:var(--os-line);
  border-radius:15px;
  background:rgba(255,255,255,.02);
}
.page-admin .song-summary{min-height:72px;padding:12px}
.page-admin .song-summary:hover{background:rgba(98,216,255,.035)}
.page-admin .song-summary-title h3{font-size:.9rem}
.page-admin .song-body{padding:12px;border-color:var(--os-line);background:rgba(2,7,13,.22)}
.page-admin .song-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.page-admin .editor-surface{
  padding:12px;
  border:1px solid var(--os-line);
  border-radius:14px;
  background:rgba(255,255,255,.02);
}
.page-admin .add-existing-track{margin:0;padding:0;border:0;background:transparent}
.page-admin .loaded-tracks-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin:13px 0 8px;
  padding:10px 2px;
}
.page-admin .loaded-tracks-head>div{display:grid}
.page-admin .loaded-tracks-head h3{margin:0;font-size:1rem}
.page-admin .loaded-tracks-head span{color:var(--os-muted);font-size:.66rem}
.page-admin .danger-check{padding:7px 9px;border:1px solid rgba(255,133,143,.16);border-radius:10px;background:rgba(255,133,143,.035)}
.page-admin .track-admin-list{display:grid;gap:7px}
.page-admin .track-admin-card{
  display:grid;
  grid-template-columns:170px minmax(360px,1fr) minmax(240px,.65fr);
  gap:9px;
  align-items:end;
  padding:9px;
  border:1px solid var(--os-line);
  border-radius:13px;
  background:rgba(255,255,255,.02);
}
.page-admin .track-admin-identity{display:flex;gap:9px;align-items:center;align-self:center}
.page-admin .track-admin-identity>span{
  display:grid;
  flex:0 0 44px;
  width:44px;
  height:38px;
  place-items:center;
  border:1px solid rgba(98,216,255,.18);
  border-radius:10px;
  color:var(--os-cyan);
  background:rgba(98,216,255,.055);
  font-size:.65rem;
  font-weight:900;
}
.page-admin .track-admin-identity>div{display:grid;min-width:0}
.page-admin .track-admin-identity strong{overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.page-admin .track-admin-identity small{color:var(--os-muted);font-size:.62rem}
.page-admin .track-edit-grid{grid-template-columns:68px minmax(130px,1fr) minmax(120px,.7fr) auto;gap:7px}
.page-admin .track-edit-grid label{margin-top:0}
.page-admin .track-admin-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;align-items:center}
.page-admin .track-admin-file .mono{grid-column:1/-1;overflow:hidden;color:var(--os-subtle);font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}
.page-admin .track-admin-file .inline-check{font-size:.61rem}
.page-admin .song-pagination{gap:5px}

/* Sistema, acceso e instalación */
.page-system .top{border-radius:18px}
.page-system .stats{gap:9px}
.page-system .stat{
  border:1px solid var(--os-line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.page-system pre,
.page-system table{
  max-width:100%;
  overflow:auto;
  border-radius:13px;
}
.page-login{
  padding:max(18px,var(--os-safe-top)) max(14px,var(--os-safe-right)) max(18px,var(--os-safe-bottom)) max(14px,var(--os-safe-left));
}
.page-login .box{width:min(480px,100%);padding:30px;border-radius:24px}
.page-login .logo{box-shadow:0 14px 36px rgba(29,185,236,.2)}
.page-install .card{border-radius:20px}

/* Responsive */
@media(max-width:1180px){
  body.page-player.studio-active .track{grid-template-columns:150px 102px minmax(180px,1fr) minmax(315px,370px)}
  body.page-player.studio-active .control-deck{grid-template-columns:minmax(0,1fr) auto minmax(270px,330px)!important}
  body.page-player.studio-active .shortcut-hint{display:none}
  .page-admin .admin-split{grid-template-columns:330px minmax(0,1fr)}
  .page-admin .song-admin-toolbar{grid-template-columns:1fr 1fr 1fr}
  .page-admin .track-admin-card{grid-template-columns:150px minmax(320px,1fr)}
  .page-admin .track-admin-file{grid-column:1/-1}
}

@media(max-width:980px){
  .page-player .grid{grid-template-columns:1fr}
  .page-player .side{position:static;max-height:none}
  body.page-player.studio-active .studio-tools-panel{grid-template-columns:1fr}
  body.page-player.studio-active .track{
    grid-template-columns:145px 102px minmax(190px,1fr);
    grid-template-areas:"info buttons wave" "info volume volume";
  }
  body.page-player.studio-active .track-info{grid-area:info}
  body.page-player.studio-active .track-buttons{grid-area:buttons}
  body.page-player.studio-active .wave-wrap{grid-area:wave}
  body.page-player.studio-active .volbox{grid-area:volume}
  body.page-player.studio-active .control-deck{grid-template-columns:minmax(0,1fr) minmax(270px,340px)!important}
  body.page-player.studio-active .transport-row{grid-column:1/-1}
  body.page-player.studio-active .loop-chipbar{justify-content:center}
  .page-admin .admin-hero{grid-template-columns:1fr;min-height:0}
  .page-admin .admin-overview{grid-template-columns:repeat(4,minmax(0,1fr))}
  .page-admin .admin-overview>div{min-height:74px}
  .page-admin .admin-split{grid-template-columns:1fr}
  .page-admin .panel-form{position:static}
  .page-admin .entity-list-shell{min-width:0}
  .page-admin .track-builder-head{align-items:flex-start}
}

@media(max-width:760px){
  html{scroll-padding-top:18px}
  .page-player .wrap,
  .page-admin .wrap,
  .page-system .wrap,
  .page-install .wrap{width:calc(100% - 12px);padding-top:6px}
  .page-player .topbar,
  .page-admin .admin-topbar,
  .page-system .top{position:static;min-height:62px;border-radius:15px}
  .page-player .topbar .brand span{display:none}
  .page-player .topbar .brand strong{font-size:.8rem}
  .page-player .topbar .brand .logo{width:40px;height:40px}
  .page-player .topbar .top-actions{flex-wrap:nowrap}
  .page-player .topbar .top-actions .button,
  .page-player .topbar .top-actions button{width:auto!important;min-height:44px;padding:.45rem .58rem;font-size:.64rem;white-space:nowrap}
  .page-player .hero{min-height:0;padding:24px 18px}
  .page-player .hero .status{min-width:0;width:100%}
  body.page-player.studio-active{padding-bottom:185px}
  body.page-player.studio-active .wrap{width:calc(100% - 8px);padding-bottom:188px}
  body.page-player.studio-active .player{min-height:calc(100vh - 72px);border-radius:15px}
  body.page-player.studio-active .song-head{
    top:0;
    grid-template-columns:1fr;
    gap:7px;
    padding:10px;
    border-radius:14px 14px 0 0;
  }
  body.page-player.studio-active #songNotes{display:none}
  .page-player .player-actions{
    justify-content:flex-start;
    width:100%;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .page-player .player-actions::-webkit-scrollbar{display:none}
  body.page-player.studio-active .player-actions button,
  body.page-player.studio-active .player-actions a.button{
    flex:0 0 auto;
    min-height:44px;
    padding-inline:.72rem;
  }
  body.page-player.studio-active .studio-tools-panel{margin:7px 7px 4px;padding:7px}
  body.page-player.studio-active .studio-tools-panel .toolbar-block{grid-template-columns:62px minmax(0,1fr)}
  .page-player .presetbar button,
  .page-player .groupbar button{min-height:42px!important}
  body.page-player.studio-active #tracksBox{padding:3px 6px 7px!important}
  body.page-player.studio-active .track{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"info buttons" "wave wave" "volume volume";
    gap:6px;
    min-height:0;
    margin-bottom:6px;
    padding:8px;
    border-radius:12px;
  }
  body.page-player.studio-active .track-info{grid-area:info}
  body.page-player.studio-active .track-buttons{grid-area:buttons}
  body.page-player.studio-active .wave-wrap{grid-area:wave;height:45px!important}
  body.page-player.studio-active .volbox{grid-area:volume;grid-template-columns:minmax(80px,1fr) 40px 55px 57px 44px;gap:4px}
  body.page-player.studio-active .track-buttons button{min-width:54px!important;min-height:42px!important}
  body.page-player.studio-active .sound-quick,
  body.page-player.studio-active .download-track{min-height:42px!important}
  body.page-player.studio-active .control-deck{
    bottom:var(--os-safe-bottom)!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    width:calc(100% - 8px)!important;
    padding:6px!important;
    border-radius:17px 17px 7px 7px!important;
  }
  body.page-player.studio-active .transport-row{
    grid-template-columns:auto minmax(130px,1fr);
    gap:5px;
  }
  body.page-player.studio-active .mode-hint{display:none}
  body.page-player.studio-active .transport.transport-modern button{min-width:44px;min-height:44px;padding:.35rem .48rem}
  body.page-player.studio-active .transport.transport-modern .btn-text{display:none}
  body.page-player.studio-active #playBtn.play-modern{min-width:48px}
  body.page-player.studio-active .timebar.timebar-modern{grid-template-columns:39px minmax(70px,1fr) 39px;padding:0}
  body.page-player.studio-active .loop-chipbar{
    justify-content:flex-start;
    width:100%;
    overflow-x:auto;
    scrollbar-width:none;
  }
  body.page-player.studio-active .loop-kicker{display:none}
  body.page-player.studio-active .loop-chip{flex:0 0 auto;min-height:40px!important}
  body.page-player.studio-active .master.master-modern{width:100%;min-height:43px}
  body.page-player.studio-active .master-sound-button{min-height:38px!important}
  .page-player .song-extras{grid-template-columns:1fr}
  .page-player .studio-mini{bottom:var(--os-safe-bottom)!important;width:calc(100% - 8px);border-radius:16px 16px 7px 7px}
  .mix-workspace-backdrop,
  .page-player .smart-mix-backdrop,
  .page-player .sound-panel-backdrop{
    place-items:end center!important;
    padding:max(7px,var(--os-safe-top)) max(5px,var(--os-safe-right)) 0 max(5px,var(--os-safe-left))!important;
  }
  .mix-workspace,
  .page-player .smart-mix-panel,
  .page-player .sound-panel{
    width:100%!important;
    max-height:calc(100dvh - max(7px,var(--os-safe-top)))!important;
    border-radius:22px 22px 0 0!important;
  }
  .mix-workspace-head{padding:16px 15px 13px}
  .mix-workspace-head h2{font-size:1.35rem}
  .mix-workspace-body{padding:11px 12px 5px}
  .mix-workspace-foot{padding:10px 12px calc(10px + var(--os-safe-bottom))}
  .mix-workspace-foot span{display:none}
  .mix-workspace-foot button{width:100%}
  .mix-action-card{min-height:70px!important;padding:9px 10px!important}
  .page-player .smart-mix-head,
  .page-player .sound-panel-head{padding:14px 14px 12px}
  .page-player .smart-mix-scroll,
  .page-player .sound-panel-scroll{padding:11px 12px 4px}
  .page-player .smart-mix-actions,
  .page-player .sound-panel-actions{padding:10px 12px calc(10px + var(--os-safe-bottom))}
  .page-admin .admin-topbar{display:grid;grid-template-columns:1fr;gap:9px;align-items:center}
  .page-admin .actions{width:100%;max-width:100%;overflow-x:auto;scrollbar-width:none}
  .page-admin .actions::-webkit-scrollbar{display:none}
  .page-admin .admin-hero{padding:24px 18px;border-radius:18px}
  .page-admin .admin-hero h1{font-size:2.65rem}
  .page-admin .admin-overview{grid-template-columns:repeat(2,1fr)}
  .page-admin .admin-nav{top:max(5px,var(--os-safe-top));width:100%;justify-content:flex-start;margin-block:8px}
  .page-admin .admin-nav .tab{min-width:auto}
  .page-admin .panel{padding:0 10px 10px;border-radius:18px}
  .page-admin .panel-heading{margin:0 -10px 12px;padding:17px 15px 13px;border-radius:18px 18px 0 0}
  .page-admin .panel-heading h2{font-size:1.35rem}
  .page-admin .two,
  .page-admin .three,
  .page-admin .song-create .form-grid{grid-template-columns:1fr}
  .page-admin .credential-actions{grid-template-columns:1fr}
  .page-admin .track-builder-head{display:grid}
  .page-admin .track-builder-head .actions{max-width:100%;overflow-x:auto}
  .page-admin .track-row{grid-template-columns:68px minmax(0,1fr);padding:8px}
  .page-admin .track-row>div:nth-child(3),
  .page-admin .track-row>div:nth-child(4){grid-column:1/-1}
  .page-admin .track-row>button{grid-column:1/-1}
  .page-admin .song-submit-row{display:grid}
  .page-admin .song-submit-row .form-submit{width:100%}
  .page-admin .song-admin-toolbar{position:static;grid-template-columns:1fr}
  .page-admin .song-summary{display:grid;gap:8px}
  .page-admin .song-summary-actions{justify-content:flex-start}
  .page-admin .song-editor-grid{grid-template-columns:1fr}
  .page-admin .loaded-tracks-head{display:grid}
  .page-admin .track-admin-card{grid-template-columns:1fr}
  .page-admin .track-edit-grid{grid-template-columns:68px minmax(0,1fr)}
  .page-admin .track-edit-grid>div:nth-child(3),
  .page-admin .track-edit-grid>button{grid-column:1/-1}
  .page-admin .track-admin-file{grid-template-columns:1fr}
  .page-admin .track-admin-file>*{grid-column:1!important}
  .page-system .stats{grid-template-columns:1fr 1fr!important}
}

@media(max-width:430px){
  .page-player .topbar .top-actions .button{padding-inline:.58rem;font-size:.68rem}
  body.page-player.studio-active .volbox{grid-template-columns:minmax(68px,1fr) 38px 51px 53px 42px}
  body.page-player.studio-active .sound-quick{padding-inline:.18rem!important;font-size:.55rem!important}
  body.page-player.studio-active .transport-row{grid-template-columns:auto minmax(95px,1fr)}
  body.page-player.studio-active .timecode{font-size:.58rem}
  .mix-workspace-status{align-items:flex-start;flex-direction:column}
  .mix-action-card{grid-template-columns:38px minmax(0,1fr)}
  .mix-action-icon{width:38px;height:38px}
  .mix-action-arrow{display:none}
  .page-admin .brand .logo{width:40px;height:40px}
  .page-admin .brand>div:last-child>span:last-child{display:none}
  .page-admin .admin-overview>div{min-height:68px}
  .page-admin .entity-actions{align-items:stretch;flex-direction:column}
  .page-admin .entity-actions button{width:100%}
  .page-system .stats{grid-template-columns:1fr!important}
}

@media(hover:none){
  button:hover:not(:disabled),a.button:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
@media(prefers-contrast:more){
  :root{--os-line:rgba(255,255,255,.3);--os-line-strong:rgba(255,255,255,.46);--os-muted:#cad5e2}
  button,a.button,input,select,textarea,.card,.track{border-color:var(--os-line-strong)!important}
}
