/* Scoped shared YouTube components: other platforms keep their own styling. */
.yt-ui, .yt-consent {
  --yt-ink: #1d2939; --yt-muted: #5e6c7e; --yt-line: #dce3eb;
  --yt-surface: #fff; --yt-soft: #f6f8fb; --yt-accent: #245fc3; --yt-accent-soft: #edf4ff;
  --yt-green: #187247; --yt-green-soft: #eaf6ef; --yt-warning: #825800; --yt-warning-soft: #fff8e6;
  color: var(--yt-ink);
}
[data-bs-theme="dark"] .yt-ui, [data-bs-theme="dark"] .yt-consent {
  --yt-ink: #ecf1f8; --yt-muted: #adbacc; --yt-line: #384555;
  --yt-surface: #1b2532; --yt-soft: #222f3e; --yt-accent: #9dbfff; --yt-accent-soft: #263b58;
  --yt-green: #9de3b9; --yt-green-soft: #233e34; --yt-warning: #ffdc8a; --yt-warning-soft: #413820;
}
.yt-ui .text-muted { color: var(--yt-muted) !important; }
.yt-heading { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 4px 0 8px; }
.yt-heading-copy { flex: 1; min-width: 180px; }
.yt-heading h3 { margin: 0; color: var(--yt-ink); font-size: 1.2rem; font-weight: 700; line-height: 1.3; }
.yt-heading p { margin: 5px 0 0; color: var(--yt-muted); font-size: .875rem; line-height: 1.55; }
.yt-brand-mark { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 13px; color: #cf273b; background: rgba(220, 45, 65, .09); font-size: 23px; }
.yt-status { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 99px; background: var(--yt-soft); color: var(--yt-muted); font-size: .75rem; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.yt-status-ready { color: var(--yt-green); background: var(--yt-green-soft); }
.yt-status-busy { color: var(--yt-accent); background: var(--yt-accent-soft); }
.yt-status-warning { color: var(--yt-warning); background: var(--yt-warning-soft); }
.yt-button, .yt-text-button { font: inherit; font-size: .875rem; font-weight: 600; line-height: 1.4; cursor: pointer; }
.yt-ui .yt-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 43px; padding: 10px 16px; border: 1px solid var(--yt-line); border-radius: 9px; background: var(--yt-surface); color: var(--yt-ink); text-decoration: none; transition: background-color .15s, border-color .15s; }
.yt-ui .yt-button:hover:not(:disabled) { background: var(--yt-soft); border-color: var(--yt-accent); }
.yt-ui .yt-button-primary { background: #c6263d; border-color: #c6263d; color: #fff; }
.yt-ui .yt-button-primary:hover:not(:disabled) { background: #a91d32; border-color: #a91d32; color: #fff; }
.yt-ui .yt-button:disabled { opacity: .55; cursor: not-allowed; }
.yt-ui .yt-text-button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 0; border: 0; background: none; color: var(--yt-accent); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.yt-ui .yt-text-button:hover { text-decoration-color: currentColor; }
.yt-ui .yt-text-button:disabled { opacity: .55; cursor: not-allowed; }
.yt-ui :is(button, a, input, select, textarea, summary):focus-visible, .yt-consent :is(a, input):focus-visible { outline: 3px solid var(--yt-accent); outline-offset: 3px; }
.yt-button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.yt-publish-shell { border: 1px solid var(--yt-line); border-radius: 16px; background: var(--yt-surface); overflow: hidden; }
.yt-action-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px; border-bottom: 1px solid var(--yt-line); background: var(--yt-soft); }
.yt-action-choice { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 14px 16px; border: 1px solid transparent; border-radius: 10px; text-align: left; color: var(--yt-muted); background: transparent; }
.yt-action-choice > i { font-size: 1.4rem; flex-shrink: 0; }
.yt-action-choice strong { display: block; font-size: .88rem; font-weight: 600; color: var(--yt-ink); line-height: 1.45; }
.yt-action-choice small { display: block; margin-top: 3px; font-size: .75rem; line-height: 1.4; }
.yt-action-choice.is-active { color: var(--yt-accent); background: var(--yt-surface); border-color: var(--yt-accent); box-shadow: 0 2px 5px rgba(15, 30, 50, .04); }
.yt-action-choice:disabled { opacity: .5; cursor: not-allowed; }
.yt-publish-body { padding: clamp(18px, 3vw, 28px); }
.yt-destination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.yt-channel-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.yt-avatar-fallback { display: grid; place-items: center; color: #cf273b; background: rgba(220, 45, 65, .09); font-size: 21px; }
.yt-destination-name { flex: 1; min-width: 150px; }
.yt-destination-name > span { display: block; color: var(--yt-muted); font-size: .75rem; }
.yt-destination-name strong { display: block; color: var(--yt-ink); font-size: .92rem; overflow-wrap: anywhere; }
.yt-file-details { margin-top: 14px; padding-bottom: 20px; border-bottom: 1px solid var(--yt-line); color: var(--yt-muted); font-size: .75rem; }
.yt-file-details summary { cursor: pointer; width: fit-content; padding: 3px 0; }
.yt-file-details p { margin: 8px 0 0; overflow-wrap: anywhere; }
.yt-form-section { margin: 20px 0 0; padding: 0; min-width: 0; border: 0; }
.yt-ui .yt-label { display: block; float: none; width: auto; margin: 0 0 8px; padding: 0; font-size: .85rem; font-weight: 600; line-height: 1.5; letter-spacing: normal; text-transform: none; color: var(--yt-ink); }
.yt-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.yt-optional { margin-left: 5px; color: var(--yt-muted); font-size: .75rem; font-weight: 400; }
.yt-ui .yt-field { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 11px 13px; color: var(--yt-ink); background: var(--yt-surface); border: 1px solid var(--yt-line); border-radius: 8px; font: inherit; font-size: .9rem; line-height: 1.5; box-shadow: none; }
.yt-ui .yt-field::placeholder { color: var(--yt-muted); opacity: .85; }
.yt-ui textarea.yt-field { resize: vertical; }
.yt-ui .yt-field:disabled { opacity: .65; }
.yt-visibility-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.yt-ui .yt-visibility-choice { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 13px; border: 1px solid var(--yt-line); border-radius: 9px; background: var(--yt-surface); cursor: pointer; text-transform: none; letter-spacing: normal; font-weight: 400; }
.yt-visibility-choice input { width: 16px; height: 16px; margin: 3px 0 0; flex-shrink: 0; accent-color: var(--yt-accent); }
.yt-visibility-choice strong { display: flex; align-items: center; gap: 6px; font-size: .83rem; color: var(--yt-ink); font-weight: 600; }
.yt-visibility-choice small { display: block; margin-top: 5px; font-size: .73rem; line-height: 1.45; color: var(--yt-muted); }
.yt-visibility-choice.is-selected { border-color: var(--yt-accent); background: var(--yt-accent-soft); }
.yt-ui .yt-help { margin: 6px 0 0; color: var(--yt-muted); font-size: .79rem; line-height: 1.55; }
.yt-form-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 20px; margin-top: 24px; border-top: 1px solid var(--yt-line); }
.yt-form-footer > div { flex: 1; }
.yt-form-footer .yt-button { flex-shrink: 0; }
.yt-next-step { margin: 5px 0 0; color: var(--yt-ink); font-size: .77rem; line-height: 1.5; }
.yt-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 250px; gap: 12px; padding: 20px; text-align: center; }
.yt-empty-state h4, .yt-progress-heading h4, .yt-connect-panel h4 { margin: 0; color: var(--yt-ink); font-size: 1rem; font-weight: 600; }
.yt-empty-state p { margin: 0; max-width: 420px; color: var(--yt-muted); font-size: .875rem; line-height: 1.6; }
.yt-empty-state .yt-button-row { justify-content: center; margin-top: 6px; }
.yt-feature-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; color: var(--yt-accent); background: var(--yt-accent-soft); font-size: 24px; flex-shrink: 0; }
.yt-progress-heading { display: flex; align-items: center; gap: 16px; }
.yt-progress-heading p { margin: 6px 0 0; color: var(--yt-muted); font-size: .85rem; line-height: 1.6; }
.yt-progress-track { height: 9px; margin-top: 24px; border-radius: 20px; background: var(--yt-soft); overflow: hidden; }
.yt-progress-track > div { height: 100%; background: #c6263d; border-radius: inherit; transition: width .2s ease; }
.yt-progress-meta { display: flex; justify-content: space-between; gap: 12px; margin: 9px 0 18px; color: var(--yt-muted); font-size: .8rem; }
.yt-progress-meta strong { color: var(--yt-ink); }
.yt-feedback { display: flex; gap: 12px; align-items: flex-start; padding: 15px; margin-bottom: 20px; border-radius: 10px; color: var(--yt-muted); background: var(--yt-soft); font-size: .85rem; line-height: 1.55; }
.yt-feedback > i { font-size: 19px; }
.yt-feedback p { margin: 3px 0 0; }
.yt-feedback-warning { color: var(--yt-warning); background: var(--yt-warning-soft); }
.yt-feedback-success { color: var(--yt-green); background: var(--yt-green-soft); }
.yt-ui .platforms-stage-empty { min-height: 230px; }
.yt-ui .platforms-video-card { background: var(--yt-surface); border: 1px solid var(--yt-line); box-shadow: none; }
.yt-ui .platforms-video-card:hover { transform: none; border-color: var(--yt-accent); box-shadow: none; }
.yt-ui .platforms-video-meta .summary-meta-chip { font-size: .72rem; }
.yt-consent { margin: 18px 0; font-size: .84rem; line-height: 1.65; text-align: left; }
.yt-consent-info { display: flex; align-items: flex-start; gap: 11px; padding: 15px; border-radius: 10px; background: var(--yt-soft); }
.yt-consent-shield { color: var(--yt-green); font-size: 20px; }
.yt-consent-info strong { font-weight: 600; }
.yt-consent-info p { margin: 5px 0 10px; color: var(--yt-muted); font-size: .81rem; }
.yt-consent a { color: var(--yt-accent); text-decoration: underline; text-underline-offset: 3px; }
.yt-consent-links { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .76rem; }
.yt-consent .yt-consent-agreement { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 0; padding: 12px; border: 1px solid var(--yt-line); border-radius: 9px; cursor: pointer; text-transform: none; letter-spacing: normal; font-size: .83rem; font-weight: 400; line-height: 1.65; color: var(--yt-ink); }
.yt-consent-agreement.is-accepted { border-color: var(--yt-green); background: var(--yt-green-soft); }
.yt-consent-agreement input { width: 18px; height: 18px; flex-shrink: 0; margin: 3px 0 0; accent-color: var(--yt-accent); }
.yt-consent-hint { margin: 7px 0 0 2px; color: var(--yt-muted); font-size: .75rem; }
.yt-account-card { background: var(--yt-surface); border-color: var(--yt-line) !important; padding: 22px !important; border-radius: 14px !important; }
.yt-account-summary { background: var(--yt-soft); padding: 16px; border-radius: 10px; margin-top: 14px; }
.yt-clamp-two { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.yt-schedule-card.card { border: 1px solid var(--yt-line); border-radius: 15px; background: var(--yt-surface); box-shadow: none; }
.yt-schedule-card > .card-body { padding: clamp(18px, 3vw, 26px); }
.yt-connect-panel { max-width: 640px; margin: 0 auto; padding: 14px 0 8px; }
.yt-steps { display: flex; align-items: center; gap: 12px; margin: 20px 0; }
.yt-step { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 0; background: transparent; color: var(--yt-muted); font-size: .82rem; font-weight: 600; border-radius: 8px; }
.yt-step > span { display: grid; place-items: center; width: 23px; height: 23px; background: var(--yt-soft); border: 1px solid var(--yt-line); border-radius: 50%; font-size: .75rem; }
.yt-step.is-current { color: var(--yt-accent); background: var(--yt-accent-soft); }
.yt-step.is-current > span { color: var(--yt-surface); background: var(--yt-accent); border-color: var(--yt-accent); }
.yt-step.is-complete > span { color: var(--yt-green); background: var(--yt-green-soft); }
.yt-schedule-card label, .yt-schedule-card .text-uppercase { text-transform: none !important; letter-spacing: normal !important; }
.yt-schedule-card .form-select, .yt-schedule-card .form-control { border-color: var(--yt-line); background-color: var(--yt-surface); color: var(--yt-ink); border-radius: 8px; }
@media (max-width: 700px) {
  .yt-action-switch { grid-template-columns: 1fr; gap: 6px; padding: 10px; }
  .yt-action-choice { padding: 11px 12px; }
  .yt-form-footer { flex-direction: column; align-items: stretch; gap: 14px; }
  .yt-form-footer .yt-button { width: 100%; }
  .yt-visibility-options { grid-template-columns: 1fr; gap: 8px; }
  .yt-ui .yt-visibility-choice { align-items: center; padding: 11px 13px; }
  .yt-visibility-choice input { margin-top: 0; }
  .yt-visibility-choice small { margin-top: 2px; }
  .yt-heading > .yt-status { margin-left: 58px; }
  .yt-ui .platforms-browser-toolbar { grid-template-columns: 1fr; }
  .yt-ui .platforms-search-row { flex-wrap: wrap; }
  .yt-ui .platforms-search-row .input-group { min-width: 180px; }
  .yt-ui .platforms-video-card { grid-template-columns: 90px minmax(0, 1fr); padding: 12px; }
  .yt-ui .platforms-video-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .yt-account-card { padding: 16px !important; }
  .yt-account-card > .d-flex { flex-wrap: wrap; }
  .yt-account-card > .d-flex > .d-flex { flex: 1 1 100%; min-width: 0; }
  .yt-account-card > .d-flex > .yt-status { margin-left: 44px; }
  .yt-consent-info { display: block; }
  .yt-consent-shield { display: none; }
}
@media (prefers-reduced-motion: reduce) { .yt-ui .yt-progress-track > div, .yt-ui .yt-button { transition: none; } }
.yt-thumbnail-preview {
  display: block;
  width: min(100%, 320px);
  aspect-ratio: 16 / 9;
  object-fit: contain;
  margin-top: 12px;
  border: 1px solid #dce3ec;
  border-radius: 12px;
  background: #f4f6f9;
}
