.generator-page-tabs { display:flex; gap:10px; margin:0 0 20px; flex-wrap:wrap; }
.generator-page-tabs button, .generator-page-tabs a { padding:13px 22px; border:1px solid #cbd5e1; border-radius:10px; background:white; color:#334155; font-weight:700; cursor:pointer; text-decoration:none; }
.generator-page-tabs button.active { background:#5146db; color:white; border-color:#5146db; }
#sheet-slide-generator [hidden] { display:none !important; }
#generator-video-page { min-width:0; }
.runway-intro { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:24px; margin-bottom:18px; }
.runway-intro h2 { margin:6px 0 10px; }
.runway-intro p { max-width:760px; color:#64748b; line-height:1.6; }
.runway-wallet { align-self:center; padding:16px; border:1px solid #dfe3ef; background:#f8fafc; border-radius:12px; }
.runway-wallet small { display:block; margin-top:8px; }
.runway-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:20px; }
#runway-form, .runway-output, .runway-history { padding:24px; min-width:0; }
#runway-form { display:grid; gap:18px; }
#runway-form label:not(.runway-consent) { display:grid; gap:8px; font-weight:600; }
#runway-form select,#runway-form textarea,#runway-form input[type=file] { width:100%; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:8px; padding:11px; background:#fff; color:#172033; font:inherit; }
#runway-form #runway-prompt { min-height:240px; resize:vertical; line-height:1.5; }
.runway-prompt-info { display:grid; gap:6px; margin-top:-10px; }
#runway-prompt-count { font-variant-numeric:tabular-nums; }
#runway-form #runway-prompt[aria-invalid="true"] { border-color:#b94747; }
.runway-options { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
#runway-form small,.runway-output p { color:#64748b; line-height:1.5; }
.runway-images { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,180px)); gap:12px; }
.runway-image-card { margin:0; padding:10px; border:1px solid #dce2ec; background:#f8fafc; border-radius:10px; min-width:0; }
.runway-image-card img { width:100%; height:120px; object-fit:contain; border-radius:6px; background:white; }
.runway-image-card figcaption { font-size:12px; line-height:1.5; overflow-wrap:anywhere; margin:6px 0; }
.runway-image-card button { width:100%; padding:7px; background:white; color:#9c3434; border:1px solid #dce2ec; border-radius:6px; cursor:pointer; }
.runway-images-error { margin:0; padding:10px; color:#9c3434; background:#fff2f2; border-radius:8px; font-size:13px; }
.runway-price-box { padding:16px; background:#f2f0ff; border:1px solid #dbd6ff; border-radius:10px; }
#runway-price { display:block; font-size:28px; margin:8px 0; color:#4138a2; }
.runway-consent { display:flex; align-items:flex-start; gap:10px; line-height:1.5; font-size:13px; }
.runway-consent input { width:18px; height:18px; flex:none; margin-top:2px; }
#runway-submit { background:#5146db; color:white; padding:14px; border:0; border-radius:9px; font-weight:700; cursor:pointer; }
#runway-submit:disabled { opacity:.5; cursor:not-allowed; }
#runway-status { margin:0 0 18px; padding:14px 18px; background:#eef5ff; border:1px solid #dbe6f6; border-radius:9px; }
#runway-status.is-error { color:#9c3434; background:#fff2f2; border-color:#eed0d0; }
/* Keep the player box proportional to the actual file, including portrait videos.
   Fixed full width plus a capped height created dark sidebars around 9:16 files. */
#runway-player { display:block; width:auto; height:auto; max-width:100%; max-height:520px; object-fit:contain; margin:0 auto; background:#0f172a; border-radius:12px; }
#runway-download { display:inline-block; margin:14px 0; padding:11px 18px; background:#5146db; color:white; border-radius:8px; text-decoration:none; }
.runway-history { margin-top:20px; }
.runway-history-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.runway-history-item { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:16px 0; border-top:1px solid #e2e8f0; }
.runway-history-item p { margin:8px 0; overflow-wrap:anywhere; white-space:pre-wrap; }
.runway-history-item small { color:#64748b; }
.runway-history-actions { display:flex; flex-wrap:wrap; gap:8px; flex:none; max-width:270px; }
.runway-revision-panel { padding:16px; border:1px solid #dbc776; border-radius:10px; background:#fff9e8; line-height:1.5; }
.runway-revision-panel p { margin:10px 0; }
.runway-revision-panel button,#runway-revise { margin-top:12px; padding:10px 14px; border:1px solid #a9a2df; border-radius:8px; background:white; color:#4138a2; cursor:pointer; }
#runway-revise { display:block; }
.runway-history-item button,#runway-refresh { flex:none; padding:9px 14px; border:1px solid #cbd5e1; border-radius:8px; cursor:pointer; background:white; }
@media(max-width:1000px) { .runway-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:500px) { .runway-options { grid-template-columns:1fr; } .runway-intro,#runway-form,.runway-output,.runway-history { padding:16px; } .runway-history-item { align-items:flex-start; flex-direction:column; } }
