.settings-v2-panel[data-settings-panel="plex"] > .settings-v2-card .settings-v2-actions[hidden] { display: none !important; }

.settings-plex-management {
  display: grid;
  gap: 14px;
}

.settings-plex-management > header {
  margin-bottom: 0;
}

.settings-plex-grid {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 12px;
}

.settings-plex-subcard {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 9px;
  background: #0c0f18;
}

.settings-plex-subhead {
  margin-bottom: 14px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.settings-plex-subhead > div {
  display: grid;
  gap: 5px;
}

.settings-plex-subhead strong {
  color: #f2eff7;
  font-size: .82rem;
}

.settings-plex-subhead small,
.settings-plex-danger small,
.settings-plex-summary small {
  color: #7f8394;
  font-size: .7rem;
  line-height: 1.5;
}

.settings-plex-state-dot {
  width: 10px;
  height: 10px;
  margin-top: 4px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #9b5cff;
  box-shadow: 0 0 0 5px rgba(155,92,255,.12);
}

.settings-plex-account {
  margin: 0 0 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(93,229,140,.16);
  border-radius: 8px;
  background: rgba(39,121,73,.08);
}

.settings-plex-account[hidden] { display: none !important; }
.settings-plex-account .plex-account-avatar {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(155,92,255,.22);
  color: #caa6ff;
  font-weight: 900;
}
.settings-plex-account p { margin: 3px 0 0; color: #808596; font-size: .68rem; }
.settings-plex-auth-state { display: block; margin-bottom: 12px; font-size: .8rem; }
.settings-plex-status { margin: 12px 0 0; }

.settings-plex-fields {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.settings-plex-fields label:last-child { grid-column: 1 / -1; }
.settings-plex-fields label { display: grid; gap: 6px; color: #aeb1bd; font-size: .69rem; font-weight: 760; }
.settings-plex-fields select {
  min-height: 42px;
  width: 100%;
  padding: 0 11px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  background: #080b13;
  color: #efecf4;
  font: inherit;
  font-size: .73rem;
}

.settings-plex-actions {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.settings-plex-actions .primary-button,
.settings-plex-actions .secondary-button,
.settings-plex-actions .danger-button,
.settings-plex-danger .danger-button {
  min-height: 38px;
  padding: 0 13px;
  border-radius: 7px;
  font-size: .71rem;
}

.settings-plex-selection {
  margin-top: 10px;
  display: grid;
  gap: 4px;
  color: #7d8191;
  font-size: .68rem;
}

.settings-plex-progress {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(155,92,255,.18);
  border-radius: 8px;
  background: rgba(77,44,124,.09);
}
.settings-plex-progress[hidden] { display: none !important; }
.settings-plex-progress .plex-progress-header { margin-bottom: 8px; display: flex; justify-content: space-between; gap: 10px; color: #aeb2bf; font-size: .7rem; }
.settings-plex-progress progress { width: 100%; height: 7px; accent-color: #9b5cff; }

.settings-plex-stats {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}
.settings-plex-stats > div,
.settings-plex-summary > div {
  min-height: 74px;
  padding: 12px;
  display: grid;
  align-content: center;
  gap: 4px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 8px;
  background: #090c14;
}
.settings-plex-stats strong { color: #d0acff; font-size: 1.25rem; }
.settings-plex-stats span,
.settings-plex-summary > div > span { color: #777c8d; font-size: .66rem; }

.settings-plex-summary {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.settings-plex-summary strong { font-size: .75rem; }
.settings-plex-sync-summary { margin-top: 8px; }
.settings-plex-sync-summary .status-message { margin: 0; }

.settings-plex-danger {
  margin-top: 12px;
  padding-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.settings-plex-danger > div { display: grid; gap: 4px; }
.settings-plex-danger strong { font-size: .73rem; }

.settings-owner-refresh {
  min-height: 34px;
  padding: 0 11px;
  flex: 0 0 auto;
  border-radius: 7px;
  font-size: .69rem;
}

.settings-owner-source-list {
  display: grid;
  gap: 10px;
}

.settings-owner-source {
  padding: 13px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 8px;
  background: #090c14;
}

.settings-owner-source[data-owner-state="shared"] {
  border-color: rgba(93,229,140,.2);
  background: rgba(39,121,73,.07);
}

.settings-owner-source[data-owner-state="owned"] {
  border-color: rgba(155,92,255,.22);
  background: rgba(87,51,133,.09);
}

.settings-owner-source[data-owner-state="fallback"] {
  border-color: rgba(245,189,78,.18);
  background: rgba(132,91,20,.06);
}

.settings-owner-source-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.settings-owner-source-head > div {
  display: grid;
  gap: 3px;
}

.settings-owner-source-head span {
  color: #7d8292;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.settings-owner-source-head strong {
  color: #f1eef6;
  font-size: .82rem;
}

.settings-owner-source-head b {
  color: #bda3e8;
  font-size: .67rem;
  text-align: right;
}

.settings-owner-source[data-owner-state="shared"] .settings-owner-source-head b { color: #72df98; }
.settings-owner-source[data-owner-state="fallback"] .settings-owner-source-head b { color: #e8bd68; }

.settings-owner-source > p {
  margin: 9px 0 0;
  color: #878b9a;
  font-size: .69rem;
  line-height: 1.55;
}

.settings-owner-source-meta {
  margin-top: 10px;
  display: grid;
  grid-template-columns: minmax(100px,.34fr) minmax(0,1fr);
  gap: 8px;
}

.settings-owner-source-meta > span {
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 7px;
  background: rgba(0,0,0,.12);
  color: #7e8392;
  font-size: .66rem;
  line-height: 1.5;
}

.settings-owner-source-meta strong {
  color: #d8c1fa;
  font-size: .85rem;
}

@media (max-width: 1050px) {
  .settings-plex-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .settings-plex-fields,
  .settings-plex-stats,
  .settings-plex-summary,
  .settings-owner-source-meta { grid-template-columns: 1fr; }
  .settings-plex-fields label:last-child { grid-column: auto; }
  .settings-plex-actions { align-items: stretch; }
  .settings-plex-actions > * { flex: 1 1 100%; }
  .settings-plex-danger { align-items: flex-start; flex-direction: column; }
  .settings-owner-source-head { flex-direction: column; }
  .settings-owner-source-head b { text-align: left; }
}
