/* v4.0.0 playlist source separation */
    .inline-filter-tab[onclick*="'online'"]{border-color:rgba(62,231,255,.22)}
    .inline-filter-tab[onclick*="'local'"]{border-color:rgba(77,236,149,.20)}
    .inline-filter-tab[onclick*="'downloads'"]{border-color:rgba(57,168,255,.24)}
    .inline-filter-tab[onclick*="'suggestions'"]{border-color:rgba(143,92,255,.24)}
    .inline-chip-type{font-weight:950}

  
    /* v4.0.1 Media Local tab */
    #tab-media-local{overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:120px!important;scrollbar-gutter:stable}
    .media-local-layout{max-width:1180px;margin:0 auto;display:grid;gap:16px;padding-bottom:60px}
    .media-local-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .media-local-form .wide{grid-column:1/-1}
    .media-local-list{display:grid;gap:10px;margin-top:12px}
    .media-local-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:22px;border:1px solid rgba(130,160,255,.14);background:rgba(255,255,255,.045)}
    .media-local-row img{width:74px;height:58px;border-radius:16px;object-fit:cover;background:#071126}
    .media-local-row strong,.media-local-row span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .media-local-row span{color:var(--muted);font-size:.82rem;margin-top:4px}
    @media(max-width:760px){.media-local-form,.media-local-row{grid-template-columns:1fr}.media-local-row img{width:100%;height:140px}}

  
    /* v4.0.3 Media Local scan before save + downloaded add button */
    .media-local-preview-row{
      border:1px solid rgba(74,145,255,.22);
      border-radius:20px;
      background:rgba(57,168,255,.055);
      padding:12px;
      display:grid;
      gap:8px;
    }
    .media-local-preview-row strong{font-size:.95rem}
    .media-local-preview-row span{color:var(--muted);font-size:.82rem}
    .downloaded-add-btn{
      margin-left:6px;
      border-color:rgba(77,236,149,.28)!important;
      background:rgba(77,236,149,.10)!important;
    }

  
    /* v4.0.4 quick library + downloaded playlists UI fix */
    .quick-library-panel{
      border:1px solid rgba(128,160,255,.16);
      border-radius:24px;
      background:
        radial-gradient(circle at 18% 0%,rgba(57,168,255,.10),transparent 36%),
        rgba(5,12,32,.56);
      padding:14px;
      display:grid;
      gap:12px;
      overflow:hidden;
    }
    .quick-library-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    .quick-library-head strong{font-size:.92rem;text-transform:uppercase;letter-spacing:.08em}
    .quick-library-head span{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
    .quick-library-count{
      border:1px solid rgba(128,160,255,.18);
      border-radius:999px;
      padding:6px 10px;
      color:var(--muted);
      font-size:.78rem;
      white-space:nowrap;
      background:rgba(255,255,255,.045);
    }
    .quick-library-tabs{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }
    .quick-library-tabs .inline-filter-tab{
      min-height:32px!important;
      padding:6px 12px!important;
      font-size:.78rem!important;
    }
    .quick-library-row{
      display:flex;
      gap:10px;
      overflow-x:auto;
      overflow-y:hidden;
      padding:2px 2px 8px;
      scroll-snap-type:x proximity;
    }
    .quick-library-row .inline-playlist-chip{
      min-width:210px!important;
      max-width:250px!important;
      scroll-snap-align:start;
    }
    .downloaded-playlist-card{
      display:grid;
      grid-template-columns:66px minmax(0,1fr) auto;
      align-items:center;
      gap:12px;
      border:1px solid rgba(128,160,255,.16);
      border-radius:20px;
      background:rgba(255,255,255,.045);
      padding:10px;
      min-width:320px;
    }
    .downloaded-playlist-card img{
      width:66px;
      height:54px;
      border-radius:14px;
      object-fit:cover;
      background:#061127;
    }
    .downloaded-playlist-info{min-width:0}
    .downloaded-playlist-info strong,.downloaded-playlist-info span{
      display:block;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .downloaded-playlist-info span{font-size:.78rem;color:var(--muted);margin-top:4px}
    .downloaded-playlist-actions{
      display:flex;
      gap:8px;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:nowrap;
    }
    .downloaded-add-btn{
      white-space:nowrap!important;
      border-color:rgba(77,236,149,.32)!important;
      background:rgba(77,236,149,.12)!important;
    }
    @media(max-width:760px){
      .downloaded-playlist-card{grid-template-columns:56px minmax(0,1fr);min-width:0}
      .downloaded-playlist-actions{grid-column:1/-1;justify-content:stretch}
      .downloaded-playlist-actions .mini-btn{flex:1}
    }

  
    /* v4.0.5 admin-only Media Local tab */
    .admin-tab-only{display:none!important}
    body.mitr4-admin .admin-tab-only{display:flex!important}

  
    /* v4.0.6 Media Local recursive scan + clean library UI */
    .media-local-preview-summary{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      border:1px solid rgba(77,236,149,.22);
      background:rgba(77,236,149,.075);
      border-radius:20px;
      padding:12px;
    }
    .media-local-preview-summary span{color:var(--muted);font-size:.82rem}
    .media-local-preview-row.warning{
      border-color:rgba(255,184,77,.26);
      background:rgba(255,184,77,.07);
    }
    .quick-library-panel.clean{
      max-width:620px;
      margin:0 auto;
      padding:16px;
      border-radius:26px;
      background:linear-gradient(180deg,rgba(11,20,50,.80),rgba(5,11,30,.72));
    }
    .quick-library-panel.clean .quick-library-head{
      padding-bottom:6px;
      border-bottom:1px solid rgba(128,160,255,.10);
    }
    .quick-library-tabs.compact{
      gap:8px;
      padding:2px 0 4px;
    }
    .quick-library-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      max-height:246px;
      overflow:auto;
      padding-right:4px;
    }
    .quick-library-grid .inline-playlist-chip{
      min-width:0!important;
      max-width:none!important;
      width:100%!important;
      height:74px!important;
    }
    .downloaded-playlist-card.clean{
      min-width:0;
      width:100%;
      grid-template-columns:70px minmax(0,1fr) auto;
      overflow:hidden;
    }
    .downloaded-playlist-card.clean .downloaded-playlist-actions{
      min-width:250px;
    }
    .downloaded-playlist-card.clean .mini-btn{
      white-space:nowrap;
      min-width:88px;
    }
    .downloaded-playlist-card.clean .downloaded-add-btn{
      min-width:150px;
    }
    #downloadedPlaylistList.player-visible-playlists{
      display:grid!important;
      grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
      gap:10px!important;
      overflow:visible!important;
      max-height:none!important;
    }
    @media(max-width:900px){
      .quick-library-grid{grid-template-columns:1fr}
      #downloadedPlaylistList.player-visible-playlists{grid-template-columns:1fr!important}
      .downloaded-playlist-card.clean{grid-template-columns:60px minmax(0,1fr)}
      .downloaded-playlist-card.clean .downloaded-playlist-actions{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:1fr 1fr}
    }

  
    /* v4.0.7 Media Local diagnostics */
    .media-local-debug{
      margin-top:8px;
      border-top:1px solid rgba(255,255,255,.08);
      padding-top:8px;
    }
    .media-local-debug summary{
      cursor:pointer;
      color:#dbe7ff;
      font-weight:800;
      margin-bottom:6px;
    }
    .media-local-debug span{
      display:block;
      font-size:.76rem;
      color:var(--muted);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      margin:3px 0;
    }

  
    /* v4.1.0 Media Local playlist actions + media MIME */
    .media-local-row.enhanced{
      grid-template-columns:74px minmax(0,1fr) minmax(360px,auto)!important;
    }
    .media-local-actions{
      display:flex;
      gap:8px;
      justify-content:flex-end;
      align-items:center;
      flex-wrap:wrap;
    }
    .media-local-actions .mini-btn{
      white-space:nowrap;
    }
    @media(max-width:1000px){
      .media-local-row.enhanced{grid-template-columns:74px minmax(0,1fr)!important}
      .media-local-actions{grid-column:1/-1;justify-content:stretch}
      .media-local-actions .mini-btn{flex:1}
    }

  
    /* v4.1.3 Local album/subfolder track fix */
    .fs-track strong{
      max-width:100%;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .fs-track span{
      max-width:100%;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

  
    /* v4.1.5 Local origin isolation + mobile web UI hardening */
    @media(max-width:820px){
      body{overflow:hidden!important;background:#030816!important}
      .app{width:100vw!important;height:100vh!important;margin:0!important;border-radius:0!important;display:block!important;overflow:hidden!important}
      .main{position:absolute!important;inset:0!important;padding:12px 12px 86px!important;overflow:auto!important;min-width:0!important;max-width:100vw!important}
      .sidebar,.right{display:none!important}
      .mobile-bottom-nav{display:grid!important;grid-template-columns:repeat(5,1fr)!important;position:fixed!important;z-index:9999!important;left:0!important;right:0!important;bottom:0!important;height:74px!important;background:rgba(5,12,30,.98)!important;border-top:1px solid rgba(128,160,255,.18)!important;box-shadow:0 -18px 50px rgba(0,0,0,.38)!important}
      .mobile-bottom-nav button{border:0!important;background:transparent!important;color:#b8c5f4!important;font-weight:900!important;font-size:.68rem!important;line-height:1.2!important;min-width:0!important;padding:6px 2px!important}
      .mobile-bottom-nav button.active{color:#fff!important;background:linear-gradient(135deg,rgba(57,168,255,.20),rgba(143,92,255,.24))!important}
      .profile-grid,.player-grid,.grid2,.dest,.download-action,.playlist-create,.media-local-form{grid-template-columns:1fr!important}
      .panel,.player-card,.now-playing-card,.media-local-layout{max-width:100%!important;min-width:0!important}
      .fullscreen-player.open{padding:0!important}
      .fs-grid{grid-template-columns:1fr!important;gap:14px!important}
      .fs-cover-wrap{max-width:260px!important;margin:auto!important}
      .quick-library-grid{grid-template-columns:1fr!important;max-height:260px!important}
      .media-local-row.enhanced{grid-template-columns:1fr!important}
      .media-local-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
      .media-local-actions .mini-btn{width:100%!important}
    }
    .playlist-origin-note{color:var(--muted);font-size:.78rem}

  
    /* v4.1.9 Media Local workflow actions */
    .media-local-preview-summary.workflow{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
      flex-wrap:wrap;
    }
    .media-local-preview-actions{
      display:flex;
      gap:8px;
      justify-content:flex-end;
      align-items:center;
      flex-wrap:wrap;
    }
    .media-local-preview-row.action-row{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:12px;
      align-items:center;
    }
    .media-local-preview-row small{
      display:block;
      color:var(--muted);
      margin-top:5px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    @media(max-width:900px){
      .media-local-preview-row.action-row{grid-template-columns:1fr}
      .media-local-preview-actions{justify-content:stretch}
      .media-local-preview-actions .mini-btn{flex:1}
    }

  
    /* v4.2.0 remote access permissions */
    .remote-perms label{
      min-width:180px;
    }

  
    /* v4.2.2 bigger player library/suggestions panel */
    .player-inline-playlist-wrap{
      margin-top:18px!important;
      padding:0!important;
    }
    .player-inline-playlist-wrap .inline-playlist-arrow{
      display:none!important;
    }
    .player-library-large{
      width:100%;
      padding:18px!important;
      border-radius:28px!important;
      background:linear-gradient(135deg,rgba(8,22,54,.96),rgba(38,30,96,.82))!important;
      border:1px solid rgba(99,154,255,.22)!important;
      box-shadow:0 18px 50px rgba(0,0,0,.28)!important;
    }
    .quick-library-grid.large{
      display:grid!important;
      grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
      gap:12px!important;
      overflow:visible!important;
      max-height:none!important;
    }
    .inline-playlist-chip.large-card{
      min-height:92px!important;
      border-radius:20px!important;
      padding:10px!important;
      display:grid!important;
      grid-template-columns:72px 28px minmax(0,1fr)!important;
      text-align:left!important;
      background:rgba(255,255,255,.055)!important;
      border:1px solid rgba(255,255,255,.12)!important;
    }
    .inline-playlist-chip.large-card img{
      width:72px!important;
      height:72px!important;
      border-radius:16px!important;
      object-fit:cover!important;
    }
    .inline-playlist-chip.large-card .inline-chip-info{
      min-width:0!important;
      display:flex!important;
      flex-direction:column!important;
      gap:4px!important;
    }
    .inline-playlist-chip.large-card strong{
      white-space:nowrap!important;
      overflow:hidden!important;
      text-overflow:ellipsis!important;
    }
    .inline-playlist-chip.large-card em{
      color:var(--muted);
      font-style:normal;
      font-size:.72rem;
      line-height:1.15;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    @media(max-width:760px){
      .quick-library-grid.large{grid-template-columns:1fr!important}
      .player-library-large{padding:14px!important;border-radius:22px!important}
    }

  
    /* v4.2.4 Player library below full player layout */
    .now-playing-card .player-inline-playlists,
    .now-playing-card #playerInlinePlaylistStrip,
    .now-playing-card .inline-playlist-nav-wrap{
      display:none!important;
    }
    .player-library-under-player{
      width:100%!important;
      margin:20px 0 0!important;
      padding:20px!important;
      border-radius:30px!important;
      background:
        radial-gradient(circle at 10% 0%,rgba(55,166,255,.16),transparent 34%),
        radial-gradient(circle at 90% 0%,rgba(220,67,207,.14),transparent 36%),
        linear-gradient(135deg,rgba(8,20,48,.96),rgba(26,23,72,.92))!important;
      border:1px solid rgba(115,155,255,.22)!important;
      box-shadow:0 22px 70px rgba(0,0,0,.32)!important;
      clear:both!important;
    }
    .under-player-heading{
      display:flex!important;
      justify-content:space-between!important;
      gap:14px!important;
      align-items:center!important;
      margin-bottom:14px!important;
      flex-wrap:wrap!important;
    }
    .under-player-heading strong{
      display:block!important;
      font-size:1.12rem!important;
      letter-spacing:.02em!important;
    }
    .under-player-heading span{
      display:block!important;
      color:var(--muted)!important;
      font-size:.82rem!important;
      margin-top:3px!important;
    }
    .under-player-library-wrap{
      display:block!important;
      width:100%!important;
      overflow:visible!important;
    }
    .player-library-under-player .player-inline-playlist-strip{
      display:block!important;
      width:100%!important;
      overflow:visible!important;
    }
    .player-library-under-player .quick-library-panel{
      width:100%!important;
      margin:0!important;
      padding:0!important;
      background:transparent!important;
      border:0!important;
      box-shadow:none!important;
    }
    .player-library-under-player .quick-library-head{
      display:none!important;
    }
    .player-library-under-player .quick-library-tabs{
      margin-bottom:14px!important;
      display:flex!important;
      gap:8px!important;
      flex-wrap:wrap!important;
    }
    .player-library-under-player .quick-library-grid,
    .player-library-under-player .quick-library-grid.large{
      display:grid!important;
      grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;
      gap:14px!important;
      overflow:visible!important;
      max-height:none!important;
    }
    .player-library-under-player .inline-playlist-chip.large-card,
    .player-library-under-player .inline-playlist-chip{
      width:100%!important;
      min-height:104px!important;
      border-radius:22px!important;
      padding:12px!important;
      display:grid!important;
      grid-template-columns:78px 34px minmax(0,1fr)!important;
      align-items:center!important;
      text-align:left!important;
      background:
        radial-gradient(circle at 0% 0%,rgba(60,160,255,.12),transparent 35%),
        rgba(255,255,255,.055)!important;
      border:1px solid rgba(255,255,255,.13)!important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 34px rgba(0,0,0,.18)!important;
    }
    .player-library-under-player .inline-playlist-chip img{
      width:78px!important;
      height:78px!important;
      border-radius:18px!important;
      object-fit:cover!important;
    }
    .player-library-under-player .inline-chip-info{
      min-width:0!important;
      display:flex!important;
      flex-direction:column!important;
      gap:4px!important;
    }
    .player-library-under-player .inline-chip-info strong{
      white-space:nowrap!important;
      overflow:hidden!important;
      text-overflow:ellipsis!important;
      font-size:.94rem!important;
    }
    .player-library-under-player .inline-chip-info em{
      display:-webkit-box!important;
      -webkit-line-clamp:2!important;
      -webkit-box-orient:vertical!important;
      overflow:hidden!important;
      font-style:normal!important;
      color:var(--muted)!important;
      font-size:.73rem!important;
      line-height:1.15!important;
    }
    @media(max-width:860px){
      .player-library-under-player{
        padding:14px!important;
        border-radius:22px!important;
      }
      .player-library-under-player .quick-library-grid,
      .player-library-under-player .quick-library-grid.large{
        grid-template-columns:1fr!important;
      }
    }

  
    /* v4.2.5 downloaded playlists dedupe/functionality */
    .downloaded-playlist-card.broken{
      opacity:.58;
      border-color:rgba(255,85,120,.28)!important;
    }
    .downloaded-playlist-card.broken .mini-btn{
      cursor:not-allowed;
      filter:grayscale(.6);
    }

  
    /* v4.2.6 HARD player library layout overflow fix */
    #tab-player .player-library-under-player{
      display:block!important;
      grid-area:auto!important;
      position:relative!important;
      width:100%!important;
      max-width:100%!important;
      min-width:0!important;
      margin:22px 0 0 0!important;
      padding:20px!important;
      box-sizing:border-box!important;
      overflow:visible!important;
    }
    #tab-player .player-library-under-player .under-player-library-wrap,
    #tab-player .player-library-under-player .inline-playlist-nav-wrap{
      display:block!important;
      grid-template-columns:none!important;
      width:100%!important;
      max-width:100%!important;
      min-width:0!important;
      overflow:visible!important;
      padding:0!important;
      margin:0!important;
    }
    #tab-player .player-library-under-player #playerInlinePlaylistStrip,
    #tab-player .player-library-under-player .player-inline-playlist-strip{
      display:block!important;
      width:100%!important;
      max-width:100%!important;
      min-width:0!important;
      overflow:visible!important;
      padding:0!important;
      margin:0!important;
      white-space:normal!important;
    }
    #tab-player .player-library-under-player .quick-library-panel,
    #tab-player .player-library-under-player .player-library-large{
      display:block!important;
      width:100%!important;
      max-width:100%!important;
      min-width:0!important;
      padding:0!important;
      margin:0!important;
      overflow:visible!important;
      background:transparent!important;
      border:0!important;
      box-shadow:none!important;
    }
    #tab-player .player-library-under-player .quick-library-tabs,
    #tab-player .player-library-under-player .inline-filter-tabs{
      display:flex!important;
      flex-direction:row!important;
      flex-wrap:wrap!important;
      gap:8px!important;
      width:100%!important;
      max-width:100%!important;
      min-width:0!important;
      overflow:visible!important;
      padding:0 0 14px 0!important;
      margin:0!important;
      white-space:normal!important;
    }
    #tab-player .player-library-under-player .quick-library-tabs button,
    #tab-player .player-library-under-player .inline-filter-tab{
      display:inline-flex!important;
      flex:0 0 auto!important;
      width:auto!important;
      min-width:auto!important;
      max-width:none!important;
      height:36px!important;
      white-space:nowrap!important;
      overflow:visible!important;
      text-overflow:clip!important;
      padding:0 13px!important;
      align-items:center!important;
      justify-content:center!important;
    }
    #tab-player .player-library-under-player .quick-library-grid,
    #tab-player .player-library-under-player .quick-library-grid.large,
    #tab-player .player-library-under-player .inline-playlist-categories,
    #tab-player .player-library-under-player .inline-playlist-category{
      display:grid!important;
      grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;
      gap:14px!important;
      width:100%!important;
      max-width:100%!important;
      min-width:0!important;
      overflow:visible!important;
      max-height:none!important;
      white-space:normal!important;
    }
    #tab-player .player-library-under-player .inline-playlist-chip,
    #tab-player .player-library-under-player .inline-playlist-chip.large-card{
      display:grid!important;
      grid-template-columns:78px 34px minmax(0,1fr)!important;
      width:100%!important;
      min-width:0!important;
      max-width:none!important;
      flex:none!important;
      flex-basis:auto!important;
      height:auto!important;
      min-height:104px!important;
      overflow:hidden!important;
      white-space:normal!important;
      box-sizing:border-box!important;
    }
    #tab-player .player-library-under-player .inline-playlist-chip img{
      width:78px!important;
      height:78px!important;
      min-width:78px!important;
      border-radius:18px!important;
      object-fit:cover!important;
    }
    #tab-player .player-library-under-player .inline-chip-info{
      min-width:0!important;
      width:100%!important;
      overflow:hidden!important;
      white-space:normal!important;
    }
    #tab-player .player-library-under-player .inline-chip-info strong,
    #tab-player .player-library-under-player .inline-chip-info small{
      display:block!important;
      min-width:0!important;
      width:100%!important;
      max-width:100%!important;
      overflow:hidden!important;
      text-overflow:ellipsis!important;
      white-space:nowrap!important;
    }
    #tab-player .player-library-under-player .inline-chip-info em{
      display:-webkit-box!important;
      -webkit-line-clamp:2!important;
      -webkit-box-orient:vertical!important;
      overflow:hidden!important;
      white-space:normal!important;
    }
    #tab-player .player-library-under-player .inline-playlist-arrow{
      display:none!important;
    }
    @media(max-width:900px){
      #tab-player .player-library-under-player .quick-library-grid,
      #tab-player .player-library-under-player .quick-library-grid.large,
      #tab-player .player-library-under-player .inline-playlist-categories,
      #tab-player .player-library-under-player .inline-playlist-category{
        grid-template-columns:1fr!important;
      }
      #tab-player .player-library-under-player{
        padding:14px!important;
        border-radius:22px!important;
      }
    }

  
    /* v4.2.7 global playlist dedupe */
    .inline-playlist-chip[data-dedupe="merged"]{outline:1px solid rgba(57,240,165,.28)!important}
