:root {
  --bg: #07111f;
  --bg-deep: #050c17;
  --panel: #0d1b2d;
  --panel-raised: #11243a;
  --line: #243751;
  --line-soft: #182b42;
  --text: #f5f8fc;
  --muted: #91a2b9;
  --purple: #735eff;
  --purple-2: #a68bff;
  --green: #25d69b;
  --green-2: #72f2c7;
  --blue: #56a8ff;
  --yellow: #ffc34d;
  --red: #ff6b7e;
  --shadow: 0 20px 56px rgba(0, 0, 0, .28);
  --ease: cubic-bezier(.23, 1, .32, 1);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; color: var(--text); background: radial-gradient(circle at 47% 10%, rgba(71, 102, 159, .12), transparent 29%), linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%); font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:active:not(:disabled) { transform: scale(.97); }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
[hidden] { display: none !important; }

/* MVP account layer — a focused access gate that preserves the existing EasySCORM visual language. */
.auth-gate { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, 1.08fr) minmax(420px, .92fr); color: #f7fbff; background: #07111f; }
.auth-gate[hidden] { display: none; }
.auth-brand-panel { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(2rem, 5vw, 5.5rem); background: radial-gradient(circle at 18% 15%, rgba(38, 222, 161, .16), transparent 32%), radial-gradient(circle at 80% 72%, rgba(139, 99, 255, .21), transparent 38%), linear-gradient(145deg, #081625, #0b1324 62%, #111731); }
.auth-brand-panel::after { content: ""; position: absolute; right: -13rem; bottom: -15rem; width: 38rem; height: 38rem; border: 1px solid rgba(116, 234, 200, .16); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(120, 88, 255, .035), 0 0 0 9rem rgba(120, 88, 255, .025); }
.auth-brand { position: relative; z-index: 1; width: max-content; font-size: 1.8rem; }
.auth-brand-panel > div { position: relative; z-index: 1; max-width: 44rem; }
.auth-brand-panel h1 { max-width: 13ch; margin: .65rem 0 1.25rem; font-size: clamp(2.7rem, 5.2vw, 5.8rem); font-weight: 760; line-height: .92; letter-spacing: -.065em; }
.auth-brand-panel p { max-width: 42rem; color: #aebbd0; font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.7; }
.auth-benefits { display: grid !important; gap: .8rem; margin-top: 3rem; }
.auth-benefits span { display: flex; align-items: center; gap: .9rem; color: #dce6f2; font-weight: 650; }
.auth-benefits b { width: 2rem; height: 2rem; display: grid; place-items: center; border: 1px solid rgba(47, 222, 162, .44); border-radius: 50%; color: #34dfa8; background: rgba(20, 70, 63, .35); }
.auth-form-panel { min-height: 100vh; display: grid; place-items: center; padding: 2rem; background: linear-gradient(180deg, #0b1321, #08101b); }
.auth-card { width: min(100%, 31rem); padding: clamp(1.4rem, 3vw, 2.5rem); border: 1px solid #24344a; border-radius: 1.4rem; background: rgba(13, 25, 42, .94); box-shadow: 0 2rem 5rem rgba(0, 0, 0, .36); }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; margin-bottom: 2.2rem; padding: .3rem; border: 1px solid #23344c; border-radius: .85rem; background: #091422; }
.auth-tabs button { padding: .8rem; border: 0; border-radius: .62rem; color: #8fa0b8; background: transparent; font-weight: 750; }
.auth-tabs button.active { color: #fff; background: #213250; box-shadow: 0 .45rem 1rem rgba(0, 0, 0, .2); }
.auth-form { display: grid; gap: 1.05rem; }
.auth-form[hidden] { display: none; }
.auth-form h2 { margin: .35rem 0 .4rem; color: #f8fbff; font-size: 1.8rem; letter-spacing: -.035em; }
.auth-form p { margin: 0; color: #91a2bb; line-height: 1.55; }
.auth-form label { display: grid; gap: .45rem; color: #c8d4e4; font-size: .82rem; font-weight: 750; }
.auth-form input, .auth-form select { width: 100%; padding: .86rem .95rem; border: 1px solid #2c3d55; border-radius: .72rem; outline: 0; color: #f5f8fc; background: #0a1524; transition: border-color .16s, box-shadow .16s; }
.auth-form input:focus, .auth-form select:focus { border-color: #45dcb0; box-shadow: 0 0 0 3px rgba(69, 220, 176, .14); }
.auth-form label small { color: #72849e; font-weight: 500; }
.auth-submit { margin-top: .45rem; padding: .95rem; border: 0; border-radius: .75rem; color: #061510; background: linear-gradient(105deg, #2de2a2, #6befc8); font-weight: 850; box-shadow: 0 .8rem 2rem rgba(27, 213, 151, .2); }
.auth-submit:disabled { opacity: .58; cursor: wait; }
.auth-message { margin-bottom: 1rem; padding: .8rem .9rem; border: 1px solid rgba(255, 107, 128, .35); border-radius: .7rem; color: #ffb1bd; background: rgba(125, 31, 52, .22); line-height: 1.45; }
.account-button { display: flex; align-items: center; gap: .65rem; padding: .38rem .68rem; border: 1px solid #25364e; border-radius: .8rem; color: #eef5ff; background: #0d1928; text-align: left; }
.account-button > span:last-child { display: grid; gap: .08rem; }
.account-button strong { max-width: 9.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.account-button small { color: #60dfb1; font-size: .66rem; }
.account-avatar { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: .55rem; color: #061712; background: linear-gradient(135deg, #2de2a2, #9a79ff); font-weight: 900; }
.account-menu { position: absolute; z-index: 30; top: 4.65rem; right: 1.4rem; min-width: 15rem; display: grid; gap: .45rem; padding: 1rem; border: 1px solid #273950; border-radius: .9rem; color: #edf5ff; background: #0b1726; box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, .4); }
.account-menu[hidden] { display: none; }
.account-menu > span { margin-bottom: .45rem; color: #8193ac; font-size: .74rem; }
.account-menu button { padding: .68rem .75rem; border: 1px solid #2b3c54; border-radius: .62rem; color: #dce8f7; background: #111f31; text-align: left; }
.account-menu button:hover { border-color: #41dcae; color: #fff; }
.account-menu .account-menu-link { display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; padding: .68rem .75rem; border: 1px solid rgba(37, 214, 155, .24); border-radius: .62rem; color: #baf7e2; background: rgba(37, 214, 155, .08); text-decoration: none; font-size: .82rem; font-weight: 800; }
.account-menu .account-menu-link:hover { border-color: #41dcae; color: #fff; background: rgba(37, 214, 155, .14); }
@media (max-width: 900px) { .auth-gate { grid-template-columns: 1fr; } .auth-brand-panel { min-height: auto; padding: 2rem; } .auth-brand-panel h1 { font-size: 2.7rem; } .auth-benefits { display: none !important; } .auth-form-panel { min-height: auto; padding: 1.2rem; } .account-button > span:last-child { display: none; } .account-menu { right: .7rem; } }

.app-shell { min-height: 100vh; display: grid; grid-template-rows: 70px 1fr 30px; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 24px; border-bottom: 1px solid var(--line-soft); background: rgba(6, 15, 28, .93); backdrop-filter: blur(18px); }
.brand { color: inherit; text-decoration: none; font-size: 25px; font-weight: 850; letter-spacing: -.7px; white-space: nowrap; }
.brand .easy { color: #fff; }
.brand .scorm { color: var(--green); }
.brand .ai { color: #8876ff; }
.top-actions { display: flex; align-items: center; gap: 12px; }
.language-wrap { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.language-select { min-width: 154px; height: 38px; padding: 0 34px 0 12px; color: var(--text); border: 1px solid var(--line); border-radius: 8px; background: #0b1829; }
.notification-button { position: relative; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: #d5dfed; background: #0b1829; transition: border-color .18s var(--ease), background .18s var(--ease); }
.notification-button:hover { border-color: rgba(115, 94, 255, .7); background: rgba(115, 94, 255, .1); }
.notification-button span { position: absolute; top: -5px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; display: grid; place-items: center; border-radius: 99px; color: #07111f; background: var(--green); font-size: 10px; font-weight: 900; }
.notification-panel { position: fixed; z-index: 40; top: 60px; right: 20px; width: min(370px, calc(100vw - 30px)); max-height: 410px; overflow: auto; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: rgba(13, 27, 45, .98); box-shadow: var(--shadow); }
.notification-head { display: flex; align-items: center; justify-content: space-between; padding: 1px 2px 10px; border-bottom: 1px solid var(--line-soft); }
.notification-head button { border: 0; color: var(--muted); background: transparent; font-size: 11px; }
.notification-list > p { margin: 18px 5px; color: var(--muted); font-size: 12px; }
.notification-list article { padding: 11px 4px; border-bottom: 1px solid var(--line-soft); }
.notification-list article.unread { margin: 3px 0; padding: 11px 9px; border: 1px solid rgba(37, 214, 155, .22); border-radius: 8px; background: rgba(37, 214, 155, .055); }
.notification-list article button { width: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }
.notification-list article:last-child { border-bottom: 0; }
.notification-list strong { font-size: 12px; }
.notification-list p { margin: 4px 0; color: #c4cfdd; font-size: 11px; line-height: 1.45; }
.notification-list small { color: var(--muted); font-size: 10px; }

.shell { min-height: calc(100vh - 100px); display: grid; grid-template-columns: 220px minmax(560px, 1fr) minmax(560px, .9fr); }
.sidebar { display: flex; flex-direction: column; padding: 15px 12px 18px 15px; border-right: 1px solid var(--line-soft); background: rgba(5, 14, 26, .74); }
.nav-title { margin: 18px 8px 7px; color: #6f829b; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nav-item { position: relative; width: 100%; min-height: 41px; display: flex; align-items: center; gap: 11px; margin-bottom: 2px; padding: 0 11px; border: 1px solid transparent; border-radius: 8px; color: #c7d2e0; background: transparent; text-align: left; transition: background .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease); }
.nav-item:hover { background: rgba(255, 255, 255, .035); }
.nav-item.active { color: #cfc6ff; border-color: rgba(126, 104, 255, .28); background: rgba(104, 84, 235, .15); }
.nav-item.active::before { content: ""; position: absolute; left: -13px; width: 4px; height: 100%; border-radius: 0 4px 4px 0; background: var(--purple); }
.nav-item.owner-console-link { margin-top: .3rem; border-color: rgba(37, 214, 155, .18); color: #77ecc6; background: rgba(37, 214, 155, .055); text-decoration: none; }
.nav-item.owner-console-link:hover { border-color: rgba(37, 214, 155, .4); background: rgba(37, 214, 155, .1); }
.nav-item.mod::after { content: ""; position: absolute; left: 3px; width: 2px; height: 27px; border-radius: 99px; background: var(--green); }
.nav-item.mod { padding-left: 15px; }
.nav-item.muted-feature { opacity: .7; }
.count { margin-left: auto; min-width: 28px; height: 20px; padding: 0 7px; display: grid; place-items: center; border-radius: 6px; color: #b7c2d1; background: #1b2c42; font-size: 10px; }
.count.green { color: var(--green-2); background: rgba(37, 214, 155, .13); }

.workspace { min-width: 0; overflow: auto; padding: 28px 32px 38px; background: linear-gradient(180deg, rgba(15, 31, 51, .24), rgba(6, 15, 27, .08)); }
.upload-card, .project-summary { border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(155deg, rgba(14, 30, 50, .94), rgba(8, 20, 35, .96)); box-shadow: var(--shadow); }
	.upload-card { padding: 22px; transition: padding .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease); }
	.upload-compact-toggle { display: none; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 10px; border: 0; color: #eaf1fa; background: transparent; text-align: left; }
	.upload-compact-toggle > span { display: flex; align-items: center; gap: 10px; }
	.upload-compact-toggle > span > svg { color: var(--green); }
	.upload-compact-toggle strong, .upload-compact-toggle small { display: block; }
	.upload-compact-toggle strong { font-size: 12px; }
	.upload-compact-toggle small { margin-top: 2px; color: var(--muted); font-size: 9px; }
	.upload-card.compact { position: sticky; top: 10px; z-index: 12; padding: 5px 8px; border-color: rgba(37, 214, 155, .25); background: rgba(8, 20, 35, .95); backdrop-filter: blur(14px); }
	.upload-card.compact .upload-compact-toggle { display: flex; }
	.upload-card.compact .upload-head, .upload-card.compact .dropzone { display: none; }
	.upload-card.compact .global-progress { margin: 5px 0 2px; }
.upload-head { margin-bottom: 16px; }
.eyebrow { display: block; margin-bottom: 8px; color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .13em; line-height: 1; text-transform: uppercase; }
.upload-head h1, .section-head h2, .summary-top h2 { margin: 0; letter-spacing: -.4px; }
.upload-head h1 { font-size: 25px; }
.upload-head p { max-width: 640px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.dropzone { min-height: 252px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; border: 1.5px dashed #6679ba; border-radius: 13px; background: radial-gradient(circle at 50% 41%, rgba(60, 85, 126, .18), transparent 44%); text-align: center; transition: border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease); }
.dropzone.drag { border-color: var(--green); background: rgba(37, 214, 155, .06); transform: scale(.998); }
.dropzone h2 { margin: 0 0 8px; font-size: 19px; letter-spacing: -.3px; }
.dropzone h2 span { color: var(--green); }
.dropzone p { margin: 3px 0; color: var(--muted); font-size: 13px; }
.dropzone .small-note { margin-top: 7px; color: #72849b; font-size: 11px; }
.folder-illus { position: relative; width: 112px; height: 90px; margin-bottom: 6px; }
.folder-back, .folder-front { position: absolute; left: 50%; transform: translateX(-50%); border-radius: 9px 9px 15px 15px; }
.folder-back { top: 33px; width: 74px; height: 44px; background: linear-gradient(145deg, #2bbf98, #67efc1); transform: translateX(-60%) rotate(-10deg); }
.folder-front { top: 40px; width: 81px; height: 53px; background: linear-gradient(145deg, #62ecc1, #25c899); box-shadow: 0 12px 24px rgba(29, 201, 151, .16); }
.folder-front::before { content: ""; position: absolute; top: -8px; left: 10px; width: 32px; height: 12px; border-radius: 6px 6px 0 0; background: #50ddb5; }
.file-chip { position: absolute; width: 27px; height: 36px; display: grid; place-items: center; border-radius: 4px; color: #dbe5f5; font-size: 8px; box-shadow: 0 7px 16px rgba(0, 0, 0, .2); }
.chip1 { top: 18px; left: 12px; transform: rotate(-17deg); background: #27364c; }
.chip2 { top: 1px; left: 51px; transform: rotate(-4deg); background: #49596d; }
.chip3 { top: 19px; right: 8px; transform: rotate(10deg); background: linear-gradient(180deg, #6d5df4, #5948ce); }
.upload-actions { margin-top: 17px; }
.select-file { min-width: 184px; height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 1px solid #8374ff; border-radius: 8px; color: #fff; background: linear-gradient(135deg, #5f4ee1, #735df3); font-weight: 800; box-shadow: 0 10px 28px rgba(92, 74, 219, .22); transition: transform .16s var(--ease), filter .16s var(--ease); }
.select-file:hover { filter: brightness(1.09); transform: translateY(-1px); }
.file-input { display: none; }

.module-workbench { display: grid; grid-template-columns: minmax(230px, .82fr) minmax(330px, 1.45fr); gap: 13px; margin-top: 18px; }
.module-list-panel, .resource-choice-panel { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: linear-gradient(155deg, rgba(14, 30, 50, .94), rgba(8, 20, 35, .96)); box-shadow: var(--shadow); }
.module-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.module-panel-head .eyebrow { margin-bottom: 5px; }
.module-panel-head h2 { margin: 0; color: #eef3fa; font-size: 16px; letter-spacing: -.25px; }
.resource-choice-panel { display: grid; min-height: 260px; }
.resource-policy-empty { min-height: 100%; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 22px; border: 1px dashed var(--line); border-radius: 10px; color: #a8b6c9; background: rgba(6, 15, 28, .3); text-align: left; }
.resource-empty-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; color: #aa9cff; background: rgba(115, 94, 255, .12); }
.resource-policy-empty strong { color: #e7edf6; font-size: 13px; }
.resource-policy-empty p { max-width: 300px; margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.resource-policy { min-width: 0; padding: 2px; }
.resource-policy-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.resource-policy-copy .eyebrow { margin-bottom: 5px; }
.resource-policy-copy h3 { margin: 0; color: #eff4fb; font-size: 15px; }
.resource-policy-copy p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.resource-selected-meta { max-width: 190px; padding: 8px 10px; border: 1px solid var(--line-soft); border-radius: 8px; background: rgba(6, 15, 28, .4); text-align: right; }
.resource-selected-meta strong, .resource-selected-meta span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.resource-selected-meta strong { color: #eef4fc; font-size: 11px; }
.resource-selected-meta span { margin-top: 3px; color: var(--green-2); font-size: 9px; }
.resource-selected-actions { display: grid; justify-items: end; gap: 7px; }
.resource-media-config { min-height: 30px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 10px; border: 1px solid rgba(154, 117, 255, .46); border-radius: 7px; color: #eeeaff; background: rgba(105, 83, 234, .14); font-size: 9px; font-weight: 850; }
.resource-media-config:hover { border-color: #9a75ff; background: rgba(105, 83, 234, .24); }
.resource-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.resource-option { min-width: 0; min-height: 76px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 2px 9px; align-content: center; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; color: #aebbd0; background: rgba(7, 18, 31, .72); text-align: left; transition: border-color .16s var(--ease), background .16s var(--ease), color .16s var(--ease), transform .16s var(--ease); }
.resource-option:hover { transform: translateY(-1px); border-color: #4d6381; color: #e6edf7; }
.resource-option.active { border-color: rgba(37, 214, 155, .62); color: #effff9; background: linear-gradient(135deg, rgba(37, 214, 155, .16), rgba(108, 87, 234, .1)); box-shadow: inset 0 0 0 1px rgba(37, 214, 155, .08); }
.resource-option svg { grid-row: 1 / 3; width: 28px; height: 28px; padding: 6px; border-radius: 7px; color: currentColor; background: rgba(255, 255, 255, .045); }
.resource-option span { overflow: hidden; font-size: 11px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.resource-option small { color: var(--muted); font-size: 9px; }

.global-progress { display: grid; grid-template-columns: 1fr auto; gap: 11px 16px; align-items: center; margin-top: 14px; padding: 13px 14px; border: 1px solid rgba(115, 94, 255, .34); border-radius: 10px; background: rgba(108, 87, 234, .08); }
.global-progress-copy { display: flex; align-items: center; gap: 10px; }
.status-orb { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #b5a8ff; background: rgba(115, 94, 255, .14); }
.global-progress strong { font-size: 12px; }
.global-progress small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.global-percent { color: var(--green-2); font-variant-numeric: tabular-nums; }
.global-track { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 99px; background: #203149; }
.global-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), var(--green)); transition: width .35s var(--ease); }

.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 11px; }
.section-head h2 { font-size: 18px; }
.queue-summary { color: var(--muted); font-size: 11px; }
.module-queue { max-height: 330px; display: grid; gap: 7px; overflow: auto; padding-right: 2px; }
.queue-empty { min-height: 112px; padding: 22px; border: 1px dashed var(--line); border-radius: 11px; color: #9e91ff; background: rgba(13, 27, 45, .42); text-align: center; }
.queue-empty h3 { margin: 8px 0 4px; color: #dce4f0; font-size: 14px; }
.queue-empty p { margin: 0; color: var(--muted); font-size: 11px; }
.module-queue-item { position: relative; padding: 9px 10px 8px; border: 1px solid var(--line); border-radius: 9px; background: rgba(12, 27, 45, .86); transition: border-color .16s var(--ease), background .16s var(--ease), transform .16s var(--ease); }
.module-queue-item:hover { transform: translateY(-1px); border-color: #36506f; }
.module-queue-item.selected { border-color: rgba(125, 103, 255, .62); background: linear-gradient(90deg, rgba(103, 82, 234, .13), rgba(12, 27, 45, .9)); }
.module-queue-item.ready { border-color: rgba(37, 214, 155, .28); }
.module-queue-item.error { border-color: rgba(255, 107, 126, .45); }
.module-queue-item.attention { border-color: rgba(255, 195, 77, .5); background: linear-gradient(90deg, rgba(255, 195, 77, .07), rgba(12, 27, 45, .9)); }
.module-select-button { width: 100%; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }
.module-file-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: #b7a9ff; background: rgba(115, 94, 255, .13); }
.module-delete-icon { position: absolute; top: 43px; left: 12px; width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255, 128, 146, .24); border-radius: 7px; color: #ff8fa0; background: rgba(255, 107, 126, .07); opacity: .78; cursor: pointer; transition: opacity .15s ease, border-color .15s ease, background .15s ease; }
.module-delete-icon:hover, .module-delete-icon:focus-visible { border-color: rgba(255, 128, 146, .58); background: rgba(255, 107, 126, .14); opacity: 1; }
.module-copy { min-width: 0; }
.module-copy strong { display: block; overflow: hidden; color: #e9eef6; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.module-copy small { display: block; overflow: hidden; margin-top: 3px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.module-select-button > b { color: #d7e0ec; font-size: 11px; font-variant-numeric: tabular-nums; }
.module-progress-track { height: 4px; overflow: hidden; margin: 7px 0 0 38px; border-radius: 99px; background: #1c2e45; }
.module-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), var(--green)); transition: width .32s var(--ease); }
.module-inline-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 7px 0 0 38px; }
.module-inline-action { margin: 0; padding: 0; border: 0; color: var(--green-2); background: transparent; font-size: 10px; font-weight: 800; }
.module-inline-action.retry { color: #ff9daa; }
.module-inline-action.delete { margin-left: auto; color: #ff9daa; opacity: .78; }
.module-inline-action.delete:hover { opacity: 1; }

.project-summary { margin-top: 22px; padding: 20px; }
	.summary-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.summary-top h2 { font-size: 20px; }
.summary-top p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
	.module-state-badge { flex: 0 0 auto; max-width: 220px; overflow: hidden; padding: 6px 9px; border: 1px solid rgba(37, 214, 155, .27); border-radius: 99px; color: var(--green-2); background: rgba(37, 214, 155, .07); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
	.summary-status-actions { display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-end; gap: 8px; }
	.summary-translate-cta { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 12px; border: 1px solid rgba(154, 117, 255, .5); border-radius: 8px; color: #f4f1ff; background: linear-gradient(135deg, rgba(95, 78, 225, .82), rgba(115, 93, 243, .9)); font-size: 10px; font-weight: 850; box-shadow: 0 8px 22px rgba(92, 74, 219, .2); }
	.summary-translate-cta:active { transform: scale(.97); }
	.panel-focus-pulse { animation: panel-focus-pulse .85s var(--ease); }
	@keyframes panel-focus-pulse { 0% { box-shadow: 0 0 0 0 rgba(37, 214, 155, 0); } 35% { box-shadow: inset 0 0 0 2px rgba(37, 214, 155, .38), 0 0 30px rgba(37, 214, 155, .08); } 100% { box-shadow: 0 0 0 0 rgba(37, 214, 155, 0); } }
.media-timeline { margin-top: 17px; padding: 15px; border: 1px solid var(--line-soft); border-radius: 11px; background: linear-gradient(180deg, rgba(6, 15, 28, .58), rgba(9, 21, 36, .72)); }
.timeline-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.timeline-head .eyebrow { margin-bottom: 5px; }
.timeline-head h3 { margin: 0; color: #eef4fc; font-size: 15px; }
.timeline-head p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.timeline-slide-picker { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.timeline-slide-picker select { max-width: 190px; height: 32px; padding: 0 28px 0 9px; border: 1px solid var(--line); border-radius: 7px; color: #eef4fb; background: #0b1828; font-size: 10px; text-transform: none; }
.timeline-toolbar { display: flex; align-items: center; gap: 7px; margin-top: 12px; }
.timeline-control { min-width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 9px; border: 1px solid var(--line); border-radius: 7px; color: #cbd6e5; background: #0a1727; font-size: 9px; font-weight: 850; }
.timeline-control.primary { border-color: rgba(37, 214, 155, .45); color: var(--green-2); }
.timeline-clock { margin-left: 3px; color: #dce5f1; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; font-variant-numeric: tabular-nums; }
.timeline-legend { display: flex; align-items: center; gap: 10px; margin-left: auto; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.timeline-legend span { display: inline-flex; align-items: center; gap: 5px; }
.legend-dot { width: 7px; height: 7px; border-radius: 2px; }
.legend-dot.audio { background: var(--green); }
.legend-dot.video { background: var(--purple-2); }
.legend-dot.text { background: var(--blue); }
.timeline-scroll { margin-top: 10px; overflow-x: auto; border: 1px solid var(--line); border-radius: 9px; background: #081523; }
.timeline-canvas { min-width: 760px; }
.timeline-ruler-row, .timeline-row { display: grid; grid-template-columns: 138px minmax(620px, 1fr); }
.timeline-ruler-row { min-height: 31px; border-bottom: 1px solid var(--line); background: #0c1b2d; }
.timeline-lane-heading { display: flex; align-items: center; padding: 0 10px; border-right: 1px solid var(--line); color: #7f90a7; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.timeline-ruler { position: relative; min-width: 0; }
.timeline-tick { position: absolute; top: 0; bottom: 0; width: 1px; color: #7f90a7; background: rgba(145, 162, 185, .18); }
.timeline-tick i { display: block; width: 1px; height: 8px; background: #647890; }
.timeline-tick b { position: absolute; top: 11px; left: 4px; font-size: 8px; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.timeline-tick:last-child b { left: auto; right: 4px; }
.timeline-row { min-height: 48px; border-bottom: 1px solid var(--line-soft); }
.timeline-row.has-captions { min-height: 67px; }
.timeline-row:last-child { border-bottom: 0; }
.timeline-row.selected { background: rgba(115, 94, 255, .055); }
.timeline-row-label { min-width: 0; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; gap: 7px; align-items: center; padding: 7px 9px; border: 0; border-right: 1px solid var(--line); color: #ccd7e5; background: rgba(10, 24, 40, .88); text-align: left; }
.timeline-row-label > svg { width: 25px; height: 25px; padding: 5px; border-radius: 6px; color: #b6a9ff; background: rgba(115, 94, 255, .11); }
.timeline-row-label span { min-width: 0; }
.timeline-row-label strong, .timeline-row-label small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.timeline-row-label strong { color: #e9eef6; font-size: 9px; }
.timeline-row-label small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.timeline-row-label > b { padding: 2px 4px; border-radius: 4px; color: #a7b4c5; background: #1b2d43; font-size: 7px; text-transform: uppercase; }
.timeline-row-stage { position: relative; min-width: 0; overflow: hidden; background-image: linear-gradient(90deg, rgba(125, 148, 177, .055) 1px, transparent 1px); background-size: 5% 100%; }
.timeline-row.has-captions .timeline-row-stage { min-height: 66px; }
.timeline-clip { position: absolute; z-index: 2; top: 8px; height: 31px; min-width: 8px; overflow: hidden; padding: 0 8px; border: 1px solid transparent; border-radius: 6px; color: #f6f9fc; text-align: left; }
.timeline-clip span:not(.timeline-waveform) { position: relative; z-index: 2; display: block; overflow: hidden; font-size: 8px; font-weight: 800; line-height: 29px; text-overflow: ellipsis; white-space: nowrap; }
.clip-audio { border-color: rgba(37, 214, 155, .58); background: rgba(17, 112, 88, .66); }
.clip-video { border-color: rgba(166, 139, 255, .68); background: linear-gradient(90deg, rgba(91, 70, 202, .82), rgba(80, 55, 176, .68)); }
.clip-text { border-color: rgba(86, 168, 255, .62); background: rgba(30, 95, 151, .66); }
.timeline-waveform { position: absolute; inset: 4px 5px; z-index: 1; display: flex; align-items: center; gap: 1px; opacity: .76; }
.timeline-waveform i { flex: 1 1 1px; min-width: 1px; max-width: 3px; border-radius: 2px; background: rgba(224, 255, 246, .68); }
.timeline-row.disabled { opacity: .52; }
.timeline-row.disabled .timeline-clip { border-style: dashed; filter: grayscale(.35); }
.timeline-row-playhead { position: absolute; z-index: 4; top: 0; bottom: 0; left: 0; width: 1px; pointer-events: none; background: #ffb952; box-shadow: 0 0 0 1px rgba(255, 185, 82, .15), 0 0 8px rgba(255, 185, 82, .45); }
.timeline-row-playhead::before { content: ""; position: absolute; top: 0; left: -3px; width: 7px; height: 5px; border-radius: 0 0 5px 5px; background: #ffb952; }
.timeline-caption-strip { position: absolute; inset: auto 0 5px; height: 17px; }
.timeline-caption-cue { position: absolute; bottom: 0; z-index: 3; height: 17px; min-width: 3px; overflow: hidden; padding: 0 3px; border: 1px solid rgba(92, 177, 255, .44); border-radius: 3px; color: #dbeeff; background: rgba(34, 103, 157, .5); text-align: left; transition: border-color .14s var(--ease), background .14s var(--ease), transform .14s var(--ease); }
.timeline-caption-cue:hover, .timeline-caption-cue.active { border-color: #a9dcff; background: rgba(49, 133, 196, .88); transform: translateY(-1px); }
.timeline-caption-cue span { display: block; overflow: hidden; font-size: 7px; font-weight: 750; line-height: 15px; text-overflow: ellipsis; white-space: nowrap; }
.timeline-footnote { margin: 9px 0 0; color: #778aa3; font-size: 8px; line-height: 1.45; }
.journey-card { margin-bottom: 18px; padding: 16px; border: 1px solid rgba(115, 94, 255, .42); border-radius: 12px; background: linear-gradient(135deg, rgba(115, 94, 255, .12), rgba(37, 214, 155, .045)); box-shadow: 0 18px 44px rgba(0, 0, 0, .18); }
.workflow-stepper { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line-soft); border-radius: 9px; overflow: hidden; }
.workflow-stepper span { position: relative; min-height: 45px; padding: 11px 7px 13px; color: #708198; background: rgba(6, 15, 28, .42); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-align: center; text-transform: uppercase; }
.workflow-stepper span + span { border-left: 1px solid var(--line-soft); }
.workflow-stepper span[data-owner="automatic"] { background: rgba(69, 64, 142, .08); }
.workflow-stepper span[data-owner="user"] { background: rgba(21, 94, 78, .07); }
.workflow-stepper span[data-step="review"] { border-left: 2px solid rgba(37, 214, 155, .5); }
.workflow-stepper span.done { color: var(--green-2); background: rgba(37, 214, 155, .05); }
.workflow-stepper span.active { color: #fff; background: rgba(115, 94, 255, .18); }
.workflow-stepper span[data-owner="user"].active { color: #07141f; background: linear-gradient(135deg, rgba(37, 214, 155, .92), rgba(114, 242, 199, .92)); }
.workflow-stepper span.waiting { color: #aab6ca; background: rgba(112, 129, 152, .08); }
.workflow-stepper span i { position: absolute; left: 8px; right: 8px; bottom: 6px; height: 3px; overflow: hidden; border-radius: 99px; background: #23334a; }
.workflow-stepper span i::after { content: ""; display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), var(--purple-2)); }
.workflow-stepper span.done i::after { width: 100%; background: linear-gradient(90deg, var(--green), var(--green-2)); }
.workflow-stepper span.active i::after { width: var(--step-progress, 0%); }
.workflow-stepper span.active.indeterminate i::after { width: 72%; animation: journey-progress 1.6s ease-in-out infinite alternate; }
.workflow-stepper span.waiting i::after { width: 22%; background: #708198; opacity: .7; }
.journey-guidance { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 13px; }
.journey-card.automatic-phase { border-color: rgba(115, 94, 255, .48); }
.journey-card.user-phase { border-color: rgba(37, 214, 155, .55); background: linear-gradient(135deg, rgba(37, 214, 155, .1), rgba(115, 94, 255, .055)); }
.journey-guidance strong { font-size: 14px; }
.journey-guidance p { margin: 4px 0 0; color: #b8c4d4; font-size: 12px; line-height: 1.45; }
.journey-action { min-height: 40px; flex: 0 0 auto; padding: 0 18px; border: 1px solid rgba(37, 214, 155, .66); border-radius: 8px; color: #07141f; background: linear-gradient(135deg, var(--green), var(--green-2)); font-size: 12px; font-weight: 900; box-shadow: 0 10px 28px rgba(37, 214, 155, .18); }
.module-review-card { margin: -4px 0 18px; padding: 17px; border: 1px solid rgba(37, 214, 155, .38); border-radius: 12px; background: linear-gradient(145deg, rgba(8, 28, 39, .96), rgba(11, 25, 42, .96)); box-shadow: 0 18px 42px rgba(0, 0, 0, .2); }
.module-review-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.module-review-card h2 { margin: 3px 0 4px; font-size: 19px; }
.module-review-card header p { max-width: 620px; margin: 0; color: #aebdce; font-size: 11px; line-height: 1.5; }
.review-decision-badge { min-height: 26px; display: inline-flex; align-items: center; padding: 0 9px; border: 1px solid rgba(151, 168, 190, .32); border-radius: 99px; color: #b8c4d4; background: rgba(151, 168, 190, .08); font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.review-decision-badge.opened { color: #b8d8ff; border-color: rgba(86, 168, 255, .45); background: rgba(86, 168, 255, .1); }
.review-decision-badge.approved { color: var(--green-2); border-color: rgba(37, 214, 155, .45); background: rgba(37, 214, 155, .1); }
.review-decision-badge.needs-adjustment { color: #ffd29a; border-color: rgba(255, 185, 82, .5); background: rgba(255, 185, 82, .1); }
.module-review-checklist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
.module-review-checklist span { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 2px 8px; align-items: center; padding: 10px; border: 1px solid var(--line-soft); border-radius: 8px; background: rgba(3, 12, 22, .38); }
.module-review-checklist svg { grid-row: 1 / 3; color: var(--green-2); }
.module-review-checklist b { font-size: 11px; }
.module-review-checklist small { color: #8293aa; font-size: 9px; }
.review-decision-state { margin-top: 12px; padding: 10px 12px; border-left: 3px solid #56a8ff; border-radius: 6px; color: #c7d4e3; background: rgba(86, 168, 255, .08); font-size: 11px; line-height: 1.5; white-space: pre-wrap; }
.review-decision-state.approved { border-color: var(--green); background: rgba(37, 214, 155, .08); }
.review-decision-state.needs-adjustment { border-color: #ffb952; background: rgba(255, 185, 82, .08); }
.module-review-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.module-review-actions button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 14px; border: 1px solid var(--line); border-radius: 8px; color: #eaf1fa; background: #0b192a; font-size: 10px; font-weight: 900; }
.module-review-actions button:disabled { opacity: .38; cursor: not-allowed; }
.module-review-actions .review-open { border-color: rgba(86, 168, 255, .5); }
.module-review-actions .review-approve, .module-review-actions .review-publish { color: #07141f; border-color: rgba(37, 214, 155, .65); background: linear-gradient(135deg, var(--green), var(--green-2)); }
.module-review-actions .review-adjust { border-color: rgba(255, 185, 82, .48); color: #ffd29a; }
.review-adjustment-form { margin-top: 12px; padding: 12px; border: 1px solid rgba(255, 185, 82, .3); border-radius: 9px; background: rgba(255, 185, 82, .05); }
.review-adjustment-form label { display: grid; gap: 6px; color: #e9eef5; font-size: 10px; font-weight: 850; }
.review-adjustment-form textarea { width: 100%; resize: vertical; padding: 10px; border: 1px solid rgba(255, 185, 82, .34); border-radius: 7px; color: #fff; background: #081523; font: inherit; font-weight: 500; line-height: 1.5; }
.review-adjustment-form > div { display: flex; justify-content: flex-end; gap: 8px; margin-top: 9px; }
.review-adjustment-form button { min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; color: #eef4fb; background: #0b192a; font-size: 10px; font-weight: 850; }
.review-adjustment-form .review-adjust-submit { color: #07141f; border-color: #ffb952; background: #ffb952; }
@keyframes journey-progress { from { transform: translateX(-22%); opacity: .65; } to { transform: translateX(34%); opacity: 1; } }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
.stat-grid article { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; align-items: center; padding: 10px 11px; border: 1px solid var(--line-soft); border-radius: 8px; background: rgba(6, 15, 28, .34); }
.stat-grid article svg { grid-row: 1 / 3; }
.stat-grid strong { font-size: 15px; }
.stat-grid span { color: var(--muted); font-size: 9px; }
.module-actions { display: grid; grid-template-columns: repeat(2, minmax(130px, 190px)); justify-content: end; gap: 8px; margin-top: 14px; }
.action-button { min-height: 58px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 2px 7px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; color: #edf3fb; background: #0b192a; text-align: left; transition: border-color .16s var(--ease), background .16s var(--ease), filter .16s var(--ease); }
.action-button svg { grid-row: 1 / 3; }
.action-button span { font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.action-button small { color: var(--muted); font-size: 9px; }
.action-button:not(:disabled):hover { border-color: rgba(115, 94, 255, .7); background: rgba(115, 94, 255, .1); }
.action-button:disabled { opacity: .42; cursor: not-allowed; }
.translate-action:not(:disabled), .build-action:not(:disabled) { border-color: rgba(115, 94, 255, .48); }
.publish-action:not(:disabled) { border-color: rgba(86, 168, 255, .5); }
.preview-action:not(:disabled), .download-action:not(:disabled) { border-color: rgba(37, 214, 155, .45); }

.right-panel { min-width: 0; overflow: auto; padding: 0 20px 24px; border-left: 1px solid var(--line-soft); background: rgba(7, 19, 33, .88); }
.right-head { min-height: 61px; display: flex; align-items: center; gap: 8px; }
.right-head h2 { margin: 0; font-size: 17px; }
.badge { height: 20px; display: grid; place-items: center; padding: 0 7px; border-radius: 5px; color: var(--green); background: rgba(37, 214, 155, .13); font-size: 10px; }
.search { position: relative; flex: 1; margin-left: auto; }
.search input { width: 100%; height: 35px; padding: 0 34px 0 10px; border: 1px solid var(--line); border-radius: 7px; color: #fff; background: #0b1828; font-size: 11px; }
.search svg { position: absolute; top: 9px; right: 9px; color: var(--muted); }
.filter { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 7px; color: #a6b2c3; background: #0b1828; }
.filter.active { color: var(--green-2); border-color: rgba(37, 214, 155, .5); }
.right-empty { margin-top: 6px; padding: 34px 20px; border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); text-align: center; }
.right-empty svg { color: #9a80ff; }
.right-empty strong { display: block; margin: 9px 0 4px; color: #dbe3ef; font-size: 13px; }
.right-empty p { margin: 0; font-size: 11px; line-height: 1.45; }
.review-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 9px; }
.module-select { flex: 1; min-width: 0; height: 35px; padding: 0 9px; border: 1px solid var(--line); border-radius: 7px; color: #fff; background: #0b1828; font-size: 10px; }
.text-kind-filter { flex: 1.15; min-width: 138px; }
.review-count { flex: 0 0 auto; color: var(--muted); font-size: 10px; }
.media-review-panel { padding-bottom: 18px; }
.media-asset-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-bottom: 10px; }
.media-asset-option { min-width: 0; display: grid; grid-template-columns: 27px minmax(0, 1fr) auto; gap: 7px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 8px; color: #b9c6d7; background: #0a1727; text-align: left; }
.media-asset-option.active { border-color: rgba(37, 214, 155, .5); color: #effff9; background: rgba(37, 214, 155, .075); }
.media-asset-option > svg { width: 27px; height: 27px; padding: 5px; border-radius: 6px; color: #b6a9ff; background: rgba(115, 94, 255, .12); }
.media-asset-option span { min-width: 0; }
.media-asset-option strong, .media-asset-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-asset-option strong { font-size: 9px; }
.media-asset-option small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.media-asset-option > b { color: var(--green-2); font-size: 9px; font-variant-numeric: tabular-nums; }
.media-transcript-card { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(8, 20, 34, .72); }
.media-transcript-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.media-transcript-identity { min-width: 0; display: flex; align-items: center; gap: 9px; }
.media-transcript-icon { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: #b9adff; background: rgba(115, 94, 255, .13); }
.media-transcript-identity > div { min-width: 0; }
.media-transcript-identity strong, .media-transcript-identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-transcript-identity strong { color: #edf3fb; font-size: 11px; }
.media-transcript-identity small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.media-status-badge { flex: 0 0 auto; padding: 4px 6px; border: 1px solid var(--line); border-radius: 99px; color: #b7c4d5; background: #0c1b2d; font-size: 8px; }
.media-status-badge[data-status="reviewed"] { border-color: rgba(37, 214, 155, .42); color: var(--green-2); }
.media-status-badge[data-status="error"], .media-status-badge[data-status="review_error"] { border-color: rgba(255, 107, 126, .42); color: #ff9daa; }
.media-job-progress { margin-top: 11px; }
.media-job-progress > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 8px; }
.media-job-progress b { color: #dce5f1; font-variant-numeric: tabular-nums; }
.media-job-progress > i { display: block; height: 4px; overflow: hidden; margin-top: 5px; border-radius: 99px; background: #1a2c42; }
.media-job-progress > i span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), var(--green)); transition: width .3s var(--ease); }
.media-transcript-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.media-transcript-actions .secondary { min-height: 32px; font-size: 9px; text-decoration: none; }
.primary-media:not(:disabled) { border-color: rgba(37, 214, 155, .5); color: var(--green-2); }
.media-segment-summary { margin-top: 13px; padding: 10px 11px; border: 1px solid var(--line-soft); border-radius: 7px; color: #9dafc3; background: rgba(6, 15, 28, .35); font-size: 11px; line-height: 1.5; }
.media-segment-list { max-height: calc(100vh - 285px); display: grid; gap: 10px; overflow: auto; margin-top: 10px; padding-right: 3px; }
.media-segment-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 11px; border: 1px solid var(--line-soft); border-radius: 9px; background: rgba(10, 25, 42, .7); }
.media-segment-time { padding-top: 22px; color: #b7c4d3; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; font-variant-numeric: tabular-nums; }
.media-segment-time b, .media-segment-time span { display: block; }
.media-segment-time span { margin-top: 3px; color: #657a94; }
.media-segment-timing { display: inline-block; margin-top: 5px; padding: 2px 4px; border: 1px solid rgba(244, 184, 77, .3); border-radius: 4px; color: #f4c46f; background: rgba(244, 184, 77, .08); font-family: ui-sans-serif, system-ui, sans-serif; font-size: 6px; font-style: normal; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.media-segment-row label { min-width: 0; }
.media-segment-row label > span { display: block; margin-bottom: 6px; color: #8fa3bb; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.media-segment-row textarea { width: 100%; min-height: 76px; resize: vertical; padding: 10px 11px; border: 1px solid transparent; border-radius: 7px; color: #f2f6fb; background: rgba(255, 255, 255, .03); font-size: 14px; line-height: 1.55; }
.media-segment-row textarea:focus { border-color: rgba(115, 94, 255, .55); outline: none; background: rgba(115, 94, 255, .055); }
.media-segment-empty { padding: 26px 14px; border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); text-align: center; }
.media-segment-empty svg { color: #9c8cff; }
.media-segment-empty strong { display: block; margin-top: 7px; color: #dbe4ef; font-size: 10px; }
.media-segment-empty p { margin: 4px auto 0; max-width: 280px; font-size: 8px; line-height: 1.45; }
.media-segment-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.text-table-wrap { max-height: calc(100vh - 190px); overflow: auto; border: 1px solid var(--line); border-radius: 9px; }
.text-review-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.text-review-table thead { position: sticky; top: 0; z-index: 2; }
.text-review-table th { width: 50%; padding: 10px 11px; border-bottom: 1px solid var(--line); color: #bac7d8; background: #0d1d30; font-size: 10px; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.text-review-table th + th, .text-review-table td + td { border-left: 1px solid var(--line-soft); }
.text-review-table td { vertical-align: top; padding: 14px; border-bottom: 1px solid var(--line-soft); background: rgba(9, 22, 38, .58); }
.text-review-table tr:last-child td { border-bottom: 0; }
.text-review-table td p { margin: 0; color: #d6deea; font-size: 15px; line-height: 1.58; white-space: pre-wrap; }
.text-source-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.text-source-meta span { padding: 3px 6px; border: 1px solid rgba(37, 214, 155, .24); border-radius: 5px; color: #74e9c1; background: rgba(37, 214, 155, .07); font-size: 8px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.text-source-meta span[data-kind="player"] { border-color: rgba(154, 128, 255, .26); color: #beafff; background: rgba(115, 94, 255, .08); }
.text-source-meta span[data-kind="attention"] { border-color: rgba(255, 195, 77, .42); color: #ffd77d; background: rgba(255, 195, 77, .09); }
.text-source-meta small { color: var(--muted); font-size: 8px; }
.text-review-table tr.needs-translation-review td { background: rgba(255, 195, 77, .045); }
.text-review-table tr.needs-translation-review textarea { border-color: rgba(255, 195, 77, .35); background: rgba(255, 195, 77, .045); }
.text-review-table textarea { width: 100%; min-height: 82px; resize: vertical; padding: 10px 11px; border: 1px solid transparent; border-radius: 7px; color: #fff; background: rgba(255, 255, 255, .03); font-size: 15px; line-height: 1.58; }
.text-review-table textarea:hover, .text-review-table textarea:focus { border-color: rgba(115, 94, 255, .52); background: rgba(115, 94, 255, .06); outline: none; }
.empty-table { padding: 30px !important; color: var(--muted); text-align: center; font-size: 11px; }
.text-table-actions { display: flex; justify-content: flex-end; margin-top: 9px; }
.secondary { min-height: 35px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; color: #dbe4ef; background: #0b1828; font-size: 11px; font-weight: 750; }

.media-modal { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 22px; }
.media-backdrop { position: absolute; inset: 0; background: rgba(3, 8, 15, .76); backdrop-filter: blur(8px); }
.media-dialog { position: relative; width: min(1040px, 96vw); max-height: 92vh; overflow: auto; padding: 24px; border: 1px solid rgba(124, 103, 255, .4); border-radius: 17px; background: radial-gradient(circle at 50% 0, rgba(115, 94, 255, .12), transparent 35%), linear-gradient(155deg, #10223a, #091828 72%); box-shadow: 0 35px 100px rgba(0, 0, 0, .52); }
.media-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.media-dialog-head h2 { margin: 0; font-size: 23px; letter-spacing: -.4px; }
.media-dialog-head p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.modal-close { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; color: #d5deea; background: #0b1828; }
.detected-media { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.detected-media span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 99px; color: #bdc9d9; background: rgba(6, 15, 28, .45); font-size: 10px; }
.media-language-choice { display: grid; grid-template-columns: minmax(210px, .75fr) minmax(320px, 1.25fr); gap: 12px; margin-top: 17px; padding: 15px; border: 1px solid rgba(63, 224, 173, .3); border-radius: 12px; background: linear-gradient(120deg, rgba(19, 68, 69, .28), rgba(25, 27, 73, .42)); }
.media-language-source, .media-target-field { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.media-language-source { padding-right: 14px; border-right: 1px solid rgba(255, 255, 255, .09); }
.media-language-source > span, .media-target-field > span { color: #7fe8c5; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.media-language-source strong { margin-top: 5px; color: #fff; font-size: 19px; letter-spacing: -.02em; }
.media-language-source small, .media-target-field small { margin-top: 4px; color: #8fa5b9; font-size: 9px; line-height: 1.4; }
.media-target-field select { width: 100%; min-height: 45px; margin-top: 7px; padding: 0 40px 0 13px; border: 1px solid rgba(126, 105, 255, .58); border-radius: 9px; color: #fff; background: #0b1a2d; font-size: 14px; font-weight: 750; outline: none; }
.media-target-field select:focus { border-color: #53e3b5; box-shadow: 0 0 0 3px rgba(66, 222, 173, .14); }
.media-language-message { grid-column: 1 / -1; margin: 0; padding: 9px 11px; border-left: 3px solid #ffbf52; color: #f5d7a4; background: rgba(255, 178, 62, .07); font-size: 10px; line-height: 1.45; }
.media-choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 17px; }
.media-choice-group { padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: rgba(6, 15, 28, .46); }
.media-choice-group:last-child { grid-column: 1 / -1; }
.media-choice-title { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; color: #ddd8ff; }
.media-choice-title strong { display: block; font-size: 11px; letter-spacing: .08em; }
.media-choice-title small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.glow-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.glow-options.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.glow-option { min-height: 42px; padding: 7px 9px; border: 1px solid #314967; border-radius: 8px; color: #b8c5d6; background: linear-gradient(180deg, rgba(20, 42, 67, .84), rgba(10, 25, 43, .9)); font-size: 9px; font-weight: 850; letter-spacing: .03em; transition: color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease); }
.glow-option:hover { color: #fff; border-color: rgba(127, 104, 255, .75); }
.glow-option.active { color: #fff; border-color: #8b75ff; background: linear-gradient(135deg, rgba(105, 83, 234, .7), rgba(32, 191, 145, .42)); box-shadow: 0 0 0 1px rgba(119, 96, 255, .24), 0 0 20px rgba(100, 81, 230, .28), inset 0 0 14px rgba(255, 255, 255, .06); }
.glow-option.upcoming:not(.active)::after { content: " · em breve"; color: #8192aa; font-size: 8px; font-weight: 600; }
.credit-preview { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; margin-top: 14px; padding: 12px 14px; border: 1px solid rgba(37, 214, 155, .28); border-radius: 9px; background: rgba(37, 214, 155, .055); }
.credit-preview > div { grid-row: 1 / 3; display: flex; align-items: center; gap: 7px; color: var(--green-2); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.credit-preview strong { color: #dcf7ed; font-size: 11px; }
.credit-preview small { color: #89a89d; font-size: 9px; }
.coming-soon-note { margin: 10px 0 0; padding: 9px 11px; border-left: 3px solid var(--yellow); color: #d2c49e; background: rgba(255, 195, 77, .055); font-size: 10px; line-height: 1.45; }
.start-localisation { width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; border: 1px solid #927cff; border-radius: 9px; color: #fff; background: linear-gradient(135deg, #5f4dde, #785fff); font-size: 11px; font-weight: 900; letter-spacing: .07em; box-shadow: 0 12px 34px rgba(91, 72, 218, .25); }
.start-localisation:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }

/* MVP dashboard — operational overview with one obvious next action. */
.shell.dashboard-mode { grid-template-columns: 220px minmax(0, 1fr); }
.dashboard-view { width: min(100%, 1440px); margin: 0 auto; }
.dashboard-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.dashboard-hero h1 { margin: 0; max-width: 760px; color: #f7f9fd; font-size: clamp(27px, 3vw, 43px); line-height: 1.04; letter-spacing: -.045em; }
.dashboard-hero h1 span { color: var(--green-2); }
.dashboard-hero p { margin: 10px 0 0; max-width: 690px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.dashboard-actions { display: flex; gap: 9px; flex: 0 0 auto; }
.dashboard-primary, .dashboard-secondary, .credit-buy { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 15px; border-radius: 9px; color: #f7fbff; font-size: 11px; font-weight: 850; }
.dashboard-primary { border: 1px solid #55e6b5; color: #071811; background: linear-gradient(120deg, #27d99d, #73efca); box-shadow: 0 13px 28px rgba(28, 212, 151, .17); }
.dashboard-secondary { border: 1px solid var(--line); background: #0c1a2c; }
.dashboard-credit-card { position: relative; min-height: 154px; display: grid; grid-template-columns: auto minmax(190px, 1fr) minmax(360px, 1.35fr) auto; align-items: center; gap: 22px; overflow: hidden; padding: 25px 28px; border: 1px solid rgba(56, 226, 174, .28); border-radius: 18px; background: radial-gradient(circle at 15% 30%, rgba(43, 221, 161, .15), transparent 28%), radial-gradient(circle at 88% 80%, rgba(121, 94, 255, .19), transparent 34%), linear-gradient(125deg, #0d2430, #111c35 63%, #161839); box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.dashboard-credit-card::after { content: ""; position: absolute; right: 16%; top: -105px; width: 250px; height: 250px; border: 1px solid rgba(140, 117, 255, .14); border-radius: 50%; box-shadow: 0 0 0 33px rgba(140, 117, 255, .025), 0 0 0 68px rgba(43, 221, 161, .02); pointer-events: none; }
.credit-orbit { position: relative; z-index: 1; width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid rgba(88, 236, 188, .36); border-radius: 50%; color: #74f0ca; background: rgba(30, 92, 76, .2); box-shadow: inset 0 0 22px rgba(51, 226, 174, .12), 0 0 28px rgba(49, 222, 170, .08); }
.credit-orbit span { position: absolute; inset: -7px; border: 1px dashed rgba(163, 139, 255, .4); border-radius: 50%; }
.credit-main { position: relative; z-index: 1; }
.credit-main small, .credit-breakdown small { display: block; color: #8da2b8; font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.credit-main strong { display: inline-block; margin: 4px 7px 0 0; color: #fff; font-size: clamp(32px, 4vw, 48px); line-height: 1; letter-spacing: -.055em; }
.credit-main > span { color: #67e4ba; font-size: 12px; font-weight: 750; }
.credit-breakdown { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding-left: 20px; border-left: 1px solid rgba(255, 255, 255, .1); }
.credit-breakdown > span { min-width: 0; }
.credit-breakdown b { display: block; margin-top: 6px; overflow: hidden; color: #eaf1f8; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.credit-buy { position: relative; z-index: 1; border: 1px solid rgba(155, 133, 255, .65); background: rgba(102, 79, 224, .3); }
.dashboard-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px; }
.dashboard-stat-grid article { display: flex; align-items: center; gap: 12px; min-height: 84px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: linear-gradient(145deg, rgba(17, 36, 58, .9), rgba(8, 21, 36, .94)); box-shadow: 0 12px 28px rgba(0, 0, 0, .16); }
.dashboard-stat-grid article.attention { border-color: rgba(255, 195, 77, .35); }
.dashboard-stat-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; }
.dashboard-stat-icon.violet { color: #b9a9ff; background: rgba(117, 91, 255, .15); }
.dashboard-stat-icon.blue { color: #83c4ff; background: rgba(67, 153, 235, .14); }
.dashboard-stat-icon.amber { color: #ffd075; background: rgba(232, 164, 42, .14); }
.dashboard-stat-icon.green { color: #6becbf; background: rgba(37, 214, 155, .13); }
.dashboard-stat-grid small { display: block; color: var(--muted); font-size: 10px; }
.dashboard-stat-grid strong { display: block; margin-top: 3px; color: #f7f9fc; font-size: 24px; line-height: 1; }
.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 14px; margin-top: 14px; }
.dashboard-card { padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(150deg, rgba(15, 31, 51, .94), rgba(8, 20, 35, .97)); box-shadow: var(--shadow); }
.dashboard-card > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.dashboard-card h2 { margin: 0; color: #f1f5fa; font-size: 16px; letter-spacing: -.025em; }
.dashboard-card .eyebrow { margin-bottom: 5px; }
.dashboard-counter { min-width: 31px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #07130f; background: var(--yellow); font-size: 11px; font-weight: 900; }
.dashboard-text-button { border: 0; color: #8edfc5; background: transparent; font-size: 10px; font-weight: 800; }
.dashboard-module-list { display: grid; gap: 8px; }
.dashboard-module-item { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 64px; padding: 10px; border: 1px solid rgba(45, 65, 91, .72); border-radius: 10px; background: rgba(6, 16, 29, .45); }
.dashboard-module-item .module-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 9px; color: #ac9cff; background: rgba(116, 91, 255, .13); }
.dashboard-module-item strong, .dashboard-module-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-module-item strong { color: #edf3fa; font-size: 11px; }
.dashboard-module-item small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.dashboard-module-item button { min-height: 31px; padding: 0 10px; border: 1px solid #3d5270; border-radius: 7px; color: #dfe8f5; background: #12243a; font-size: 9px; font-weight: 800; white-space: nowrap; }
.dashboard-module-item.review button { border-color: #e4b651; color: #ffe2a0; background: rgba(144, 98, 13, .16); }
.dashboard-empty { min-height: 135px; display: grid; place-items: center; align-content: center; padding: 20px; color: #70839d; text-align: center; }
.dashboard-empty strong { margin-top: 8px; color: #bcc8d7; font-size: 12px; }
.dashboard-empty p { margin: 5px 0 0; font-size: 10px; }
.activity-card { margin-top: 14px; }
.dashboard-activity-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.dashboard-activity-item { min-width: 0; padding: 11px 12px; border-left: 2px solid #705cff; background: rgba(7, 18, 31, .55); }
.dashboard-activity-item.credit-in { border-left-color: var(--green); }
.dashboard-activity-item.credit-out { border-left-color: #ffba48; }
.dashboard-activity-item strong, .dashboard-activity-item span, .dashboard-activity-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-activity-item strong { color: #e9eff7; font-size: 10px; }
.dashboard-activity-item span { margin-top: 4px; color: #aebbc9; font-size: 9px; }
.dashboard-activity-item small { margin-top: 6px; color: #6f8199; font-size: 8px; }
.admin-view { width: min(100%, 1440px); margin: 0 auto; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 14px; }
.admin-grid form { align-content: start; }
.admin-badge { padding: 5px 8px; border: 1px solid rgba(137, 112, 255, .4); border-radius: 7px; color: #c6baff; background: rgba(115, 87, 235, .13); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.admin-badge.green { border-color: rgba(48, 220, 164, .36); color: #77e8c2; background: rgba(35, 181, 135, .11); }
.admin-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-settings-card label, .admin-adjust-card label { display: grid; gap: 6px; color: #cbd6e4; font-size: 10px; font-weight: 800; }
.admin-settings-card label small, .admin-adjust-card label small { color: #71839d; font-size: 8px; font-weight: 500; line-height: 1.45; }
.admin-settings-card input, .admin-adjust-card input, .admin-adjust-card select, .admin-adjust-card textarea { width: 100%; padding: 10px 11px; border: 1px solid #2a3e58; border-radius: 8px; outline: 0; color: #f3f7fc; background: #091625; }
.admin-settings-card input:focus, .admin-adjust-card input:focus, .admin-adjust-card select:focus, .admin-adjust-card textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(37, 214, 155, .1); }
.admin-adjust-card { display: grid; gap: 12px; }
.admin-submit { min-height: 42px; margin-top: 14px; padding: 0 15px; border: 1px solid rgba(70, 231, 178, .65); border-radius: 8px; color: #061510; background: linear-gradient(115deg, #25d69b, #79ecc7); font-size: 10px; font-weight: 900; }
.admin-submit:disabled { opacity: .55; cursor: wait; }
.admin-workspaces-card, .admin-ledger-card { margin-top: 14px; }
.admin-workspace-table { overflow-x: auto; }
.admin-workspace-table table { width: 100%; border-collapse: collapse; min-width: 780px; }
.admin-workspace-table th, .admin-workspace-table td { padding: 11px 9px; border-bottom: 1px solid var(--line-soft); text-align: left; }
.admin-workspace-table th { color: #72849d; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.admin-workspace-table td { color: #cbd5e2; font-size: 9px; }
.admin-workspace-table td strong, .admin-workspace-table td small { display: block; }
.admin-workspace-table td strong { color: #f1f5fa; font-size: 10px; }
.admin-workspace-table td small { max-width: 320px; margin-top: 3px; overflow: hidden; color: #788ba4; text-overflow: ellipsis; white-space: nowrap; }
.admin-workspace-table .balance { color: #68e5ba; font-size: 11px; font-weight: 900; }
.admin-ledger-list { display: grid; gap: 6px; }
.admin-ledger-item { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(180px, 1fr) 90px minmax(220px, 1.5fr) 105px; align-items: center; gap: 10px; padding: 9px 10px; border-bottom: 1px solid var(--line-soft); color: #aebbc9; font-size: 9px; }
.admin-ledger-item strong { color: #edf2f8; }
.admin-ledger-item b { color: #ffcd6f; text-align: right; }
.admin-ledger-item b.positive { color: #61e5b7; }
.admin-ledger-item time { color: #71839a; text-align: right; }
.admin-requests-card { margin-top: 14px; }
.admin-request-list { display: grid; gap: 8px; }
.admin-request-item { display: grid; grid-template-columns: minmax(150px, .9fr) minmax(150px, .8fr) 110px 95px auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--line-soft); border-radius: 9px; background: rgba(6, 16, 29, .42); }
.admin-request-item strong, .admin-request-item span, .admin-request-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-request-item strong { color: #edf3f9; font-size: 10px; }
.admin-request-item span { margin-top: 3px; color: #7f91aa; font-size: 8px; }
.admin-request-item b { color: #7aebc5; font-size: 12px; }
.admin-request-item small { color: #92a1b5; font-size: 9px; }
.admin-request-status { width: max-content; padding: 5px 7px; border-radius: 6px; color: #ffd888; background: rgba(194, 133, 27, .14); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.admin-request-status.approved { color: #70e4bc; background: rgba(35, 181, 135, .12); }
.admin-request-status.cancelled { color: #a5b0bf; background: rgba(123, 139, 161, .12); }
.admin-request-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-request-actions button { min-height: 30px; padding: 0 9px; border: 1px solid #3a4f6d; border-radius: 7px; color: #d9e3ef; background: #102137; font-size: 8px; font-weight: 850; }
.admin-request-actions button.approve { border-color: rgba(47, 221, 165, .48); color: #73e8c1; }
.admin-email-card { margin-top: 14px; }
.admin-email-list { display: grid; gap: 7px; }
.admin-email-item { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(180px, 1fr) minmax(200px, 1.3fr) 110px 100px; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid var(--line-soft); border-radius: 8px; background: rgba(6, 16, 29, .4); color: #94a4b8; font-size: 8px; }
.admin-email-item strong, .admin-email-item span, .admin-email-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-email-item strong { color: #eaf0f7; font-size: 9px; }
.admin-email-item .email-status { width: max-content; padding: 5px 7px; border-radius: 6px; color: #ffcf72; background: rgba(187, 127, 25, .14); font-weight: 850; text-transform: uppercase; }
.admin-email-item .email-status.sent { color: #70e4bc; background: rgba(35, 181, 135, .12); }
.admin-email-item time { color: #6f8199; text-align: right; }
.credit-modal { position: fixed; inset: 0; z-index: 70; display: grid; place-items: center; padding: 20px; }
.credit-modal-backdrop { position: absolute; inset: 0; background: rgba(3, 8, 15, .8); backdrop-filter: blur(9px); }
.credit-dialog { position: relative; width: min(470px, 96vw); padding: 26px; border: 1px solid rgba(116, 94, 255, .46); border-radius: 17px; background: radial-gradient(circle at 82% 6%, rgba(115, 94, 255, .18), transparent 34%), linear-gradient(155deg, #10243b, #091827 75%); box-shadow: 0 35px 100px rgba(0, 0, 0, .56); }
.credit-dialog > .modal-close { position: absolute; top: 16px; right: 16px; }
.credit-dialog h2 { margin: 0; color: #f5f8fc; font-size: 24px; letter-spacing: -.04em; }
.credit-dialog > p { margin: 9px 0 20px; color: #93a5bc; font-size: 11px; line-height: 1.6; }
.credit-dialog form, .credit-dialog label { display: grid; gap: 8px; }
.credit-dialog label { color: #d2dce8; font-size: 10px; font-weight: 800; }
.credit-dialog input { width: 100%; padding: 12px; border: 1px solid #304662; border-radius: 9px; outline: 0; color: #fff; background: #071522; font-size: 15px; font-weight: 800; }
.credit-dialog input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(37, 214, 155, .1); }
.credit-quick-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.credit-quick-options button { min-height: 34px; border: 1px solid #344b68; border-radius: 7px; color: #bdc8d7; background: #0e1d30; font-size: 9px; font-weight: 800; }
.credit-quick-options button:hover, .credit-quick-options button.active { border-color: #7c68f0; color: #fff; background: rgba(105, 82, 229, .26); }
.credit-order-summary { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; align-items: center; margin-top: 6px; padding: 13px 14px; border: 1px solid rgba(50, 220, 166, .25); border-radius: 9px; background: rgba(37, 214, 155, .055); }
.credit-order-summary span { color: #9aabbe; font-size: 9px; }
.credit-order-summary strong { color: #7beac4; font-size: 16px; }
.credit-order-summary small { grid-column: 1 / -1; color: #789085; font-size: 8px; line-height: 1.45; }

.toast-region { position: fixed; right: 18px; bottom: 38px; z-index: 80; display: grid; gap: 8px; }
.toast { max-width: 360px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px; color: #eaf2fd; background: #10243d; box-shadow: var(--shadow); font-size: 11px; line-height: 1.45; }
.toast.error { border-color: rgba(255, 107, 126, .6); }
.toast.success { border-color: rgba(37, 214, 155, .55); }
footer { display: grid; place-items: center; border-top: 1px solid rgba(255, 255, 255, .025); color: #718198; font-size: 10px; }

@media (max-width: 1320px) {
  .shell { grid-template-columns: 205px minmax(540px, 1fr); }
  .shell.dashboard-mode { grid-template-columns: 205px minmax(0, 1fr); }
  .right-panel { grid-column: 1 / -1; min-height: 500px; border-top: 1px solid var(--line-soft); border-left: 0; }
  .text-table-wrap { max-height: 620px; }
  .dashboard-credit-card { grid-template-columns: auto minmax(170px, .8fr) minmax(320px, 1.3fr); }
  .credit-buy { grid-column: 2 / -1; justify-self: start; }
}

@media (max-width: 820px) {
  html, body, .app-shell { width: 100%; max-width: 100%; overflow-x: hidden; }
  .app-shell { grid-template-rows: 64px 1fr 28px; }
  .topbar { min-width: 0; gap: 8px; padding: 0 13px; }
  .brand { flex: 0 1 auto; min-width: 0; font-size: 20px; }
  .top-actions { min-width: 0; gap: 6px; }
  .language-wrap > span { display: none; }
  .language-select { width: 112px; min-width: 0; }
  .notification-button { flex: 0 0 40px; }
  .shell { display: block; width: 100%; max-width: 100%; min-width: 0; }
  .sidebar { display: none; }
  .workspace, .right-panel { width: 100%; max-width: 100%; min-width: 0; }
  .workspace { padding: 17px 12px 26px; }
  .dashboard-hero { align-items: stretch; flex-direction: column; }
  .dashboard-actions { width: 100%; }
  .dashboard-actions button { flex: 1; }
  .dashboard-credit-card { grid-template-columns: 52px minmax(0, 1fr); gap: 15px; padding: 19px; }
  .credit-orbit { width: 52px; height: 52px; }
  .credit-breakdown { grid-column: 1 / -1; padding: 14px 0 0; border-top: 1px solid rgba(255, 255, 255, .1); border-left: 0; }
  .credit-buy { grid-column: 1 / -1; width: 100%; }
  .dashboard-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-columns { grid-template-columns: 1fr; }
  .dashboard-activity-list { grid-template-columns: 1fr; }
  .dashboard-module-item { grid-template-columns: 38px minmax(0, 1fr); }
  .dashboard-module-item button { grid-column: 1 / -1; }
  .admin-grid, .admin-field-grid { grid-template-columns: 1fr; }
  .admin-ledger-item { grid-template-columns: 1fr auto; }
  .admin-ledger-item span, .admin-ledger-item small { grid-column: 1 / -1; }
  .admin-request-item { grid-template-columns: 1fr auto; }
  .admin-request-item > small, .admin-request-item > .admin-request-status { grid-column: 1 / -1; }
  .admin-request-actions { grid-column: 1 / -1; justify-content: stretch; }
  .admin-request-actions button { flex: 1; }
  .admin-email-item { grid-template-columns: 1fr auto; }
  .admin-email-item > span, .admin-email-item > small { grid-column: 1 / -1; }
  .credit-quick-options { grid-template-columns: repeat(2, 1fr); }
  .upload-card, .project-summary { border-radius: 13px; }
  .upload-card { padding: 15px; }
  .dropzone { min-height: 260px; }
  .module-workbench { grid-template-columns: 1fr; }
  .module-queue { max-height: 300px; }
	  .summary-top { display: block; }
	  .summary-status-actions { align-items: flex-start; margin-top: 10px; }
  .resource-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .module-state-badge { display: inline-block; margin-top: 10px; }
  .timeline-head { display: block; }
  .timeline-slide-picker { margin-top: 10px; }
  .timeline-toolbar { flex-wrap: wrap; }
  .timeline-legend { width: 100%; margin: 2px 0 0; }
  .timeline-canvas { min-width: 680px; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .module-actions { grid-template-columns: repeat(2, 1fr); }
  .journey-guidance { align-items: stretch; flex-direction: column; }
  .journey-action { width: 100%; }
  .module-review-card > header { display: block; }
  .review-decision-badge { margin-top: 10px; }
  .module-review-checklist { grid-template-columns: 1fr; }
  .module-review-actions { display: grid; grid-template-columns: 1fr; }
  .module-review-actions button { width: 100%; }
  .right-panel { padding: 0 12px 18px; }
  .right-head { flex-wrap: wrap; padding: 11px 0; }
  .search { flex-basis: calc(100% - 44px); order: 2; margin-left: 0; }
  .filter { order: 2; }
  .media-asset-picker { grid-template-columns: 1fr; }
  .media-segment-row { grid-template-columns: 48px minmax(0, 1fr); }
  .media-segment-row label:last-child { grid-column: 2; }
	  .media-modal { padding: 10px; }
	  .media-dialog { width: 100%; max-width: 100%; padding: 18px 14px; }
	  .media-dialog-head h2 { font-size: 19px; }
	  .media-language-choice { grid-template-columns: 1fr; }
	  .media-language-source { padding-right: 0; padding-bottom: 12px; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .09); }
	  .media-choice-grid { grid-template-columns: 1fr; }
  .media-choice-group:last-child { grid-column: auto; }
  .glow-options, .glow-options.two { grid-template-columns: 1fr; }
  .credit-preview { grid-template-columns: 1fr; }
  .credit-preview > div { grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* 6.3.8 workflow + localisation choices */
.media-target-stack{display:grid;gap:9px;min-width:260px}.additional-targets{display:grid;gap:7px}.additional-target-row{display:grid;grid-template-columns:1fr 34px;gap:7px}.additional-target-row select{width:100%;background:#081426;color:#eef3ff;border:1px solid var(--line);border-radius:8px;padding:9px 10px}.additional-target-row button,.add-target-language{border:1px solid rgba(139,107,255,.38);background:rgba(105,75,210,.11);color:#c9bdff;border-radius:8px;cursor:pointer}.add-target-language{padding:8px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:6px}.add-target-language:disabled{opacity:.35;cursor:not-allowed}.media-feature-options{grid-template-columns:repeat(3,1fr)!important}.media-feature-options .glow-option{min-height:48px}.review-workflow-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 12px}.review-flow-action{display:flex;min-height:88px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:15px 16px;border-radius:12px;border:1px solid rgba(135,115,215,.32);background:linear-gradient(145deg,rgba(27,22,52,.9),rgba(10,16,30,.92));color:#ddd8ff;text-align:left;transition:.18s ease}.review-flow-action span{font-size:12px;font-weight:800;letter-spacing:.04em}.review-flow-action small{font-size:10px;color:var(--muted);font-weight:500}.review-flow-action:disabled{opacity:.38;cursor:not-allowed}.review-flow-action.next-action:not(:disabled){border-color:#ff9e43;background:linear-gradient(145deg,#ff9d35,#ed6d25);color:white;box-shadow:0 0 0 1px rgba(255,161,67,.18),0 10px 28px rgba(240,111,36,.23);cursor:pointer}.review-flow-action.next-action small{color:rgba(255,255,255,.8)}.review-flow-action.completed-action{border-color:rgba(42,203,151,.38);background:rgba(16,90,72,.18);color:#79e4bf}.review-decision-actions{margin-top:6px}.module-review-actions.review-decision-actions{justify-content:flex-start}@media(max-width:850px){.review-workflow-actions{grid-template-columns:1fr}.media-feature-options{grid-template-columns:1fr!important}}
.project-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:18px}.project-summary-item{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid rgba(122,162,207,.18);border-radius:12px;background:rgba(5,22,42,.28)}.project-summary-item span{color:#8fa9c7;font-size:12px}.project-summary-item strong{color:#f5f8ff;text-align:right;font-size:13px}.review-workflow-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important}@media(max-width:900px){.project-summary-grid,.review-workflow-actions{grid-template-columns:1fr!important}}

/* v6.3.12 compact action-first workflow */
.workflow-stepper span[data-owner="user"]{cursor:default}
.workflow-stepper span[data-owner="user"].next-action{cursor:pointer;color:#fff;background:linear-gradient(145deg,#ff9d35,#ed6d25);box-shadow:inset 0 0 0 1px rgba(255,190,120,.35)}
.workflow-stepper span[data-owner="user"].next-action i::after{width:100%;background:#ffd19d}
.workflow-stepper span[data-owner="user"].completed-action{color:var(--green-2);background:rgba(37,214,155,.08)}
.module-review-card{padding:11px 13px;margin:-4px 0 10px}
.module-review-card>header p{font-size:10px}
.module-review-checklist{display:none}
.review-workflow-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px;margin:9px 0 5px}
.review-flow-action{min-height:48px;padding:8px 10px;border-radius:8px}
.review-flow-action span{font-size:9px}
.review-flow-action small{display:none}
.review-decision-actions{margin-top:4px}
.module-review-actions button{min-height:32px;padding:0 10px;font-size:9px}
.module-queue-item{cursor:pointer}
.module-queue-item:hover{border-color:#ff9e43}

/* 6.3.13 — single obvious workflow */
.review-workflow-actions,.review-decision-actions,.module-review-actions{display:none!important}
.module-review-card{padding:10px 13px;margin:0 0 8px}

/* 6.3.14 — one-action workflow */
#chooseOptionsBtn.workflow-hidden,
.choose-options-after-start{display:none!important}
.review-workflow-actions,.review-decision-actions,.module-review-actions{display:none!important}

/* v6.3.15 pipeline states: automatic running = purple; complete = green */
.workflow-stepper span.active:not([data-owner="user"]){
  color:#fff;
  background:rgba(119,91,255,.18);
}
.workflow-stepper span.active:not([data-owner="user"]) i::after{
  background:#8467ff;
}
.workflow-stepper span.done:not([data-owner="user"]){
  color:var(--green-2);
}
#journeyAction[data-action="choices"]{display:none!important}


/* ============================================================
   v6.3.20 — clean two-column workbench
   Processing Queue LEFT + one Project Summary RIGHT
   ============================================================ */

.legacy-project-summary{
  display:none !important;
}

/* Keep the top workbench visually self-contained. */
.module-workbench{
  align-items:start;
  gap:14px;
}

.module-list-panel,
.resource-choice-panel{
  min-height:0;
}

.resource-choice-panel{
  display:block;
}

/* Slightly denser queue so 4 language jobs remain easy to scan. */
.module-queue{
  max-height:410px;
  gap:8px;
}

.module-queue-item{
  padding:10px 10px 9px;
}

/* The selected project remains the only content on the right. */
.resource-policy{
  display:block;
  min-width:0;
}

.resource-policy-head{
  margin-bottom:10px;
}

.resource-policy-copy p{
  max-width:520px;
}

/* Summary data remains compact and readable. */
.project-summary-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 12px;
  margin-top:11px;
}

.project-summary-item{
  min-height:42px;
  align-items:center;
  padding:8px 10px;
  border-radius:9px;
}

.project-summary-item span{
  font-size:10px;
}

.project-summary-item strong{
  font-size:11px;
}

/* The ONLY workflow bar now lives inside Project Summary. */
.resource-policy .journey-card{
  margin:12px 0 0;
  padding:9px 10px 8px;
  border-radius:9px;
  box-shadow:none;
  background:linear-gradient(135deg,rgba(115,94,255,.09),rgba(37,214,155,.035));
}

.resource-policy .workflow-stepper{
  border-radius:7px;
}

.resource-policy .workflow-stepper span{
  min-height:35px;
  padding:8px 4px 11px;
  font-size:8px;
  letter-spacing:.055em;
}

.resource-policy .workflow-stepper span i{
  left:6px;
  right:6px;
  bottom:5px;
  height:2px;
}

.resource-policy .journey-guidance{
  gap:12px;
  margin-top:7px;
}

.resource-policy .journey-guidance strong{
  font-size:10px;
}

.resource-policy .journey-guidance p{
  margin-top:2px;
  font-size:9px;
  line-height:1.35;
}

.resource-policy .journey-action{
  min-height:30px;
  padding:0 11px;
  border-radius:7px;
  font-size:9px;
}

/* Timeline is no longer part of the duplicate lower summary.
   It opens only when Timeline is selected. */
#mediaTimeline{
  margin-top:16px;
}

/* The visual screen requested by the user should not create a
   second Project Summary below the workbench. */
#projectSummary.legacy-project-summary{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

@media(max-width:900px){
  .project-summary-grid{
    grid-template-columns:1fr;
  }
  .resource-policy .workflow-stepper span{
    font-size:7px;
    letter-spacing:.03em;
  }
}


/* ===============================================================
   v6.3.22 — UX HARD LOCK
   Exact composition:
   [ Processing Queue ] [ ONE selected Project Summary ]
                         [ summary data              ]
                         [ ONE workflow bar          ]
   =============================================================== */

#projectSummary,
#projectSummary.legacy-project-summary{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

.module-workbench{
  display:grid !important;
  grid-template-columns:minmax(330px,.82fr) minmax(0,1.55fr) !important;
  gap:14px !important;
  align-items:stretch !important;
  margin-top:14px !important;
}

.module-list-panel,
.resource-choice-panel{
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:14px;
}

.module-list-panel{
  align-self:start;
}

.resource-choice-panel{
  position:relative !important;
  align-self:start;
}

.resource-policy{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto auto !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  overflow:hidden !important;
  padding:14px !important;
}

.resource-policy-head{
  position:static !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:0 !important;
  z-index:auto !important;
}

.resource-selected-meta{
  min-width:170px;
  max-width:230px;
}

.project-summary-grid{
  position:static !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

.project-summary-item{
  position:static !important;
  min-width:0 !important;
  min-height:44px !important;
  padding:8px 10px !important;
}

.project-summary-item span,
.project-summary-item strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.resource-policy > .journey-card{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  margin:2px 0 0 !important;
  padding:9px 10px 8px !important;
  z-index:auto !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.resource-policy > .journey-card .workflow-stepper{
  position:static !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  width:100% !important;
  margin:0 !important;
  transform:none !important;
}

.resource-policy > .journey-card .journey-guidance{
  position:static !important;
  margin:7px 2px 0 !important;
}

/* Queue remains compact and independent from the selected project's workflow. */
.module-queue{
  max-height:410px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  gap:8px !important;
}

.module-queue-item{
  position:relative !important;
  overflow:hidden !important;
}

/* No nested/stale workflow may ever render elsewhere in the workbench. */
.module-queue .journey-card,
.module-queue .workflow-stepper,
.project-summary-grid .journey-card,
.project-summary-grid .workflow-stepper{
  display:none !important;
}

@media(max-width:1050px){
  .project-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:820px){
  .module-workbench{
    grid-template-columns:1fr !important;
  }
  .project-summary-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===============================================================
   v6.3.23 — ALIGNED PROGRESS BOARD
   Queue card on the left <-> corresponding workflow row on the right
   =============================================================== */

#projectSummaryGrid{
  display:none !important;
}

.resource-policy > .workflow-state-sink{
  display:none !important;
}

.resource-policy{
  display:block !important;
  padding:14px 14px 16px !important;
}

.resource-policy-head{
  min-height:66px !important;
  margin:0 8px 8px !important;
}

.batch-workflow-board{
  display:grid;
  gap:8px;
  max-height:438px;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 2px 0 0;
  scrollbar-width:thin;
  scrollbar-color:#7f8a96 transparent;
}

.module-queue{
  max-height:438px !important;
  gap:8px !important;
  scrollbar-width:thin;
  scrollbar-color:#7f8a96 transparent;
}

.module-queue-item,
.module-flow-card{
  min-height:106px;
  height:106px;
}

.module-flow-card{
  padding:9px 12px 8px;
  overflow:hidden;
  border:1px solid rgba(37,214,155,.42);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(8,28,39,.96),rgba(11,25,42,.96));
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.module-flow-card.selected{
  border-color:rgba(115,94,255,.8);
  background:linear-gradient(145deg,rgba(17,31,61,.98),rgba(10,32,44,.98));
  box-shadow:inset 3px 0 0 rgba(115,94,255,.8);
}

.module-flow-stepper{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(68,103,128,.28);
  border-radius:8px;
}

.module-flow-stepper > span,
.module-flow-stepper > button{
  position:relative;
  min-width:0;
  min-height:43px;
  padding:8px 4px 12px;
  border:0;
  border-radius:0;
  color:#71869e;
  background:rgba(7,20,34,.58);
  font:inherit;
  text-align:center;
  cursor:default;
}

.module-flow-stepper > * + *{
  border-left:1px solid rgba(68,103,128,.22);
}

.module-flow-stepper b{
  display:block;
  overflow:hidden;
  color:inherit;
  font-size:8px;
  font-weight:900;
  letter-spacing:.055em;
  line-height:1.25;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:normal;
}

.module-flow-stepper i{
  position:absolute;
  left:8px;
  right:8px;
  bottom:5px;
  height:3px;
  overflow:hidden;
  border-radius:99px;
  background:#26374d;
}

.module-flow-stepper i::after{
  content:"";
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--purple),var(--purple-2));
}

.module-flow-stepper .done{
  color:var(--green-2);
}

.module-flow-stepper .done i::after{
  width:100%;
  background:linear-gradient(90deg,var(--green),var(--green-2));
}

.module-flow-stepper .active{
  color:var(--green-2);
  background:rgba(37,214,155,.045);
}

.module-flow-stepper .active i::after{
  width:72%;
  background:linear-gradient(90deg,var(--green),var(--green-2));
  animation:journey-progress 1.6s ease-in-out infinite alternate;
}

.module-flow-stepper .waiting{
  color:#9eacbc;
}

.module-flow-stepper .waiting i::after{
  width:22%;
  background:#71869e;
}

.module-flow-stepper button.next-action{
  color:#fff;
  background:linear-gradient(135deg,#ff9737,#ff812a);
  cursor:pointer;
}

.module-flow-stepper button.next-action i{
  background:rgba(255,255,255,.25);
}

.module-flow-stepper button.next-action i::after{
  width:100%;
  background:#ffd3a6;
}

.module-flow-stepper button.next-action:hover{
  filter:brightness(1.06);
}

.module-flow-guidance{
  display:flex;
  align-items:baseline;
  gap:9px;
  min-width:0;
  padding:7px 3px 0;
}

.module-flow-guidance strong{
  flex:0 0 auto;
  color:#fff;
  font-size:10px;
  line-height:1.2;
}

.module-flow-guidance small{
  min-width:0;
  overflow:hidden;
  color:#aabbd0;
  font-size:9px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Match the visible queue cards to the workflow-row rhythm. */
.module-queue-item{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.module-select-button{
  flex:1 1 auto;
}

/* The right panel itself should not grow below the queue. */
.resource-choice-panel{
  min-height:0 !important;
}

@media(max-width:900px){
  .module-queue-item,
  .module-flow-card{
    height:auto;
    min-height:104px;
  }

  .module-flow-stepper b{
    font-size:7px;
    letter-spacing:.025em;
  }

  .module-flow-guidance small{
    white-space:normal;
  }
}


/* v6.3.24 review reliability */
.module-flow-reopen{
  flex:0 0 auto;
  margin-left:auto;
  padding:2px 7px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#79d9c5;
  font:inherit;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.module-flow-reopen:hover{
  color:#a7f4df;
}


/* ============================================================
   v6.3.25 — ONE LANGUAGE = ONE COMPLETE HORIZONTAL ROW
   ============================================================ */

/* Old two-column Queue / Project Summary is retained only as hidden
   compatibility DOM for existing application state. */
.legacy-module-workbench{
  display:none !important;
}

/* Visible list */
.localization-lines-panel{
  margin-top:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(9,24,40,.98),rgba(7,20,34,.98));
  overflow:hidden;
}

.localization-lines-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}

.localization-lines-head h2{
  margin:2px 0 0;
}

.localization-lines{
  display:grid;
  gap:10px;
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
  padding-bottom:2px;
}

/* CRITICAL RULE:
   One target language is exactly one box, one horizontal row. */
.localization-row{
  display:grid;
  grid-template-columns:360px minmax(680px,1fr);
  width:100%;
  min-width:1060px;
  min-height:116px;
  overflow:hidden;
  border:1px solid rgba(37,214,155,.34);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(11,29,45,.98),rgba(9,24,40,.98));
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.localization-row.selected{
  border-color:rgba(125,103,255,.86);
  box-shadow:inset 4px 0 0 rgba(125,103,255,.9);
  background:linear-gradient(145deg,rgba(17,31,61,.98),rgba(9,29,43,.98));
}

.localization-row.ready{
  border-color:rgba(37,214,155,.45);
}

.localization-row.error{
  border-color:rgba(255,107,126,.6);
}

.localization-row.attention{
  border-color:rgba(255,195,77,.64);
}

/* LEFT — module information */
.localization-module{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:11px 13px;
  border-right:1px solid rgba(68,103,128,.3);
}

.localization-module-main{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  width:100%;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.localization-module-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  color:#c6bbff;
  background:rgba(112,87,235,.22);
}

.localization-delete-icon{
  position:absolute;
  z-index:3;
  top:59px;
  left:16px;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  padding:0;
  border:1px solid rgba(255,128,146,.25);
  border-radius:7px;
  color:#ff8fa0;
  background:rgba(255,107,126,.07);
  opacity:.8;
  cursor:pointer;
  transition:opacity .15s ease,border-color .15s ease,background .15s ease;
}

.localization-delete-icon:hover,
.localization-delete-icon:focus-visible{
  border-color:rgba(255,128,146,.62);
  background:rgba(255,107,126,.15);
  opacity:1;
}

.localization-module-copy{
  display:block;
  min-width:0;
}

.localization-module-copy strong,
.localization-module-copy small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.localization-module-copy strong{
  color:#fff;
  font-size:13px;
}

.localization-module-copy small{
  margin-top:3px;
  color:#94abc2;
  font-size:10px;
}

.localization-module-phase{
  color:#e7eef6;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.localization-module-track{
  height:4px;
  margin:8px 0 6px 43px;
  overflow:hidden;
  border-radius:999px;
  background:#203249;
}

.localization-module-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--purple),var(--green));
}

.localization-module-foot{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  margin-left:43px;
}

.localization-language{
  color:var(--green-2);
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

.localization-percent{
  color:#90a7bd;
  font-size:9px;
  font-weight:800;
}

.localization-module-actions{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  margin-left:auto;
}

.localization-inline-action{
  padding:0;
  border:0;
  background:transparent;
  color:var(--green-2);
  font:inherit;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}

.localization-inline-action.delete{
  color:#ff8092;
}

.localization-inline-action.retry{
  color:#ffc864;
}

/* RIGHT — exactly six workflow steps, always on the same line */
.localization-flow{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:11px 13px;
}

.localization-stepper{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(68,103,128,.3) !important;
  border-radius:9px !important;
}

.localization-stepper > span,
.localization-stepper > button{
  min-height:50px !important;
  padding:9px 6px 13px !important;
}

.localization-stepper b{
  font-size:8px !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

.localization-guidance{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:7px 3px 0;
}

.localization-guidance strong{
  flex:0 0 auto;
  color:#fff;
  font-size:10px;
}

.localization-guidance span{
  min-width:0;
  overflow:hidden;
  color:#9fb2c7;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.localization-reopen{
  flex:0 0 auto;
  margin-left:auto;
  padding:0;
  border:0;
  background:transparent;
  color:#79d9c5;
  font:inherit;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
  white-space:nowrap;
}

/* Never stack the module and workflow vertically.
   Smaller screens may scroll horizontally instead of breaking a row. */
@media(max-width:1100px){
  .localization-lines{
    overflow-x:auto;
  }

  .localization-row{
    grid-template-columns:340px 700px;
    min-width:1040px;
  }
}


/* ============================================================
   v6.3.26 — same-project row cohesion + elapsed + action feedback
   ============================================================ */

.localization-row{
  align-items:stretch !important;
  min-height:118px !important;
  background:#0a1d2d !important;
}

.localization-module,
.localization-flow{
  height:100%;
  background:transparent !important;
}

.localization-module{
  border-right:1px solid rgba(91,122,148,.34) !important;
}

.localization-flow{
  border:0 !important;
}

.localization-module-foot{
  flex-wrap:nowrap !important;
}

.localization-elapsed{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
  padding:2px 6px;
  border:1px solid rgba(116,145,171,.25);
  border-radius:999px;
  color:#b6c7d8;
  background:rgba(6,17,29,.35);
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}

.localization-stepper > button.is-busy,
.module-flow-stepper > button.is-busy{
  cursor:wait !important;
  filter:saturate(.75) brightness(.95);
}

.localization-stepper > button.is-busy b,
.module-flow-stepper > button.is-busy b{
  animation:flow-busy-pulse .8s ease-in-out infinite alternate;
}

@keyframes flow-busy-pulse{
  from{opacity:.55}
  to{opacity:1}
}


/* ============================================================
   v6.3.27 — REAL NEW VOICE
   ============================================================ */
.voice-settings{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:12px 0 0;
  padding:12px 14px;
  border:1px solid rgba(56,226,185,.30);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(10,34,44,.92),rgba(8,25,39,.96));
}
.voice-settings[hidden]{display:none!important}
.voice-settings-copy{display:flex;align-items:center;gap:10px;min-width:0;color:#7ff0d1}
.voice-settings-copy div{min-width:0}
.voice-settings-copy strong,.voice-settings-copy small{display:block}
.voice-settings-copy strong{font-size:11px;letter-spacing:.06em}
.voice-settings-copy small{margin-top:3px;color:#9db3c8;font-size:10px}
.voice-select-field{display:flex;align-items:center;gap:8px;color:#aebfd0;font-size:10px;font-weight:800;white-space:nowrap}
.voice-select-field select{
  min-width:132px;
  padding:8px 28px 8px 10px;
  border:1px solid rgba(115,146,173,.35);
  border-radius:8px;
  color:#eef7ff;
  background:#091c2d;
}
.glow-option:disabled{
  opacity:.32!important;
  cursor:not-allowed!important;
  filter:none!important;
}


/* ============================================================
   v6.3.28 — consolidated queue + always-visible timeline
   ============================================================ */

/* Processing queue: NEVER require the ugly horizontal adjustment bar. */
.localization-lines-panel{
  overflow:visible !important;
}

.localization-lines{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
  scrollbar-width:none !important;
}

.localization-lines::-webkit-scrollbar{
  display:none !important;
}

.localization-row{
  display:grid !important;
  grid-template-columns:minmax(235px,30%) minmax(0,1fr) !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:112px !important;
  align-items:stretch !important;
  overflow:hidden !important;
}

.localization-module,
.localization-flow{
  min-width:0 !important;
  width:auto !important;
}

.localization-module{
  padding:10px 11px !important;
}

.localization-module-copy strong{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.localization-module-foot{
  margin-left:39px !important;
  gap:6px !important;
}

.localization-module-actions{
  min-width:0 !important;
  overflow:hidden !important;
}

.localization-inline-action{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.localization-flow{
  padding:10px 11px !important;
}

.localization-stepper{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.localization-stepper > span,
.localization-stepper > button{
  width:100% !important;
  min-width:0 !important;
  min-height:48px !important;
  padding:8px 4px 12px !important;
  overflow:hidden !important;
}

.localization-stepper b{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:7.8px !important;
  line-height:1.15 !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.localization-guidance{
  min-width:0 !important;
  overflow:hidden !important;
}

.localization-guidance strong,
.localization-guidance span{
  min-width:0 !important;
}

@media(max-width:980px){
  .localization-row{
    grid-template-columns:minmax(205px,28%) minmax(0,1fr) !important;
  }
  .localization-module-foot{
    margin-left:0 !important;
  }
  .localization-elapsed{
    display:none !important;
  }
  .localization-stepper b{
    font-size:7px !important;
  }
}

/* Timeline is no longer a hidden secondary screen. */
.media-timeline{
  display:block;
  margin-top:14px;
  border:1px solid rgba(75,111,143,.34);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(8,24,39,.98),rgba(7,20,34,.98));
}

.media-timeline[hidden]{
  display:none !important;
}

/* Text/subtitle immediately under the timeline. */
.timeline-text-panel{
  margin-top:9px;
  padding:13px 14px 14px;
  border:1px solid rgba(75,111,143,.30);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(8,24,39,.98),rgba(7,20,34,.98));
}

.timeline-text-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}

.timeline-text-head h3{
  margin:2px 0 3px;
}

.timeline-text-head p{
  margin:0;
  color:#8fa7bd;
  font-size:10px;
}

.timeline-text-extract-all{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(37,214,155,.40);
  border-radius:8px;
  color:#9cf1d6;
  background:rgba(37,214,155,.08);
  font:inherit;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}

.timeline-text-list{
  display:grid;
  gap:8px;
}

.timeline-text-block{
  overflow:hidden;
  border:1px solid rgba(86,119,149,.25);
  border-radius:10px;
  background:rgba(4,16,28,.42);
}

.timeline-text-block > header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:35px;
  padding:7px 10px;
  border-bottom:1px solid rgba(86,119,149,.18);
}

.timeline-text-block > header small{
  min-width:0;
  overflow:hidden;
  color:#7f98ae;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.timeline-text-kind{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
  color:#d9e6f2;
  font-size:9px;
  font-weight:900;
}

.timeline-text-kind.audio{color:#ffcb68}
.timeline-text-kind.video{color:#8fb7ff}
.timeline-text-kind.text{color:#77e4c2}

.timeline-copy-lines{
  display:grid;
  gap:5px;
  padding:9px 10px 10px;
}

.timeline-copy-lines p{
  margin:0;
  color:#d8e3ee;
  font-size:10px;
  line-height:1.45;
}

.timeline-transcript-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
}

.timeline-transcript-column{
  min-width:0;
  padding:9px 10px 10px;
}

.timeline-transcript-column + .timeline-transcript-column{
  border-left:1px solid rgba(86,119,149,.18);
}

.timeline-transcript-column label{
  display:block;
  margin-bottom:5px;
  color:#7892aa;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.timeline-transcript-text{
  max-height:132px;
  overflow:auto;
  color:#e1e9f1;
  font-size:10px;
  line-height:1.5;
  white-space:pre-wrap;
}

.timeline-transcript-text.target{
  color:#aaf0d7;
}

.timeline-transcript-text.empty-target{
  color:#70869b;
  font-style:italic;
}

.timeline-transcript-empty{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  color:#8299ad;
  font-size:9px;
}

.timeline-transcript-empty.action{
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:#72dabe;
  font:inherit;
  font-size:9px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}

.timeline-transcript-empty.processing{
  color:#b7c5d3;
}

.timeline-text-empty{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:54px;
  padding:10px;
  color:#788fa5;
  font-size:10px;
}

@media(max-width:820px){
  .timeline-text-head{
    align-items:stretch;
    flex-direction:column;
  }
  .timeline-text-extract-all{
    width:100%;
    justify-content:center;
  }
  .timeline-transcript-grid{
    grid-template-columns:1fr;
  }
  .timeline-transcript-column + .timeline-transcript-column{
    border-top:1px solid rgba(86,119,149,.18);
    border-left:0;
  }
}


/* ============================================================
   v6.3.29 — Storyline layer-aware media timeline
   ============================================================ */

.timeline-layer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:34px;
  padding:7px 10px;
  border-top:1px solid rgba(99,132,160,.30);
  border-bottom:1px solid rgba(99,132,160,.18);
  background:rgba(8,22,36,.88);
}

.timeline-layer-header:first-child{
  border-top:0;
}

.timeline-layer-header > span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
}

.timeline-layer-header strong{
  color:#e7f0f7;
  font-size:10px;
}

.timeline-layer-header small{
  color:#829cb3;
  font-size:9px;
  text-align:right;
}

.timeline-layer-header.base{
  box-shadow:inset 3px 0 0 #55dec0;
}

.timeline-layer-header.triggered{
  box-shadow:inset 3px 0 0 #9a7fff;
  background:rgba(22,20,51,.55);
}

.timeline-layer-header.triggered strong{
  color:#c8baff;
}

.timeline-layer-header.unmapped{
  box-shadow:inset 3px 0 0 #e1a84c;
}

.timeline-media-layer{
  color:#c9bcff;
  font-weight:900;
}

.timeline-row + .timeline-layer-header{
  margin-top:3px;
}


/* ============================================================
   v6.3.30 — live pipeline health / no silent waiting
   ============================================================ */

.pipeline-live{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:6px;
  min-width:0;
  margin-top:6px;
  padding:5px 7px;
  border:1px solid rgba(93,124,150,.24);
  border-radius:8px;
  background:rgba(4,15,26,.46);
  font-size:8.5px;
}

.pipeline-live-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#5b7187;
  box-shadow:0 0 0 3px rgba(91,113,135,.10);
}

.pipeline-live strong{
  white-space:nowrap;
  color:#dce7f0;
  font-size:8.5px;
}

.pipeline-live > span:not(.pipeline-live-dot){
  min-width:0;
  overflow:hidden;
  color:#99afc2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pipeline-live small{
  white-space:nowrap;
  color:#738ca2;
  font-size:8px;
}

.pipeline-live.ok{
  border-color:rgba(37,214,155,.28);
}

.pipeline-live.ok .pipeline-live-dot{
  background:#25d69b;
  box-shadow:0 0 0 3px rgba(37,214,155,.12);
  animation:pipeline-live-pulse 1.35s ease-in-out infinite;
}

.pipeline-live.ok strong{ color:#84edca; }

.pipeline-live.waiting{
  border-color:rgba(103,168,255,.28);
}
.pipeline-live.waiting .pipeline-live-dot{
  background:#67a8ff;
  box-shadow:0 0 0 3px rgba(103,168,255,.12);
}
.pipeline-live.waiting strong{ color:#9bc4ff; }

.pipeline-live.warning{
  border-color:rgba(255,184,76,.36);
  background:rgba(74,48,9,.16);
}
.pipeline-live.warning .pipeline-live-dot{
  background:#ffb84c;
  box-shadow:0 0 0 3px rgba(255,184,76,.12);
}
.pipeline-live.warning strong{ color:#ffd28d; }

.pipeline-live.error{
  border-color:rgba(255,103,126,.40);
  background:rgba(74,10,25,.17);
}
.pipeline-live.error .pipeline-live-dot{
  background:#ff677e;
  box-shadow:0 0 0 3px rgba(255,103,126,.12);
}
.pipeline-live.error strong{ color:#ff9cad; }

@keyframes pipeline-live-pulse{
  0%,100%{ transform:scale(.92); opacity:.65; }
  50%{ transform:scale(1.12); opacity:1; }
}

@media(max-width:980px){
  .pipeline-live{
    grid-template-columns:auto auto minmax(0,1fr);
  }
  .pipeline-live small{
    display:none;
  }
}


/* ============================================================
   v6.3.31 — AI narration timing fit
   ============================================================ */

.timing-fit-option{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-width:0;
  margin-left:auto;
  padding:8px 10px;
  border:1px solid rgba(120,99,255,.28);
  border-radius:10px;
  background:rgba(112,87,235,.08);
  cursor:pointer;
}

.timing-fit-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.timing-fit-toggle{
  position:relative;
  width:30px;
  height:17px;
  border-radius:999px;
  background:#263c50;
  box-shadow:inset 0 0 0 1px rgba(120,151,176,.26);
  transition:.16s ease;
}

.timing-fit-toggle::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#8ba2b7;
  transition:.16s ease;
}

.timing-fit-option input:checked + .timing-fit-toggle{
  background:rgba(37,214,155,.28);
  box-shadow:inset 0 0 0 1px rgba(37,214,155,.50);
}

.timing-fit-option input:checked + .timing-fit-toggle::after{
  transform:translateX(13px);
  background:#56e4bb;
}

.timing-fit-copy{
  display:block;
  min-width:0;
}

.timing-fit-copy strong,
.timing-fit-copy small{
  display:block;
}

.timing-fit-copy strong{
  color:#e6eef6;
  font-size:9px;
}

.timing-fit-copy small{
  margin-top:2px;
  color:#8299ae;
  font-size:8px;
  line-height:1.35;
}

.timing-fit-badge{
  display:inline-flex;
  align-items:center;
  margin-left:5px;
  padding:1px 5px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}

.timing-fit-badge.fit,
.timing-fit-badge.fit_with_tail{
  color:#93efd0;
  background:rgba(37,214,155,.12);
  border:1px solid rgba(37,214,155,.30);
}

.timing-fit-badge.needs_review{
  color:#ff9dad;
  background:rgba(255,103,126,.10);
  border:1px solid rgba(255,103,126,.32);
}

.timing-fit-badge.longer_than_original,
.timing-fit-badge.longer_than_target{
  color:#ffd080;
  background:rgba(255,184,76,.10);
  border:1px solid rgba(255,184,76,.30);
}

@media(max-width:980px){
  .timing-fit-option{
    grid-column:1/-1;
    margin-left:0;
  }
}

/* ============================================================
   v6.3.33 — explicit AI authorization + A/B media timeline
   ============================================================ */

.adaptation-consent{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin-top:10px;
  padding:10px 11px;
  border:1px solid rgba(255,184,76,.42);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(255,184,76,.09),rgba(115,94,255,.055));
}
.adaptation-consent-icon{
  width:31px;height:31px;display:grid;place-items:center;border-radius:8px;
  color:#ffc36b;background:rgba(255,184,76,.12);
}
.adaptation-consent label{cursor:pointer;min-width:0}
.adaptation-consent-title{display:block;color:#ffd08a;font-size:9px;font-weight:900;letter-spacing:.055em}
.adaptation-consent-copy{display:block;margin-top:3px;color:#9bacc0;font-size:8.5px;line-height:1.45}
.adaptation-consent input{width:18px;height:18px;accent-color:#25d69b;cursor:pointer}

.media-output-summary{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;
}
.media-output-summary span{
  padding:5px 7px;border:1px solid rgba(100,129,157,.28);border-radius:7px;
  color:#91a7ba;background:rgba(5,16,29,.48);font-size:8.5px;
}
.media-output-summary b{color:#dbe6ef;margin-right:3px}

.timeline-ab-group{
  border-bottom:1px solid var(--line-soft);
  background:rgba(7,18,31,.32);
}
.timeline-ab-group.selected{box-shadow:inset 3px 0 0 rgba(125,103,255,.6)}
.timeline-ab-group .timeline-row{border-bottom:1px solid rgba(49,72,99,.36)}
.timeline-ab-group .timeline-row:last-of-type{border-bottom:0}
.timeline-variant{min-height:43px}
.timeline-variant.original{opacity:.84}
.timeline-variant.output-active{background:rgba(37,214,155,.035)}
.timeline-variant .variant-label{cursor:default}
.timeline-variant.original .variant-label>svg{color:#a5b5c5;background:rgba(133,153,173,.11)}
.timeline-variant.localized .variant-label>svg{color:#7ee5c2;background:rgba(37,214,155,.11)}
.timeline-variant .timeline-row-label{grid-template-columns:25px minmax(0,1fr) auto}
.timeline-variant .timeline-row-label small{font-variant-numeric:tabular-nums}
.timeline-clip.clip-original{border-color:rgba(139,161,180,.45);background:linear-gradient(180deg,rgba(104,128,148,.34),rgba(58,79,99,.35));color:#d4dee7}
.timeline-clip.clip-localized{border-color:rgba(37,214,155,.65);background:linear-gradient(180deg,rgba(37,214,155,.28),rgba(22,132,105,.28));color:#dffff3}

.media-variant-play{
  min-width:43px;height:24px;display:inline-flex;align-items:center;justify-content:center;gap:3px;
  padding:0 6px;border:1px solid rgba(110,139,164,.34);border-radius:6px;
  color:#c9d6e1;background:rgba(10,25,42,.72);font-size:7.5px;font-weight:850;cursor:pointer;
}
.media-variant-play:hover{border-color:#6e8ba5;color:#fff}
.media-variant-play.unavailable{opacity:.45;cursor:default}

.media-ab-controls{
  display:flex;align-items:center;gap:6px;padding:6px 10px 7px 148px;
  background:rgba(5,15,27,.62);font-size:8px;
}
.media-ab-controls>span{margin-right:2px;color:#758ba0;font-size:7px;font-weight:900;letter-spacing:.08em}
.media-output-choice{
  height:24px;padding:0 8px;border:1px solid rgba(98,126,151,.35);border-radius:6px;
  color:#9fb0bf;background:#0b1b2d;font-size:8px;font-weight:850;cursor:pointer;
}
.media-output-choice:hover{border-color:#708aa2;color:#eaf2f8}
.media-output-choice.active{border-color:rgba(37,214,155,.58);color:#9cf0d3;background:rgba(37,214,155,.10)}
.media-output-choice.localized.active{border-color:rgba(116,95,245,.75);color:#c8bdff;background:rgba(116,95,245,.14)}
.media-output-choice.off.active{border-color:rgba(255,103,126,.62);color:#ffabb8;background:rgba(255,103,126,.10)}
.media-output-choice:disabled{opacity:.35;cursor:not-allowed}
.media-output-subtitles{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:#aebdca;font-size:8px;cursor:pointer}
.media-output-subtitles input{accent-color:#25d69b}
.media-output-subtitles.global-off{opacity:.42;cursor:not-allowed}

.timing-fit-badge.shorter_than_window{
  color:#ffd080;background:rgba(255,184,76,.10);border:1px solid rgba(255,184,76,.30);
}

@media(max-width:980px){
  .adaptation-consent{grid-template-columns:auto minmax(0,1fr) auto}
  .media-ab-controls{padding-left:10px;flex-wrap:wrap}
}

/* ============================================================
   v6.3.38 — reliable media controls, pending media and modal fit
   ============================================================ */
.voice-settings{
  display:grid;
  width:100%;
  grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);
  align-items:center;
  justify-content:stretch;
  gap:12px 18px;
}
.voice-settings-copy{
  grid-column:1/-1;
  justify-content:center;
  max-width:780px;
  margin:0 auto;
  text-align:center;
}
.voice-select-field{
  min-width:0;
  white-space:normal;
}
.voice-select-field select{width:100%;min-width:0}
#videoOriginalAudioField{
  display:grid;
  grid-template-columns:auto minmax(260px,1fr);
  align-items:center;
  justify-self:stretch;
  gap:6px 10px;
}
#videoOriginalAudioField small{
  grid-column:1/-1;
  color:#9db3c8;
  text-align:center;
}
.voice-settings .timing-fit-option{
  grid-column:1/-1;
  width:100%;
  margin-left:0;
}

.media-variant-controls{display:inline-flex;align-items:center;gap:2px}
.media-variant-controls .media-variant-play{min-width:22px;width:22px;padding:0}
.media-variant-controls .media-variant-play span{display:none}
.media-variant-play.active,
.asset-preview-controls button.active{
  border-color:rgba(37,214,155,.68);
  color:#9cf0d3;
  background:rgba(37,214,155,.12);
}

.asset-preview-controls{
  display:flex;
  justify-content:center;
  gap:6px;
  padding:8px 10px 0;
}
.asset-preview-controls button{
  height:29px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 9px;
  border:1px solid rgba(110,139,164,.34);
  border-radius:7px;
  color:#c9d6e1;
  background:rgba(10,25,42,.72);
  font-size:8px;
  font-weight:850;
}

.media-pending-notice{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 16px;
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(255,184,76,.42);
  border-radius:11px;
  background:linear-gradient(135deg,rgba(89,55,7,.2),rgba(38,24,56,.22));
}
.media-pending-notice[hidden]{display:none!important}
.media-pending-heading{display:flex;align-items:flex-start;gap:10px;min-width:0}
.media-pending-heading>svg{flex:0 0 auto;color:#ffc46d;margin-top:2px}
.media-pending-heading h3{margin:2px 0 0;color:#ffe2b3;font-size:14px}
.media-pending-heading p{margin:4px 0 0;color:#aebdca;font-size:9px;line-height:1.45}
.media-pending-items{grid-column:1/-1;display:grid;gap:7px}
.media-pending-items article{
  display:grid;
  grid-template-columns:auto minmax(120px,.55fr) minmax(160px,1fr);
  gap:4px 9px;
  padding:8px 9px;
  border:1px solid rgba(255,184,76,.2);
  border-radius:8px;
  background:rgba(5,15,27,.5);
}
.media-pending-items strong{color:#ffd28d;font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace}
.media-pending-items span{overflow:hidden;color:#e8eef5;font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.media-pending-items small{color:#8399ae;font-size:8px}
.media-pending-items p{grid-column:1/-1;margin:2px 0 0;color:#aab8c5;font-size:8px;line-height:1.4}
.media-pending-retry{
  align-self:start;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(255,184,76,.45);
  border-radius:8px;
  color:#ffe1ac;
  background:rgba(255,184,76,.1);
  font-size:9px;
  font-weight:850;
}
.media-pending-retry:disabled{opacity:.58;cursor:wait}

@media(max-width:760px){
  .voice-settings{grid-template-columns:1fr;padding:12px}
  .voice-settings-copy,.voice-settings .timing-fit-option{grid-column:1}
  #videoOriginalAudioField{grid-template-columns:1fr}
  #videoOriginalAudioField small{grid-column:1;text-align:left}
  .media-pending-notice{grid-template-columns:1fr}
  .media-pending-retry{justify-self:start}
  .media-pending-items article{grid-template-columns:1fr}
  .media-pending-items p{grid-column:1}
}

/* ============================================================
   v6.3.39 — compact project delete control
   ============================================================ */
@media(max-width:980px){
  .localization-module-foot{margin-left:39px!important}
}

.visual-review-choice { display: flex; align-items: center; min-height: 32px; padding: 7px 9px; border: 1px solid rgba(37, 214, 155, .28); border-radius: 7px; color: #bcebd8; background: rgba(37, 214, 155, .07); font-size: 8px; font-weight: 800; line-height: 1.35; letter-spacing: .035em; text-align: center; }

.timeline-variant.localized.awaiting { opacity: .7; }
.timeline-variant.localized.awaiting .variant-label > svg { color: #9fe7d1; background: rgba(37,214,155,.08); }
.timeline-clip.clip-localized.awaiting { border-style: dashed; border-color: rgba(111, 225, 187, .45); background: repeating-linear-gradient(135deg, rgba(37,214,155,.13) 0 7px, rgba(22,132,105,.12) 7px 14px); color: #b9edda; }

.timeline-waveform.localized-waveform { opacity: .9; }
.timeline-waveform.localized-waveform i { background: rgba(207, 255, 236, .82); box-shadow: 0 0 3px rgba(104, 255, 202, .18); }

.images-localization-state {
  margin: 10px 0 0;
  padding: 9px 11px;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 10px;
  color: #aab8cf;
  font-size: .78rem;
  line-height: 1.35;
}
.images-localization-state.selected {
  border-color: rgba(53,222,158,.68);
  background: rgba(36,208,143,.10);
  color: #a7f3d0;
}

.review-visual-attention {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(255, 191, 77, .34);
  border-radius: .9rem;
  background: rgba(255, 191, 77, .055);
}
.review-visual-attention > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.review-visual-attention h3 { margin: 0; font-size: 1rem; }
.review-visual-attention p { margin: .35rem 0 0; color: #c6d1df; font-size: .78rem; line-height: 1.45; }
.review-visual-attention-items { display: grid; gap: .55rem; margin-top: .8rem; }
.review-visual-attention-items article { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .55rem; border: 1px solid rgba(255,255,255,.09); border-radius: .65rem; background: rgba(5,14,26,.34); }
.review-visual-attention-items img { width: 48px; height: 36px; object-fit: cover; border-radius: .35rem; background: #091525; }
.review-visual-attention-items strong, .review-visual-attention-items small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.review-visual-attention-items strong { font-size: .77rem; }
.review-visual-attention-items small { margin-top: .14rem; color: #aab8ca; font-size: .68rem; }
@media (max-width: 720px) { .review-visual-attention > header { align-items: flex-start; flex-direction: column; } .review-visual-attention-items article { grid-template-columns: 42px minmax(0,1fr); } .review-visual-attention-items article button { grid-column: 2; justify-self: start; } }

/* Immediate upload acknowledgement and safe cancellation. */
.upload-preparing-modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 20px; }
.upload-preparing-backdrop { position: absolute; inset: 0; background: rgba(3, 10, 19, .72); backdrop-filter: blur(5px); }
.upload-preparing-dialog { position: relative; width: min(440px, 100%); padding: 30px; overflow: hidden; border: 1px solid rgba(37, 214, 155, .42); border-radius: 18px; background: radial-gradient(circle at 50% -12%, rgba(37, 214, 155, .16), transparent 46%), linear-gradient(155deg, #112940, #091828 74%); box-shadow: 0 34px 100px rgba(0, 0, 0, .56); text-align: center; }
.upload-preparing-dialog h2 { margin: 11px 0 8px; color: #f3f7fc; font-size: 24px; letter-spacing: -.45px; }
.upload-preparing-dialog > p { max-width: 340px; margin: 0 auto; color: #aebdce; font-size: 14px; line-height: 1.55; }
.upload-preparing-orbit { width: 54px; height: 54px; display: inline-grid; place-items: center; border: 1px solid rgba(37, 214, 155, .4); border-radius: 50%; color: var(--green); background: rgba(37, 214, 155, .09); }
.upload-preparing-orbit svg { animation: upload-preparing-spin 1.15s linear infinite; }
.upload-preparing-file { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 9px; align-items: center; margin: 22px 0 17px; padding: 12px 14px; border: 1px solid rgba(121, 147, 180, .24); border-radius: 10px; color: #d9e4ef; background: rgba(4, 14, 26, .46); text-align: left; }
.upload-preparing-file > i { grid-row: 1 / span 2; color: var(--green); }
.upload-preparing-file span { overflow: hidden; font-weight: 700; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.upload-preparing-file small { color: #94a6ba; font-size: 11px; }
.upload-preparing-cancel { min-width: 164px; min-height: 40px; border: 1px solid rgba(255, 117, 139, .52); border-radius: 9px; color: #ffdce3; background: rgba(129, 29, 51, .22); font-weight: 800; font-size: 12px; letter-spacing: .2px; }
.upload-preparing-cancel:hover { border-color: #ff8fa3; background: rgba(153, 36, 61, .38); }
.upload-preparing-cancel:disabled { cursor: wait; opacity: .62; }
.upload-preparing-note { display: block; margin: 13px auto 0; color: #8294a8; font-size: 11px; line-height: 1.45; }
@keyframes upload-preparing-spin { to { transform: rotate(360deg); } }
@media (max-width: 560px) { .upload-preparing-dialog { padding: 25px 18px; } .upload-preparing-dialog h2 { font-size: 21px; } }

/* Guided correction requests inside Module Review. */
.guided-review-form > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.guided-review-form h3 { margin:3px 0 5px; font-size:14px; }
.guided-review-form header p { margin:0; color:#b7c5d7; font-size:11px; line-height:1.45; max-width:650px; }
.review-issue-count { flex:0 0 auto; padding:6px 9px; border:1px solid rgba(255,185,82,.35); border-radius:999px; color:#ffd69d; background:rgba(255,185,82,.09); font-size:10px; font-weight:800; }
.guided-review-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:10px 0; }
.guided-review-form select,.guided-review-form input { width:100%; min-height:38px; padding:8px 10px; border:1px solid rgba(255,185,82,.34); border-radius:7px; color:#fff; background:#081523; font:inherit; font-size:12px; }
.guided-review-form select:focus,.guided-review-form input:focus,.guided-review-form textarea:focus { outline:2px solid rgba(255,185,82,.34); outline-offset:1px; }
.guided-review-add { display:flex; align-items:center; gap:10px; margin:10px 0; }
.guided-review-add small { color:#aab8ca; font-size:10px; }
.guided-review-add .secondary { display:inline-flex; align-items:center; gap:6px; }
.review-issue-list { display:grid; gap:7px; margin:8px 0 12px; padding:0; list-style:none; }
.review-issue-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px; border:1px solid rgba(119,208,187,.26); border-radius:8px; background:rgba(20,92,74,.15); }
.review-issue-list strong,.review-issue-list small { display:block; }
.review-issue-list strong { color:#eaf8f3; font-size:11px; }
.review-issue-list small { margin-top:3px; color:#acd9c8; font-size:10px; }
.review-issue-list button { flex:0 0 auto; min-height:30px !important; color:#ffd7d7 !important; border-color:rgba(255,123,123,.35) !important; }
@media (max-width:720px) { .guided-review-form > header { display:grid; } .guided-review-fields { grid-template-columns:1fr; } .review-issue-list li { align-items:flex-start; flex-direction:column; } }

/* The legacy summary remains suppressed, except for the deliberate Module Review card. */
#projectSummary.module-review-host:not([hidden]) { display:block !important; visibility:visible !important; height:auto !important; max-height:none !important; margin-top:16px !important; padding:0 !important; border:0 !important; overflow:visible !important; pointer-events:auto !important; }
#projectSummary.module-review-host:not([hidden]) > :not(#moduleReviewCard) { display:none !important; }
#projectSummary.module-review-host:not([hidden]) > #moduleReviewCard { display:block; }
.review-post-approval-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.review-post-approval-actions[hidden] { display:none !important; }

