/* Jellyfin maintenance panel on the Overview. Uses the hub's existing tokens. */
#jellyfin-update-panel {
  grid-column: 1 / -1;
  min-width: 0;
}

#jellyfin-update-panel .jellyfin-update-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

#jellyfin-update-panel .jellyfin-update-head strong {
  display: block;
  color: #f2f2f2;
  font-size: 17px;
  font-weight: 450;
  letter-spacing: -0.3px;
}

#jellyfin-update-panel .jellyfin-update-head small {
  display: block;
  color: #a8a8a8;
  font-size: 10px;
  line-height: 1.7;
  margin-top: 5px;
}

#jellyfin-update-panel .jellyfin-update-head .quota-tag {
  flex-shrink: 0;
}

#jellyfin-update-panel .update-ok {
  border-color: #4a4a4a;
  color: #d8d8d8;
}

#jellyfin-update-panel .update-busy {
  border-color: #8a8a8a;
  color: #fff;
}

#jellyfin-update-panel .update-warn {
  border-color: #7a6a4a;
  color: #e8d5a8;
}

#jellyfin-update-panel .update-error {
  border-color: #8a5050;
  color: #f0b8b8;
}

#jellyfin-update-panel .jellyfin-update-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
}

#jellyfin-update-panel .jellyfin-meta-box {
  border: 1px solid #ffffff1f;
  border-radius: 8px;
  background: #0b0b0b;
  padding: 11px 12px;
  min-width: 0;
}

#jellyfin-update-panel .jellyfin-meta-box span {
  display: block;
  color: #9d9d9d;
  font: 8px var(--mono);
  letter-spacing: 0.6px;
}

#jellyfin-update-panel .jellyfin-meta-box strong {
  display: block;
  color: #ececec;
  font-size: 12px;
  font-weight: 450;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

#jellyfin-update-panel .jellyfin-update-plugins {
  border-top: 1px solid #ffffff12;
  padding-top: 6px;
}

#jellyfin-update-panel .jellyfin-plugin-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid #ffffff0d;
}

#jellyfin-update-panel .jellyfin-plugin-row:last-child {
  border-bottom: 0;
}

#jellyfin-update-panel .jellyfin-plugin-row strong {
  color: #dedede;
  font-size: 10px;
  font-weight: 500;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#jellyfin-update-panel .jellyfin-plugin-row small {
  margin-left: auto;
  color: #a6a6a6;
  font: 9px var(--mono);
  white-space: nowrap;
}

#jellyfin-update-panel .jellyfin-plugin-row .plugin-state {
  color: #9a9a9a;
  border: 1px solid #ffffff20;
  border-radius: 4px;
  padding: 2px 5px;
  font: 7px var(--mono);
  letter-spacing: 0.4px;
  white-space: nowrap;
}

#jellyfin-update-panel .jellyfin-plugin-row .plugin-state.update {
  color: #f0d9a8;
  border-color: #7a6a4a;
}

#jellyfin-update-panel .jellyfin-plugin-row .plugin-state.ok {
  color: #cfcfcf;
}

#jellyfin-update-panel .jellyfin-update-log {
  margin-top: 13px;
  color: #999;
  font-size: 9px;
}

#jellyfin-update-panel .jellyfin-update-log summary {
  cursor: pointer;
  color: #b5b5b5;
}

#jellyfin-update-panel .jellyfin-update-log pre {
  margin: 8px 0 0;
  padding: 10px 12px;
  border: 1px solid #ffffff12;
  border-radius: 6px;
  background: #050505;
  color: #a8a8a8;
  font: 8px/1.7 var(--mono);
  overflow: auto;
  max-height: 130px;
  white-space: pre-wrap;
}

#jellyfin-update-panel .source-note {
  margin-top: 13px;
}

@media (max-width: 800px) {
  #jellyfin-update-panel .jellyfin-update-meta {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  #jellyfin-update-panel .jellyfin-update-head {
    flex-direction: column;
    gap: 8px;
  }

  #jellyfin-update-panel .jellyfin-update-meta {
    grid-template-columns: 1fr;
  }
}
