:root{color-scheme:dark;--bg:#0b0a0e;--side:#111016;--surface:#17151d;--surface2:#201e29;--line:#302c39;--line2:#423c4c;--text:#f5f2f4;--muted:#9d96a7;--gold:#e6bb75;--purple:#ab91ed;--green:#78c8ad;--danger:#ed9f9e;--shadow:0 18px 90px #0006;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:269px;min-width:269px;min-height:100vh;background:var(--side);border-right:1px solid #28252f;padding:28px 16px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.brand-mark{width:49px;height:49px;border:1.5px solid #d6b77f;border-radius:13px;display:grid;place-items:center;color:var(--gold);font-weight:900;font-size:23px;letter-spacing:-2px;box-shadow:inset 0 0 26px #b9894a15}.brand-mark span{font-size:11px;letter-spacing:-1px;margin-left:-1px}.brand strong{font-size:15px;letter-spacing:2px}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:2.4px;margin-top:5px}.workspace-name{border:1px solid var(--line);border-radius:10px;padding:13px 12px;color:#b6afbc;letter-spacing:1.1px;font-size:10px;display:flex;gap:9px;align-items:center;margin:0 5px 24px}.work-dot{height:7px;width:7px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 13px #6bdab174}.chev{margin-left:auto}.sidebar nav{display:flex;flex-direction:column;gap:5px}.navitem{border:0;background:none;width:100%;border-radius:9px;text-align:left;color:#a9a3ad;padding:12px 14px;display:flex;align-items:center;gap:14px;letter-spacing:.1px}.navitem:hover{background:#24202c;color:white}.navitem.active{background:linear-gradient(90deg,#352b3a,#242029);color:#f4dcbb;box-shadow:inset 3px 0 #d9ac6a}.ico{font-size:20px;width:22px;display:inline-flex;align-items:center;justify-content:center;color:#aa96c4}.navitem.active .ico{color:var(--gold)}.nav-sep{border-top:1px solid var(--line);margin:20px 10px 15px}.nav-caption{font-size:10px;letter-spacing:2px;color:#716b7d;padding:0 14px 8px}.sidebar-bottom{margin-top:auto}.plan-small{padding:17px 15px;border-radius:13px;background:linear-gradient(135deg,#25202c,#16141c);border:1px solid #443748}.plan-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#c6ab8b}.plan-top span:last-child{border:1px solid #77675e;border-radius:5px;padding:2px 5px}.plan-small strong{font-size:24px;display:block;margin-top:13px;color:#fae3c3}.plan-small strong small{color:#a39a9e;font-weight:400;font-size:11px}.plan-small p{font-size:11px;color:#a7a0ac;line-height:1.5}.outline-btn{padding:10px 14px;background:transparent;border:1px solid #6f5a59;border-radius:8px;color:#f0d3ae}.full{width:100%}.copyright{font-size:10px;color:#716b7d;line-height:1.7;padding:21px 9px 0}.main-wrap{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 37px;border-bottom:1px solid #24212b;background:#0f0d14}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:1.3px;color:#88808d}.breadcrumb span:last-child{color:#d5cbd5;letter-spacing:0;font-size:13px}.slash{color:#5d5662}.top-actions{display:flex;align-items:center;gap:17px}.env-pill{font-size:10px;letter-spacing:1px;color:#b0a0bf;border:1px solid #41384e;border-radius:40px;padding:8px 11px;white-space:nowrap}.env-pill .work-dot{background:#ddae65;box-shadow:none}.credits-chip{background:#201a27;border:1px solid #4b3955;border-radius:9px;color:#f1e3cc;padding:9px 13px;font-weight:700;white-space:nowrap}.credits-chip span:first-child{color:var(--gold)}.credits-chip small{color:#9f97a8;font-weight:400;margin-left:4px}.profile-avatar{border:1px solid #66566f;background:#382b41;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;color:#f4d2bb}.hamburger{display:none;background:none;border:0;color:white;font-size:23px}main{width:100%;max-width:1580px;margin:0 auto;padding:38px 42px 72px;flex:1}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase;font-weight:700}.title{font-size:32px;line-height:1.2;letter-spacing:-.9px;font-weight:700;margin:11px 0}.muted{color:var(--muted)}.lead{font-size:14px;line-height:1.8;color:#aea7b8}.section-header{display:flex;align-items:center;justify-content:space-between;margin:29px 0 16px;gap:18px}.section-header h2{font-size:17px;font-weight:600;margin:0}.section-header small{font-size:12px;color:var(--muted)}.primary{background:linear-gradient(100deg,#d9b27a,#f1d4a8);border:0;color:#221916;border-radius:9px;padding:12px 18px;font-weight:750;box-shadow:0 8px 28px #b8894636}.primary:hover{filter:brightness(1.07)}.btn{border:1px solid #665871;background:#25202d;color:#f2eaf4;border-radius:9px;padding:11px 16px;font-weight:600}.btn:hover{border-color:#a78abb}.btn-small{padding:8px 11px;border-radius:7px;font-size:11px}.btn-danger{border-color:#77434a;background:#362124;color:#ffcecd}.ghost{border:0;background:transparent;color:var(--gold);padding:6px}.hero{background:radial-gradient(circle at 79% 35%,#4c354b91,transparent 37%),linear-gradient(122deg,#231a27,#17131b 73%);border:1px solid #50394e;border-radius:18px;min-height:248px;padding:37px 40px;position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:20px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:42px;font-weight:400;line-height:1.12;margin:16px 0 13px;letter-spacing:-1.3px}.hero h1 em{color:var(--gold);font-style:normal}.hero .lead{max-width:540px;margin-bottom:25px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-art{width:40%;min-width:230px;position:relative;display:grid;place-items:center}.film-frame{height:166px;width:250px;border:1px solid #ab875f9c;border-radius:10px;transform:rotate(-8deg);box-shadow:0 10px 45px #0008;position:absolute;background:radial-gradient(circle at 53% 31%,#856e85,#2d243a 37%,#131017 75%);display:grid;place-items:center;font-family:Georgia,serif;color:#f0c594;font-size:70px}.film-frame:before,.film-frame:after{content:'';position:absolute;top:9px;bottom:9px;width:8px;background:repeating-linear-gradient(to bottom,#ab835c 0 7px,transparent 7px 18px);opacity:.6}.film-frame:before{left:9px}.film-frame:after{right:9px}.frame-back{transform:translate(33px,-17px) rotate(11deg);opacity:.4}.card{border:1px solid var(--line);background:linear-gradient(135deg,#1a1720,#17151c);border-radius:14px;padding:21px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.stat{padding:20px 22px}.stat small{color:#a59bac;font-size:11px}.stat strong{display:block;font-size:28px;letter-spacing:-.5px;margin-top:8px}.stat .trend{font-size:11px;color:#c8b5ca;margin-top:6px}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.meta-row{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:10px;color:#b8a8bf;border:1px solid #514459;background:#221d2a;padding:5px 8px;border-radius:6px}.tag.gold{background:#3b302a;color:#f2ce9a;border-color:#786046}.tag.good{background:#213b36;border-color:#355c52;color:#90d6b7}.project-card{display:flex;align-items:center;gap:21px}.poster{width:104px;min-width:104px;height:137px;border-radius:8px;background:radial-gradient(circle at 58% 21%,#957c6b,#3b3741 42%,#12141b 80%);display:flex;align-items:flex-end;padding:11px;font-size:13px;color:#f5dec1;font-family:Georgia,serif;line-height:1.15;box-shadow:0 14px 30px #0006}.project-info{flex:1}.project-info h3{font-size:18px;margin:8px 0}.project-info p{font-size:12px;color:#aaa2b0;line-height:1.7}.progress{height:6px;background:#34303a;border-radius:12px;overflow:hidden;margin:14px 0}.progress span{height:100%;display:block;background:linear-gradient(90deg,#bd92e3,#e1be8d)}.activity{display:flex;align-items:start;gap:12px;padding:13px 0;border-bottom:1px solid #322d39}.activity:last-child{border:0}.activity-dot{display:grid;place-items:center;border-radius:9px;background:#342c39;color:#d8b88a;width:33px;height:33px;flex-shrink:0}.activity strong{font-size:12px}.activity p{margin:6px 0 0;color:#a49aaa;font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.field{display:flex;flex-direction:column;gap:8px}.field label{color:#bdb4c2;font-size:12px}.field input,.field select,.field textarea{border:1px solid #4c4456;background:#110f17;border-radius:9px;padding:12px 13px;outline:0;color:#f8f5f6;width:100%;min-width:0}.field :is(input,select,textarea):focus{border-color:#b397db;box-shadow:0 0 0 3px #8b68aa2a}.field textarea{resize:vertical;min-height:125px;line-height:1.6}.field small{color:#817b89}.upload-zone{border:1px dashed #775c7a;background:#1c1721;border-radius:12px;padding:27px;text-align:center;position:relative;cursor:pointer}.upload-zone strong{display:block;margin-top:10px}.upload-zone p{color:var(--muted);font-size:11px}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stack{display:flex;flex-direction:column;gap:15px}.cast-card{display:flex;align-items:center;gap:17px}.actor-photo{height:92px;width:76px;min-width:76px;border-radius:8px;background:radial-gradient(circle at 48% 23%,#b09187,#51445b 49%,#29252f 76%);display:grid;place-items:center;font-family:Georgia,serif;font-size:30px;color:#f8dfc6}.actor-photo.variant2{background:radial-gradient(circle at 48% 23%,#a48d83,#3c5261 49%,#26252f 76%)}.actor-photo.variant3{background:radial-gradient(circle at 48% 23%,#b7986d,#56423c 49%,#29252f 76%)}.cast-card h3{margin:0 0 7px}.cast-card p{font-size:12px;color:var(--muted);margin:0 0 10px;line-height:1.4}.look-card{position:relative;overflow:hidden}.look-art{height:162px;border:1px solid #53455a;border-radius:9px;display:grid;place-items:center;font-family:Georgia,serif;font-size:58px;color:#dbc0ae;background:radial-gradient(circle at 50% 22%,#917283,#423746 42%,#1e1a25 80%);margin-bottom:12px}.look-art.casual{background:radial-gradient(circle at 50% 22%,#867b71,#435454 42%,#1d2725 80%)}.look-art.hospital{background:radial-gradient(circle at 50% 22%,#b9b5a7,#586872 42%,#242731 80%)}.look-card h3{margin:0 0 5px;font-size:14px}.look-card p{color:var(--muted);font-size:11px;line-height:1.6;min-height:32px}.scene-card{display:flex;gap:16px;align-items:center;padding:14px}.scene-preview{height:88px;width:154px;min-width:154px;background:linear-gradient(155deg,#5b4e55,#353545 56%,#131219);border-radius:8px;border:1px solid #5d5361;display:flex;align-items:end;justify-content:space-between;padding:11px;font-size:11px;color:#e1c6c1}.scene-card h3{font-size:14px;margin:0 0 7px}.scene-card p{font-size:11px;color:#aaa1b0;margin:0 0 9px}.scene-info{flex:1}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.price-card{border:1px solid #4c3b54;background:#1c1720;border-radius:14px;padding:20px}.price-card.selected{border-color:var(--gold);background:linear-gradient(180deg,#292124,#1a1720)}.price-card .amount{font-size:27px;font-weight:750;margin:14px 0}.price-card p{font-size:12px;color:var(--muted);line-height:1.6}.price-card h3{font-size:13px;margin:0;letter-spacing:.5px}.price-card button{margin-top:9px;width:100%}.feature-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #302a35}.feature-row:last-child{border:0}.feature-row b{font-size:12px}.feature-row span{font-size:12px;color:var(--muted)}.notice{border:1px solid #775c43;background:#32271f;border-radius:10px;padding:16px 17px;color:#e6caa6;line-height:1.65;font-size:12px}.notice.info{border-color:#504968;background:#252231;color:#c4b2e5}.notice.ok{border-color:#466357;background:#20322c;color:#aee3cc}.choice{display:flex;align-items:flex-start;gap:12px;padding:13px 0}.choice input{margin-top:3px;accent-color:var(--gold)}.choice label{font-size:12px;color:#c9bdcd;line-height:1.6}.status-line{display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid var(--line);border-radius:9px;margin-bottom:10px;font-size:12px}.badge{border:1px solid #7b633f;background:#3e3328;color:#edce9a;font-size:10px;border-radius:6px;padding:5px 7px}.badge.gray{background:#282630;border-color:#514a58;color:#b3aabc}.badge.green{background:#22352d;border-color:#436759;color:#98debb}.mono{font-family:ui-monospace,monospace;font-size:11px;color:#bcb0c4}.helper{font-size:11px;color:var(--muted);line-height:1.6}.spacer{height:18px}.inline-action{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tabline{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:40px;text-align:center;color:var(--muted);border:1px dashed #4a4052;border-radius:12px}.empty strong{display:block;color:#e1d7e7;margin-bottom:10px}.footer{display:flex;justify-content:space-between;gap:14px;color:#777080;font-size:10px;padding:17px 42px;border-top:1px solid #25212b}.toast{position:fixed;right:28px;bottom:24px;background:#29212e;border:1px solid #806388;color:#f9e8f6;border-radius:10px;box-shadow:var(--shadow);padding:15px 20px;z-index:25;max-width:350px;display:none}.toast.show{display:block}.modal-backdrop{position:fixed;inset:0;background:#08070bdc;z-index:10;display:grid;place-items:center;padding:24px}.modal-backdrop[hidden]{display:none}.modal-card{background:#211c28;border:1px solid #615069;border-radius:16px;padding:28px;width:min(500px,100%);max-height:90vh;overflow:auto;box-shadow:var(--shadow)}.modal-card h2{font-size:21px;margin:0 0 7px}.modal-card p{color:#aaa1b4;font-size:12px;line-height:1.6}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:19px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stat-ghost{background:linear-gradient(100deg,#28202e,#1c1824)}.status-good{color:var(--green)}.status-gold{color:var(--gold)}.divider{border-top:1px solid var(--line);margin:17px 0}@media(max-width:1130px){.hero-art{display:none}.split{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.price-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{position:fixed;z-index:9;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.hamburger{display:block}.topbar{padding:0 18px}.top-actions{gap:8px}.env-pill{display:none}main{padding:24px 18px 50px}.hero{padding:27px}.hero h1{font-size:34px}.footer{padding:16px 18px}.grid3,.price-grid{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}@media(max-width:520px){.stats{grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:13px}.stat strong{font-size:22px}.grid3,.price-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.project-card{align-items:flex-start}.poster{height:115px;min-width:82px;width:82px}.scene-card{align-items:flex-start}.scene-preview{min-width:90px;width:90px}.title{font-size:27px}.hero h1{font-size:29px}.credits-chip small{display:none}.footer span:last-child{display:none}.breadcrumb span:first-child{display:none}.breadcrumb .slash{display:none}}
/* Small-screen film titles remain inside the poster art, never overlap metadata. */
.poster{overflow:hidden;overflow-wrap:anywhere;font-size:11px}

/* RC1.3 Account and cloud sync controls */
.account-action {background:transparent;color:#f0d9ba;border:1px solid #766251;padding:7px 11px;border-radius:8px;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
button.profile-avatar {cursor:pointer;font-family:inherit;font-size:14px}
.cloud-status{background:#17131c;color:#bdb0c1;padding:9px 22px;font-size:11px;text-align:right;border-top:1px solid #312a37}
.cloud-status.syncing{color:#e7c895}.cloud-status.saved{color:#98debb}.cloud-status.error{color:#ffb3b1}
#account-dialog .modal-card{width:min(530px,100%)}
#account-dialog .auth-tabrow{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}
#account-dialog .auth-tabrow .btn.active{border-color:#d3aa77;color:#ffe0b6}
#account-dialog .form-note{color:#d7c2a7;font-size:12px;line-height:1.6}
#account-dialog .account-email{font-size:13px;color:#e4c59e;overflow-wrap:anywhere}
@media(max-width:720px){.account-action{display:none}.cloud-status{text-align:center}.top-actions{gap:7px}}

/* RC1.4 – wardrobe/shot continuity */
.continuity-missing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px;margin:12px 0}
.missing-item{border:1px solid #493e51;border-radius:10px;padding:11px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.missing-item .btn{margin-left:auto}
.wardrobe-inline{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.assign-actor{border:1px solid #494050;border-radius:9px;padding:12px;display:grid;gap:7px}
#shot-prompt{min-height:230px;white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:11px}
#character-form input[readonly],#character-form textarea[readonly]{opacity:.7;cursor:not-allowed}
/* RC1.5: private actor-reference library */
.reference-modal{width:min(640px,100%)}
.reference-modal .choice{display:flex;align-items:flex-start;color:#cabed1;font-size:12px;line-height:1.6}
.reference-modal .choice input{width:auto;flex-shrink:0;margin-top:5px}
.reference-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;font-size:12px;color:var(--muted);margin-top:12px}
.reference-item{display:flex;align-items:center;gap:10px;border:1px solid #504457;border-radius:9px;background:#19151f;padding:7px;min-width:0}
.reference-thumbnail{width:68px;height:73px;min-width:68px;border-radius:6px;background:#342c3b;display:grid;place-items:center;overflow:hidden;font-size:24px}
.reference-thumbnail img{width:100%;height:100%;object-fit:cover}
.reference-detail{min-width:0;overflow-wrap:anywhere;display:grid;gap:6px}
.reference-detail strong{font-size:11px;color:#f5e8ed}.reference-detail small{color:#a9a0b2;font-size:10px;line-height:1.5}
.ref-error{color:#ffb0bd}
@media(max-width:520px){.reference-gallery{grid-template-columns:1fr}}
.reference-modal [hidden]{display:none!important}

/* RC1.6 safe provider preflight */
.preflight-modal{max-width:900px;max-height:min(93vh,1000px);overflow:auto;width:calc(100% - 20px)}
.preflight-modal .preflight-cost{font-size:1.1rem;font-weight:650;color:var(--gold)}
.preflight-modal .preflight-output{width:100%;min-height:225px;resize:vertical;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.preflight-modal .preflight-list{display:grid;gap:10px;margin-block:12px}
.preflight-modal .preflight-list>div{background:rgba(255,255,255,.025);padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:9px}
.preflight-modal .preflight-list small{display:block;opacity:.75;margin-top:4px}
@media(max-width:650px){.preflight-modal{max-height:92vh}.preflight-modal .form-grid{grid-template-columns:1fr}}

/* RC1.7 – triple wardrobe character identity audit (no-charge) */
.casttest-modal{width:min(980px,100%);max-height:94vh;overflow:auto}
.casttest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:16px 0}
.casttest-shot{border:1px solid #59485f;background:#1a1620;border-radius:12px;padding:12px;min-width:0;display:flex;flex-direction:column;gap:8px}
.casttest-portrait{aspect-ratio:3/2;border-radius:9px;background:radial-gradient(circle at 45% 28%,#6e5268,#201924 70%);display:grid;place-items:center;overflow:hidden;color:#d4b3b8;font-size:38px}
.casttest-portrait img{width:100%;height:100%;object-fit:cover}
.casttest-shot h3{margin:0;font-size:13px}.casttest-shot p{margin:0!important;font-size:11px;line-height:1.55}
.casttest-shot .field select{max-width:100%;width:100%}
.casttest-mono{background:#100f16;color:#dacddb;border:1px solid #4a4051;padding:12px;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 ui-monospace,Consolas,monospace}
.casttest-readiness{padding:11px 14px;border-radius:9px;border:1px solid #665464;background:#29232f;color:#dbccde;font-size:12px;line-height:1.6}
.casttest-readiness strong{display:block;color:#ffe3b0;margin-bottom:4px}
@media(max-width:740px){.casttest-grid{grid-template-columns:1fr}.casttest-portrait{max-height:145px}.casttest-modal{padding:16px;max-height:93vh}}

/* RC1.8 – actor audition budget and storyboard */
.casttest-budget{margin:13px 0;padding:14px 15px;border:1px solid #665243;background:#2b221f;border-radius:10px}
.casttest-budget>strong{color:#f0d0a0;display:block;margin-bottom:11px}
.casttest-budget-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 20px;font-size:12px;color:#d6c7c5}
.casttest-budget-grid b{text-align:right;color:#f9deaa;white-space:nowrap}
.casttest-budget .helper{margin:10px 0 0;color:#b5a79f}


/* RC1.9 transparent quality tiers and client-only quote (never a billable quote). */
.tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.tier-option{display:flex;flex-direction:column;text-align:left;min-width:0;min-height:235px;gap:12px;padding:18px;background:#201a25;border:1px solid #534357;border-radius:14px;color:#e4dce4;cursor:pointer;font:inherit;transition:background .16s,border-color .16s}
.tier-option:hover,.tier-option:focus-visible{border-color:#c9a376}.tier-option.selected{background:linear-gradient(180deg,#322b2b,#211a25);border:2px solid #e8bd81;padding:17px}
.tier-head{display:flex;flex-direction:column;gap:5px}.tier-head b{font-size:14px;color:#f6eee9}.tier-head small{font-size:11px;color:#baa9b6}.tier-price{font-size:27px;color:#efd0a1}.tier-price small{font-size:11px;font-weight:400}.tier-resolution{font-size:12px;color:#b9c9c0}.tier-info{font-size:11px;line-height:1.65;color:#b8abb9}
.tier-quote{margin:14px 0 20px}.tier-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:16px}.tier-config .field small{display:block;color:#b0a5b7;margin-top:6px;font-size:11px}
.tier-dialogue{display:flex;align-items:start;gap:12px;background:#25202c;border:1px solid #50465a;border-radius:12px;padding:14px;margin:14px 0;color:#f0e7e5;cursor:pointer}.tier-dialogue input{flex-shrink:0;accent-color:#e1ba79;margin-top:3px}.tier-dialogue span{display:grid;gap:5px}.tier-dialogue strong{font-size:12px}.tier-dialogue small{font-size:11px;color:#b8acbd;line-height:1.5}
.tier-quote-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.tier-quote-result>div{display:flex;flex-direction:column;gap:8px;padding:13px;border:1px solid #564756;border-radius:10px;min-width:0}.tier-quote-result small{font-size:10px;color:#b7aab9}.tier-quote-result strong{font-size:14px;overflow-wrap:anywhere}.tier-quote-result .tier-total{grid-column:1/-1;background:#312625;border-color:#7d6244}.tier-quote-result .tier-total strong{color:#ffe3ae;font-size:23px}.tier-invalid{color:#ffbab4;font-size:12px}.tier-quote-foot{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:16px}.tier-quote-foot p{flex:1 1 220px;margin:0}.tier-explainer{margin-top:18px}
@media(max-width:1200px){.tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tier-grid{grid-template-columns:1fr}.tier-option{min-height:auto}.tier-config,.tier-quote-result{grid-template-columns:1fr}.tier-quote-result .tier-total{grid-column:auto}.tier-quote-result .tier-total strong{font-size:19px}.tier-quote-foot .btn{width:100%}}

/* RC2.0 – reusable location floorplan and fixed background anchor library */
.set-card .set-map { margin:14px 0 9px; height:172px; position:relative; border:1px solid rgba(208,170,105,.42); border-radius:12px; background: repeating-linear-gradient(0deg,rgba(255,255,255,.035),rgba(255,255,255,.035) 1px,transparent 1px,transparent 17%),repeating-linear-gradient(90deg,rgba(255,255,255,.035),rgba(255,255,255,.035) 1px,transparent 1px,transparent 17%),#17151d; overflow:hidden; }
.set-map-n{position:absolute;top:7px;right:10px;font-size:10px;letter-spacing:.12em;color:#e0cfab}
.set-dot{position:absolute;transform:translate(-50%,-50%);font-size:18px;white-space:nowrap;line-height:1;z-index:1}
.set-dot.anchor{color:#e8c995}.set-dot.camera{color:#9bd9f8;z-index:2}
.set-dot span{display:block;color:#eee4d4;max-width:90px;overflow:hidden;text-overflow:ellipsis;font-size:10px;background:rgba(10,9,15,.78);border-radius:3px;padding:2px 3px;margin-top:3px}
.set-card{min-width:0}.set-card p{overflow-wrap:anywhere}

@media(max-width:800px){.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar nav{flex-shrink:0}}
/* International language selector and multilingual output editor — RC2.1 */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ui-language-picker select{border:1px solid var(--line,#303139);background:var(--panel,#16171d);color:var(--text,#eee);border-radius:8px;padding:8px 9px;max-width:105px;font:inherit;font-size:12px;cursor:pointer}
.lang-dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lang-multi{min-width:0}
.lang-search{margin:8px 0;max-width:100%}
.lang-checklist{max-height:248px;overflow-y:auto;border:1px solid var(--line,#333);border-radius:9px;padding:6px 10px;background:rgba(255,255,255,.015)}
.lang-check{display:flex;align-items:center;gap:9px;padding:6px 4px;font-size:13px;font-weight:400;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer}
.lang-check input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--gold,#caa76e)}
.lang-check[hidden]{display:none}
.lang-add{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.lang-add input{min-width:170px;flex:1 1 200px}.lang-add select{width:auto;flex:0 1 180px}.lang-custom-list{display:flex;flex-wrap:wrap;gap:7px}
.lang-custom-pill{border:1px solid var(--gold,#ba9355);border-radius:18px;background:transparent;color:inherit;padding:5px 12px;font:inherit;font-size:12px;cursor:pointer}
.lang-explain{margin-top:16px}
@media(max-width:720px){.lang-dual{grid-template-columns:1fr}.ui-language-picker select{max-width:92px;font-size:11px;padding:6px}.lang-add input{min-width:145px}.lang-add select{flex:1 1 135px}}
/* RC2.2 Film Music Studio: bilingual post-production planning, not an audio processor */
.music-studio{max-width:1280px;min-width:0}
.music-studio .music-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.music-summary .card{padding:15px 18px;display:flex;flex-direction:column;gap:8px;min-width:0}
.music-summary small{font-size:11px;color:var(--muted)}.music-summary strong{font-size:16px;color:#f0d09a;overflow-wrap:anywhere}
.music-editor{align-items:start;margin-bottom:19px}.music-editor .card{min-width:0}.music-editor .field{margin:10px 0}
.music-editor textarea{min-height:80px}
.music-warning{display:block;font-size:11px;line-height:1.55;margin-top:7px;color:#edbf9d}
.music-toggle{display:flex;align-items:flex-start;gap:12px;background:rgba(240,200,135,.045);border:1px solid #4f4452;border-radius:9px;padding:12px}
.music-toggle input{width:auto;margin-top:3px;flex-shrink:0}.music-toggle span{display:grid;gap:6px}.music-toggle small{font-size:11px;line-height:1.5;color:#b9aaba}
.music-budget{display:grid;gap:10px;margin:14px 0}.music-budget>div{display:flex;gap:12px;justify-content:space-between;align-items:baseline;border-bottom:1px solid #443844;padding-bottom:10px;font-size:12px}.music-budget b{white-space:nowrap}.music-budget .music-total{font-size:14px;color:#f5d8a8;font-weight:700;border:0;background:#332922;border-radius:8px;padding:13px}
.music-cue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.music-cue{min-width:0;background:#201b25;border:1px solid #554755;border-radius:12px;padding:16px;display:grid;gap:14px}
.music-scene-title{display:flex;gap:11px;cursor:pointer;align-items:flex-start}.music-scene-title input{margin-top:3px;width:17px;height:17px;flex-shrink:0}.music-scene-title span{display:grid;gap:7px;min-width:0}.music-scene-title b{font-size:12px;color:#f1e6d6}.music-scene-title small{font-size:11px;color:#b5a9b7;line-height:1.5;overflow-wrap:anywhere}
.music-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.music-controls .field{min-width:0}.music-controls .field label{font-size:10px;display:block;min-height:2.4em}.music-controls input,.music-controls select{width:100%;min-width:0}
.music-cue details{font-size:12px;color:#d5bd9b}.music-prompt{max-height:180px;overflow:auto;color:#c6b7c4;font:11px/1.65 ui-monospace,Consolas,monospace;overflow-wrap:anywhere}
.music-footer{display:flex;align-items:center;gap:12px;margin:17px 0;flex-wrap:wrap}
@media(max-width:930px){.music-cue-grid{grid-template-columns:1fr}}
@media(max-width:680px){.music-studio .music-summary{grid-template-columns:1fr}.music-controls{grid-template-columns:1fr}.music-controls .field label{min-height:auto}.music-footer button{width:100%}}
.music-video-check{margin:16px 0}.music-local-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.music-local-row input{flex:1 1 250px;max-width:100%;min-width:0}.music-local-row button{flex-shrink:0}
@media(max-width:680px){.music-local-row button{width:100%}}
/* ===== RC2.5 review: layout, accessibility and polish ===== */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.navitem:focus-visible,.tier-option:focus-visible{outline-offset:-2px}
.sidebar{overflow-y:auto;scrollbar-width:thin}
.sidebar-bottom{padding-top:18px}
@media (max-height:860px) and (min-width:801px){.sidebar .plan-small p{display:none}.navitem{padding:10px 14px}.brand{padding-bottom:20px}.workspace-name{margin-bottom:16px}}
/* Scene cards: actions as a compact toolbar instead of a tall vertical stack */
.scene-card{display:grid;grid-template-columns:154px minmax(0,1fr);align-items:start;gap:12px 18px}
.scene-card>.stack{grid-column:2;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:2px}
.scene-card>.stack .btn-small{margin:0}
.scene-info .meta-row{flex-wrap:wrap}
@media (max-width:600px){.scene-card{grid-template-columns:1fr}.scene-card>.stack{grid-column:1}.scene-preview{width:100%;min-width:0}}
/* Poster: no mid-word breaks of film titles */
.poster{padding:9px;font-size:10px;letter-spacing:-.2px;overflow-wrap:anywhere;word-break:normal;hyphens:auto;text-wrap:balance}
/* Modal action rows with a destructive action on the left */
.modal-actions{flex-wrap:wrap}
.modal-actions .btn-danger{margin-right:auto}
.reference-delete{margin-top:8px;align-self:flex-start}
.reference-detail{display:flex;flex-direction:column}
.progress+.helper{display:block;margin-top:6px}
/* Mobile navigation: dim the page behind the open drawer */
@media (max-width:800px){.sidebar.open{box-shadow:0 0 0 100vmax #0009}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* RC2.6 provider readiness */
.provider-audit{margin-bottom:22px}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:19px 0}.provider-tile{border:1px solid rgba(205,184,143,.2);padding:13px 15px;border-radius:10px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:8px;min-height:76px}.provider-tile b{font-size:13px}.provider-state{font-size:12px;opacity:.85}.provider-present{color:#91e1b4}.provider-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.provider-controls small{flex:1;min-width:180px}@media(max-width:900px){.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.provider-grid{grid-template-columns:1fr}}
/* RC2.7: read-only provider connection diagnostics. */
.provider-controls {display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.provider-controls small {flex-basis:100%;line-height:1.55}
.provider-state.provider-connected {color:#79dcb5}
.provider-state.provider-error {color:#f3ad8b}
.provider-state.provider-present {color:#c6d7de}
.provider-audit .provider-controls button:disabled {opacity:.5;cursor:wait}

/* RC2.8 Admin TOTP onboarding. Codes and QR data are only held in memory. */
.mfa-card .mfa-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.mfa-card .mfa-panel{margin-top:14px;border-top:1px solid rgba(200,185,150,.22);padding-top:14px}
.mfa-card .mfa-qr{display:block;width:200px;max-width:100%;background:white;padding:12px;border-radius:8px;margin:12px 0}
.mfa-card .mfa-secret{display:block;overflow-wrap:anywhere;font-family:monospace;font-size:.9rem}
.mfa-card input[name="totp-code"]{max-width:14rem;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.mfa-card .mfa-status{display:block;margin:8px 0;min-height:1.3rem}
@media(max-width:540px){.mfa-card .mfa-actions{flex-direction:column}.mfa-card .mfa-actions button{width:100%}}

/* RC2.9 global, non-dismissible processing lock: no fake percent, no background actions. */
.wip-backdrop{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;padding:18px;background:rgba(8,7,13,.91);backdrop-filter:blur(7px);overscroll-behavior:contain}
.wip-backdrop[hidden],.wip-warning[hidden]{display:none!important}
.wip-card{outline:none;width:min(480px,100%);border-radius:18px;padding:30px 30px 24px;color:#f5e9e0;background:linear-gradient(150deg,#2d2532,#17151f 78%);border:1px solid #947451;box-shadow:0 25px 105px rgba(0,0,0,.76);text-align:center}
.wip-card h2{font:600 clamp(21px,4vw,29px)/1.22 Georgia,serif;margin:16px 0 9px}
.wip-card .eyebrow{font-size:10px;letter-spacing:.14em;color:#dfb879}
.wip-card>p{font-size:13px;line-height:1.65;color:#dacbd3}
.wip-spinner{width:40px;height:40px;margin:24px auto 5px;border:3px solid rgba(239,202,152,.18);border-top-color:#e4ba7d;border-radius:50%;animation:wip-spin 1.1s linear infinite}
.wip-track{margin-top:23px;width:100%;height:9px;border-radius:12px;overflow:hidden;background:#514351;text-align:left}
.wip-fill{width:0;height:100%;border-radius:12px;background:linear-gradient(90deg,#b88a57,#ffe2ae);transition:width .24s ease-out}
.wip-fill.indeterminate{animation:wip-sweep 1.75s ease-in-out infinite;position:relative}
.wip-meta{margin:10px 0 20px;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#d0bbcb;font-variant-numeric:tabular-nums}
.wip-meta>span:first-child{min-width:0;text-align:left}.wip-meta>span:last-child{flex-shrink:0}
.wip-card .wip-hint{font-size:12px;color:#bfb2c2;margin:6px 0 0}
.wip-card .wip-warning{border:1px solid #b18350;background:#442d24;border-radius:9px;padding:10px 13px;color:#ffe4b3;font-size:12px}
@keyframes wip-spin{to{transform:rotate(360deg)}}
@keyframes wip-sweep{0%{transform:translateX(-180%)}50%{transform:translateX(95%)}100%{transform:translateX(310%)}}
@media(prefers-reduced-motion:reduce){.wip-spinner,.wip-fill.indeterminate{animation:none}.wip-fill{transition:none}}
@media(max-width:520px){.wip-card{padding:23px 18px}.wip-meta{font-size:10px;flex-wrap:wrap}}

/* RC2.10 review: hidden must win against component display rules. */
[hidden]{display:none!important}
.mfa-card{margin-top:22px}
.wip-cancel{margin-top:14px;min-width:155px}

/* RC2.12 – review and legal hub */
.review-batches{display:grid;grid-template-columns:1fr;gap:14px;margin:22px 0}
.review-batch{max-width:100%;min-width:0}
.review-media{margin:15px 0;padding:12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border)}
.review-media input{display:block;margin-top:10px;width:100%;max-width:100%}
.review-media video{margin-top:10px;width:min(100%,660px);border-radius:10px}
.review-choice{margin:14px 0}.review-final{margin:26px 0}
.legal-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.legal-document{line-height:1.7}.legal-document p{max-width:82ch;margin:14px 0}
