:root{--bg:#f4f6fa;--panel:#fff;--text:#172033;--muted:#667085;--line:#e4e8f0;--accent:#2457d6;--accent2:#173d9e;--soft:#eef3ff;--radius:18px;--shadow:0 10px 30px rgba(31,42,68,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(20px,calc((100vw - 1500px)/2));background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--accent);color:#fff;font-size:28px;font-weight:800}.brand-company,.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.eyebrow{margin:0;color:var(--accent)}h1{font-size:22px;margin:0}.languages{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.languages a{padding:5px 7px;border-radius:7px;color:var(--muted);font-size:12px;font-weight:700}.languages a.active{background:var(--soft);color:var(--accent)}.page{max-width:1500px;margin:0 auto;padding:24px 20px 48px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px}.hero h2{max-width:820px;margin:.25rem 0 .65rem;font-size:clamp(22px,3vw,34px);line-height:1.15}.privacy-note{margin:0;color:var(--muted)}.hero-actions,.export-actions,.playlist-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--text);padding:10px 14px;border-radius:11px;font-weight:700}.btn:hover{background:#f8f9fc}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.small{padding:7px 10px;font-size:13px}.icon-btn{border:0;background:transparent;font-size:18px;border-radius:8px;padding:6px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.stat{padding:18px}.stat span{display:block;font-size:28px;font-weight:850}.stat small{color:var(--muted)}.toolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(140px,auto));gap:10px;padding:14px;margin-bottom:16px}.search,select,.edit-input{width:100%;border:1px solid #d8deea;background:#fff;border-radius:10px;padding:10px 11px;color:var(--text);outline:none}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.library,.playlist,.player{padding:18px}.playlist{position:sticky;top:93px}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.section-head h2{margin:2px 0 0;font-size:21px}.status{display:none;margin:10px 0;padding:10px 12px;border-radius:10px;background:#eef6ff;color:#1849a9}.status.show{display:block}.track-list{display:flex;flex-direction:column;gap:8px}.track{display:grid;grid-template-columns:44px minmax(180px,1.5fr) minmax(130px,1fr) 65px 58px 90px 128px 150px 80px 42px 42px;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff}.track:hover{border-color:#c9d5f4;background:#fbfcff}.play-btn{width:38px;height:38px;border-radius:50%;border:0;background:var(--soft);color:var(--accent);font-size:16px}.track-main{min-width:0}.track-title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-sub,.track-album{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stars{display:flex;gap:1px;white-space:nowrap}.star{border:0;background:transparent;padding:1px;color:#c5cad3;font-size:18px}.star.on{color:#f0a000}.track select,.track .edit-input{padding:7px 6px;font-size:12px}.add-btn{border:0;background:var(--soft);color:var(--accent);border-radius:9px;width:36px;height:36px;font-size:20px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:35px 12px}.empty.compact{padding:18px 6px}.load-more{display:block;margin:16px auto 0}.playlist-list{display:flex;flex-direction:column;gap:7px;max-height:55vh;overflow:auto}.playlist-item{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px}.playlist-num{font-size:12px;color:var(--muted);font-weight:700}.playlist-name{min-width:0}.playlist-name strong,.playlist-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-name small{color:var(--muted)}.playlist-tools{display:flex}.playlist-tools button{border:0;background:transparent;border-radius:6px;padding:4px}.playlist-actions{margin-top:12px}.playlist-actions .btn{flex:1}.player{margin-top:16px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr);gap:14px;align-items:center}.player small{grid-column:1/-1;color:var(--muted)}.now-playing span{display:block;color:var(--muted)}audio{width:100%}.site-footer{display:flex;justify-content:space-between;gap:16px;max-width:1500px;margin:0 auto;padding:22px 20px 35px;color:var(--muted);font-size:13px}.site-footer span:last-child{display:flex;gap:12px}@media(max-width:1120px){.workspace{grid-template-columns:1fr}.playlist{position:static}.toolbar{grid-template-columns:1fr 1fr 1fr}.search{grid-column:1/-1}.track{grid-template-columns:42px minmax(160px,1fr) 58px 80px 110px 140px 72px 42px 42px}.track-album{display:none}}@media(max-width:720px){.site-header{position:static;padding:14px;align-items:flex-start}.languages{max-width:180px}.page{padding:14px 10px 36px}.hero{padding:18px;align-items:stretch;flex-direction:column}.hero-actions .btn{flex:1}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:13px}.stat span{font-size:23px}.toolbar{grid-template-columns:1fr 1fr;padding:10px}.search{grid-column:1/-1}.library,.playlist,.player{padding:12px}.section-head{align-items:flex-start;flex-direction:column}.export-actions{width:100%}.export-actions .btn{flex:1}.track{grid-template-columns:40px minmax(0,1fr) 42px;padding:10px}.track .stars{grid-column:2}.track-album,.track-year,.track-bpm,.track-dance,.track-genre{display:none}.add-btn{grid-column:3;grid-row:1}.play-btn{grid-column:1;grid-row:1}.player{grid-template-columns:1fr}.player small{grid-column:1}.site-footer{flex-direction:column}}

.brand-logo-link{display:flex;align-items:center;flex:0 0 auto}
.brand-logo{display:block;max-width:149px;height:56px;object-fit:contain}
.scan-panel{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;gap:18px;align-items:center;margin:16px 0;padding:18px 22px;border:2px solid #8ca9f1;background:linear-gradient(135deg,#f7faff,#eef4ff);box-shadow:0 12px 34px rgba(36,87,214,.12)}
.scan-panel[hidden]{display:none!important}
.scan-panel.active{animation:scanGlow 1.4s ease-in-out infinite alternate}
.scan-spinner{width:42px;height:42px;border:5px solid #cfdbfa;border-top-color:var(--accent);border-radius:50%;animation:scanSpin .85s linear infinite}
.scan-copy{min-width:0}.scan-copy strong{display:block;font-size:20px;color:#173d9e;margin-bottom:3px}.scan-copy span{display:block;color:#344054}.scan-copy small{display:block;margin-top:5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scan-count{min-width:86px;text-align:center;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #dce5fa}
.scan-count span{display:block;font-size:24px;font-weight:850;color:var(--accent)}.scan-count small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.ads-debug{margin-top:16px;padding:18px}.ads-debug h2{margin:.2rem 0 .7rem}
@keyframes scanSpin{to{transform:rotate(360deg)}}@keyframes scanGlow{from{box-shadow:0 10px 25px rgba(36,87,214,.08)}to{box-shadow:0 14px 38px rgba(36,87,214,.23)}}
@media(max-width:720px){
 .brand-logo{max-width:108px;height:auto;max-height:46px}
 .scan-panel{grid-template-columns:46px 1fr;gap:12px;padding:15px}
 .scan-spinner{width:36px;height:36px}
 .scan-copy strong{font-size:17px}
 .scan-count{min-width:0}.scan-count:nth-of-type(1){grid-column:1}.scan-count:nth-of-type(2){grid-column:2}
}


.track-duration{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}
.delete-track-btn{border:0;background:#fff3f2;color:#b42318;border-radius:9px;width:36px;height:36px;font-size:16px}
.delete-track-btn:hover{background:#fee4e2}
@media(max-width:1120px){
 .track-year{display:none}
}
@media(max-width:720px){
 .track-duration{display:block;grid-column:2;font-size:12px;text-align:left}
 .delete-track-btn{grid-column:3;grid-row:2}
 .track .stars{grid-row:3}
}


/* ===== 0.1.9: Kopfbereich im Stil der anderen Hoffmann-Software-Seiten ===== */
.site-header{
  position:static;
  padding:0;
  background:#f4f7fb;
  border-bottom:1px solid #e1e7ef;
  box-shadow:none;
}
.header-inner{
  width:min(100%,1500px);
  margin:0 auto;
  min-height:96px;
  padding:18px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.header-brand{
  display:flex;
  align-items:center;
  gap:20px;
  color:#102a43;
  min-width:0;
}
.header-logo{
  display:block;
  width:149px;
  height:56px;
  object-fit:contain;
  flex:0 0 auto;
}
.header-brand-text{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.header-brand-text strong{
  font-size:23px;
  line-height:1.1;
  font-weight:800;
  white-space:nowrap;
}
.header-brand-text small{
  margin-top:5px;
  color:#54647a;
  font-size:13px;
  font-weight:500;
}
.header-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  min-width:0;
}
.top-links{
  display:flex;
  align-items:center;
  gap:22px;
  white-space:nowrap;
}
.top-links a{
  color:#102a43;
  font-size:14px;
  font-weight:750;
}
.top-links a:hover{color:var(--accent)}
.language-globe{font-size:18px}
.language-form select{
  width:auto;
  min-width:120px;
  padding:10px 34px 10px 14px;
  border-radius:10px;
  background:#fff;
}
.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;
}

/* Hero / SEO */
.hero-copy{max-width:900px}
.page-title{
  margin:.1rem 0 .2rem;
  font-size:clamp(25px,3vw,37px);
  line-height:1.1;
}
.hero h2{
  margin:.2rem 0 .5rem;
  font-size:clamp(18px,2vw,24px);
  color:#2e3e55;
  font-weight:650;
}
.hero-seo{
  max-width:850px;
  margin:.2rem 0 .55rem;
  color:#536176;
}
.seo-info{
  margin-top:16px;
  padding:20px 24px;
}
.seo-info h2{margin:0 0 7px;font-size:19px}
.seo-info p{margin:0;color:var(--muted);max-width:1100px}

/* ===== 0.1.9: kompaktere Musikliste ===== */
.track{
  grid-template-columns:
    42px
    minmax(240px,1fr)
    58px
    92px
    minmax(112px,128px)
    minmax(120px,145px)
    76px
    38px
    38px;
  gap:8px;
  padding:9px 10px;
  overflow:hidden;
}
.track-main{min-width:0}
.track-title{
  font-size:15px;
  line-height:1.2;
}
.track-meta,
.track-file{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.track-meta{
  margin-top:2px;
  font-size:12px;
  color:#657189;
}
.track-file{
  margin-top:1px;
  font-size:11px;
  color:#8a94a6;
}
.track-duration{
  font-size:13px;
  font-weight:700;
  color:#5d6b82;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.track .stars{
  justify-content:center;
}
.star{
  font-size:17px;
  padding:0;
}
.track select,
.track .edit-input{
  min-width:0;
  padding:7px 7px;
  font-size:12px;
}
.add-btn,
.delete-track-btn{
  width:36px;
  height:36px;
  flex:0 0 36px;
}
.delete-track-btn{
  border:0;
  background:#fff2f0;
  color:#d13b31;
  border-radius:9px;
  font-size:15px;
}
.delete-track-btn:hover{background:#ffe3df}

/* alte Einzelspalten werden ab 0.1.9 nicht mehr erzeugt */
.track-album,.track-year,.track-sub{display:none!important}

@media(max-width:1250px){
  .top-links{gap:14px}
  .track{
    grid-template-columns:
      42px minmax(220px,1fr) 56px 88px
      112px 124px 70px 38px 38px;
  }
}

@media(max-width:1120px){
  .header-inner{padding:16px 20px}
  .top-links{display:none}
  .track{
    grid-template-columns:
      42px minmax(220px,1fr) 56px 88px
      118px 130px 72px 38px 38px;
  }
}

@media(max-width:760px){
  .header-inner{
    min-height:auto;
    padding:12px 14px;
    align-items:flex-start;
    gap:12px;
  }
  .header-logo{width:98px;height:40px}
  .header-brand{gap:10px}
  .header-brand-text strong{font-size:17px}
  .header-brand-text small{font-size:11px;margin-top:2px}
  .header-right{gap:7px}
  .language-globe{display:none}
  .language-form select{min-width:96px;padding:8px 28px 8px 9px;font-size:12px}

  .track{
    grid-template-columns:38px minmax(0,1fr) 38px 38px;
    gap:7px;
    padding:10px 8px;
    align-items:center;
  }
  .play-btn{grid-column:1;grid-row:1}
  .track-main{grid-column:2;grid-row:1 / span 2}
  .add-btn{grid-column:3;grid-row:1}
  .delete-track-btn{grid-column:4;grid-row:1}
  .track-duration{
    grid-column:1;
    grid-row:2;
    font-size:11px;
  }
  .track .stars{
    grid-column:3 / span 2;
    grid-row:2;
    justify-content:flex-end;
  }
  .track-dance,.track-genre,.track-bpm{display:none!important}
}


/* ===== 0.2.0 Playlist-Player ===== */
.playlist-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.playlist-actions .playlist-play{
  grid-column:1/-1;
  width:100%;
}
.playlist-actions .btn{min-width:0}

.playlist-item{
  grid-template-columns:32px 28px minmax(0,1fr) auto;
  cursor:default;
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.playlist-item:hover{
  border-color:#c7d4f5;
  background:#fbfcff;
}
.playlist-item.active{
  border-color:#8eabf4;
  background:#eef4ff;
  box-shadow:inset 3px 0 0 var(--accent);
}
.playlist-item-play{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--soft);
  color:var(--accent);
  font-size:12px;
}
.playlist-item.active .playlist-item-play{
  background:var(--accent);
  color:#fff;
}
.playlist-name{cursor:pointer}
.playlist-tools{gap:1px}

.player{
  grid-template-columns:minmax(220px,1fr) minmax(300px,1.8fr) minmax(220px,.9fr);
  gap:18px;
}
.player-current{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.player-label{
  display:block;
  margin-bottom:3px;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  color:var(--accent);
}
.now-playing{min-width:0}
.now-playing strong,
.now-playing span:not(.player-label){
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.player-nav{
  display:flex;
  gap:6px;
  flex:0 0 auto;
}
.player-nav-btn{
  width:36px;
  height:36px;
  border:1px solid #d9e1ef;
  border-radius:10px;
  background:#fff;
  color:#274267;
  font-size:16px;
}
.player-nav-btn:hover{background:#f3f6fb}
.next-preview{
  min-width:0;
  padding:10px 12px;
  border:1px solid #e0e7f2;
  border-radius:12px;
  background:#f8faff;
}
.next-preview.has-next{background:#f3f7ff}
.next-preview strong,
.next-preview span,
.next-preview small{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.next-preview span:not(.player-label),
.next-preview small{color:var(--muted)}
.player-hint{grid-column:1/-1!important}

.track-file{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.track-file>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.web-info-btn{
  flex:0 0 auto;
  border:0;
  border-radius:7px;
  padding:2px 6px;
  background:#f1f5ff;
  color:#2754b5;
  font-size:10px;
  font-weight:750;
}
.web-info-btn:hover{background:#e2ebff}

@media(max-width:1120px){
  .player{
    grid-template-columns:1fr 1.5fr;
  }
  .next-preview{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .playlist-actions{grid-template-columns:1fr}
  .playlist-actions .playlist-play{grid-column:1}
  .playlist-item{
    grid-template-columns:30px 24px minmax(0,1fr) auto;
  }
  .player{
    grid-template-columns:1fr;
  }
  .next-preview{grid-column:1}
  .player-current{align-items:flex-start}
}


/* ===== 0.2.2: Player weiter oben / kompakte Bibliothek ===== */
.player{
  margin:16px 0;
  position:relative;
  z-index:2;
}
.player audio{min-width:260px}

/* Bibliothekszeile: nur Titel, Interpret, Dauer, Löschen, Aufklappen */
.track.compact-track{
  display:block;
  padding:0;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.track.compact-track:hover{
  border-color:#c9d5f4;
  background:#fff;
}
.track.compact-track.is-open{
  border-color:#9db4ee;
  box-shadow:0 5px 16px rgba(36,87,214,.08);
}
.track-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px 40px 24px;
  gap:10px;
  align-items:center;
  min-height:54px;
  padding:8px 10px 8px 14px;
  cursor:pointer;
  outline:none;
}
.track-summary:hover{background:#f8faff}
.track-summary:focus-visible{
  box-shadow:inset 0 0 0 2px var(--accent);
}
.track-summary-main{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(180px,1.1fr) minmax(140px,.8fr);
  gap:14px;
  align-items:center;
}
.track-summary .track-title{
  min-width:0;
  font-size:15px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.track-artist{
  min-width:0;
  color:var(--muted);
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.track-summary .track-duration{
  display:block!important;
  text-align:right;
  font-weight:800;
  font-size:13px;
  color:#48566d;
  font-variant-numeric:tabular-nums;
}
.track-summary .delete-track-btn{
  width:34px;
  height:34px;
  justify-self:end;
}
.track-chevron{
  justify-self:center;
  color:#7b8799;
  font-size:20px;
  line-height:1;
  transition:transform .18s ease;
}
.track.compact-track.is-open .track-chevron{
  transform:rotate(180deg);
}

/* aufgeklappte Detailansicht */
.track-details{
  border-top:1px solid #e8edf5;
  background:#fbfcff;
  padding:13px 14px 14px;
}
.track-details[hidden]{display:none!important}
.track-detail-info{
  display:grid;
  grid-template-columns:minmax(150px,1fr) 90px minmax(180px,1.2fr) 90px;
  gap:12px;
  margin-bottom:12px;
}
.track-detail-info>div,
.track-detail-info>label{
  min-width:0;
  padding:8px 10px;
  background:#fff;
  border:1px solid #e3e8f1;
  border-radius:9px;
}
.track-detail-info>label{
  display:block;
}
.detail-label{
  display:block;
  margin-bottom:3px;
  color:#7a8699;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.track-detail-info strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.track-detail-info .edit-input{
  margin-top:2px;
  padding:8px 9px;
  font-size:13px;
}
.track-detail-controls{
  display:grid;
  grid-template-columns:auto minmax(120px,auto) minmax(130px,1fr) minmax(140px,1fr) 90px auto auto;
  gap:10px;
  align-items:end;
}
.track-detail-controls label,
.detail-rating{min-width:0}
.detail-rating .stars{height:36px;align-items:center}
.track-detail-controls select,
.track-detail-controls .edit-input{
  height:36px;
  padding:6px 8px;
}
.track-detail-controls .btn{
  height:36px;
  white-space:nowrap;
}
.detail-add-btn{
  width:auto!important;
  background:var(--soft)!important;
  color:var(--accent)!important;
}
.web-info-btn{
  width:auto;
  padding:7px 10px;
  font-size:12px;
}

/* Alte breite Track-Grid-Regeln in der neuen Ansicht neutralisieren */
.compact-track .track-main,
.compact-track .track-meta,
.compact-track .track-file,
.compact-track>.stars,
.compact-track>.track-dance,
.compact-track>.track-genre,
.compact-track>.track-bpm,
.compact-track>.add-btn{
  display:initial;
}

@media(max-width:1100px){
  .track-detail-info{
    grid-template-columns:1fr 90px 1fr;
  }
  .track-detail-info>div:last-child{display:none}
  .track-detail-controls{
    grid-template-columns:auto minmax(120px,auto) 1fr 1fr 80px;
  }
  .track-detail-controls .detail-add-btn,
  .track-detail-controls .web-info-btn{
    grid-row:2;
  }
}

@media(max-width:760px){
  .player{margin:10px 0}
  .track-summary{
    grid-template-columns:minmax(0,1fr) 58px 36px 20px;
    min-height:58px;
    padding:8px 7px 8px 10px;
    gap:6px;
  }
  .track-summary-main{
    grid-template-columns:1fr;
    gap:1px;
  }
  .track-summary .track-title{font-size:14px}
  .track-artist{font-size:11px}
  .track-summary .track-duration{font-size:12px}
  .track-summary .delete-track-btn{width:32px;height:32px}
  .track-detail-info{
    grid-template-columns:1fr 80px;
    gap:7px;
  }
  .track-detail-info>div:nth-child(3){
    grid-column:1/-1;
  }
  .track-detail-info>div:last-child{display:block}
  .track-detail-controls{
    grid-template-columns:1fr 1fr;
    align-items:end;
  }
  .track-detail-controls .play-detail-btn,
  .track-detail-controls .detail-add-btn,
  .track-detail-controls .web-info-btn{
    width:100%;
  }
  .detail-rating{grid-column:1/-1}
  .bpm-label{grid-column:1}
}

/* etwas mehr sichtbare Titel pro Bildschirm */
.track-list{gap:6px}


/* ===== 0.2.3: Player direkt zwischen Suche und Bibliothek ===== */
.toolbar + .player{
  margin-top:10px;
  margin-bottom:10px;
}
.player + .workspace{
  margin-top:0;
}


/* ===== 0.3.0 Analyse BPM / Tanz ===== */
.hero-actions{align-items:center}
.analysis-btn{
  background:#f3f6ff;
  border-color:#cad7fa;
  color:#214ea9;
}
.analysis-btn:hover{background:#e9efff}
.analysis-btn:disabled{opacity:.65;cursor:wait}
.analysis-quota{
  grid-column:1/-1;
  color:var(--muted);
  font-size:11px;
  text-align:right;
}
.analyze-one-btn{
  width:auto!important;
  background:#f3f6ff!important;
  color:#214ea9!important;
  border-color:#cad7fa!important;
}
.analysis-confidence{
  display:block;
  margin-top:2px;
  color:#7a8699;
  font-size:10px;
}
.analysis-badge{
  align-self:center;
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 8px;
  border-radius:999px;
  background:#eef4ff;
  color:#36548c;
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
}
@media(max-width:760px){
  .analysis-quota{text-align:left}
  .track-detail-controls .analyze-one-btn{width:100%!important}
  .analysis-badge{justify-self:start}
}



.year-edit .year-input{
  width:100%;
  min-width:0;
  height:34px;
  margin-top:2px;
  padding:6px 8px;
  font-size:13px;
}

.year-edit .year-input{
  display:block!important;
}

.footer-legal{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.footer-legal a{
  white-space:nowrap;
}

.playlist-manager{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:7px;
  align-items:center;
  margin:0 0 12px;
}
.playlist-manager select{
  min-width:0;
  padding:8px 9px;
}
.playlist-manager .btn{
  min-width:38px;
  padding:8px 10px;
}
@media(max-width:520px){
  .playlist-manager{
    grid-template-columns:1fr repeat(3,auto);
  }
  .playlist-actions .btn{
    flex:1 1 45%;
  }
}


/* ===== 0.5.2 Desktop: Player + Playlist gemeinsam rechts ===== */
.workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:16px;
  align-items:start;
}

.right-column{
  display:flex;
  flex-direction:column;
  gap:16px;
}

@media (min-width:1121px){
  .right-column{
    position:sticky;
    top:93px;
    align-self:start;
  }

  .right-column .player,
  .right-column .playlist{
    width:100%;
    margin:0;
    position:static;
  }

  .right-column .player{
    grid-template-columns:1fr;
    gap:12px;
    align-items:stretch;
  }

  .right-column .player .player-hint,
  .right-column .player small{
    grid-column:1;
  }

  .right-column .player audio{
    min-width:0;
    width:100%;
  }
}

/* Schmale Ansicht wie bisher: Player oben, Bibliothek, danach Playlist */
@media (max-width:1120px){
  .workspace{
    grid-template-columns:1fr;
  }

  .right-column{
    display:contents;
  }

  .workspace > .library{
    order:2;
  }

  .right-column > .player{
    order:1;
  }

  .right-column > .playlist{
    order:3;
  }

  .right-column .playlist{
    position:static;
  }
}


/* === Video-Manager specific controls: original music stylesheet above === */
.video-toolbar{display:block;padding:14px;margin:16px 0}
.video-toolbar .filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(5,minmax(115px,1fr));gap:10px;align-items:center}
.video-toolbar .filters input,.video-toolbar .filters select{width:100%;min-width:0}
.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:370px;justify-content:flex-end}
.hero-actions .btn{white-space:nowrap}
.scan-copy progress{display:block;width:100%;height:6px;accent-color:var(--accent);margin-top:9px}
.scan-panel.complete .scan-spinner{animation:none;border:none;border-radius:50%;background:#e6f3ee;display:grid;place-items:center;color:#087554;font-size:26px}
.scan-panel.complete{border-color:#99d6b5;background:#f2fbf5}
.status{display:block;margin:10px 0;font-size:13px}
.video-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
.video-stats .stat span{font-size:26px;font-weight:850}
.video-workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
.video-workspace .library,.video-workspace .player,.video-workspace .detail,.video-workspace .suggestions,.video-workspace .settings{padding:18px}
.video-workspace .library{min-width:0;overflow:hidden}
.video-workspace .right-column{display:flex;flex-direction:column;gap:16px;position:sticky;top:16px;max-height:calc(100vh - 28px);overflow-y:auto;align-self:start;scrollbar-width:thin}
.video-workspace .right-column>*{width:100%;margin:0}
.video-workspace .player{display:block}
.video-workspace .player h2,.video-workspace .detail h2,.video-workspace .suggestions h2{font-size:18px;margin:0 0 12px}
.video-workspace .section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.video-workspace .section-head h2{margin:0}
.video-workspace .export-actions{display:flex;gap:8px;flex-wrap:wrap}
.video-workspace .icon-btn{background:var(--soft);color:var(--accent);border:1px solid var(--line);padding:7px 9px;font-size:15px}
.video-workspace .icon-btn.active{background:var(--accent);color:white}
.videoList{max-height:850px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.videoRow{display:grid;grid-template-columns:38px minmax(0,1fr) 44px 59px 31px;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);background:white;border-radius:12px;cursor:pointer}
.videoRow:hover{border-color:#c9d5f4;background:#fbfcff}
.videoRow.selected{border-color:#89a7e9;background:var(--soft)}
.videoRow .vidIcon{width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--accent)}
.rowTitle{font-size:14px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}
.rowSub{font-size:12px;color:var(--muted);line-height:1.4;margin-top:3px;overflow-wrap:anywhere}
.videoRow .year{font-size:12px;color:var(--muted)}
.videoRow .rating{font-size:13px;color:#a46b00;font-weight:750;white-space:nowrap}
.videoRow .starbtn{border:0;background:transparent;font-size:22px;color:#e5a100;padding:2px;line-height:1}
.posterGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(134px,1fr));gap:12px}
.posterCard{padding:8px;border:1px solid var(--line);border-radius:12px;cursor:pointer;min-width:0}
.posterCard:hover,.posterCard.selected{background:var(--soft);border-color:#a5b9e8}
.posterCard img,.posterFallback{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--soft);border-radius:8px}
.posterFallback{display:grid;place-items:center;color:var(--accent);font-size:28px}
.posterCard .rowTitle{margin-top:6px}
#player{width:100%;display:block;aspect-ratio:16/9;background:#0e182c;border-radius:10px}
.playing{font-weight:800;margin:9px 0}
.playerActions,.quickControls,.metadataActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.playerActions .btn{flex:1 1 auto}
.hint,.miniMeta,.plot,.path{font-size:12px;color:var(--muted)}
.detailTop{display:flex;gap:11px;align-items:flex-start}
.detailTop img{width:85px;max-height:130px;object-fit:cover;border-radius:8px}
.detailTop h3{font-size:17px;margin:0 0 6px}
.stars{color:#a66d00;font-size:13px;font-weight:800}
.path{overflow-wrap:anywhere}
.quickControls{border-top:1px solid var(--line);padding-top:9px}
.quickControls label{display:flex;align-items:center;gap:5px;font-size:12px}
.quickControls select{width:auto;max-width:90px;padding:6px}
.suggestions p{font-size:13px;color:var(--muted)}
.suggestions .export-actions .btn{flex:1 1 auto}
.settings summary{cursor:pointer;font-weight:800}
.field{display:grid;gap:6px;font-size:13px;margin-top:12px}
.field input,.field textarea{width:100%;border:1px solid var(--line);padding:10px;border-radius:10px}
.check{display:flex;gap:9px;align-items:start;font-size:13px;margin:12px 0}
.btn.accent{background:var(--soft);border-color:#bed1f4;color:var(--accent)}
.btn.danger{color:#a52224;border-color:#f6c9c9}
.about{margin-top:18px;padding:20px 24px}
.about h2{margin:0 0 8px}
.about p{font-size:13px;color:var(--muted)}
.otherApps{display:flex;flex-wrap:wrap;gap:12px}
footer{text-align:center;color:var(--muted);padding:25px;font-size:13px}
.dialogButtons{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}
dialog{border:1px solid var(--line);border-radius:16px;box-shadow:0 15px 55px #182d4750;width:min(720px,95vw);padding:23px}
dialog::backdrop{background:#11253b99}
.editGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.editGrid label{display:grid;gap:4px;font-size:13px}
.editGrid label.wide{grid-column:1/-1}
.editGrid input,.editGrid textarea{width:100%;border:1px solid var(--line);padding:9px 11px;border-radius:9px}
[hidden]{display:none!important}
@media(max-width:1260px){.video-toolbar .filters{grid-template-columns:repeat(3,minmax(0,1fr))}.video-toolbar .filters #search{grid-column:1/-1}.top-links{gap:12px;flex-wrap:wrap}}
@media(max-width:1120px){.video-workspace{display:grid;grid-template-columns:1fr}.video-workspace .right-column{display:contents}.video-workspace .right-column .player{order:1}.video-workspace>.library{order:2}.video-workspace .right-column .detail{order:3}.video-workspace .right-column .suggestions{order:4}.video-workspace .right-column .settings{order:5}.video-workspace .right-column>*{max-height:none}.hero-actions{max-width:none}.video-workspace .library{min-height:0}}
@media(max-width:720px){.video-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.video-toolbar .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.video-toolbar .filters #search{grid-column:1/-1}.videoRow{grid-template-columns:34px minmax(0,1fr) 48px 29px}.videoRow .year{display:none}.scan-panel{grid-template-columns:40px minmax(0,1fr)}.scan-count{min-width:0}.editGrid{grid-template-columns:1fr}.editGrid label.wide{grid-column:auto}}

/* Video-Manager 1.5.2: einzelne Einträge sicher aus der Bibliothek entfernen */
.videoRow{grid-template-columns:38px minmax(0,1fr) 44px 59px 31px 31px}
.removeVideoBtn{align-self:center;justify-self:center;border:1px solid transparent;background:transparent;color:#8e4050;border-radius:8px;min-width:30px;height:32px;line-height:1;font-size:23px;cursor:pointer;display:grid;place-items:center}
.removeVideoBtn:hover,.removeVideoBtn:focus-visible{background:#fff0f0;color:#aa1b26;border-color:#f2c7ca;outline-offset:2px}
.posterCard{position:relative}
.posterCard .removeVideoBtn{position:absolute;top:6px;right:6px;background:#fffefbed;box-shadow:0 1px 5px #17203335}
.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.settings #resetExcluded{font-size:13px;margin:6px 4px 6px 0}
.video-ads-debug{max-width:1150px;margin:12px auto;padding:16px;font-size:13px}
@media(max-width:720px){.videoRow{grid-template-columns:34px minmax(0,1fr) 48px 28px 28px}.videoRow .year{display:none}.removeVideoBtn{min-width:26px;height:29px}.detail-actions{width:auto}}

/* 1.5.3 – source controls using the original Musik-Manager visual design */
.metadata-provider-panel{border:1px solid #dbe3ee;border-radius:12px;padding:12px;margin:12px 0;background:rgba(240,245,252,.55)}
.metadata-provider-panel .field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.metadata-provider-panel .field input,.metadata-provider-panel .field select{max-width:100%;width:100%;box-sizing:border-box}
.metadata-provider-panel .hint{font-size:.85rem;line-height:1.55}
#ollamaSettings[hidden],#omdbSettings[hidden]{display:none!important}
#metadataStatus{overflow-wrap:anywhere}

.metadata-sources{font-size:.79rem;display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.metadata-sources strong{width:100%}.metadata-sources a{color:var(--primary,#2878b6);text-decoration:underline}

/* V1.5.9 – eindeutige Auswahl von Wikidata-Filmtreffern */
.candidate-dialog{border:1px solid #d5e1e7;border-radius:14px;padding:20px;max-width:min(580px,94vw);width:100%;box-shadow:0 12px 44px #152d4929;color:#233148;background:#fff}
.candidate-dialog::backdrop{background:#14253680}
.candidate-dialog h2{margin:0 0 10px;font-size:20px}
.candidate-list{display:flex;flex-direction:column;gap:8px;margin:16px 0;max-height:min(54vh,440px);overflow:auto}
.candidate-item{display:flex!important;flex-direction:column;text-align:left!important;align-items:flex-start!important;gap:4px!important;white-space:normal!important;min-height:64px}
.candidate-item strong{font-size:15px}.candidate-item small{font-size:12px;color:#61758b}
#chooseMatch[hidden]{display:none!important}

/* V1.5.14 – mehrere gespeicherte Videoordner und Laufzeitspalte */
.folders-panel{margin:12px 0;padding:11px 16px;box-shadow:none}
.folders-panel:has(.folderAccess[hidden]){border-color:transparent;background:transparent;padding:0}
.rootHeadline{font-weight:800;font-size:13px;margin:0 0 8px}
.folderAccess{display:grid;gap:7px}
.rootEntry{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fafcff;flex-wrap:wrap}
.rootName{min-width:0;flex:1 1 180px;font-size:13px;font-weight:750;overflow-wrap:anywhere}
.rootState{font-size:12px;color:#aa6d05;min-width:145px}
.rootState.rootGranted{color:#16814c}
.root-action{font-size:12px!important;white-space:nowrap;padding:6px 10px!important}
.rootForget{border-color:#f0d1d6!important;color:#a2252d!important}
.duration-progress{font-size:12px;color:var(--muted);margin:5px 0 0}
.videoRow{grid-template-columns:38px minmax(0,1fr) 44px 66px 59px 31px 31px}
.videoRow .runtime{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:720px){.videoRow{grid-template-columns:34px minmax(0,1fr) 55px 28px 28px}.videoRow .year,.videoRow .rating{display:none}.rootState{min-width:105px}.folders-panel{margin:8px 0}}

/* V1.5.16 portable library backup – matches original Music Manager controls */
.backup-panel{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:14px;margin:16px 0 12px}
.backup-panel h3{margin:0 0 7px;font-size:16px}
.backup-panel .hint{line-height:1.5;margin:7px 0 11px}
.backup-actions{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0}
.backup-actions .btn{flex:1 1 165px}
.backup-mode-label{display:grid;gap:5px;font-size:12px;font-weight:700;margin:10px 0 4px}
.backup-mode-label select{width:100%;max-width:100%;font-size:13px}
#backupStatus{font-weight:600;color:var(--muted);font-size:12px;margin:9px 0 0}
@media(max-width:720px){.backup-panel{padding:12px}}

/* V1.5.17 – Bibliothek mit rechtem Player-/Detailbereich;
   Vorschläge, Recherche, Sicherung und seltene Einstellungen unter der Bibliothek. */
.video-workspace-v2{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(345px,410px);
  grid-template-areas:
    "library sidebar"
    "suggestions sidebar"
    "metadata sidebar"
    "backup sidebar"
    "settings sidebar";
  gap:15px 18px;
  align-items:start;
}
.video-workspace-v2>.library{grid-area:library}
.video-workspace-v2>.suggestions{grid-area:suggestions}
.video-workspace-v2>.metadata-tasks{grid-area:metadata}
.video-workspace-v2>.backup-standalone{grid-area:backup}
.video-workspace-v2>.settings{grid-area:settings}
.video-workspace-v2>.video-right-column{
  grid-area:sidebar;display:block;position:sticky;top:16px;
  max-height:calc(100vh - 32px);overflow-y:auto;
  padding:15px 17px;align-self:start;
}
.video-workspace-v2>.video-right-column>section{padding:0;margin:0;width:100%;box-shadow:none;border:0;background:transparent}
.video-workspace-v2>.video-right-column>.player{display:block}
.video-workspace-v2>.video-right-column>.detail{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.video-workspace-v2>.video-right-column>.detail .detailTop{margin-top:10px}
.video-workspace-v2>.suggestions,
.video-workspace-v2>.metadata-tasks,
.video-workspace-v2>.backup-standalone,
.video-workspace-v2>.settings{padding:16px 20px;margin:0;min-width:0}
.video-workspace-v2 .metadata-tasks h2{font-size:18px;margin:0}
.metadata-tasks>.hint{margin:3px 0 14px}
.metadataCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.metadataTask{padding:12px;min-width:0;border:1px solid var(--line);border-radius:12px;background:#fafdff;display:flex;flex-direction:column;gap:7px}
.metadataTask>.btn{white-space:normal;min-height:39px;width:100%;text-align:center}
.metadataTask>.hint{font-size:12px;line-height:1.5;margin:0;color:var(--muted)}
.action-feedback{display:none;padding:10px 12px;border-radius:9px;background:#eaf4fe;border:1px solid #c6e1fa;color:#214f78;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.action-feedback.visible{display:block}
.action-feedback.error{background:#fff3f2;border-color:#f3c9c6;color:#92382c}
.metadataTask>.action-feedback{margin-top:auto}
.video-workspace-v2>.backup-standalone>.backup-panel{border:0;background:transparent;padding:0;margin:0}
.video-workspace-v2>.settings summary{font-size:14px;line-height:1.6}
.video-workspace-v2>.settings details:not([open]){padding:0}
.video-workspace-v2>.library .export-actions{align-items:center;gap:6px}
#playlistFiltered{font-size:12px;white-space:normal}
.vlcRootPath{flex:1 1 100%;font-size:12px;color:var(--muted);padding:2px 0 0 0}
.vlcRootPath summary{cursor:pointer;font-weight:650;color:var(--accent)}
.vlcRootPath input{display:block;width:min(100%,650px);margin:8px 0 4px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);padding:9px 11px;font-size:13px}
.vlcRootPath input:focus{outline:2px solid var(--accent);outline-offset:1px}
#playlistStatus{margin-top:11px}
#external{min-width:130px}
@media(max-width:1180px){
 .metadataCards{grid-template-columns:1fr}
 .metadataTask{display:grid;grid-template-columns:minmax(160px,230px) minmax(0,1fr);align-items:center}
 .metadataTask>.action-feedback{grid-column:1/-1}
}
@media(max-width:1120px){
 .video-workspace-v2{
   display:grid;grid-template-columns:minmax(0,1fr);
   grid-template-areas:"library" "sidebar" "suggestions" "metadata" "backup" "settings";
 }
 .video-workspace-v2>.video-right-column{display:block;position:static;max-height:none;overflow:visible}
 .video-workspace-v2>.video-right-column>.player,.video-workspace-v2>.video-right-column>.detail{order:initial}
}
@media(max-width:720px){
 .video-workspace-v2>.video-right-column{padding:13px}
 .metadataCards{grid-template-columns:minmax(0,1fr)}
 .metadataTask{display:flex}
 .metadataTask>.btn{min-height:38px}
 .video-workspace-v2>.suggestions,.video-workspace-v2>.metadata-tasks,.video-workspace-v2>.backup-standalone,.video-workspace-v2>.settings{padding:14px}
 .video-workspace-v2>.library .export-actions{flex-wrap:wrap}
 #playlistFiltered{flex:1 1 140px}
}

/* V1.5.18 – die Liste der gespeicherten Videoordner platzsparend einklappen.
   Das native details/summary ist per Tastatur bedienbar und standardmäßig geschlossen. */
#savedFoldersPanel[hidden]{display:none!important}
#savedFoldersPanel{padding:0 16px}
.saved-folders-summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 0;cursor:pointer;list-style:none;
  font-size:13px;font-weight:800;user-select:none
}
.saved-folders-summary::-webkit-details-marker{display:none}
.saved-folders-summary::marker{content:''}
.saved-folders-summary:focus-visible{outline:2px solid var(--accent,#2457d6);outline-offset:3px;border-radius:5px}
.saved-folders-chevron{color:var(--accent,#2457d6);font-size:20px;line-height:1;transition:transform .18s ease;display:inline-block}
#savedFoldersPanel[open] .saved-folders-chevron{transform:rotate(180deg)}
#savedFoldersPanel .folderAccess{padding:0 0 8px}
#savedFoldersPanel .duration-progress{padding-bottom:7px}
@media (prefers-reduced-motion:reduce){.saved-folders-chevron{transition:none}}

/* V1.5.20: iPad/Samba – sichtbarer Einlesestatus ohne Eingriff in das Musik-Manager-Design */
.fast-scan-label{display:flex;gap:9px;align-items:center;margin:0 0 7px;padding:0 2px;cursor:pointer;font-size:13px;color:#263b64}
.fast-scan-label input{width:18px;height:18px;accent-color:var(--accent);flex:none}
.fast-scan-label small{font-weight:400;color:var(--muted);font-size:12px}
.scan-picker-hint{font-size:12px;line-height:1.45;color:var(--muted);margin:0;max-width:340px}
.scan-cancel{grid-column:1/-1;justify-self:end;font-size:13px!important}
.scan-panel #scanCurrent{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:720px){.scan-picker-hint{max-width:none}.scan-cancel{justify-self:stretch;width:100%}}

/* V1.5.26 — Portable NFO files alongside videos */
.nfo-sidecar-panel{margin-top:14px;padding:12px 14px;border:1px solid var(--border,#d9e6e1);border-radius:12px;background:var(--surface-soft,#f6faf8)}
.nfo-sidecar-panel summary{font-weight:650;cursor:pointer}
.nfo-sidecar-panel .backup-actions{margin:12px 0;display:flex;flex-wrap:wrap;gap:8px}
.nfo-sidecar-panel .hint{margin:9px 0;line-height:1.5}

/* V1.5.27: visible NFO result immediately next to the buttons */
.nfo-feedback{font-size:13px;line-height:1.5;padding:9px 11px;margin:12px 0 8px;border:1px solid var(--line,#d5e2df);border-radius:9px;background:var(--soft,#f4f8f6);color:var(--text,#26333a);overflow-wrap:anywhere}
.nfo-feedback[data-tone="working"]{background:#eaf4ff;border-color:#b7d9f7;color:#234a6e}
.nfo-feedback[data-tone="success"]{background:#edf8ef;border-color:#b8dfbd;color:#21562c}
.nfo-feedback[data-tone="warning"]{background:#fff8e6;border-color:#e7d3a2;color:#664c17}
.nfo-feedback[data-tone="error"]{background:#fff0ef;border-color:#e4b6b2;color:#812f29}
.nfo-progress{width:100%;height:9px;display:block;margin:2px 0 8px;accent-color:#178c76}
.nfo-progress[hidden]{display:none}

/* Version 1.5.30: kleine Versionsangabe wie bei anderen Hoffmann-Software-Programmen */
.header-brand-text small .vm-version {
  display:inline-block; font-size:11px; color:#566982; font-weight:650;
  border:1px solid #dbe4ed; border-radius:6px; padding:2px 6px; margin-left:5px;
  background:#f7f9fc; vertical-align:baseline; white-space:nowrap;
}
@media(max-width:760px){
  .header-brand-text small .vm-version {font-size:10px; margin-left:3px; padding:1px 4px;}
}

/* Hoffmann-Software Video-Manager 1.5.31 – Werbefrei-/Werbeblocker-Dialog */
footer a#vmSupportFooterLink {font-weight:700;text-underline-offset:3px}
.vm-support-dialog {width:min(96vw,560px);max-height:min(88vh,720px);padding:0;border:1px solid #d2dfec;border-radius:19px;color:#172b4d;background:#fff;box-shadow:0 28px 80px rgba(13,35,66,.28);overflow:auto}
.vm-support-dialog::backdrop {background:rgba(15,31,50,.62);backdrop-filter:blur(2px)}
.vm-support-inner {position:relative;padding:28px 30px 22px}
.vm-support-x {position:absolute;right:14px;top:12px;background:#edf2f8;border:0;border-radius:50%;font-size:25px;line-height:1;width:35px;height:35px;cursor:pointer;color:#263b54}
.vm-support-x:hover {background:#dce8f2}
.vm-support-badge {font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#206797;padding-right:48px}
.vm-support-dialog h2 {margin:9px 0 11px;font-size:clamp(22px,4vw,28px);line-height:1.2;color:#173c62}
.vm-support-dialog p {font-size:15px;line-height:1.55;margin:10px 0}
.vm-support-instructions {margin:17px 0;padding:15px 16px;border-radius:12px;background:#eef7fc;border:1px solid #d8e8f4}
.vm-support-instructions strong {display:block;font-size:15px;color:#19486a}
.vm-support-instructions p {margin:8px 0 0;font-size:14px}
.vm-support-actions {display:grid;gap:10px;margin-top:17px}
.vm-support-actions .btn {min-height:44px;white-space:normal;line-height:1.3}
.vm-support-pending {padding:11px 13px;border:1px solid #e3d7bd;background:#fff8eb;border-radius:9px;font-size:13px!important;color:#654e20}
.vm-support-offline {font-size:13px!important;color:#526679;text-align:center}
.vm-support-bottom {display:flex;justify-content:flex-end;margin-top:14px;border-top:1px solid #e6edf2;padding-top:13px}
.vm-support-bottom .btn {padding:8px 15px}
.vm-support-dialog [hidden] {display:none!important}
@media(max-width:600px){.vm-support-inner{padding:24px 18px 16px}.vm-support-dialog{max-height:92vh}.vm-support-dialog h2{font-size:22px}}

/* Video-Manager v1.5.33: Google-CMP Status und erreichbare Einstellungen */
.vm-privacy-dialog {width:min(94vw,570px);max-height:min(88vh,760px);overflow:auto;border:1px solid #c9d8ea;border-radius:18px;padding:0;box-shadow:0 28px 78px rgba(0,0,0,.22);background:#fff;color:#1d304b}
.vm-privacy-dialog::backdrop {background:rgba(15,31,50,.58);backdrop-filter:blur(2px)}
.vm-privacy-inner {position:relative;padding:26px 30px 26px}
.vm-privacy-x {position:absolute;right:12px;top:12px;border:0;border-radius:50%;background:#ecf0f5;width:36px;height:36px;font-size:24px;color:#334a60}
.vm-privacy-kicker {color:#2457d6;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin:0 42px 8px 0}
.vm-privacy-dialog h2 {font-size:clamp(20px,3vw,27px);line-height:1.25;color:#173c62;margin:0 26px 12px 0}
.vm-privacy-dialog p {font-size:14px;line-height:1.58}
.vm-privacy-state {border:1px solid #d4e1f0;background:#f1f7fc;border-radius:11px;margin:18px 0 12px;padding:14px}
.vm-privacy-state strong {display:block;color:#173e65;font-size:16px}
.vm-privacy-state p {margin:7px 0 0;color:#35516b}
.vm-privacy-help {color:#526679}
.vm-privacy-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}
.vm-privacy-actions .btn {flex:1 1 180px;min-height:44px;white-space:normal}
@media(max-width:600px){.vm-privacy-inner{padding:24px 17px 18px}}

/* v1.5.33 – Status nur nach erfolgreicher Rueckmeldung der Google CMP. */
.vm-privacy-inline {display:inline-block;vertical-align:baseline;border:1px solid #bfd5eb;background:#f2f7fd;color:#23476c;padding:2px 7px;border-radius:8px;font-size:12px;font-weight:650;white-space:normal;margin:1px 3px 1px 4px}
.vm-privacy-inline[hidden] {display:none!important}

/* Video-Manager v1.5.35: passwortfreie VIDEO-Registrierung */
.vm-license-dialog{border:0;border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.25);width:min(94vw,670px);max-height:88vh;padding:0;color:#13223c;background:#fff}
.vm-license-dialog::backdrop{background:rgba(13,24,41,.65)}
.vm-license-inner{position:relative;padding:26px;display:grid;gap:14px}
.vm-license-inner h2,.vm-license-inner p{margin:0}
.vm-license-inner form{display:grid;gap:8px}
.vm-license-inputrow{display:flex;flex-wrap:wrap;gap:9px}
.vm-license-inputrow input{flex:1;min-width:220px;padding:11px 13px;border:1px solid #8c9cb1;border-radius:9px;font:inherit}
.vm-license-status{background:#f0f4fa;border-radius:9px;padding:12px;color:#15345c}
.vm-license-status.error{background:#fff0ed;color:#a32310}
.vm-license-controls,.vm-license-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.vm-license-bottom{justify-content:flex-end}
.vm-license-note{font-size:.87rem;color:#56667a}
.vm-license-badge{display:inline-block;border-radius:15px;padding:2px 8px;background:#e4f7eb;color:#0e6b33;font-weight:650}

.vm-license-dialog [hidden],.vm-license-badge[hidden]{display:none!important}
