:root {
  --ink: #17243d;
  --muted: #65748d;
  --line: #dce5f1;
  --paper: #f5f7fb;
  --teal: #2457c5;
  --mint: #e9f0ff;
  --blue: #2457c5;
  --blue-dark: #173f9f;
  --blue-pale: #eaf1ff;
}
.persona-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:16px; margin-top:20px; }
.persona-card { display:flex; flex-direction:column; gap:10px; padding:10px; border:1px solid var(--line); border-radius:13px; color:var(--ink); background:#f9fbff; }
.persona-card:hover { text-decoration:none; border-color:#adc5f5; }
.persona-card img { display:block; width:100%; aspect-ratio:1; object-fit:cover; object-position:top; border-radius:8px; background:#e8edf6; }
.persona-card strong,.persona-card small { display:block; }
.persona-card small { color:var(--muted); }
.persona-sheet { display:block; max-width:100%; width:min(100%,720px); height:auto; margin:0 auto 16px; border-radius:10px; border:1px solid var(--line); }
html { scroll-behavior: smooth; }
body { background: #fff; color: var(--ink); }
a { color: var(--blue); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #7fa5f7; outline-offset: 3px; }
h1, h2, h3 { color: #16233c; }
h1 { font-size: clamp(2rem, 3vw, 3.15rem); }
h2 { font-size: 1.7rem; }
.app-frame { display: grid; grid-template-columns: 238px minmax(0, 1fr); min-height: 100vh; }
.app-sidebar { position: sticky; top: 0; align-self: start; height: 100vh; display: flex; flex-direction: column; background: #f3f7ff; border-right: 1px solid #e0e9f8; padding: 30px 16px 24px; }
.sidebar-brand { display: flex; align-items: center; gap: 12px; padding: 0 10px; color: #2353b7; font-size: 1.15rem; font-weight: 750; line-height: 1.08; letter-spacing: -.035em; }
.sidebar-brand:hover { text-decoration: none; }
.sidebar-brand strong { color: #152440; }
.sidebar-brand-mark { position: relative; width: 35px; height: 44px; display: block; flex: 0 0 35px; }
.sidebar-brand-mark span { position: absolute; left: 3px; width: 24px; height: 19px; background: #285bcc; border-radius: 4px 10px 4px 4px; }
.sidebar-brand-mark span:first-child { top: 1px; }
.sidebar-brand-mark span:last-child { bottom: 0; background: #5d89e8; border-radius: 4px; }
.sidebar-nav { display: grid; gap: 5px; margin-top: 54px; font-size: .93rem; font-weight: 600; }
.sidebar-link { display: flex; align-items: center; gap: 14px; min-height: 46px; padding: 0 15px; border-radius: 10px; color: #425575; }
.sidebar-link:hover { text-decoration: none; background: #eaf1ff; color: var(--blue-dark); }
.sidebar-link.is-active { background: #e3edff; color: #2457c5; font-weight: 800; }
.nav-symbol { display: inline-grid; place-items: center; flex: 0 0 19px; width: 19px; height: 19px; color: #617491; font-size: 1.12rem; line-height: 1; }
.is-active .nav-symbol { color: var(--blue); }
.nav-play { font-size: .8rem; }
.app-main { min-width: 0; background: white; }
.app-topbar { min-height: 66px; padding: 0 clamp(22px, 3vw, 44px); display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e9edf5; color: #62718b; font-size: .81rem; }
.app-topbar strong { color: #263e65; }
.topbar-divider { margin: 0 8px; color: #b4bfd0; }
.topbar-date { white-space: nowrap; }
.page-content { max-width: 1540px; margin: 0 auto; padding: 31px clamp(22px, 3vw, 44px) 80px; }
.breadcrumbs { color: #73839e; margin-bottom: 23px; font-size: .8rem; }
.breadcrumbs a { color: #536984; }
.eyebrow, .section-kicker { color: var(--blue); letter-spacing: .11em; }
.lede { color: var(--muted); }
.button { border-radius: 8px; }
.button-primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.button-primary:hover { background: var(--blue-dark); border-color: var(--blue-dark); color: #fff; }
.button-secondary { background: #ebf2ff; border-color: #d2e1fc; color: var(--blue-dark); }
.button-secondary:hover { background: #dfeaff; color: var(--blue-dark); }
.button-quiet { border-color: #d8e1ef; color: #435775; }
.card, .stat-card { border-color: var(--line); box-shadow: 0 5px 22px rgba(28, 57, 104, .035); }
.pill-green { color: #1e4da9; background: #e1edff; }
.pill-neutral { color: #5e6d82; background: #edf1f7; }
.flash-success { color: #2252a5; background: #e9f1ff; border-color: #cbdcfc; }
.inline-note { background: #fff8e9; border-color: #f0dfb6; }
.field input, .field textarea, .field select { background: white; border-color: #cfd9e8; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #5684e1; box-shadow: 0 0 0 3px #deebff; }
.field input[type=file]::file-selector-button { background: #e9f1ff; color: #2457c5; }
.section-card, .form-card, .side-card { border-radius: 14px; }
.idea-card, .style-card, .scene-card, .mini-empty { background: #f9fbff; border-color: #e0e8f4; }
.idea-card:hover, .style-card:hover { border-color: #adc5f5; }
.steps li:before { background: #edf2fa; color: #6c7e99; }
.steps li.done:before { background: var(--blue); }
.asset-type, .card-icon { background: #e9f1ff; color: #2859ba; }
.ai-select, .aside-tip { background: #edf3ff; color: #3a5689; }
.scene-card:before, .generation-progress-track span { background: #3a70dd; }
.generation-progress strong, .text-button, .style-action, .advanced-panel > summary, .cost-call-details summary { color: var(--blue); }
.generation-progress-track { background: #e7eefb; }
.cost-summary > div { background: #f8faff; }
.video-cost-inline { background: #f1f6ff; border-color: #d4e3ff; }
.video-cost-inline span, .video-cost-inline strong { color: #2a559f; }
.advanced-panel { background: #fbfcff; }
.advanced-panel > .studio-card { box-shadow: none; }
.creative-options { margin-top: 22px; padding: 19px; }
.creative-options[open] > summary { margin-bottom: 24px; }
.creative-fieldset { min-width: 0; margin: 0 0 25px; padding: 0; border: 0; }
.creative-fieldset legend { padding: 0; margin-bottom: 4px; color: #17243d; font-weight: 800; }
.creative-fieldset > .field-hint { margin-bottom: 13px; }
.creative-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.creative-choice { min-width: 0; padding: 12px; border: 1px solid #dce5f1; border-radius: 12px; background: #fff; }
.creative-choice:has(input:checked) { border-color: #5584e4; box-shadow: 0 0 0 2px #e2ecff; background: #f8fbff; }
.creative-choice label { display: flex; gap: 9px; align-items: flex-start; cursor: pointer; }
.creative-choice input[type=radio] { flex: 0 0 auto; width: auto; min-height: auto; margin: 4px 0 0; accent-color: #2457c5; }
.creative-choice strong, .creative-choice small { display: block; }
.creative-choice strong { font-size: .88rem; color: #17243d; }
.creative-choice small { margin-top: 3px; color: #61718a; font-size: .73rem; line-height: 1.35; }
.creative-choice audio { display: block; width: 100%; height: 34px; margin-top: 11px; }
.caption-choice { display: flex; flex-direction: column; cursor: pointer; }
.caption-choice > input { position: static; align-self: flex-end; margin: 0 0 5px; }
.caption-demo { display: flex; align-items: flex-end; width: 100%; height: 112px; padding: 12px; margin-bottom: 9px; border-radius: 7px; overflow: hidden; background: linear-gradient(150deg, #6480a3, #1c2941 78%); color: #fff; }
.caption-demo span { font-size: .88rem; font-weight: 800; line-height: 1.15; }
.caption-demo-editorial span { border-left: 3px solid #7fa5ff; padding-left: 8px; text-shadow: 0 2px 5px #132039; }
.caption-demo-boxed { justify-content: center; }
.caption-demo-boxed span { padding: 6px 9px; border-radius: 5px; background: rgba(12,21,39,.82); text-align: center; font-size: .78rem; }
.caption-demo-statement { align-items: center; }
.caption-demo-statement span { padding: 7px 10px; background: #e9f0ff; color: #173f9f; font-size: 1rem; }
.logo-choice { display: grid; grid-template-columns: auto 1fr; gap: 0 10px; align-items: start; padding-top: 19px; border-top: 1px solid #e4eaf4; }
.logo-choice input { width: auto; min-height: auto; margin-top: 4px; accent-color: #2457c5; }
.logo-choice label { color: #17243d; font-weight: 700; cursor: pointer; }
.logo-choice .field-hint { grid-column: 2; }
@media (max-width: 720px) { .creative-choice-grid { grid-template-columns: 1fr; } .caption-demo { height: 88px; } }
.section-count { color: #315caa; background: #edf3ff; }
.upload-bar, .render-bar { border-color: #c4d6f3; background: #f8fbff; }
.asset-check, .scene-index, .style-top { color: #3264be; }
.render-item video { background: #17243d; }
.ai-select p { color: #546b94; }
.button-light { background: #e4edff; border-color: #d4e2fc; color: #214b9f; }
.button-light:hover { background: #dbe8ff; color: #214b9f; }
.request-row:hover, .video-library-row:hover { text-decoration: none; background: #f8fbff; }

.dashboard-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 28px; }
.dashboard-heading h1 { margin-bottom: 10px; }
.dashboard-heading .button { margin-top: 17px; }
.overview-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-bottom: 27px; }
.overview-stats .stat-card { padding: 21px 23px; }
.overview-stats .stat-card span { font-size: .78rem; font-weight: 700; }
.overview-stats .stat-card strong { display: block; font-size: 2rem; line-height: 1.2; }
.overview-stats .stat-card small { display: block; color: var(--muted); font-size: .75rem; }
.dashboard-section { padding: 25px 27px; margin: 0 0 29px; }
.dashboard-section .section-heading { align-items: center; margin-bottom: 8px; }
.dashboard-section .section-heading h2 { font-size: 1.55rem; }
.dashboard-section .request-list { margin-top: 0; }
.video-library-section .section-heading { align-items: center; margin-bottom: 8px; }
.video-library-section .section-heading h1 { margin: 0; font-size: 1.55rem; }
.collection-heading { margin-top: 32px; }
.collection-heading h2 span { background: #e6efff; color: #2457c5; }
.business-table-scroll { max-width: 100%; }
.business-table { min-width: 760px; table-layout: fixed; }
.business-table th, .business-table td { padding: 17px 12px; }
.business-table th:first-child, .business-table td:first-child { width: 46%; padding-left: 0; }
.business-table th:nth-child(2), .business-table td:nth-child(2) { width: 18%; }
.business-table th:nth-child(3), .business-table td:nth-child(3) { width: 9%; }
.business-table th:nth-child(4), .business-table td:nth-child(4) { width: 18%; }
.business-table th:last-child, .business-table td:last-child { width: 9%; padding-right: 0; text-align: right; }
.business-table tbody tr:hover { background: #fcf9f9; }
.business-table-name { color: var(--ink); font-weight: 800; }
.business-table-description { display: block; margin-top: 4px; color: var(--muted); font-size: .77rem; line-height: 1.45; }
.business-table time { color: var(--muted); font-size: .77rem; }
.business-table .text-link { white-space: nowrap; }
.business-card { border-top: 3px solid #a9c5f8; }
.business-card:hover { border-color: #4d80e4; box-shadow: 0 12px 28px rgba(36, 87, 197, .08); }
.empty-state { border-color: #bcd0ef; background: #fbfcff; }
.empty-icon { background: #e8f0ff; color: var(--blue); }
.video-library { border-top: 1px solid var(--line); }
.video-library-row { display: flex; align-items: center; gap: 18px; color: var(--ink); border-bottom: 1px solid var(--line); padding: 16px 8px; }
.video-library-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 10px; background: #e8f0ff; color: var(--blue); font-size: .75rem; }
.video-library-copy { min-width: 0; flex: 1; }
.video-library-copy strong, .video-library-copy small { display: block; }
.video-library-copy strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.video-library-copy small, .video-library-date { color: var(--muted); font-size: .75rem; }
.video-library-date { flex: 0 0 98px; text-align: right; }

.production-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) minmax(335px, 37%); gap: 0; align-items: start; border: 1px solid #e2e9f4; border-radius: 14px; overflow: clip; box-shadow: 0 9px 38px rgba(32, 66, 122, .035); }
.production-content { min-width: 0; padding: clamp(24px, 3vw, 38px); }
.production-heading { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; }
.production-heading .lede { font-size: .9rem; line-height: 1.5; }
.production-heading > .pill { margin-top: 5px; }
.production-meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 19px 0 27px; }
.production-meta span { border: 1px solid #dbe5f3; border-radius: 999px; padding: 5px 10px; font-size: .7rem; color: #536782; font-weight: 650; }
.activity-section .section-heading { align-items: center; margin-bottom: 6px; }
.activity-section .section-heading h2 { font-size: 1.85rem; }
.activity-explainer { margin: 0 0 16px; color: var(--muted); font-size: .76rem; }
.activity-list { padding: 0; margin: 0; list-style: none; }
.activity-row { position: relative; display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 18px; padding: 17px 4px 18px 31px; border-bottom: 1px solid #e7edf6; }
.activity-row:before { content: ""; position: absolute; top: 0; bottom: 0; left: 12px; width: 1px; background: #dce6f5; }
.activity-row:first-child:before { top: 27px; }
.activity-row:last-child:before { bottom: calc(100% - 27px); }
.activity-marker { position: absolute; left: 4px; top: 21px; z-index: 1; width: 17px; height: 17px; border: 4px solid #d8e6ff; border-radius: 50%; background: var(--blue); }
.activity-row.is-error .activity-marker { border-color: #ffe0de; background: #c74747; }
.activity-time { color: #70809a; font-size: .68rem; line-height: 1.5; padding-top: 2px; }
.activity-copy { min-width: 0; }
.activity-copy strong { display: block; color: #1c2b48; font-size: .8rem; }
.activity-copy p { margin: 3px 0 0; color: #62728d; font-size: .74rem; line-height: 1.45; overflow-wrap: anywhere; }
.activity-status { color: #2457c5; font-size: .67rem; font-weight: 750; white-space: nowrap; padding-top: 2px; }
.activity-status:before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 6px; vertical-align: 1px; border-radius: 50%; background: currentColor; }
.activity-status.is-error { color: #a44343; }
.version-actions { margin-top: 30px; }
.version-actions .section-heading { margin-bottom: 10px; }
.version-actions .section-heading h2 { font-size: 1.42rem; }
.version-row { padding: 15px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.version-row .render-links { margin: 11px 0 0; }
.version-row .inline-note { margin: 12px 0; }
.action-card { padding: 24px; margin-top: 28px; background: #f9fbff; box-shadow: none; }
.action-card h2 { margin-bottom: 5px; font-size: 1.35rem; }
.action-card .field { margin-top: 17px; }
.production-prompt .button { border-radius: 8px; }
.production-preview { position: sticky; top: 0; align-self: start; min-width: 0; min-height: 100%; padding: clamp(24px, 2.3vw, 31px); border-left: 1px solid #e2e9f4; background: #fcfdff; }
.preview-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 16px; }
.preview-heading h1 { margin: 0; font-size: 1.75rem; }
.preview-heading .section-kicker { margin: 0 0 5px; }
.preview-heading .pill { flex-shrink: 0; }
.production-preview video { display: block; width: 100%; max-height: 550px; aspect-ratio: 9 / 16; object-fit: contain; background: #15233e; border-radius: 8px; }
.preview-review { margin: 10px 0; }
.preview-empty { min-height: 335px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; border: 1px dashed #c8d8f4; border-radius: 9px; background: #f1f6ff; padding: 25px; }
.preview-empty > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #dbe9ff; color: var(--blue); font-size: 1.25rem; }
.preview-empty strong { font-size: .92rem; }
.preview-empty p { color: var(--muted); font-size: .78rem; margin: 0; }
.preview-stats { display: grid; grid-template-columns: repeat(3, 1fr); padding: 18px 0; gap: 8px; border-bottom: 1px solid var(--line); }
.preview-stats > div + div { border-left: 1px solid var(--line); padding-left: 10px; }
.preview-stats span, .preview-stats strong { display: block; }
.preview-stats span { font-size: .65rem; color: var(--muted); }
.preview-stats strong { font-size: .84rem; overflow-wrap: anywhere; }
.production-preview .video-cost-inline { margin: 17px 0; }
.preview-action { width: 100%; }
.preview-brief { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.preview-brief .section-heading { align-items: center; margin-bottom: 15px; }
.preview-brief h3 { margin: 0; font-size: 1.2rem; }
.preview-brief .text-link { font-size: .73rem; white-space: nowrap; }
.preview-brief dl { margin: 0; }
.preview-brief dl > div { display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 12px; padding: 6px 0; }
.preview-brief dt { color: var(--muted); font-size: .73rem; }
.preview-brief dd { margin: 0; color: #273a5a; font-size: .76rem; overflow-wrap: anywhere; }
.production-below { max-width: 1170px; min-width: 0; margin: 28px auto 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.production-below > * { min-width: 0; }
.mobile-preview-link { display: none; }
.production-below .studio-card { padding: clamp(22px, 2.8vw, 32px); }
.production-below .advanced-panel > .studio-card { margin-top: 14px; }

@media (max-width: 1200px) {
  .app-frame { grid-template-columns: 210px minmax(0, 1fr); }
  .production-dashboard { grid-template-columns: minmax(0, 1fr) minmax(300px, 36%); }
  .activity-row { grid-template-columns: 85px minmax(0, 1fr); }
  .activity-status { grid-column: 2; padding: 0; }
}
@media (max-width: 1000px) {
  .production-dashboard { grid-template-columns: 1fr; }
  .production-preview { position: static; border-left: 0; border-top: 1px solid var(--line); }
  .production-preview video { max-height: 560px; aspect-ratio: 16 / 9; }
  .preview-empty { min-height: 250px; }
}
@media (max-width: 760px) {
  .app-frame { display: block; }
  .app-sidebar { position: static; height: auto; padding: 13px 16px 8px; border-right: 0; border-bottom: 1px solid #dce7f7; }
  .sidebar-brand { padding: 0; font-size: .98rem; }
  .sidebar-brand-mark { transform: scale(.8); transform-origin: left center; margin-right: -6px; }
  .sidebar-nav { display: flex; justify-content: space-between; gap: 4px; margin: 12px -5px 0; font-size: .79rem; }
  .sidebar-link { white-space: nowrap; flex: 0 0 auto; min-height: 36px; padding: 0 8px; gap: 6px; }
  .nav-symbol { display: none; }
  .app-topbar { min-height: 45px; padding-inline: 18px; }
  .topbar-date { display: none; }
  .page-content { padding: 23px 17px 60px; }
  .dashboard-heading { flex-direction: column; gap: 8px; }
  .dashboard-heading .button { margin-top: 0; }
  .production-content, .production-preview { padding: 20px; }
  .production-heading { flex-direction: column; gap: 6px; }
  .mobile-preview-link { display: inline-flex; align-items: center; padding: 5px 10px; font-size: .72rem; font-weight: 800; }
  .overview-stats { gap: 8px; }
  .overview-stats .stat-card { padding: 14px; }
}
@media (max-width: 540px) {
  h1 { font-size: 2rem; }
  .overview-stats { grid-template-columns: 1fr; }
  .dashboard-section { padding: 18px; }
  .activity-row { grid-template-columns: 1fr; gap: 3px; padding-left: 30px; }
  .activity-status { grid-column: 1; }
  .activity-time br { display: none; }
  .preview-stats { grid-template-columns: repeat(2, 1fr); }
  .preview-stats > div:last-child { display: none; }
  .video-library-row { flex-wrap: wrap; }
  .video-library-copy { flex-basis: calc(100% - 65px); }
  .video-library-date { display: none; }
}

/* Production keeps the selected concept's open two-column canvas. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.production-page .app-topbar { display: none; }
.production-page .page-content { padding-top: 24px; }
.production-page .breadcrumbs { margin-bottom: 14px; }
.production-page .production-dashboard { border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.production-page .production-content { display: flex; flex-direction: column; padding: 0 28px 0 0; }
.production-page .production-preview { padding: 0 0 0 28px; }
.production-page .production-heading > div { min-width: 0; flex: 1; }
.production-page .production-heading .lede { max-width: 720px; }
.production-page .production-meta { display: none; }
.production-page .activity-list { max-height: 495px; overflow-y: auto; padding-right: 10px; scrollbar-color: #c9d8f3 transparent; scrollbar-width: thin; }
.production-page .version-actions { order: 2; }
.production-page .production-composer { order: 1; margin-top: 17px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.production-composer h2 { font-family: Inter, ui-sans-serif, sans-serif; font-size: .93rem; font-weight: 800; margin-bottom: 8px; }
.production-composer > p { display: none; }
.production-composer .composer-row { display: flex; align-items: stretch; gap: 8px; border: 1px solid #cbd9f1; border-radius: 9px; padding: 6px; background: white; }
.production-composer .field { min-width: 0; flex: 1; margin: 0; }
.production-composer textarea { border: 0; box-shadow: none; min-height: 47px; max-height: 130px; padding: 11px 12px; resize: vertical; font-size: .82rem; }
.production-composer textarea:focus { border: 0; box-shadow: none; }
.production-composer .button { align-self: flex-end; min-height: 43px; }
.preview-cost-footnote { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0 16px; color: var(--muted); font-size: .71rem; }
.preview-cost-footnote a { font-weight: 800; white-space: nowrap; }
.production-preview .preview-brief { margin-top: 20px; padding-top: 18px; }
.production-preview .preview-review { margin: 20px 0 0; }
@media (max-width: 1000px) {
  .production-page .production-preview { padding: 22px 0 0; }
}
@media (max-width: 760px) {
  .production-page .page-content { padding-top: 22px; }
  .production-page .production-content { padding: 0; }
  .production-page .production-heading { align-items: stretch; }
  .production-page .production-preview { padding: 23px 0 0; }
  .production-page .production-meta { display: flex; }
  .production-page .activity-list { max-height: 400px; }
  .production-composer .composer-row { flex-direction: column; }
  .production-composer .button { align-self: stretch; }
}

/* Keep the film and its revisions in the main column; give the production log a compact rail. */
.production-page .production-overview { margin-bottom: 26px; }
.production-page .production-overview .inline-note { margin-top: 16px; }
.production-page .production-dashboard { grid-template-columns: minmax(0, 1fr) minmax(290px, 31%); gap: clamp(24px, 3vw, 42px); }
.production-page .production-content { min-width: 0; padding: 0; }
.production-page .production-preview { position: static; min-height: 0; padding: 0; border: 0; background: transparent; }
.production-page .production-preview video { width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-fit: contain; }
.production-page .preview-video-stage { display: flex; justify-content: center; height: min(70vh, 700px); border-radius: 10px; background: #202024; overflow: hidden; }
.production-page .preview-video-stage.is-portrait video { max-width: 394px; }
.production-page .preview-video-stage.is-square { height: min(62vw, 600px); }
.production-page .preview-video-stage.is-square video { max-width: 600px; }
.production-page .preview-video-stage.is-landscape { height: auto; aspect-ratio: 16 / 9; }
.production-page .production-preview .preview-stats { max-width: 620px; }
.production-page .production-preview .preview-action { width: auto; }
.production-page .version-row .inline-note { overflow-wrap: anywhere; }
.production-page .production-activity { position: sticky; top: 24px; min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: #fcfbfb; }
.production-page .production-activity .section-heading { gap: 8px; align-items: flex-start; }
.production-page .production-activity .section-heading h2 { font-size: 1.35rem; }
.production-page .production-activity .section-count { flex: 0 0 auto; }
.production-page .production-activity .activity-explainer { margin-bottom: 10px; }
.production-page .production-activity .activity-list { max-height: min(72vh, 760px); overflow-y: auto; padding-right: 5px; }
.production-page .production-activity .activity-row { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; padding: 14px 3px 15px 26px; }
.production-page .production-activity .activity-time { grid-column: 1; grid-row: 1; }
.production-page .production-activity .activity-copy { grid-column: 1 / -1; grid-row: 2; }
.production-page .production-activity .activity-status { grid-column: 2; grid-row: 1; font-size: .63rem; }
.production-page .production-activity .activity-marker { left: 2px; top: 17px; width: 14px; height: 14px; border-width: 3px; }
.production-page .production-activity .activity-row:before { left: 9px; }
.production-page .production-activity .activity-row:first-child:before { top: 23px; }
.production-page .production-activity .activity-row:last-child:before { bottom: calc(100% - 23px); }
.production-page .production-activity .activity-time br { display: none; }
.production-page .production-activity .activity-copy p { font-size: .71rem; }
@media (max-width: 1080px) {
  .production-page .production-dashboard { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .production-page .production-activity { position: static; }
  .production-page .production-activity .activity-list { max-height: 430px; }
}
@media (max-width: 760px) {
  .production-page .production-overview { margin-bottom: 20px; }
  .production-page .production-preview { padding: 0; }
  .production-page .preview-video-stage { height: min(72vh, 610px); }
  .production-page .preview-video-stage.is-square { height: min(86vw, 520px); }
  .production-page .preview-video-stage.is-landscape { height: auto; }
  .production-page .production-activity { padding: 17px; }
}

/* The video stays visible while control, journal, and costs share an equal-width panel. */
.production-page .production-dashboard[data-production-tabs] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); align-items: start; }
.production-page .production-content { display: block; }
.production-original-request { margin-bottom: 27px; padding: 0 0 19px; border-bottom: 1px solid var(--line); }
.production-original-request h1 { margin: 0 0 8px; color: var(--accent); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.production-original-request p { margin: 0; color: var(--ink); font-size: .97rem; line-height: 1.55; overflow-wrap: anywhere; }
.production-page .production-preview .preview-heading h2 { margin: 0; font-size: 1.75rem; }
.production-page .preview-video-stage { height: min(69vh, 660px); }
.production-page .preview-video-stage.is-square { height: min(41vw, 500px); }
.production-controls { position: sticky; top: 22px; min-width: 0; max-height: calc(100vh - 44px); overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; scrollbar-color: #e3d5d5 transparent; scrollbar-width: thin; }
.production-tab-list { position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 6px 6px 0; border-bottom: 1px solid var(--line); background: #fff; }
.production-tab { min-width: 0; min-height: 44px; padding: 10px 7px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #686b74; font-size: .84rem; font-weight: 700; cursor: pointer; }
.production-tab:hover { color: var(--ink); background: #fcf9f9; }
.production-tab[aria-selected="true"] { border-bottom-color: var(--accent); color: #a5444a; }
.production-panel { min-width: 0; padding: 22px; }
.production-panel[data-production-panel="control"] { display: flex; flex-direction: column; }
.production-panel[data-production-panel][hidden] { display: none; }
.production-panel .inline-note { overflow-wrap: anywhere; }
.production-page .production-panel .production-composer { order: 1; margin: 0 0 22px; }
.production-page .production-panel .version-actions { order: 2; margin-top: 0; }
.production-page .production-panel .production-composer .composer-row { flex-direction: column; }
.production-page .production-panel .production-composer textarea { min-height: 90px; }
.production-page .production-panel .production-composer .button { align-self: stretch; }
.production-page .production-panel .action-card:not(.production-composer) { margin: 0; }
.production-page .production-panel .activity-section .section-heading { gap: 8px; align-items: flex-start; }
.production-page .production-panel .activity-section .section-heading h2 { font-size: 1.4rem; }
.production-page .production-panel .activity-list { max-height: none; overflow: visible; padding-right: 0; }
.production-page .production-panel .activity-row { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; padding: 14px 3px 15px 26px; }
.production-page .production-panel .activity-time { grid-column: 1; grid-row: 1; }
.production-page .production-panel .activity-copy { grid-column: 1 / -1; grid-row: 2; }
.production-page .production-panel .activity-status { grid-column: 2; grid-row: 1; font-size: .63rem; }
.production-page .production-panel .activity-marker { left: 2px; top: 17px; width: 14px; height: 14px; border-width: 3px; }
.production-page .production-panel .activity-row:before { left: 9px; }
.production-page .production-panel .activity-row:first-child:before { top: 23px; }
.production-page .production-panel .activity-row:last-child:before { bottom: calc(100% - 23px); }
.production-page .production-panel .studio-card { padding: 0; border: 0; box-shadow: none; }
.production-page .production-panel .card-heading { gap: 9px; flex-wrap: wrap; }
.production-page .production-panel .cost-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.production-page .cost-step-list { display: grid; gap: 10px; }
.production-page .cost-step-card { padding: 13px; border: 1px solid var(--line); border-radius: 10px; }
.production-page .cost-step-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.production-page .cost-step-heading h3 { margin: 0; font-size: .91rem; }
.production-page .cost-step-heading span { flex: 0 0 auto; color: var(--muted); font-size: .72rem; }
.production-page .cost-step-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 12px 0 0; }
.production-page .cost-step-card dt { color: var(--muted); font-size: .69rem; }
.production-page .cost-step-card dd { margin: 2px 0 0; font-size: .84rem; font-weight: 700; overflow-wrap: anywhere; }
.production-page .production-panel .table-scroll { max-width: 100%; }
.production-page .production-panel .table-scroll table { min-width: 620px; }
@media (max-width: 1000px) {
  .production-page .production-dashboard[data-production-tabs] { grid-template-columns: minmax(0, 1fr); }
  .production-controls { position: static; max-height: none; overflow: visible; }
}
@media (max-width: 540px) {
  .production-panel { padding: 17px; }
  .production-tab { font-size: .78rem; }
  .production-original-request { margin-bottom: 20px; }
}
.source-file-list { margin: 0.65rem 0 0; padding-left: 1.25rem; }
.source-file-list li { margin: 0.3rem 0; }
.business-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.business-page-heading h1 { margin: 0; }
.business-tab-panel .section-heading .button[disabled] { background: #eeeff1; border-color: #eeeff1; color: #777a81; cursor: not-allowed; box-shadow: none; }
.business-heading-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.business-tab-list { position: sticky; top: 0; z-index: 3; display: flex; gap: 5px; overflow-x: auto; border-bottom: 1px solid var(--line); background: #fff; }
.business-tab { flex: 0 0 auto; min-height: 52px; padding: 13px 17px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #70727a; font: inherit; font-size: .88rem; font-weight: 750; white-space: nowrap; cursor: pointer; }
.business-tab:hover { color: var(--ink); background: #fcf9f9; }
.business-tab[aria-selected="true"] { border-bottom-color: var(--accent); color: #99474c; }
.business-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.business-tab-panel { padding-top: 25px; }
.business-tab-panel[data-business-panel][hidden] { display: none; }
.business-tab-stack { display: grid; gap: 20px; }
.business-tab-stack .section-card { min-width: 0; }
.business-description { margin-bottom: 23px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.business-description h3 { margin: 0 0 8px; font-size: .82rem; }
.business-description p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .business-page-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .business-tab { padding-inline: 13px; }
  .business-tab-panel { padding-top: 17px; }
}
.marketing-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.1rem 0 1.5rem; }
.marketing-summary > div, .marketing-mini-grid article { border: 1px solid #dce4ed; background: #f8fafc; border-radius: 14px; padding: 1rem; }
.marketing-summary h3, .marketing-mini-grid strong { margin: 0 0 0.4rem; color: #18375c; }
.marketing-summary p, .marketing-mini-grid p { margin: 0.4rem 0; }
.marketing-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; margin: 0.7rem 0 1.5rem; }
.marketing-mini-grid small { display: block; color: #657687; }
.keyword-list { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0.8rem 0 1.3rem; }
.keyword-list span { background: #e9f1fb; color: #23558c; border-radius: 999px; padding: 0.3rem 0.7rem; font-size: 0.83rem; }
.kit-asset-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; margin-top: 1rem; }
.kit-asset { border: 1px solid #dce4ed; border-radius: 14px; overflow: hidden; padding: 0 0 1rem; background: #fff; }
.kit-asset img { width: 100%; height: 180px; object-fit: cover; display: block; margin-bottom: 0.8rem; }
.kit-asset strong, .kit-asset small, .kit-asset p, .kit-asset form { display: block; margin-left: 0.9rem; margin-right: 0.9rem; }
.kit-asset small { color: #63788e; margin-top: 0.2rem; }
.kit-asset p { margin-top: 0.7rem; margin-bottom: 0; font-size: 0.88rem; }
.resource-add-menu { position: relative; flex: 0 0 auto; }
.resource-add-menu summary { cursor: pointer; list-style: none; }
.resource-add-menu summary::-webkit-details-marker { display: none; }
.resource-add-options { position: absolute; z-index: 5; right: 0; top: calc(100% + 6px); min-width: 190px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 10px 30px rgba(35, 29, 35, .12); }
.resource-add-options a { display: block; padding: 9px 11px; border-radius: 6px; color: var(--ink); white-space: nowrap; }
.resource-add-options a:hover { background: #f9eeee; text-decoration: none; }
.idea-card small { display: block; margin: 0.5rem 0; color: #657687; }
@media (max-width: 720px) { .marketing-summary, .marketing-mini-grid, .kit-asset-grid { grid-template-columns: 1fr; } }
