/* SoulOne LIVE v0.13 — refined song library and utility chrome.
 * Preserve playback, track controls, cloud connection, and mobile's dedicated views.
 */
.right.live-library-panel {
 --sl-ink:#223c55;
 --sl-muted:#6d8499;
 --sl-line:#dae6f0;
 --sl-blue:#096bba;
 color:var(--sl-ink);
 box-shadow:0 4px 16px rgba(28,61,89,.07);
}
.right.live-library-panel .live-library-header{
 padding:12px 14px 11px!important;
 background:#fff;
 border-bottom:1px solid #e9eff5;
 min-height:0;
}
.right.live-library-panel .live-library-header strong{
 font-size:14px!important;
 line-height:1.25;
 font-weight:820;
 text-transform:none;
 letter-spacing:-.015em;
 color:#1e3c56;
}
.right.live-library-panel .live-library-header small{
 font-size:10px!important;
 color:#8497aa;
 line-height:1.4;
 margin-top:2px;
 font-weight:560;
}
.right.live-library-panel .live-library-marker{display:none!important}
.right.live-library-panel>.cloud-toolbar{
 position:relative;
 z-index:30;
 display:flex!important;
 flex-wrap:nowrap!important;
 justify-content:space-between;
 gap:8px;
 padding:7px 12px!important;
 min-height:34px!important;
 border:0!important;
 border-bottom:1px solid #e6edf4!important;
 background:#fbfdff!important;
 box-shadow:none!important;
 overflow:visible!important;
}
.right.live-library-panel>.cloud-toolbar strong{
 display:block;
 min-width:0;
 flex:1 1 auto!important;
 margin:0!important;
 line-height:1.4;
 font-size:10px!important;
 font-weight:690;
 letter-spacing:0;
 white-space:nowrap;
 text-overflow:ellipsis;
 overflow:hidden;
 color:#617f97;
}
.right.live-library-panel>.cloud-toolbar>.sl-cloud-more{
 flex:0 0 26px!important;
 width:26px;
 height:24px!important;
 min-height:24px!important;
 padding:0!important;
 font-size:18px!important;
 line-height:17px!important;
 display:grid;
 place-items:center;
 color:#54758e;
 background:transparent;
 border:1px solid transparent;
 border-radius:7px;
 box-shadow:none;
}
.right.live-library-panel>.cloud-toolbar>.sl-cloud-more:hover,
.right.live-library-panel>.cloud-toolbar>.sl-cloud-more[aria-expanded=true]{
 border-color:#d7e5f0;
 background:#edf5fb;
}
.right.live-library-panel>.cloud-toolbar>.sl-cloud-actions{
 position:absolute;
 z-index:50;
 top:calc(100% + 5px);
 right:6px;
 width:174px;
 border:1px solid #d3e2ee;
 background:#fff;
 border-radius:11px;
 padding:6px;
 box-shadow:0 12px 27px rgba(18,53,86,.19);
 display:flex;
 flex-direction:column;
 align-items:stretch;
 gap:3px;
}
.right.live-library-panel>.cloud-toolbar>.sl-cloud-actions[hidden]{
 display:none!important;
}
.right.live-library-panel>.cloud-toolbar>.sl-cloud-actions button,
.right.live-library-panel>.cloud-toolbar>.sl-cloud-actions a{
 display:flex;
 justify-content:flex-start;
 align-items:center;
 flex:0 0 auto;
 text-decoration:none!important;
 border:0!important;
 border-radius:7px!important;
 padding:10px!important;
 min-height:35px!important;
 font-size:11px!important;
 font-weight:750;
 background:#fff!important;
 color:#385d78!important;
 cursor:pointer;
 box-shadow:none!important;
}
.right.live-library-panel>.cloud-toolbar>.sl-cloud-actions button:hover,
.right.live-library-panel>.cloud-toolbar>.sl-cloud-actions a:hover{
 background:#eef5fb!important;
}
.right.live-library-panel .tabs{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 background:#fff!important;
 border-bottom:1px solid #e1e9f1;
 padding:0 9px;
 gap:5px;
}
.right.live-library-panel .tabs button{
 min-width:0;
 min-height:38px;
 padding:9px 4px 8px!important;
 display:flex;
 justify-content:center;
 align-items:center;
 font-family:inherit;
 font-size:11px!important;
 font-weight:720!important;
 letter-spacing:0;
 text-transform:none;
 white-space:nowrap;
 color:#71879b!important;
 background:transparent!important;
 border:0!important;
 border-bottom:2px solid transparent!important;
 border-radius:0!important;
 box-shadow:none!important;
}
.right.live-library-panel .tabs button:hover{
 color:#245b84!important;
 background:#f6fafd!important;
}
.right.live-library-panel .tabs button.active{
 color:#0a66ad!important;
 font-weight:850!important;
 background:transparent!important;
 border-bottom-color:#087dd1!important;
}
.right.live-library-panel .tabcontent{
 padding:10px 10px 12px!important;
 min-height:0;
 overflow-y:auto;
 scrollbar-gutter:stable;
 overscroll-behavior-y:contain;
}
.right.live-library-panel .search{
 box-sizing:border-box;
 min-height:39px;
 max-height:39px;
 width:100%;
 padding:9px 11px!important;
 font-family:inherit;
 font-size:12px!important;
 font-weight:520;
 border:1px solid #d7e4ee;
 border-radius:9px!important;
 color:#254b65;
 background:#f8fbfe;
 box-shadow:none;
 margin:0 0 10px!important;
 outline:none;
}
.right.live-library-panel .search::placeholder{color:#94a6b5;font-weight:520}
.right.live-library-panel .search:focus{
 border-color:#6eaee1;
 background:#fff;
 box-shadow:0 0 0 3px #0c85dc18;
}
.right.live-library-panel .setlist-order-hint{display:none!important}
.right.live-library-panel .setlist{
 display:flex;
 flex-direction:column;
 gap:5px;
 max-height:none;
 overflow:visible;
 padding:0 1px 6px;
}
.right.live-library-panel .songitem,
.right.live-library-panel .reorder-setlist .songitem{
 display:flex;
 align-items:center;
 gap:5px;
 padding:9px 7px!important;
 margin:0;
 min-height:67px;
 border:1px solid transparent!important;
 border-bottom:1px solid #e5edf4!important;
 border-radius:9px;
 color:#24445f;
 background:#fff;
 cursor:pointer;
 box-shadow:none;
 transition:background .15s,border-color .15s;
}
.right.live-library-panel .songitem:hover{
 background:#f6faff;
 border-color:#e2edf7!important;
}
.right.live-library-panel .songitem.selected,
.right.live-library-panel .reorder-setlist .songitem.selected{
 background:#ecf5ff!important;
 border:1px solid #c2ddf4!important;
 box-shadow:inset 3px 0 0 #0c79d0!important;
 color:#1e415f!important;
}
.right.live-library-panel .songitem .song-grip{
 flex:0 0 10px;
 width:10px;
 padding:1px 0;
 color:#9bb4c8;
 font-size:15px;
 line-height:20px;
 opacity:.8;
}
.right.live-library-panel .songitem.selected .song-grip{color:#4c96c8}
.right.live-library-panel .songitem .num{
 flex:0 0 14px;
 width:14px;
 text-align:center;
 font-size:11px;
 font-weight:780;
 color:#71899f;
}
.right.live-library-panel .songitem.selected .num{color:#0b6eaf}
.right.live-library-panel .songitem .name{
 min-width:0;
 flex:1 1 auto;
 display:flex;
 flex-direction:column;
 gap:2px;
 align-items:stretch;
 overflow:hidden;
}
.right.live-library-panel .songitem .name b{
 display:block;
 font-size:12px!important;
 line-height:1.25;
 font-weight:790;
 letter-spacing:-.012em;
 color:#1f3d57!important;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.right.live-library-panel .songitem .name small{
 display:block;
 font-size:10px!important;
 font-weight:540;
 line-height:1.25;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
 color:#74899b!important;
 opacity:1!important;
}
.right.live-library-panel .songitem .song-meta{
 display:block;
 flex:none;
 font-size:10px!important;
 font-weight:650;
 line-height:1.25;
 letter-spacing:.015em;
 color:#577d9d!important;
 opacity:1;
 padding-top:1px;
}
.right.live-library-panel .songitem .song-file-state{
 display:inline-flex;
 align-items:center;
 flex:none;
 font-size:9px;
 line-height:1.2;
 font-weight:750;
 letter-spacing:.03em;
 margin-top:1px;
 color:#16856c!important;
}
.right.live-library-panel .songitem .download-inline{
 height:2px;
 margin-top:2px;
 max-width:100%;
 background:#e7eef5;
 border-radius:2px;
 overflow:hidden;
}
.right.live-library-panel .songitem .download-inline i{
 background:#38a7ce;
}
.right.live-library-panel .songitem .playSong{
 width:29px!important;
 min-width:29px!important;
 height:32px!important;
 min-height:32px!important;
 flex:0 0 29px!important;
 padding:0!important;
 font-size:13px!important;
 border:1px solid #d4e4f1!important;
 border-radius:8px!important;
 background:#f2f8fd!important;
 color:#0b69aa!important;
 box-shadow:none!important;
}
.right.live-library-panel .songitem .playSong:hover{background:#ddecf9!important}
.right.live-library-panel .songitem .sl-song-more{
 width:29px!important;
 min-width:29px!important;
 flex:0 0 29px!important;
 height:32px!important;
 min-height:32px!important;
 padding:0!important;
 border-radius:8px!important;
 border:1px solid transparent!important;
 background:transparent!important;
 color:#5f8099!important;
 font-size:20px!important;
 box-shadow:none!important;
}
.right.live-library-panel .songitem .sl-song-more:hover,
.right.live-library-panel .songitem .sl-song-more:focus-visible{
 background:#e1effb!important;
 border-color:#c7e0f2!important;
}
.right.live-library-panel .songitem button:focus-visible,
.right.live-library-panel .tabs button:focus-visible{
 outline:2px solid #1384d2;
 outline-offset:2px;
}
.right.live-library-panel .side-actions{
 display:flex;
 gap:7px;
 padding:12px 1px 8px!important;
 margin:0;
 align-items:center;
}
.right.live-library-panel .side-actions button{
 flex:1 1 0;
 min-width:0;
 min-height:34px!important;
 height:auto;
 padding:8px 7px!important;
 border:1px solid #d5e2ed!important;
 border-radius:8px!important;
 box-shadow:none!important;
 background:#fff!important;
 color:#486b86!important;
 font-family:inherit;
 font-size:10px!important;
 font-weight:760!important;
 line-height:1.25;
 white-space:normal;
}
.right.live-library-panel .side-actions button:first-child{
 color:#086db4!important;
 background:#edf6fe!important;
 border-color:#c8e0f3!important;
}
.right.live-library-panel .side-actions button:hover{background:#e9f4fc!important}
.right.live-library-panel .sl-restore:not([hidden]){
 display:inline-flex!important;
 justify-content:flex-start;
 width:auto!important;
 min-height:26px;
 border:0!important;
 border-radius:7px;
 background:transparent!important;
 color:#6987a0;
 font-size:10px;
 font-weight:680;
 padding:4px 6px!important;
 margin:3px 0;
}
.right.live-library-panel .sl-restore:hover{background:#f2f7fb!important;color:#276d9b}
/* Avoid black browser-native tooltips on the protected guide/click label. */
.stage-footer-note>span:first-child{
 display:inline-flex!important;
 align-items:center;
 gap:4px;
 border:0!important;
 padding:3px 6px!important;
 background:transparent!important;
 border-radius:6px!important;
 box-shadow:none!important;
 color:#7290a6!important;
 font-size:10px!important;
 font-weight:650!important;
 white-space:nowrap;
 cursor:default;
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
 body>.app .stage-footer-note>span:first-child{max-width:100%;overflow:hidden;text-overflow:ellipsis}
 body>.app>.main-grid>.right.live-library-panel .tabcontent{
  padding-bottom:14px!important;
 }
}
@media(max-width:1100px) and (pointer:coarse){
 .right.live-library-panel .songitem{
   min-height:64px!important;
   gap:5px!important;
 }
 .right.live-library-panel .songitem .song-grip{min-width:12px}
 .right.live-library-panel .songitem .sl-song-more,
 .right.live-library-panel .songitem .playSong{
  min-width:36px!important;
  width:36px!important;
  flex-basis:36px!important;
  min-height:40px!important;
  height:40px!important;
 }
 .right.live-library-panel>.cloud-toolbar{
  display:none!important;
 }
}

.right.live-library-panel .songitem .sl-song-details{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  min-width:0;
  white-space:nowrap;
  margin-top:1px;
}
.right.live-library-panel .songitem .sl-song-details .song-meta{
  padding:0;
  margin:0;
  font-size:9px!important;
  color:#6288a5!important;
}
.right.live-library-panel .songitem .sl-song-details .song-file-state{
  display:inline-flex;
  padding:0;
  margin:0;
  font-size:9px!important;
  font-weight:740;
  line-height:1.3;
  color:#13826d!important;
  white-space:nowrap;
}
.right.live-library-panel .songitem .sl-song-details .song-file-state:not(:last-child){
  margin-right:3px;
}
.right.live-library-panel .songitem .download-inline{
  max-width:145px;
}
@media(max-width:1250px){
  .right.live-library-panel .songitem .name b{font-size:11px!important}
  .right.live-library-panel .songitem .sl-song-details{gap:6px}
}
