/* ============================================================
   MOD-174-13 · Authorized transcript and AI article workspace
============================================================ */

.mod17413-workspace,
.mod17413-workspace * { box-sizing: border-box; }
.mod17413-workspace [hidden] { display: none !important; }
.mod17413-workspace { color: #20334f; margin-top: 16px; min-width: 0; }

.mod17413-head {
  align-items: center;
  background: linear-gradient(135deg, #102b50, #174b84 64%, #176f81);
  border-radius: 16px;
  color: #fff;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 20px 22px;
}
.mod17413-head > div { min-width: 0; }
.mod17413-head > div > span { color: #87e3f0; font-size: .68rem; font-weight: 900; letter-spacing: .1em; }
.mod17413-head h3 { color: #fff; font-size: 1.3rem; font-weight: 900; margin: 5px 0 4px; }
.mod17413-head p { color: #d9e9fa; font-size: .78rem; margin: 0; }
.mod17413-head dl { display: grid; flex: 0 0 auto; gap: 7px; grid-template-columns: repeat(3, minmax(82px, 1fr)); margin: 0; }
.mod17413-head dl div { background: rgba(255, 255, 255, .11); border: 1px solid rgba(255, 255, 255, .18); border-radius: 11px; padding: 8px 10px; text-align: center; }
.mod17413-head dt { color: #d7e8f9; font-size: .65rem; font-weight: 700; }
.mod17413-head dd { color: #fff; font-size: 1.05rem; font-weight: 900; margin: 1px 0 0; }

.mod17413-campaign-run { background: #f6f9fd; border: 1px solid #dbe6f2; border-radius: 12px; margin-bottom: 12px; padding: 0 12px; }
.mod17413-campaign-run > summary { align-items: center; color: #294c76; cursor: pointer; display: flex; font-size: .76rem; font-weight: 850; gap: 8px; list-style: none; min-height: 42px; }
.mod17413-campaign-run > summary::-webkit-details-marker { display: none; }
.mod17413-campaign-run > summary small { color: #72839a; font-weight: 700; margin-left: auto; }
.mod17413-campaign-run[open] { padding-bottom: 12px; }

.mod17413-layout { display: grid; gap: 12px; grid-template-columns: minmax(270px, 32%) minmax(0, 1fr); margin-top: 12px; }
.mod17413-candidates,
.mod17413-review { background: #f7f9fc; border: 1px solid #dce5f0; border-radius: 15px; min-width: 0; }
.mod17413-candidates { align-self: start; max-height: min(980px, calc(100vh - 100px)); overflow: hidden; position: sticky; top: 78px; }
.mod17413-search { padding: 12px 12px 7px; position: relative; }
.mod17413-search i { color: #7c8da4; left: 24px; position: absolute; top: 24px; }
.mod17413-search input { font-size: .76rem; min-height: 40px; padding-left: 33px; }
.mod17413-language-filter { display: grid; gap: 5px; grid-template-columns: repeat(3, 1fr); padding: 0 12px 9px; }
.mod17413-language-filter button { background: #fff; border: 1px solid #d4dfed; border-radius: 8px; color: #52657e; font-size: .69rem; font-weight: 800; min-height: 34px; }
.mod17413-language-filter button.is-active { background: #e8f2ff; border-color: #75a5e4; color: #1559ac; }
.mod17413-candidate-list { border-top: 1px solid #dce5f0; max-height: min(835px, calc(100vh - 224px)); overflow: auto; padding: 7px; }
.mod17413-candidate {
  align-items: center;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 11px;
  color: inherit;
  display: grid;
  gap: 4px 9px;
  grid-template-columns: 74px minmax(0, 1fr);
  margin-bottom: 6px;
  padding: 7px;
  text-align: left;
  width: 100%;
}
.mod17413-candidate:hover { border-color: #aac8eb; }
.mod17413-candidate.is-active { background: #edf5ff; border-color: #5793dd; box-shadow: inset 3px 0 #2563eb; }
.mod17413-candidate img { border-radius: 7px; grid-row: 1 / span 3; height: 48px; object-fit: cover; width: 74px; }
.mod17413-candidate strong { font-size: .72rem; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mod17413-candidate small { color: #718096; font-size: .62rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mod17413-candidate em { display: flex; flex-wrap: wrap; gap: 3px; }
.mod17413-candidate em span,
.mod17413-video-info > span,
.mod17413-safety-badges span,
.mod17413-validation span { background: #edf2f7; border-radius: 999px; color: #53657c; font-size: .59rem; font-style: normal; font-weight: 850; padding: 3px 6px; }
.mod17413-candidate em .is-ready,
.mod17413-validation span.is-pass,
.mod17413-safety-badges .is-safe { background: #e4f8ef; color: #08734b; }
.mod17413-candidate em .is-warning,
.mod17413-validation span.is-warning { background: #fff4d9; color: #9a5d00; }
.mod17413-candidate em .is-blocked,
.mod17413-validation span.is-fail { background: #fee9e9; color: #b42318; }
.mod17413-list-empty { color: #718096; font-size: .72rem; padding: 28px 14px; text-align: center; }

.mod17413-review { padding: 11px; }
.mod17413-review button { min-height: 36px; }
.mod17413-empty { align-items: center; color: #687990; display: flex; flex-direction: column; gap: 8px; justify-content: center; min-height: 420px; padding: 24px; text-align: center; }
.mod17413-empty i { color: #7aa9df; font-size: 2.4rem; }
.mod17413-empty strong { color: #294766; font-size: .96rem; }
.mod17413-empty span { font-size: .74rem; }
.mod17413-empty.is-complete i { color: #16a36b; }

.mod17413-card { background: #fff; border: 1px solid #dce5ef; border-radius: 13px; margin-bottom: 9px; min-width: 0; padding: 13px; }
.mod17413-card > header { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.mod17413-card > header > div:first-child > span { color: #3474bd; font-size: .61rem; font-weight: 900; letter-spacing: .08em; }
.mod17413-card h4 { color: #173c66; font-size: .92rem; font-weight: 900; margin: 2px 0 0; }
.mod17413-video-card { display: grid; gap: 13px; grid-template-columns: minmax(250px, 42%) minmax(0, 1fr); }
.mod17413-player { aspect-ratio: 16 / 9; background: #111827; border-radius: 10px; min-width: 0; overflow: hidden; }
.mod17413-player iframe,
.mod17413-player img { border: 0; height: 100%; object-fit: cover; width: 100%; }
.mod17413-video-info { min-width: 0; }
.mod17413-video-info h4 { font-size: 1rem; line-height: 1.4; margin: 6px 0 4px; }
.mod17413-video-info > p { color: #667890; font-size: .72rem; margin: 0 0 9px; }
.mod17413-video-info dl { display: flex; flex-wrap: wrap; gap: 6px 15px; margin: 0 0 8px; }
.mod17413-video-info dl div { display: flex; font-size: .66rem; gap: 5px; }
.mod17413-video-info dt { color: #8090a5; }
.mod17413-video-info dd { color: #344a66; font-weight: 800; margin: 0; }
.mod17413-video-info a { font-size: .69rem; font-weight: 800; text-decoration: none; }

.mod17413-existing-summary header > span { background: #f0f3f7; border-radius: 999px; color: #6c7d92; font-size: .62rem; font-weight: 800; padding: 4px 8px; }
.mod17413-existing-summary p { color: #53657c; font-size: .73rem; line-height: 1.6; margin: 9px 0 0; white-space: pre-wrap; }
.mod17413-safety-badges { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
.mod17413-safety-badges span.is-confirmed { background: #e4f8ef; color: #08734b; }
.mod17413-safety-badges span.is-blocked { background: #fee9e9; color: #b42318; }

.mod17413-source-picker { align-items: center; background: #f6f9fd; border-radius: 10px; display: flex; flex-wrap: wrap; gap: 7px 16px; margin-top: 12px; padding: 9px 11px; }
.mod17413-source-picker strong { color: #304967; font-size: .7rem; }
.mod17413-source-picker label { align-items: center; display: flex; font-size: .69rem; gap: 5px; }
.mod17413-caption-unavailable { background: #fff6df; border: 1px solid #f1d48a; border-radius: 9px; color: #825300; font-size: .69rem; margin: 8px 0 0; padding: 8px 10px; }
.mod17413-rights-fields { display: grid; gap: 8px; grid-template-columns: 1fr .55fr 1.45fr; margin-top: 9px; }
.mod17413-rights-fields label { display: grid; gap: 4px; }
.mod17413-rights-fields label > span,
.mod17413-text-input label,
.mod17413-registration-fields label > span { color: #53657c; font-size: .64rem; font-weight: 800; }
.mod17413-rights-fields .form-control,
.mod17413-rights-fields .form-select,
.mod17413-registration-fields .form-control,
.mod17413-registration-fields .form-select { font-size: .7rem; min-height: 37px; }
.mod17413-rights-confirm { align-items: center; display: flex !important; grid-column: 1 / -1; grid-template-columns: auto 1fr; }
.mod17413-rights-confirm span { color: #334b68 !important; font-size: .68rem !important; }
.mod17413-text-input { display: grid; gap: 9px; grid-template-columns: minmax(190px, .65fr) minmax(0, 1.35fr); margin-top: 9px; }
.mod17413-text-input > div { background: #f7f9fc; border: 1px dashed #b9c9dc; border-radius: 10px; display: flex; flex-direction: column; gap: 7px; justify-content: center; padding: 11px; }
.mod17413-text-input > div label { font-weight: 850; }
.mod17413-text-input > div small { color: #718096; font-size: .61rem; }
.mod17413-text-input > label { display: grid; gap: 5px; min-width: 0; }
.mod17413-text-input textarea { font-size: .7rem; line-height: 1.55; max-width: 100%; min-height: 180px; resize: vertical; }
.mod17413-text-meta { align-items: center; display: flex; gap: 8px; justify-content: space-between; margin-top: 8px; }
.mod17413-text-meta span { color: #718096; font-size: .64rem; overflow-wrap: anywhere; }
.mod17413-text-meta .btn { flex: 0 0 auto; font-size: .69rem; }

.mod17413-summary-controls { align-items: center; border-top: 1px solid #e2e8f0; display: flex; gap: 12px; justify-content: space-between; margin-top: 12px; padding-top: 11px; }
.mod17413-summary-controls > div { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.mod17413-summary-controls strong { color: #344b68; font-size: .7rem; margin-right: 3px; }
.mod17413-summary-controls label { font-size: .68rem; }
.mod17413-summary-controls .btn { font-size: .68rem; min-height: 36px; }
.mod17413-provider-note { color: #718096; font-size: .64rem; margin: 7px 0 0; text-align: right; }
.mod17413-provider-note.is-error { color: #b42318; }
.mod17413-summary-result { background: #f7fbff; border: 1px solid #b9d4f2; border-radius: 11px; display: grid; gap: 8px; grid-template-columns: 1.3fr 1fr; margin-top: 11px; padding: 11px; }
.mod17413-summary-result > header { display: grid; grid-column: 1 / -1; }
.mod17413-summary-result > header span { color: #2471c2; font-size: .62rem; font-weight: 900; }
.mod17413-summary-result > header strong { color: #173c66; font-size: .86rem; }
.mod17413-summary-result section { background: #fff; border-radius: 9px; min-width: 0; padding: 9px; }
.mod17413-summary-result section:first-of-type { grid-row: span 2; }
.mod17413-summary-result h5 { color: #245487; font-size: .7rem; font-weight: 900; margin: 0 0 6px; }
.mod17413-summary-result p { color: #374f6c; font-size: .69rem; line-height: 1.62; margin: 0 0 7px; white-space: pre-wrap; }
.mod17413-summary-result ul { margin: 0; padding-left: 17px; }
.mod17413-summary-result li { color: #53657c; font-size: .66rem; margin: 3px 0; }
.mod17413-summary-result dl { margin: 0; }
.mod17413-summary-result dl div { display: grid; gap: 2px; margin-bottom: 6px; }
.mod17413-summary-result dt { color: #294f78; font-size: .66rem; font-weight: 900; }
.mod17413-summary-result dd { color: #607188; font-size: .63rem; margin: 0; }
.mod17413-disclosure { background: #edf7ff; border-radius: 8px; color: #356184; font-size: .65rem; margin: 9px 0 0; padding: 7px 9px; }

.mod17413-validation { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; }
.mod17413-validation strong { color: #2e4764; font-size: .7rem; margin-right: 4px; }
.mod17413-registration-fields { display: grid; gap: 8px; grid-template-columns: 1.5fr .75fr .75fr; margin-top: 10px; }
.mod17413-registration-fields label { display: grid; gap: 4px; min-width: 0; }
.mod17413-actions { align-items: center; background: rgba(255, 255, 255, .96); border: 1px solid #cad8e8; border-radius: 12px; bottom: 8px; box-shadow: 0 9px 28px rgba(23, 59, 101, .12); display: grid; gap: 5px; grid-template-columns: minmax(0, 1fr) auto; padding: 9px 11px; position: sticky; z-index: 12; }
.mod17413-actions > span { color: #53657c; font-size: .67rem; min-width: 0; overflow-wrap: anywhere; }
.mod17413-actions > span.is-error { color: #b42318; }
.mod17413-actions > div { display: flex; gap: 6px; }
.mod17413-actions .btn { font-size: .68rem; min-height: 36px; white-space: nowrap; }
.mod17413-actions small { color: #718096; font-size: .61rem; grid-column: 1 / -1; text-align: right; }
.mod17413-workspace.is-busy [data-transcript-detail] { opacity: .76; }

@media (max-width: 1199px) {
  .mod17413-layout { grid-template-columns: minmax(240px, 35%) minmax(0, 1fr); }
  .mod17413-candidates { position: static; }
  .mod17413-rights-fields { grid-template-columns: 1fr 1fr; }
  .mod17413-rights-note { grid-column: 1 / -1; }
  .mod17413-text-input { grid-template-columns: 1fr; }
  .mod17413-registration-fields { grid-template-columns: 1fr 1fr; }
  .mod17413-registration-fields label:first-child { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .mod17413-head { align-items: stretch; flex-direction: column; }
  .mod17413-head dl { width: 100%; }
  .mod17413-layout { grid-template-columns: 1fr; }
  .mod17413-candidates { max-height: none; }
  .mod17413-candidate-list { display: flex; gap: 7px; max-height: none; overflow-x: auto; padding: 8px; }
  .mod17413-candidate { flex: 0 0 min(310px, 84vw); margin: 0; }
  .mod17413-video-card { grid-template-columns: 1fr; }
  .mod17413-summary-result { grid-template-columns: 1fr; }
  .mod17413-summary-result section:first-of-type { grid-row: auto; }
  .mod17413-actions { grid-template-columns: 1fr; }
  .mod17413-actions > div { justify-content: flex-end; }
  .mod17413-actions small { grid-column: 1; }
}

@media (max-width: 575px) {
  .mod17413-step { padding-inline: 8px !important; }
  .mod17413-head { border-radius: 12px; padding: 14px; }
  .mod17413-head p { display: none; }
  .mod17413-head h3 { font-size: 1.08rem; }
  .mod17413-head dl { gap: 4px; }
  .mod17413-head dl div { padding: 6px; }
  .mod17413-review { padding: 7px; }
  .mod17413-card { border-radius: 10px; padding: 10px; }
  .mod17413-card > header { align-items: stretch; flex-direction: column; }
  .mod17413-safety-badges { justify-content: flex-start; }
  .mod17413-rights-fields,
  .mod17413-registration-fields { grid-template-columns: 1fr; }
  .mod17413-rights-note,
  .mod17413-registration-fields label:first-child { grid-column: 1; }
  .mod17413-summary-controls { align-items: stretch; flex-direction: column; }
  .mod17413-summary-controls > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .mod17413-actions { bottom: 4px; }
  .mod17413-actions > div { display: grid; grid-template-columns: 1fr 1fr; }
  .mod17413-actions [data-register-summary] { grid-column: 1 / -1; }
  .mod17413-actions .btn { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  .mod17413-workspace * { scroll-behavior: auto !important; transition: none !important; }
}

.mod17413-public-source { color: #61748d !important; font-size: .68rem !important; margin: 2px 0 8px !important; }
.mod17413-public-source i { color: #dc2626; }
.mod17413-public-source a { font-weight: 800; }
.mod17413-public-summary-detail { border: 1px solid #d8e5f2; border-radius: 9px; margin: 8px 0; overflow: hidden; }
.mod17413-public-summary-detail > summary { color: #295986; cursor: pointer; font-size: .68rem; font-weight: 850; padding: 7px 9px; }
.mod17413-public-summary-detail > div { background: #f8fbfe; display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); padding: 8px; }
.mod17413-public-summary-detail section { min-width: 0; }
.mod17413-public-summary-detail section > strong { color: #284b70; font-size: .65rem; }
.mod17413-public-summary-detail ul { margin: 5px 0 0; padding-left: 16px; }
.mod17413-public-summary-detail li,
.mod17413-public-summary-detail dt,
.mod17413-public-summary-detail dd { color: #5c6f87; font-size: .62rem; line-height: 1.45; }
.mod17413-public-summary-detail dl { margin: 5px 0 0; }
.mod17413-public-summary-detail dt { color: #294f78; font-weight: 900; }
.mod17413-public-summary-detail dd { margin: 0 0 5px; }
@media (max-width: 767px) { .mod17413-public-summary-detail > div { grid-template-columns: 1fr; } }
