:root{
  --bg:var(--bg-deep); --bg2:var(--surface-secondary); --panel:var(--surface-1); --panel2:var(--surface-2); --panel3:var(--surface-3);
  --line:var(--border-subtle); --line2:var(--border-default); --text:var(--text-primary); --muted:var(--text-secondary); --dim:var(--text-muted);
  --accent:#caa765; --accent2:var(--accent-strong); --danger:var(--error); --vfx:var(--special-vfx); --warm:var(--semantic-warm);
  --left:316px;
}
/* DA.1 FOUNDATION / DA.2 PALETTE — Black Minimal, restrained Amber / Gold. */
:root{
  /* Structure (Black Minimal; legacy aliases remain supported) */
  --bg-deep:#0c0d0f;
  --bg-base:#111214;
  --surface-1:#17191c;
  --surface-2:#1d1f23;
  --surface-3:#25282c;
  --border-subtle:#2d3035;
  --border-default:#41454b;
  --surface-secondary:#131518;
  --surface-sidebar:#0e1012;
  --surface-media:#0b0c0e;
  --surface-control:#1b1d21;
  --surface-input:#141619;
  --surface-tab:#15171a;
  --surface-navigator:#202226;
  --surface-navigator-hover:#1b1d20;
  --surface-navigator-thumb:#101113;
  --surface-tooltip:#202226;
  --surface-shot:#17191c;
  --surface-book-tab:#191b1e;
  --surface-look:#16181b;
  --surface-look-heading:#1b1d20;
  --surface-media-action:#15171a;
  --surface-field:#15171a;
  --surface-bulk-action:#1c1e22;
  --surface-menu:#202226;
  --surface-menu-item:#282b30;
  --surface-dropdown:#202226;
  --surface-dropdown-active:#303238;
  --surface-tab-active:#28292b;
  --surface-notice:#25272b;
  --surface-review:#222428;
  --surface-review-button:#303237;
  --surface-comparison:#222428;
  --surface-comparison-button:#35383d;
  --surface-comparison-input:#191b1f;
  --surface-picker:#202226;
  --surface-picker-input:#15171a;
  --surface-picker-button:#292c31;
  --surface-grid:#1b1d20;
  --surface-inspector:#17191c;
  --surface-panel-detail:#202226;
  --surface-table-header:#181a1d;
  --surface-welcome:#17191c;
  --surface-element-modal:#222428;
  --surface-element-header:#292c30;
  --surface-toolbar:rgba(17,18,20,.97);
  --border-control:#44484e;
  --border-media:#383c42;
  --border-review:#454950;
  --border-divider:#282b30;
  --border-toolbar:#303339;
  --border-table:#32353b;
  --border-dropzone:#565b63;
  --border-menu:#454950;
  --border-navigator-thumb:#3b3f45;
  --border-profile:#2a2d32;
  --border-tooltip:#555a62;
  --border-picker:#454950;
  --border-review-row:#34373d;
  --border-comparison:#454950;
  --border-comparison-input:#555a62;
  --border-grid-control:#484d54;
  --border-field:#44484e;
  --border-scroll:#34373d;
  --scroll-thumb-review:#50555d;
  --scroll-thumb-muted:#686e77;
  /* Text (off-white and neutral hierarchy) */
  --text-primary:#e8e7e3;
  --text-secondary:#b2b3b5;
  --text-muted:#96999f;
  --text-bright:#f1efe9;
  --text-control:#c5c5c3;
  --text-label:#a5a7ab;
  --text-support:#b7b9bc;
  --text-field-label:#a5a7ab;
  --text-emphasis:#f1efe9;
  --text-soft-white:#eeece6;
  --text-welcome:#dedbd3;
  --text-picker:#e4e3de;
  --text-picker-secondary:#b6b8bc;
  --text-review:#e4e3de;
  --text-floating:#d8d9d8;
  --text-tooltip:#e1e0db;
  --text-empty:#a1a4aa;
  --text-section:#b5b7bb;
  --text-profile-secondary:#a2a5ab;
  --text-notice:#dedfdd;
  --text-heading:#ebe9e2;
  --text-input:#e8e7e3;
  /* Accent family (Amber / Gold; no new expressive glow) */
  --accent-hover:#dfbd7b;
  --accent-soft:rgba(202,167,101,.14);
  --accent-glow:rgba(202,167,101,.18);
  --focus-ring:#d6b575;
  --accent-strong:#b79250;
  --accent-selected-border:#caa765;
  --accent-selected-surface:#282620;
  --accent-grid-surface:#2c2922;
  --accent-picker-border:#d6b575;
  --accent-active-surface:#302b22;
  --accent-autocomplete-surface:#3b3427;
  --accent-drop-border:#e0be7d;
  --accent-drop-soft:rgba(224,190,125,.18);
  --accent-control-hover:#c2a36c;
  /* Semantic colors (independent from Accent) */
  --success:#b4ef66;
  --warning:#efb450;
  --error:#d36f78;
  --special-vfx:#58ff8b;
  --semantic-warm:#d8b090;
  /* Depth (existing shadows and backdrop variants, no new elevation) */
  --overlay-backdrop:#020c12cc;
  --overlay-import:#020d16d9;
  --overlay-elements:#00121bdd;
  --overlay-viewer:rgba(0,0,0,.93);
  --shadow-panel:-18px 0 40px rgba(0,0,0,.28);
  --shadow-modal:0 30px 90px rgba(0,0,0,.55);
  --shadow-floating:0 12px 28px rgba(0,0,0,.35);
  --shadow-dropdown:0 12px 28px rgba(0,0,0,.38);
  --shadow-menu:0 10px 24px #000;
  --shadow-review-menu:0 10px 30px #0007;
  --shadow-import:0 20px 80px #0008;
  --shadow-comparison:0 12px 36px #0005;
  --shadow-picker:0 18px 60px #0008;
  --shadow-coverage-tooltip:0 6px 24px #0006;
  --shadow-media-actions:0 2px 6px #0008;
  --shadow-control:0 1px 8px rgba(0,0,0,.45);
  --shadow-dialog-deep:0 30px 90px rgba(0,0,0,.6);
  --shadow-document:0 22px 70px rgba(0,0,0,.55);
  --shadow-modal-soft:0 24px 80px rgba(0,0,0,.38);
  --shadow-viewer:0 0 0 1px rgba(4,14,19,.95),0 0 22px rgba(87,181,218,.18);
  /* Disabled variants (harmonization deliberately deferred) */
  --disabled-opacity:.4;
  --disabled-opacity-muted:.35;
  --disabled-opacity-soft:.45;
  --disabled-opacity-field:.5;
  --disabled-opacity-nav:.25;
  --disabled-opacity-subtle:.6;
}
/* End DA.1 foundation. */

*{box-sizing:border-box} html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}
button,input,textarea,select{font:inherit} button{color:inherit}
.app-shell{display:grid;grid-template-columns:var(--left) minmax(0,1fr);height:100vh;min-width:980px;background:linear-gradient(180deg,var(--bg-deep) 0%,var(--bg-base) 100%)}
.left-rail{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:var(--surface-sidebar)}
.brand-card{padding:22px 20px 17px;border-bottom:1px solid var(--line);flex:0 0 auto}
.brand-title{font-size:22px;letter-spacing:.30em;font-weight:500}.brand-subtitle{margin-top:5px;color:var(--muted);font-size:9px;letter-spacing:.28em}
.search-input{width:100%;margin-top:17px;background:var(--surface-input);border:1px solid var(--line);color:var(--text);padding:9px 10px;border-radius:3px;outline:none}.search-input:focus{border-color:var(--accent)}
.mode-toggle{display:inline-flex;margin-top:12px;border:1px solid var(--line2);border-radius:4px;overflow:hidden}.mode-btn{border:0;background:var(--surface-control);padding:6px 14px;color:var(--muted);font-size:10px;letter-spacing:.12em}.mode-btn+ .mode-btn{border-left:1px solid var(--line2)}.mode-btn.active{background:var(--accent-active-surface);color:var(--text-bright)}
.book-switcher{display:grid;gap:6px;margin-top:15px}.book-btn{background:var(--surface-tab);border:1px solid var(--line);padding:9px 12px;border-radius:3px;text-align:left;color:var(--text-secondary);font-size:11px;letter-spacing:.12em}.book-btn.active{background:var(--accent-selected-surface);border-color:var(--accent);color:var(--text-bright);box-shadow:inset 3px 0 0 var(--accent)}
.navigator{flex:1 1 auto;min-height:0;height:0;overflow-y:auto;overflow-x:hidden;padding:30vh 11px;scroll-behavior:auto}.navigator::-webkit-scrollbar{width:8px}.navigator::-webkit-scrollbar-thumb{background:var(--scroll-thumb-muted);border-radius:8px}
.nav-item{position:relative;margin:6px 0;padding:10px 12px;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:opacity .18s,background .18s,border .18s;opacity:.22}.nav-item.near{opacity:.55}.nav-item.mid{opacity:.34}.nav-item.active{opacity:1;background:var(--surface-navigator);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);padding:13px 12px}.nav-item:hover{opacity:.9;background:var(--surface-navigator-hover)}.nav-title{font-size:12px;font-weight:700;letter-spacing:.05em}.nav-meta{margin-top:5px;font-size:9px;color:var(--muted);line-height:1.45}.nav-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;margin-top:10px;border:1px solid var(--border-navigator-thumb);background:var(--surface-navigator-thumb)}.nav-person-thumb{width:72px;aspect-ratio:3/4;object-fit:cover;margin-top:10px;border:1px solid var(--border-navigator-thumb);background:var(--surface-navigator-thumb)}.nav-add{opacity:.7;border:1px dashed var(--border-default);text-align:center;color:var(--text-control)}.nav-add:hover{opacity:1;border-color:var(--accent)}
.workspace-shell{min-width:0;height:100vh;overflow:hidden}.workspace{height:100%;overflow:auto;background:var(--bg-base)}.workspace::-webkit-scrollbar{width:10px}.workspace::-webkit-scrollbar-thumb{background:var(--scroll-thumb-muted)}
.topbar{position:sticky;top:0;z-index:20;background:var(--surface-toolbar);border-bottom:1px solid var(--line)}
.workspace-tabs{display:flex;align-items:center;gap:20px;padding:13px 18px 9px;min-height:48px}.workspace-tab{border:0;background:none;padding:5px 0;color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.15em;cursor:pointer;border-bottom:2px solid transparent}.workspace-tab.active{color:var(--text-bright);border-bottom-color:var(--accent)}.workspace-tab:hover{color:var(--text-bright)}.workspace-spacer{flex:1}.divider-v{width:1px;height:22px;background:var(--line)}
.icon-btn{width:32px;height:32px;border:1px solid var(--border-default);background:var(--surface-control);border-radius:4px;display:inline-grid;place-items:center;cursor:pointer;color:var(--text-control)}.icon-btn:hover{border-color:var(--accent-control-hover);color:var(--text-bright)}.icon-btn svg{width:16px;height:16px}.icon-btn.danger{color:#e79aa0;border-color:#67343a}.icon-btn.danger:hover{background:#2b1418}.edit-only{display:none!important}body.editing .edit-only{display:inline-flex!important}body.editing .edit-block{display:block!important}.edit-block{display:none!important}
.context-toolbar{display:none;align-items:center;gap:7px;padding:6px 18px 9px;border-top:1px solid var(--border-default)}.context-toolbar.visible{display:flex}.tool-label{font-size:9px;color:var(--muted);letter-spacing:.12em;margin-right:4px}.export-wrap{margin-left:auto}.tooltip{position:relative}.tooltip:hover:after{content:attr(data-tip);position:absolute;right:0;top:38px;background:var(--surface-tooltip);border:1px solid var(--border-tooltip);color:var(--text-tooltip);padding:6px 8px;font-size:10px;white-space:nowrap;z-index:80;border-radius:3px}
.sequence-grid{display:grid;grid-template-columns:minmax(340px,1fr) minmax(460px,1.35fr);height:calc(100vh - 93px);min-height:560px}.pane{min-width:0;overflow:auto;border-right:1px solid var(--line);position:relative}.pane:last-child{border-right:0}.pane-head{position:sticky;top:0;z-index:10;background:var(--surface-input);border-bottom:1px solid var(--line);padding:10px 13px;display:flex;align-items:center;gap:10px}.pane-select{background:var(--surface-2);border:1px solid var(--line);color:var(--text-bright);padding:7px 32px 7px 10px;border-radius:4px;font-size:11px;font-weight:700}.pane-body{padding:22px}
.script-paper{--script-left-inset:54px;max-width:720px;margin:0 auto;background:#f2efe7;color:#161616;padding:48px 54px 80px var(--script-left-inset);min-height:900px;position:relative;font-family:"Courier New",monospace;box-shadow:0 0 0 1px #cfc9bd}.scene-heading{font-weight:700;text-transform:uppercase;margin-bottom:28px}.scriptpara{font-size:13px;line-height:1.45;white-space:pre-wrap;margin:0 0 11px}.scriptpara.character{text-align:center;margin-top:16px;margin-bottom:2px;font-weight:700}.scriptpara.dialogue{max-width:360px;margin-left:auto;margin-right:auto}.scriptpara.parenthetical{max-width:300px;margin-left:auto;margin-right:auto;text-align:center}.coverage-rail{position:absolute;width:4px;right:16px;border-radius:4px;background:#4da8e8;opacity:.88}.coverage-rail.all:nth-of-type(3n){right:22px}.coverage-mode{display:flex;gap:5px;margin-left:auto}.coverage-mode button{font-size:9px;padding:5px 8px;border:1px solid var(--line);background:var(--surface-secondary);color:var(--muted);border-radius:3px}.coverage-mode button.active{color:var(--text-bright);border-color:var(--accent)}
.shotlist{display:grid;gap:12px}.shot-card{border:1px solid var(--border-default);background:var(--surface-shot);position:relative}.shot-card.selected{border-color:var(--accent-selected-border);background:var(--accent-selected-surface)}.shot-top{display:grid;grid-template-columns:85px repeat(4,minmax(72px,1fr));gap:9px;padding:10px 12px;border-bottom:1px solid var(--line)}.shot-id{font-size:18px;font-weight:800}.vfx-badge{display:inline-flex;margin-top:5px;padding:2px 6px;border:1px solid var(--vfx);color:var(--vfx);background:#10241b;border-radius:3px;font-size:9px;letter-spacing:.14em;cursor:pointer}.shot-field label{display:block;color:var(--text-secondary);font-size:7px;letter-spacing:.12em;margin-bottom:4px}.shot-field strong{font-size:9px;text-transform:uppercase}.shot-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;padding:10px;background:var(--bg-base)}.shot-images img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--surface-1);border:1px solid var(--border-media);cursor:zoom-in}.shot-action{padding:10px 12px;font-size:11px;line-height:1.5;color:#ced9de}.shot-comments{padding:0 12px 12px;color:var(--text-secondary);font-size:9px}.shotlist-empty{padding:40px;color:var(--text-empty);text-align:center;border:1px dashed var(--line)}
.location-seq-card,.look-seq-card,.vfx-list,.music-card{max-width:900px;margin:0 auto}.linked-card{border:1px solid var(--line2);background:var(--surface-1);padding:16px}.linked-eyebrow{font-size:8px;color:var(--muted);letter-spacing:.15em}.linked-title{font-size:20px;font-weight:700;margin-top:4px}.linked-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;margin-top:15px}.linked-grid img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border-default);cursor:zoom-in}.info-list{display:grid;gap:9px}.info-row{border-bottom:1px solid var(--border-default);padding-bottom:7px}.info-label{font-size:7px;color:var(--muted);letter-spacing:.13em}.info-value{font-size:11px;margin-top:3px}.assign-row{margin-top:14px;display:flex;gap:8px}.assign-row select{background:var(--surface-secondary);color:var(--text-bright);border:1px solid var(--line);padding:8px}.assign-row button{border:1px solid var(--line2);background:var(--surface-control);padding:8px 12px;border-radius:3px}
.character-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.character-card{border:1px solid var(--line2);background:var(--surface-1);min-height:430px}.character-head{display:flex;justify-content:space-between;align-items:flex-start;padding:13px;border-bottom:1px solid var(--line)}.character-name{font-size:18px;font-weight:800}.look-chip{font-size:9px;border:1px solid var(--border-default);color:var(--text-primary);padding:3px 6px;border-radius:3px}.look-images{padding:12px;display:grid;gap:10px}.look-images img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--surface-media);border:1px solid var(--border-media);cursor:zoom-in}.look-empty{margin:12px;padding:38px 10px;border:1px dashed var(--border-media);text-align:center;color:var(--text-muted)}.look-assign{padding:12px;border-top:1px solid var(--line)}.look-assign select{width:100%;background:var(--bg-base);color:var(--text-bright);border:1px solid var(--line);padding:8px}
.vfx-row{display:grid;grid-template-columns:110px 75px minmax(180px,1fr) 90px 110px;gap:0;border:1px solid var(--line);background:var(--surface-book-tab);margin-bottom:8px;cursor:pointer}.vfx-row>div{padding:10px;border-right:1px solid var(--border-default)}.vfx-row>div:last-child{border:0}.vfx-row img{width:100%;aspect-ratio:16/9;object-fit:cover}.vfx-status{color:var(--vfx);font-size:9px}.detail-drawer{margin-top:14px;border-top:1px solid var(--border-default);background:var(--surface-panel-detail);padding:16px}.detail-title{font-size:15px;font-weight:700}.detail-refs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.detail-refs img{width:100%;aspect-ratio:16/9;object-fit:cover;cursor:zoom-in}
.book-page{min-height:100%;padding-bottom:80px}.book-topbar{position:sticky;top:0;z-index:18;background:var(--surface-toolbar);border-bottom:1px solid var(--line);padding:14px 22px;display:flex;align-items:center;gap:12px}.book-heading{font-size:11px;color:var(--text-control);letter-spacing:.16em}.subtabs{display:flex;gap:5px;flex-wrap:wrap}.subtab{border:1px solid transparent;background:transparent;color:var(--text-secondary);padding:8px 12px;border-radius:3px;font-size:10px;letter-spacing:.09em}.subtab.active{border-color:var(--accent);color:var(--text-bright);background:var(--surface-tab-active)}.subtab.add{border-style:dashed}.book-content{padding:28px 32px}.location-hero{display:grid;grid-template-columns:minmax(380px,1.25fr) minmax(300px,.8fr);gap:24px;align-items:start}.key-visual{position:relative}.key-visual img,.key-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border-subtle);background:var(--surface-tooltip)}.key-placeholder{display:grid;place-items:center;color:var(--text-muted)}.kv-label{font-size:8px;letter-spacing:.15em;color:var(--text-secondary);margin-bottom:7px}.location-info{border-top:1px solid var(--line2)}.book-info-row{padding:11px 0;border-bottom:1px solid var(--border-profile)}.book-info-row label{display:block;color:var(--text-secondary);font-size:8px;letter-spacing:.12em}.book-info-row input,.book-info-row textarea,.book-info-row select{margin-top:5px;width:100%;background:var(--bg-base);color:var(--text-bright);border:1px solid var(--border-media);padding:8px}.book-info-row textarea{min-height:72px;resize:vertical}.status-pill{display:inline-flex;margin-top:5px;border:1px solid #4e879f;color:#bad7e3;padding:4px 7px;border-radius:12px;font-size:9px;letter-spacing:.08em}.gallery-head{display:flex;align-items:center;margin-top:30px;padding-top:17px;border-top:1px solid var(--line);gap:10px}.section-title{font-size:9px;color:var(--text-section);letter-spacing:.15em}.gallery-size{margin-left:auto;display:flex;gap:5px}.gallery-size button{border:1px solid var(--line);background:var(--surface-control);color:var(--text-secondary);width:31px;height:27px;border-radius:3px}.gallery-size button.active{border-color:var(--accent);color:var(--text-bright)}.gallery-grid{display:grid;gap:12px;margin-top:12px}.gallery-grid.large{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid.medium{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid.small{grid-template-columns:repeat(4,minmax(0,1fr))}.visual-tile{position:relative}.visual-tile img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border-media);cursor:zoom-in}.delete-media{position:absolute;top:6px;right:6px;width:26px;height:26px;background:#1a1114;border:1px solid #704047;color:#e89aa1;border-radius:3px;display:none;place-items:center;cursor:pointer}body.editing .delete-media{display:grid}.add-tile{aspect-ratio:16/9;border:1px dashed var(--border-default);background:var(--surface-tab);display:none;place-items:center;color:var(--text-support);cursor:pointer}body.editing .add-tile{display:grid}.add-tile:hover{border-color:var(--accent);color:var(--text-bright)}
.look-book-title{font-size:22px;font-weight:800;margin-bottom:18px}.looks-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,320px);gap:16px;overflow-x:auto;padding-bottom:12px}.look-book-card{border:1px solid var(--border-default);background:var(--surface-book-tab);min-height:610px}.look-book-head{padding:13px 14px;border-bottom:1px solid var(--line)}.look-book-name{font-size:17px;font-weight:800}.look-scenes{margin-top:5px;color:var(--text-secondary);font-size:9px}.look-book-gallery{padding:12px;display:grid;gap:12px}.look-book-gallery .visual-tile img{aspect-ratio:3/4}.look-book-gallery .add-tile{aspect-ratio:3/4}.add-look-card{display:none;border:1px dashed var(--border-default);min-height:610px;place-items:center;color:var(--text-secondary);cursor:pointer}body.editing .add-look-card{display:grid}.add-look-card:hover{border-color:var(--accent);color:var(--text-bright)}
.lightbox{position:fixed;inset:0;background:var(--overlay-viewer);z-index:200;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain}.lightbox-close{position:absolute;top:18px;right:20px;font-size:20px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:70px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-bright);font-size:36px;cursor:pointer}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}.lightbox-caption{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);color:var(--text-primary);font-size:11px}
.empty-state{padding:70px 25px;text-align:center;color:var(--text-muted);border:1px dashed var(--border-subtle)}.muted{color:var(--muted)}
@media(max-width:1150px){:root{--left:280px}.workspace-tabs{gap:12px}.workspace-tab{font-size:9px;letter-spacing:.10em}.sequence-grid{grid-template-columns:minmax(300px,.9fr) minmax(430px,1.2fr)}.location-hero{grid-template-columns:1fr}.gallery-grid.small{grid-template-columns:repeat(4,minmax(0,1fr))}}

body.editing .book-info-row .view-value{display:none}
.nav-delete{position:absolute;right:8px;bottom:8px;width:24px;height:24px;border:1px solid #67343a;background:#1b1115;color:#e79aa0;border-radius:3px;display:none;place-items:center;cursor:pointer}body.editing .nav-item.active .nav-delete{display:grid}.subtab-delete{margin-left:3px;color:#e79aa0}.key-actions{display:none;gap:6px;margin-top:8px}body.editing .key-actions{display:flex}.small-action{border:1px solid var(--border-default);background:var(--surface-secondary);color:var(--text-control);padding:6px 9px;border-radius:3px;font-size:9px;cursor:pointer}.small-action:hover{border-color:var(--accent-control-hover);color:var(--text-bright)}.small-action.danger{border-color:#67343a;color:#e79aa0}.look-delete{float:right;margin-left:8px}

/* V6.1 architecture lock */
.sequence-grid{height:100vh;min-height:560px}
.pane-tabs{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;background:var(--surface-toolbar);border-bottom:1px solid var(--line);overflow-x:auto}
.pane-tab{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-empty);padding:14px 0 11px;font-size:8px;font-weight:700;letter-spacing:.11em;white-space:nowrap;cursor:pointer}
.pane-tab:hover{color:var(--accent-hover)}.pane-tab.active{color:var(--text-bright);border-bottom-color:var(--accent)}
.pane-context{position:sticky;top:44px;z-index:11;min-height:39px;padding:6px 12px;display:flex;align-items:center;justify-content:flex-end;gap:6px;background:var(--surface-input);border-bottom:1px solid var(--line)}
.pane-context.compact{display:none}.pane-body{padding:22px}.pane-export{margin-left:4px}
.sequence-location-full{max-width:1050px;margin:0 auto}.sequence-location-full .location-hero{margin-top:16px}.sequence-location-full .gallery-head{margin-top:24px}
.nav-tools{position:sticky;top:-30vh;z-index:8;display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;padding:9px 8px;background:var(--bg-base);border-bottom:1px solid var(--line);color:var(--text-label);font-size:8px;letter-spacing:.14em}
.nav-add-top{width:28px;height:28px;border:1px dashed var(--border-subtle);background:transparent;color:var(--text-primary);border-radius:3px;font-size:17px;cursor:pointer}.nav-add-top:hover{border-color:var(--accent);color:var(--text-bright)}
.add-look-card{background:transparent!important;border:1px dashed var(--border-subtle)!important;color:var(--text-secondary)!important}.add-look-card:hover{background:var(--surface-input)!important;border-color:var(--accent)!important;color:var(--text-bright)!important}
@media(max-width:1300px){.pane-tabs{gap:8px}.pane-tab{font-size:7px;letter-spacing:.07em}}


/* V6.2 sequence UI + shotlist controls */
.sequence-grid{display:grid!important;grid-template-columns:minmax(0,var(--split,50%)) 7px minmax(0,calc(100% - var(--split,50%) - 7px))!important;height:100vh!important}
.pane{border-right:0!important}
.pane-splitter{position:relative;background:var(--surface-1);border-left:1px solid var(--border-default);border-right:1px solid var(--border-default);cursor:col-resize;z-index:30}
.pane-splitter:after{content:"";position:absolute;left:2px;top:50%;width:1px;height:38px;background:var(--surface-1);opacity:.55;transform:translateY(-50%)}
.pane-splitter:hover,.resizing-panes .pane-splitter{background:var(--surface-3)}
.resizing-panes{cursor:col-resize!important;user-select:none!important}
.tool-menu-wrap{position:relative}
.tool-menu{position:absolute;right:0;top:36px;z-index:90;min-width:180px;background:var(--surface-dropdown);border:1px solid var(--border-default);box-shadow:var(--shadow-floating);padding:5px}
.tool-menu[hidden]{display:none!important}
.tool-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text-secondary);padding:8px 10px;font-size:9px;letter-spacing:.09em;cursor:pointer}
.tool-menu button:hover,.tool-menu button.active{background:var(--surface-dropdown-active);color:var(--text-bright)}
.shot-info-menu{padding:8px 10px;min-width:165px}
.shot-info-menu label{display:block;color:var(--text-secondary);padding:6px 2px;font-size:9px;letter-spacing:.08em;white-space:nowrap}
.shot-top{display:flex!important;gap:14px!important;align-items:flex-start}
.shot-id-cell{flex:0 0 74px}.shot-meta{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:9px;flex:1;min-width:0}
.shot-image-wrap{position:relative;min-width:0}.frame-count{position:absolute;right:6px;bottom:6px;background:rgb(from var(--surface-media) r g b / 0.84);border:1px solid var(--border-default);color:var(--text-primary);padding:3px 5px;font-size:7px;letter-spacing:.1em}
.shotlist.view-columns{display:grid;align-items:start}.shotlist.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.shotlist.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.shotlist.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.shotlist.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.shotlist.view-columns .shot-top{display:block!important}.shotlist.view-columns .shot-id-cell{margin-bottom:8px}.shotlist.view-columns .shot-meta{grid-template-columns:1fr 1fr;gap:7px}.shotlist.view-columns .shot-images{grid-template-columns:1fr}.shotlist.view-columns .shot-images img{aspect-ratio:1.85/1;object-fit:cover}.shotlist.view-columns .shot-action{font-size:9px}.shotlist.view-columns .shot-comments{font-size:8px}.shotlist.cols-4 .shot-meta,.shotlist.cols-5 .shot-meta{grid-template-columns:1fr}.shotlist.cols-4 .shot-field:nth-child(n+3),.shotlist.cols-5 .shot-field:nth-child(n+3){display:none}
.character-columns{display:flex!important;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:14px}.character-card{flex:0 1 300px;width:min(300px,100%);min-height:0!important}.character-card .look-images{grid-template-columns:1fr}.character-card .look-images img{max-height:440px;object-fit:cover}
.location-title-row{display:flex;align-items:center;gap:9px}.location-quick-select{position:relative;display:inline-flex;align-items:center}.location-quick-select select{appearance:none;-webkit-appearance:none;background:transparent;color:#dce6ea;border:0;border-bottom:1px solid var(--border-default);padding:3px 22px 3px 4px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.location-quick-select select:disabled{opacity:.7;cursor:default;border-bottom-color:transparent}.location-select-arrow{position:absolute;right:4px;top:50%;transform:translateY(-52%);pointer-events:none;color:var(--text-secondary);font-size:13px}.location-quick-select.read-only .location-select-arrow{display:none}

/* V6.3 interaction polish */
.navigator-header{flex:0 0 auto;border-bottom:1px solid transparent;background:var(--surface-sidebar)}.navigator-header[hidden]{display:none}.navigator-header .nav-tools{position:static;margin:0;padding:8px 12px;background:var(--bg-base);border-bottom:1px solid var(--line)}
.navigator{scrollbar-width:thin;scrollbar-color:var(--border-scroll) transparent}.navigator::-webkit-scrollbar{width:5px}.navigator::-webkit-scrollbar-track{background:transparent}.navigator::-webkit-scrollbar-thumb{background:var(--border-scroll);border-radius:5px}
.pane{scrollbar-width:thin;scrollbar-color:rgb(from var(--scroll-thumb-muted) r g b / 0.55) transparent}.pane::-webkit-scrollbar{width:5px}.pane::-webkit-scrollbar-track{background:transparent}.pane::-webkit-scrollbar-thumb{background:rgb(from var(--scroll-thumb-muted) r g b / 0.45);border-radius:6px}.pane:hover::-webkit-scrollbar-thumb{background:rgb(from var(--scroll-thumb-muted) r g b / 0.7)}
.workspace{scrollbar-width:thin;scrollbar-color:var(--border-scroll) transparent}.workspace::-webkit-scrollbar{width:6px}.workspace::-webkit-scrollbar-track{background:transparent}.workspace::-webkit-scrollbar-thumb{background:var(--border-scroll);border-radius:6px}

.location-change-arrow{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--border-default);border-radius:3px;color:var(--text-secondary);background:var(--surface-secondary)}.location-change-arrow:hover{border-color:var(--accent);color:var(--text-bright)}.location-change-arrow select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.location-change-arrow>span{pointer-events:none;font-size:15px;line-height:1;transform:translateY(-1px)}

.look-chip{appearance:none;background:transparent;cursor:pointer;line-height:1.1}.look-chip:hover{border-color:var(--accent);color:var(--text-bright);background:var(--surface-dropdown-active)}.focused-look{border-color:var(--accent)!important;box-shadow:0 0 0 1px rgba(80,183,241,.18) inset}
.external-link{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--border-default);overflow-wrap:anywhere}.external-link:hover{color:var(--text-bright);border-bottom-color:var(--accent)}

.shot-image-wrap.list-frame{overflow:hidden}.frame-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:27px;height:42px;border:1px solid rgb(from var(--border-default) r g b / 0.8);background:rgb(from var(--surface-media) r g b / 0.78);color:#d8e4e9;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:.72}.frame-nav:hover{opacity:1;border-color:var(--accent);background:rgb(from var(--surface-3) r g b / 0.92)}.frame-nav.prev{left:5px}.frame-nav.next{right:5px}.frame-count{pointer-events:none}

/* unified delete language */
.nav-delete,.delete-media,.look-delete{width:23px!important;height:23px!important;padding:0!important;display:none;place-items:center;border:1px solid #5f4850!important;background:rgb(from var(--surface-media) r g b / 0.86)!important;color:#c79aa0!important;border-radius:3px!important;font-size:15px!important;font-weight:400!important;line-height:1!important;box-shadow:none!important;cursor:pointer}.nav-delete:hover,.delete-media:hover,.look-delete:hover{border-color:#a85d67!important;color:#ffd5d9!important;background:#26161a!important}body.editing .delete-media{display:grid}body.editing .nav-item.active .nav-delete{display:grid}body.editing .look-delete{display:grid!important;float:right;margin-left:8px}
.subtab-delete{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:5px;border:1px solid #5f4850;border-radius:3px;color:#c79aa0;line-height:1;font-size:12px;vertical-align:-2px}.subtab-delete:hover{border-color:#a85d67;color:#ffd5d9;background:#26161a}

/* V6.4 — navigation grammar + authoring restoration */
.book-switcher{display:flex;gap:0;margin-top:16px;border-bottom:1px solid var(--line)}
.book-btn{flex:1;min-width:0;padding:9px 3px 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;text-align:center;font-size:8px;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}
.book-btn:hover{color:var(--accent-hover);background:var(--surface-secondary)}.book-btn.active{background:var(--surface-book-tab);border-color:transparent;border-bottom-color:var(--accent);box-shadow:none;color:var(--text-bright)}
.book-topbar{padding-bottom:0;align-items:flex-end}.subtabs{gap:2px;align-items:flex-end}.subtab{position:relative;margin-bottom:-1px;padding:10px 14px 11px;border:1px solid var(--line);border-bottom-color:var(--line);border-radius:4px 4px 0 0;background:var(--bg-base);color:var(--text-profile-secondary)}.subtab.active{z-index:2;background:var(--surface-1);border-color:var(--accent);border-bottom-color:var(--surface-1);color:var(--text-bright)}.subtab.add{margin-bottom:8px;border:1px dashed var(--border-default);border-radius:3px;background:transparent;padding:6px 10px}
.frame-nav{width:20px;height:34px;border:0;background:linear-gradient(90deg,rgb(from var(--surface-media) r g b / 0.48),transparent);font-size:20px;opacity:.25}.frame-nav.next{background:linear-gradient(270deg,rgb(from var(--surface-media) r g b / 0.48),transparent)}.shot-image-wrap:hover .frame-nav{opacity:.7}.frame-nav:hover{opacity:1;border:0;background:rgb(from var(--surface-3) r g b / 0.42)}
.character-card .look-images img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:var(--surface-media)}
.custom-location-picker{position:relative;display:inline-flex;align-items:center}.location-picker-trigger{width:22px;height:22px;border:0;border-bottom:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-size:15px;cursor:pointer}.location-picker-trigger:hover{color:var(--text-bright);border-color:var(--accent)}.location-picker-menu{position:absolute;left:0;top:27px;z-index:100;min-width:190px;padding:5px;background:var(--surface-dropdown);border:1px solid var(--border-default);box-shadow:var(--shadow-dropdown)}.location-picker-menu[hidden]{display:none}.location-picker-menu button{display:block;width:100%;padding:8px 10px;border:0;background:transparent;color:var(--text-secondary);text-align:left;font-size:9px;font-weight:650;letter-spacing:.08em;cursor:pointer}.location-picker-menu button:hover,.location-picker-menu button.active{background:var(--surface-dropdown-active);color:var(--text-bright)}
.shot-delete{position:absolute;right:7px;top:7px;z-index:7;width:22px;height:22px;border:1px solid #5f4850;background:rgb(from var(--surface-1) r g b / 0.86);color:#c79aa0;border-radius:3px;cursor:pointer}.shot-delete:hover{border-color:#a85d67;color:#ffd5d9;background:#26161a}.add-shot-card{min-height:64px;border:1px dashed var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:9px;letter-spacing:.12em;cursor:pointer}.add-shot-card:hover{border-color:var(--accent);color:var(--text-bright);background:var(--surface-3)}
.text-scale{display:flex;align-items:center;gap:5px;margin-right:auto;color:var(--text-label);font-size:8px;letter-spacing:.12em}.text-scale button{width:24px;height:24px;padding:0;border:1px solid var(--line);background:var(--surface-secondary);color:var(--text-control);border-radius:3px;cursor:pointer}.text-scale button:hover{border-color:var(--accent);color:var(--text-bright)}.text-scale strong{min-width:36px;text-align:center;color:var(--text-primary);font-size:9px}.script-paper{transform-origin:top center;width:100%;max-width:720px;font-size:calc(1em * var(--script-scale))}.script-paper .scriptpara{font-size:calc(13px * var(--script-scale));line-height:1.45}.script-paper .scene-heading{font-size:1em}

/* V6.5 — visual coherence + behavior */
/* Location option tabs: stable geometry across locations */
.book-page .book-topbar{min-height:50px;padding-top:8px;padding-bottom:0}
.book-page .subtabs{flex-wrap:nowrap;min-height:42px;align-items:flex-end}
.book-page .subtabs .subtab:not(.add){flex:0 0 154px;width:154px;height:41px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;margin-bottom:-1px;white-space:nowrap}
.book-page .subtabs .subtab.add{height:31px;margin:0 0 5px 4px;padding:0 12px;display:inline-flex;align-items:center}

/* Look Book: lighter hierarchy, image-first cards */
.look-book-page .book-content{padding-top:22px}
.look-book-heading-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.look-book-title{margin:0;font-size:22px;font-weight:800;letter-spacing:.01em}
.look-add-top{margin-left:auto;border:1px dashed var(--border-subtle);background:transparent;color:var(--text-secondary);border-radius:3px;padding:8px 11px;font-size:9px;letter-spacing:.12em;cursor:pointer}
.look-add-top:hover{border-color:var(--accent);color:var(--text-bright);background:var(--surface-look)}
.looks-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,320px);gap:18px;overflow-x:auto;align-items:start;padding:0 0 14px;scrollbar-width:thin;scrollbar-color:var(--border-scroll) transparent}
.looks-row::-webkit-scrollbar{height:5px}.looks-row::-webkit-scrollbar-track{background:transparent}.looks-row::-webkit-scrollbar-thumb{background:var(--border-scroll);border-radius:5px}
.look-book-card{min-height:0;border:1px solid var(--border-default);background:var(--surface-look);box-shadow:none}
.look-book-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 13px 11px;border-bottom:1px solid var(--border-default);background:var(--surface-look-heading)}
.look-book-name{font-size:16px;font-weight:800;letter-spacing:.01em}
.look-scenes{margin-top:4px;color:var(--text-profile-secondary);font-size:8px;letter-spacing:.08em}
.look-book-gallery{padding:10px;display:grid;gap:10px}
.look-book-gallery .visual-tile{background:var(--surface-media);border:1px solid var(--border-default)}
.look-media-frame{width:100%;background:var(--surface-media);display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:150px}
.look-media-frame img{display:block;width:100%!important;height:auto!important;aspect-ratio:auto!important;border:0!important;background:var(--surface-media);cursor:zoom-in}
.look-visual.fit .look-media-frame img{object-fit:contain}
.look-visual.crop .look-media-frame{aspect-ratio:3/4}
.look-visual.crop .look-media-frame img{width:100%!important;height:100%!important;object-fit:cover!important}
.look-media-actions{display:none;gap:4px;padding:6px;background:var(--bg-base);border-top:1px solid var(--border-default)}
body.editing .look-media-actions{display:flex}
.look-media-actions button{border:0;background:transparent;color:var(--text-muted);padding:3px 5px;font-size:7px;letter-spacing:.12em;cursor:pointer}
.look-media-actions button.active,.look-media-actions button:hover{color:var(--text-bright)}
.look-add-image{aspect-ratio:auto!important;min-height:72px;background:transparent!important}
.look-delete{position:static!important;flex:0 0 auto;margin:0!important}

/* keep destructive actions restrained */
.look-book-card .delete-media{top:6px;right:6px}

/* Location selector: same typography as UI, custom menu already used */
.location-picker-menu button{font-family:inherit;font-size:9px;font-weight:700;letter-spacing:.09em}
.location-picker-menu button.active{background:var(--surface-dropdown-active);color:var(--text-bright)}
/* V6.6 Authoring */
.nav-tools{justify-content:flex-start!important;gap:8px!important}.nav-add-top{margin-left:0!important}
.coverage-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.coverage-author{border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);padding:5px 9px;border-radius:3px;font-size:9px;letter-spacing:.09em;cursor:pointer}.coverage-author:hover{border-color:var(--accent);color:var(--text-bright)}.coverage-rail{border:0;padding:0;cursor:pointer;z-index:4}
.shot-editable[contenteditable="true"],.author-value[contenteditable="true"]{outline:none;cursor:text;border-radius:2px}.shot-editable[contenteditable="true"]:hover,.author-value[contenteditable="true"]:hover{box-shadow:inset 0 0 0 1px var(--border-media)}.shot-editable[contenteditable="true"]:focus,.author-value[contenteditable="true"]:focus{box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface-book-tab)}
.author-card .info-row,.detail-drawer .info-row{padding:13px 0 12px!important}.author-card .linked-title,.detail-drawer .detail-title{margin-bottom:10px}.author-card .info-value,.detail-drawer .info-value{margin-top:6px;line-height:1.45}
.look-book-page .book-topbar{min-height:48px}.look-book-heading-row{margin-bottom:20px}.look-book-title{line-height:1.1}.look-add-top{margin-left:auto}
.subtabs .subtab.add{display:inline-flex!important;min-width:126px;justify-content:center}

/* V6.6.1 targeted authoring polish */
.coverage-shot-indicator{margin-top:5px;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#7895a1;font-size:7px;letter-spacing:.1em;padding:0;cursor:pointer}.coverage-shot-indicator span{width:7px;height:7px;border-radius:50%;background:var(--coverage-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--coverage-color) 70%,transparent)}.coverage-shot-indicator:hover{color:#d8e7ed}
.seq-look-control{display:flex;align-items:center;gap:3px}.custom-look-picker{position:relative}.look-picker-trigger{appearance:none;border:0;background:transparent;color:var(--text-secondary);font-size:14px;line-height:1;padding:2px 4px;cursor:pointer}.look-picker-trigger:hover{color:var(--text-bright)}.look-picker-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:35;min-width:150px;padding:5px;background:var(--bg-base);border:1px solid var(--border-default);box-shadow:var(--shadow-floating)}.look-picker-menu button{display:block;width:100%;border:0;background:transparent;color:var(--text-secondary);text-align:left;padding:8px 10px;font-size:10px;letter-spacing:.06em;cursor:pointer}.look-picker-menu button:hover,.look-picker-menu button.active{background:var(--surface-notice);color:var(--text-bright)}
.look-book-hero{min-height:118px;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;gap:16px;background:var(--bg-base)}.look-book-combined-title{display:flex;align-items:baseline;gap:16px;white-space:nowrap}.look-book-combined-title span{font-size:19px;font-weight:300;letter-spacing:.16em;color:var(--text-control)}.look-book-combined-title strong{font-size:30px;line-height:1;font-weight:800;letter-spacing:.01em;color:var(--text-soft-white)}.look-book-content{padding-top:22px}.look-book-page .look-add-top{margin-left:6px}

/* V6.6.2 — coverage workflow + visual look picker */
.look-book-hero{min-height:92px!important;border-bottom:1px solid var(--border-default)!important}
.look-book-combined-title{align-items:center!important;gap:10px!important}
.look-book-combined-title span,.look-book-combined-title strong{font-size:20px!important;line-height:1!important;letter-spacing:.08em!important}
.look-book-combined-title span{font-weight:400!important;color:var(--text-control)!important}.look-book-combined-title strong{font-weight:800!important;color:var(--text-soft-white)!important}
.navigator-header .nav-tools{justify-content:center!important;gap:10px!important}.navigator-header .nav-add-top{margin:0!important}
.shot-card{border-left-width:4px!important;border-left-color:var(--border-default)!important;transition:border-color .15s,box-shadow .15s,background .15s}
.shot-card.dragging-shot{opacity:.45}.shot-card.drop-after{box-shadow:0 3px 0 #58b5da!important}
.shot-card.has-coverage{border-left-color:var(--coverage-color)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--coverage-color) 10%,var(--surface-shot)) 0%,var(--surface-shot) 27%,var(--surface-shot) 100%);box-shadow:inset 10px 0 24px color-mix(in srgb,var(--coverage-color) 5%,transparent)}
.shot-card.coverage-pending{border-left-color:var(--coverage-color)!important;box-shadow:inset 14px 0 34px color-mix(in srgb,var(--coverage-color) 15%,transparent),0 0 0 1px color-mix(in srgb,var(--coverage-color) 35%,transparent)}
.shot-card-actions{position:absolute;right:7px;top:7px;z-index:8;display:flex;align-items:center;gap:6px}.shot-card-actions .shot-delete{position:static!important}.shot-coverage-btn{width:22px;height:22px;border:1px solid var(--border-default);background:rgb(from var(--surface-control) r g b / 0.9);color:var(--text-field-label);border-radius:3px;font-size:9px;font-weight:800;cursor:pointer}.shot-coverage-btn:hover,.shot-coverage-btn.covered{border-color:var(--coverage-color);color:var(--coverage-color)}.shot-coverage-btn.pending{background:color-mix(in srgb,var(--coverage-color) 20%,var(--bg-base));box-shadow:0 0 12px color-mix(in srgb,var(--coverage-color) 30%,transparent)}
.script-paper.coverage-awaiting-selection{cursor:text;box-shadow:0 0 0 1px #cfc9bd,0 0 0 2px rgba(95,185,234,.18)}
.coverage-shot-indicator{display:none!important}
.visual-look-picker{position:fixed!important;z-index:1000!important;width:min(720px,calc(100vw - 32px))!important;min-width:min(520px,calc(100vw - 32px))!important;right:auto!important;padding:12px!important;max-height:min(72vh,620px);overflow:auto;box-shadow:0 24px 64px rgba(0,0,0,.72),0 0 0 1px rgba(88,185,235,.08)}.visual-look-picker-title{font-size:9px;letter-spacing:.13em;color:var(--text-secondary);margin:2px 3px 10px}.visual-look-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:9px}.look-picker-menu .visual-look-option{display:grid!important;grid-template-rows:auto auto 92px;gap:5px;padding:9px!important;border:1px solid var(--border-default)!important;background:var(--surface-look)!important;text-align:left!important}.look-picker-menu .visual-look-option:hover{border-color:var(--accent-control-hover)!important;background:var(--surface-3)!important}.look-picker-menu .visual-look-option.active{border-color:var(--accent)!important;box-shadow:inset 3px 0 0 var(--accent);background:var(--surface-notice)!important}.visual-look-name{font-size:12px;font-weight:800;color:#e8f1f5}.visual-look-scenes{font-size:7px;letter-spacing:.08em;color:var(--text-secondary)}.visual-look-thumbs{display:flex;gap:4px;min-width:0;overflow:hidden}.visual-look-thumbs img{width:100%;min-width:0;flex:1;object-fit:cover;border:1px solid var(--border-media);background:var(--surface-media)}.visual-look-thumbs i{display:grid;place-items:center;width:100%;border:1px dashed var(--border-media);color:var(--text-muted);font-size:8px;font-style:normal}
@media(max-width:900px){.visual-look-picker{min-width:420px!important}.visual-look-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}
/* V6.7 — contextual export system */
.export-modal{position:fixed;inset:0;z-index:50000;background:rgba(2,9,13,.72);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:28px}.export-modal.open{display:flex}.export-dialog{width:min(720px,94vw);max-height:88vh;overflow:auto;background:var(--surface-look);border:1px solid var(--border-default);box-shadow:var(--shadow-modal)}.export-dialog-head{height:86px;padding:18px 22px;display:flex;align-items:center;border-bottom:1px solid var(--border-default)}.export-dialog-head h2{margin:2px 0 0;font-size:22px;letter-spacing:.02em}.export-kicker{font-size:8px;letter-spacing:.22em;color:var(--text-secondary)}.export-dialog-head .icon-btn{margin-left:auto}.export-body{padding:22px;display:grid;gap:22px}.export-section{display:grid;gap:10px}.export-section-title{font-size:9px;letter-spacing:.18em;color:var(--text-secondary)}.export-choice-row{display:flex;flex-wrap:wrap;gap:8px}.export-choice{border:1px solid var(--border-scroll);background:var(--surface-control);color:var(--text-secondary);padding:9px 12px;font-size:10px;letter-spacing:.08em;cursor:pointer}.export-choice.active{border-color:var(--accent);color:var(--text-bright);background:var(--accent-selected-surface)}.export-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 14px}.export-check{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-secondary)}.export-check input{accent-color:var(--accent)}.export-summary{padding:14px 15px;border-left:2px solid var(--border-default);background:linear-gradient(90deg,rgb(from var(--surface-1) r g b / 0.08),transparent);font-size:10px;line-height:1.6;color:var(--text-secondary)}.export-dialog-foot{padding:14px 22px;border-top:1px solid var(--border-default);display:flex;align-items:center;gap:9px}.export-hint{margin-right:auto;font-size:9px;color:var(--text-muted)}.export-primary,.export-secondary{padding:9px 14px;border:1px solid var(--border-default);background:var(--surface-book-tab);color:var(--text-primary);font-size:9px;letter-spacing:.12em}.export-primary{border-color:var(--border-default);color:var(--text-bright)}.export-preview{font-size:9px;color:var(--text-muted);border-top:1px solid var(--border-default);padding-top:10px}
@media(max-width:700px){.export-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V6.8 Production exports */
.copy-shots-btn{height:28px;padding:0 10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:9px;letter-spacing:.12em;font-weight:700;cursor:pointer}
.copy-shots-btn:hover{color:var(--text);border-color:var(--accent)}

/* V6.9 list thumbnail visibility */
.shot-info-menu .menu-disabled{opacity:.35;pointer-events:none}


/* V6.10.3 — COMPACT LIST / COMBINED CAMERA CELL
   One stable header + one row per shot. RIG/MOVE/DIST/VFX share a 2x2 camera cell. */
.shotlist.view-list{
  display:block;
  gap:0;
  min-width:0;
  overflow-x:auto;
  overflow-y:visible;
  --sl-grid: 88px 200px 210px 132px minmax(270px,1.45fr) minmax(180px,1fr);
  scrollbar-width:thin;
  scrollbar-color:var(--border-scroll) transparent;
}
.shotlist.view-list::-webkit-scrollbar{height:6px}
.shotlist.view-list::-webkit-scrollbar-track{background:transparent}
.shotlist.view-list::-webkit-scrollbar-thumb{background:var(--border-scroll);border-radius:6px}

.shot-list-table-head,
.shotlist.view-list .shot-list-row{
  display:grid !important;
  grid-template-columns:var(--sl-grid) !important;
  grid-template-areas:none !important;
  min-width:1050px;
  width:100%;
  align-items:stretch;
}
.shot-list-table-head{
  position:sticky;
  top:0;
  z-index:16;
  background:var(--surface-table-header);
  border:1px solid var(--border-toolbar);
  border-left:5px solid var(--border-toolbar);
  color:var(--text-secondary);
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.shot-list-table-head>div{
  min-width:0;
  padding:7px 10px;
  border-right:1px solid var(--border-divider);
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.shot-list-table-head>div:last-child{border-right:0}

.shotlist.view-list .shot-list-row{
  position:relative;
  min-height:122px;
  margin-top:5px;
  padding:0 !important;
  background:var(--surface-shot);
  border:1px solid var(--border-toolbar);
  border-left-width:5px !important;
}
.shotlist.view-list .shot-list-row.selected{border-color:var(--accent-selected-border);background:var(--accent-selected-surface)}
.shotlist.view-list .shot-list-row>*{
  min-width:0;
  border-right:1px solid var(--border-divider);
}
.shotlist.view-list .shot-list-row>*:last-child{border-right:0}

.shot-list-id{
  grid-area:auto !important;
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.shot-list-id strong{
  font-size:16px;
  line-height:1;
  white-space:nowrap;
  letter-spacing:-.01em;
}

.shotlist.view-list .shot-images{
  grid-area:auto !important;
  padding:8px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:var(--bg-base);
}
.shotlist.view-list .shot-images.empty-thumb{min-height:120px}
.shotlist.view-list .shot-images .shot-image-wrap{width:100%;min-width:0}
.shotlist.view-list .shot-images img{
  width:100%;
  aspect-ratio:1.85/1;
  object-fit:contain;
  display:block;
  background:var(--surface-1);
  border:1px solid var(--border-media);
}

.shot-list-camera{
  grid-area:auto !important;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:1fr 1fr;
  align-items:stretch;
  min-width:0;
  padding:0;
}
.camera-meta-item{
  min-width:0;
  padding:9px 11px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  font-size:9px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.camera-meta-item:nth-child(odd){border-right:1px solid var(--border-divider)}
.camera-meta-item:nth-child(-n+2){border-bottom:1px solid var(--border-divider)}
.camera-vfx{color:var(--text-field-label)}
.camera-vfx .vfx-badge{margin:0}

.shot-list-cell{
  grid-area:auto !important;
  padding:10px 12px;
  font-size:10px;
  line-height:1.38;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow-wrap:anywhere;
  word-break:normal;
}
.shot-list-subject{
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
}
.shot-list-actions{font-size:10px;color:#d5e0e5}
.shot-list-notes{font-size:10px;color:var(--text-secondary)}

.shotlist.view-list .shot-card-actions{
  right:5px;
  top:5px;
  opacity:0;
  transition:opacity .12s;
  z-index:18;
}
.shotlist.view-list .shot-list-row:hover .shot-card-actions,
.shotlist.view-list .shot-list-row.selected .shot-card-actions{opacity:1}

.shotlist.view-list.no-thumbnails{
  --sl-grid: 88px 210px 132px minmax(330px,1.5fr) minmax(210px,1fr);
}
.shotlist.view-list.no-thumbnails .slh-thumb,
.shotlist.view-list.no-thumbnails .shot-images{display:none !important}
.shotlist.view-list.no-thumbnails .shot-list-table-head,
.shotlist.view-list.no-thumbnails .shot-list-row{min-width:860px}

@media(max-width:1300px){
  .shotlist.view-list{--sl-grid:86px 190px 190px 116px minmax(235px,1.35fr) minmax(160px,.9fr)}
}

/* V6.10.4 — RESPONSIVE LIST + FOUR-LINE CAMERA STACK
   Camera order is always: RIG / DIST / MOVE / VFX. Four reserved slots keep rows aligned.
   Edit actions live inside the SHOT cell, so they never disappear off-screen to the right. */
.shotlist.view-list{
  --sl-grid:minmax(82px,.58fr) minmax(155px,1.45fr) minmax(82px,.68fr) minmax(92px,.82fr) minmax(185px,2.35fr) minmax(150px,1.45fr);
}
.shot-list-table-head,
.shotlist.view-list .shot-list-row{
  min-width:760px;
}
.shot-list-table-head>div{
  justify-content:center;
  text-align:center;
}
.shot-list-table-head>div:nth-last-child(-n+2){
  justify-content:flex-start;
  text-align:left;
}
.shot-list-id{
  position:relative;
  padding:10px 8px 30px;
  justify-content:center;
  text-align:center;
}
.shot-list-id strong{font-size:16px}
.shot-list-inline-actions{
  position:absolute;
  left:50%;
  bottom:6px;
  transform:translateX(-50%);
  display:flex;
  gap:5px;
  align-items:center;
  opacity:0;
  transition:opacity .12s;
}
.shot-list-row:hover .shot-list-inline-actions,
.shot-list-row.selected .shot-list-inline-actions{opacity:1}
.shot-list-inline-actions .shot-delete{position:static!important}

.shot-list-camera{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:repeat(4,minmax(0,1fr));
  place-items:stretch;
}
.camera-meta-item{
  width:100%;
  padding:4px 7px;
  justify-content:center;
  text-align:center;
  overflow-wrap:normal;
  word-break:normal;
  white-space:nowrap;
  border-right:0!important;
  border-bottom:1px solid var(--border-divider);
  font-size:9px;
}
.camera-meta-item:last-child{border-bottom:0}
.camera-vfx{justify-content:center}
.camera-vfx .vfx-badge{margin:0 auto}

.shot-list-subject{
  justify-content:center;
  text-align:center;
  padding-inline:8px;
}
.shot-list-actions,
.shot-list-notes{
  justify-content:flex-start;
  text-align:left;
}

/* Let the table breathe with the pane width instead of forcing a desktop-wide layout. */
@media (max-width:1450px){
  .shotlist.view-list{
    --sl-grid:minmax(82px,.62fr) minmax(150px,1.35fr) minmax(78px,.68fr) minmax(88px,.78fr) minmax(170px,2.15fr) minmax(140px,1.3fr);
  }
}
@media (max-width:1100px){
  .shotlist.view-list{
    --sl-grid:minmax(82px,.68fr) minmax(145px,1.25fr) minmax(74px,.66fr) minmax(84px,.74fr) minmax(155px,1.85fr) minmax(130px,1.15fr);
  }
  .shot-list-table-head,
  .shotlist.view-list .shot-list-row{min-width:710px}
  .shot-list-cell{padding-inline:8px}
}

.shotlist.view-list.no-thumbnails{
  --sl-grid:minmax(82px,.65fr) minmax(82px,.72fr) minmax(94px,.82fr) minmax(220px,2.4fr) minmax(170px,1.55fr);
}
.shotlist.view-list.no-thumbnails .shot-list-table-head,
.shotlist.view-list.no-thumbnails .shot-list-row{min-width:620px}

/* V6.10.5 — THREE-LINE CAMERA + DEDICATED VFX + RESPONSIVE LIST
   Goal: row height is driven by the storyboard thumbnail, not camera metadata. */
.shotlist.view-list{
  --sl-grid:minmax(82px,.58fr) minmax(170px,1.45fr) minmax(72px,.62fr) minmax(88px,.75fr) minmax(54px,.42fr) minmax(180px,2.15fr) minmax(140px,1.3fr);
}
.shot-list-table-head,
.shotlist.view-list .shot-list-row{
  grid-template-columns:var(--sl-grid) !important;
  min-width:0 !important;
  width:100%;
}
.shotlist.view-list .shot-list-row{
  min-height:112px;
}
.shot-list-id{
  position:relative;
  padding:10px 8px;
  justify-content:center;
  text-align:center;
  overflow:visible;
}
.shot-list-id strong{
  align-self:center;
  white-space:nowrap;
}
.shot-list-inline-actions{
  position:absolute;
  left:6px;
  top:6px;
  bottom:auto;
  transform:none;
  display:flex;
  gap:4px;
  z-index:25;
  opacity:.18;
  transition:opacity .12s ease;
}
.shot-list-row:hover .shot-list-inline-actions,
.shot-list-row.selected .shot-list-inline-actions,
.shot-list-row.coverage-pending .shot-list-inline-actions{opacity:1}
.shot-list-inline-actions .shot-coverage-btn,
.shot-list-inline-actions .shot-delete{
  width:20px;height:20px;min-width:20px;padding:0;
  font-size:9px;
}
.shot-list-camera{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:repeat(3,minmax(0,1fr));
  min-height:100%;
}
.camera-meta-item{
  padding:4px 6px;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  border-right:0!important;
  border-bottom:1px solid var(--border-divider);
  font-size:9px;
}
.camera-meta-item:last-child{border-bottom:0}
.shot-list-vfx{
  justify-content:center;
  text-align:center;
  padding-inline:4px;
  font-size:9px;
}
.shot-list-vfx .vfx-badge{margin:0 auto}
.shot-list-subject{
  justify-content:center;
  text-align:center;
}
.shot-list-actions,.shot-list-notes{
  justify-content:flex-start;
  text-align:left;
  align-items:center;
}
.shotlist.view-list .shot-images{
  min-height:0;
  height:100%;
}
.shotlist.view-list .shot-images .shot-image-wrap{
  width:100%;
}
.shotlist.view-list .shot-images img{
  width:100%;
  max-height:104px;
  height:auto;
}
/* Add Shot is a full-width row, not a small card under SHOT. */
.shotlist.view-list .add-shot-card{
  grid-column:1/-1;
  width:100%;
  min-height:48px;
  margin-top:5px;
  display:flex;
  align-items:center;
  justify-content:center;
}
/* Visible-info menus must float above both panes and never clip inside the toolbar. */
.pane-context{overflow:visible!important}
.tool-menu-wrap{position:relative;z-index:120}
.tool-menu{z-index:1000!important}
.shot-info-menu,.shot-layout-menu{max-height:min(70vh,420px);overflow:auto}
/* Give flexible text columns the remaining room first; fixed info shrinks only to safe minima. */
@media(max-width:1350px){
  .shotlist.view-list{
    --sl-grid:minmax(82px,.6fr) minmax(155px,1.25fr) minmax(68px,.56fr) minmax(82px,.68fr) minmax(50px,.38fr) minmax(150px,1.75fr) minmax(120px,1.05fr);
  }
}
@media(max-width:1000px){
  .shotlist.view-list{
    --sl-grid:minmax(82px,.65fr) minmax(145px,1.15fr) minmax(66px,.54fr) minmax(78px,.64fr) minmax(48px,.36fr) minmax(135px,1.55fr) minmax(110px,1fr);
  }
  .shot-list-cell{padding-inline:7px}
}
.shotlist.view-list.no-thumbnails{
  --sl-grid:minmax(82px,.62fr) minmax(72px,.58fr) minmax(88px,.72fr) minmax(54px,.4fr) minmax(220px,2.25fr) minmax(160px,1.4fr);
}


/* V6.10.6 — THUMBNAIL PRIORITY + TRUE FLOATING TOOL MENUS
   In LIST, the thumbnail track expands first (up to the width needed to fill
   the row vertically). ACTIONS / NOTES receive surplus width only afterwards. */
.shotlist.view-list{
  container-type:inline-size;
  --sl-grid:82px clamp(170px,30%,198px) 68px minmax(76px,88px) 50px minmax(105px,1.55fr) minmax(85px,1fr);
}
.shot-list-table-head,
.shotlist.view-list .shot-list-row{
  grid-template-columns:var(--sl-grid)!important;
  min-width:626px!important;
}
.shotlist.view-list .shot-images{
  padding:5px 7px!important;
}
.shotlist.view-list .shot-images .shot-image-wrap{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.shotlist.view-list .shot-images img{
  width:100%;
  max-height:104px;
  height:auto;
  object-fit:contain;
}
.shot-list-id,
.shot-list-camera,
.shot-list-subject,
.shot-list-vfx{
  align-self:stretch;
}
.shot-list-id,
.shot-list-subject,
.shot-list-vfx{
  display:flex;
  align-items:center;
  justify-content:center;
}
.shot-list-camera .camera-meta-item{
  display:flex;
  align-items:center;
  justify-content:center;
}
.shot-list-actions,.shot-list-notes{
  min-width:0;
}
@container (max-width:760px){
  .shotlist.view-list{
    --sl-grid:78px clamp(160px,29%,190px) 64px minmax(70px,82px) 46px minmax(94px,1.35fr) minmax(76px,.9fr);
  }
  .shot-list-table-head,
  .shotlist.view-list .shot-list-row{min-width:588px!important}
}
.shotlist.view-list.no-thumbnails{
  --sl-grid:82px 68px minmax(76px,88px) 50px minmax(145px,1.55fr) minmax(105px,1fr);
}
.shotlist.view-list.no-thumbnails .shot-list-table-head,
.shotlist.view-list.no-thumbnails .shot-list-row{min-width:526px!important}

/* Menus are portalled to <body> so pane overflow can never clip them. */
.tool-menu.tool-menu-floating{
  position:fixed!important;
  z-index:100000!important;
  margin:0!important;
  max-width:min(260px,calc(100vw - 24px));
  overflow:auto;
}


/* V6.10.7 — clear coverage stays beside C, before delete. */
.shot-clear-coverage{
  height:22px;
  min-width:28px;
  padding:0 5px;
  border:1px solid var(--border-default);
  background:rgb(from var(--surface-1) r g b / 0.9);
  color:var(--text-secondary);
  border-radius:3px;
  font-size:7px;
  font-weight:800;
  letter-spacing:.05em;
  cursor:pointer;
}
.shot-clear-coverage:hover{
  border-color:var(--accent-control-hover);
  color:#e2f0f5;
  background:var(--surface-panel-detail);
}
.shot-list-inline-actions .shot-clear-coverage{
  height:20px;
  min-width:26px;
  padding:0 4px;
  font-size:7px;
}

/* V7.0 — collaboration / persistence foundation */
.collab-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:7px}.role-select,.collab-btn{min-width:0;height:28px;border:1px solid var(--border-default);background:var(--bg-base);color:var(--text-secondary);font-size:7px;letter-spacing:.09em;padding:0 6px}.collab-btn{cursor:pointer}.collab-btn:hover,.role-select:hover{border-color:var(--accent-control-hover);color:var(--text-bright)}.collab-btn span{color:var(--text-primary)}.save-status{margin-top:6px;font-size:7px;letter-spacing:.12em;color:#587682}.save-status.saving{color:#d1a95c}.save-status.saved{color:#6ba997}
.mode-btn:disabled{opacity:var(--disabled-opacity-muted);cursor:not-allowed}
.side-drawer{position:fixed;top:0;right:0;width:min(430px,92vw);height:100vh;z-index:500;background:var(--surface-media-action);border-left:1px solid var(--border-default);transform:translateX(102%);transition:transform .18s ease;display:flex;flex-direction:column;box-shadow:var(--shadow-panel)}.side-drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:flex-start;gap:12px;padding:18px;border-bottom:1px solid var(--border-default)}.drawer-head h2{font-size:14px;margin:4px 0 0}.drawer-kicker{font-size:8px;color:var(--text-field-label);letter-spacing:.15em}.drawer-head .icon-btn{margin-left:auto}.drawer-list{flex:1;overflow:auto;padding:14px 18px}.comment-form,.snapshot-form{padding:14px 18px;border-top:1px solid var(--border-default);display:grid;gap:8px}.comment-form textarea,.snapshot-form input{width:100%;box-sizing:border-box;background:var(--surface-input);border:1px solid var(--border-default);color:#e8f0f3;padding:10px;font:inherit;resize:vertical}.comment-form textarea{min-height:88px}.comment-form button,.snapshot-form button{justify-self:end;border:1px solid var(--border-default);background:var(--surface-notice);color:#e6f4fa;padding:8px 12px;font-size:8px;letter-spacing:.11em;cursor:pointer}.comment-item,.version-item{border-bottom:1px solid var(--border-default);padding:12px 0}.comment-meta,.version-meta{font-size:7px;letter-spacing:.1em;color:var(--text-muted);margin-bottom:5px}.comment-text{font-size:11px;line-height:1.5;color:#dce6ea}.comment-actions,.version-actions{display:flex;gap:6px;margin-top:8px}.comment-actions button,.version-actions button{border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-size:7px;padding:5px 7px;cursor:pointer}.comment-actions button:hover,.version-actions button:hover{color:var(--text-bright);border-color:var(--accent-control-hover)}.version-name{font-size:11px;font-weight:700;color:#e7eef1}.autosave-note{padding:10px 18px;font-size:9px;line-height:1.45;color:var(--text-muted);border-bottom:1px solid var(--border-default)}.empty-drawer{padding:22px 0;color:var(--text-muted);font-size:10px}.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.22);z-index:490}
/* Export icon should never shift or create a micro-scrollbar on hover */
.pane-tabs{overflow-x:auto;overflow-y:hidden}.export-wrap{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;margin-left:auto}.pane-export{box-sizing:border-box;width:30px;height:30px}.pane-tabs .export-wrap.tooltip:hover:after{display:none!important}


/* V7.0.1 — contextual comments, inbox, stable shot selection, editable shot IDs */
.object-comment-btn{width:24px;height:24px;border:0;background:transparent;color:var(--text-field-label);display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;padding:4px;box-sizing:border-box}.object-comment-btn svg{width:14px;height:14px}.object-comment-btn:hover{color:var(--text-notice)}.object-comment-btn span{position:absolute;right:-4px;top:-5px;min-width:13px;height:13px;padding:0 3px;border-radius:8px;background:var(--surface-control);color:var(--text-bright);font-size:7px;display:flex;align-items:center;justify-content:center}.shot-card-actions,.shot-list-inline-actions{align-items:center}.shot-card-actions>.edit-only,.shot-list-inline-actions>.edit-only{display:contents}body.view-mode .shot-card-actions>.edit-only,body.view-mode .shot-list-inline-actions>.edit-only{display:none!important}.shot-id-editable{outline:none}.edit-mode .shot-id-editable:hover{box-shadow:inset 0 -1px #527b8d}.edit-mode .shot-id-editable:focus{box-shadow:inset 0 -1px #8bc1d6;color:var(--text-bright)}.comment-tabs{display:flex;border-bottom:1px solid var(--border-default);padding:0 18px}.comment-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);padding:11px 0 9px;margin-right:18px;font-size:8px;letter-spacing:.1em;cursor:pointer}.comment-tab.active{color:#e7f2f6;border-bottom-color:var(--accent)}.comment-item.unread{border-left:2px solid #62a8c2;padding-left:10px}.comment-jump{display:block;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:0;cursor:pointer}.comment-context-label{font-size:8px;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:5px}.comment-jump:hover .comment-text{color:var(--text-bright)}

/* V7.0.2 contextual comments + direct media drop */
.nav-media-drop{position:relative;border:1px solid transparent;transition:border-color .12s,background .12s}
.nav-media-drop.drag-over,.key-visual-drop.drag-over{border-color:var(--accent)!important;background:rgb(from var(--accent-selected-surface) r g b / 0.08)!important}
.nav-media-empty{min-height:76px;display:grid;place-items:center;border:1px dashed var(--border-subtle);color:var(--text-secondary);font-size:9px;letter-spacing:.12em;margin-top:9px}
.nav-person-drop{width:max-content;max-width:100%}
.nav-object-actions{display:flex;align-items:center;gap:6px;position:absolute;right:8px;bottom:8px;z-index:4}
.nav-object-actions .nav-delete{position:static!important}
.look-head-actions{display:flex;align-items:center;gap:6px}
.key-visual-drop{outline:0;transition:border-color .12s,background .12s}
.comment-jump-highlight{animation:commentJumpPulse 1.8s ease-out}
@keyframes commentJumpPulse{0%,35%{box-shadow:0 0 0 2px #55bde8 inset,0 0 22px rgba(85,189,232,.28)}100%{box-shadow:none}}

/* V7.0.3 contextual comments + robust navigator media drop */
.nav-item[data-nav-media-drop]{position:relative}
.nav-item[data-nav-media-drop].drag-over{outline:1px solid var(--accent);outline-offset:-2px;background:rgb(from var(--accent-selected-surface) r g b / 0.08)!important}
.location-variant-comment{display:flex;justify-content:flex-end;align-items:center;min-height:28px;margin:0 0 6px}
.location-variant-comment .object-comment-btn{border:1px solid var(--border-default);background:var(--surface-control)}
.character-head .object-comment-btn{flex:0 0 auto}

/* V7.1 — unified media drop language + Characters */
.edit-mode .media-drop-zone,.edit-mode [data-nav-media-drop],.edit-mode .key-visual-drop{position:relative;outline:1px dashed rgb(from var(--border-default) r g b / 0.48);outline-offset:-4px;cursor:copy}
.edit-mode .media-drop-zone:hover,.edit-mode [data-nav-media-drop]:hover,.edit-mode .key-visual-drop:hover{outline-color:var(--accent-control-hover);background:rgb(from var(--surface-3) r g b / 0.055)}
.edit-mode .media-drop-zone:after,.edit-mode [data-nav-media-drop]:after,.edit-mode .key-visual-drop:after{content:'DROP';position:absolute;right:7px;bottom:7px;z-index:8;padding:3px 5px;border:1px solid rgb(from var(--border-default) r g b / 0.55);background:rgb(from var(--surface-media) r g b / 0.82);color:var(--text-secondary);font-size:6px;letter-spacing:.12em;pointer-events:none;opacity:.72}
.edit-mode .drag-over{outline:2px dashed var(--accent)!important;outline-offset:-4px!important;background:rgb(from var(--accent-selected-surface) r g b / 0.12)!important}
.drop-cue{display:grid;place-items:center;min-height:70px;color:var(--text-secondary);font-size:8px;letter-spacing:.12em}
.shot-empty-media{min-height:130px;border:1px dashed var(--border-subtle)}.empty-thumb{min-height:74px}
.character-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-default);padding:0 22px}.character-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);padding:12px 16px 10px;font-size:8px;letter-spacing:.12em;cursor:pointer}.character-tab.active{color:var(--text-emphasis);border-bottom-color:var(--accent)}.character-section-tools{display:flex;justify-content:flex-end;margin-bottom:10px}
.character-inline-header{gap:14px}.character-inline-header .character-tabs{border:0;padding:0;align-self:stretch}.character-inline-header .character-tab{padding:0 10px;font-size:8px}.character-inline-header .look-book-combined-title strong{font-size:15px;font-weight:500}.look-description,.image-note{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--border-default);background:transparent;color:var(--text-primary);font:inherit;font-size:11px;line-height:1.5;padding:6px 0;resize:none;min-height:32px}.look-description{margin:8px 0 12px}.image-note{display:block;margin-top:5px}.visual-tile .image-note{width:100%}.visual-tile .view-value.image-note{border:0;color:var(--text-secondary);white-space:pre-wrap}.look-book-gallery .visual-tile{display:flex;flex-direction:column}
.mode-row{display:flex;align-items:center;gap:7px}.compact-search{display:flex;align-items:center}.compact-search button{width:28px;height:28px;border:1px solid var(--border-media);background:var(--bg-base);color:var(--text-secondary);border-radius:4px;cursor:pointer}.compact-search .search-input{width:0;opacity:0;padding:0;border:0;margin:0;transition:width .16s,opacity .16s}.compact-search.open .search-input{width:132px;opacity:1;padding:6px 8px;margin-left:5px;border:1px solid var(--border-media)}
.shot-list-camera .camera-meta-item{min-width:0;overflow:hidden}.shot-list-camera .camera-move .shot-editable{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:clamp(11px,1vw,inherit);line-height:1.25}.shot-list-camera .camera-meta-item:not(.camera-move) .shot-editable{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#commentsDrawer.collapsed{opacity:.65;transition:opacity .15s}#commentsDrawer.collapsed:hover{opacity:1}
@media (min-width:701px) and (max-width:1100px){body.view-mode .sequence-grid{grid-template-columns:1fr!important}.sequence-grid .pane-splitter{display:none}body.view-mode .sequence-grid .pane{min-width:0}body.view-mode .shotlist.view-list{min-width:720px}body.view-mode .pane-body{overflow:auto}.workspace-tab{min-height:34px}.icon-btn,.mode-btn,.book-btn{min-height:32px}}
.character-profile{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:28px;max-width:1100px}.character-profile-portrait{min-height:330px;background:var(--surface-media);display:grid;place-items:center;overflow:hidden}.character-profile-portrait img{width:100%;height:100%;max-height:560px;object-fit:contain}.character-profile-copy{min-width:0}.character-textarea{width:100%;min-height:150px;box-sizing:border-box;background:var(--surface-field);border:1px solid var(--border-default);color:#e1ebef;padding:12px;margin:8px 0 24px;font:inherit;line-height:1.55}.character-longtext{white-space:pre-wrap;line-height:1.6;margin:8px 0 24px}.document-tools{display:flex;gap:8px;margin-bottom:18px}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.document-card{position:relative;min-height:130px;border:1px solid var(--border-scroll);background:var(--surface-field);padding:16px}.document-card strong{display:block;margin:8px 0;font-size:12px}.document-card p{white-space:pre-wrap;color:var(--text-secondary);font-size:10px;line-height:1.5}.document-card a{color:var(--text-primary);font-size:8px;text-decoration:none}.document-type{font-size:7px;letter-spacing:.13em;color:var(--text-muted)}.timeline-list{max-width:900px;margin:14px 0}.timeline-row{display:grid;grid-template-columns:110px 1fr 26px;gap:18px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border-profile)}.timeline-row strong{color:var(--text-secondary)}.timeline-row span{line-height:1.5}.character-book-page .look-book-combined-title span{font-weight:400}.character-book-page .look-book-combined-title strong{font-weight:800}

/* V7.1.1 — Character profile documents, stronger drop affordance, cleaner destructive controls */
.clean-delete-btn,.shot-delete,.nav-delete,.look-delete,.delete-media{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid rgba(117,76,84,.58)!important;background:rgb(from var(--surface-media) r g b / 0.72)!important;color:#aa7f86!important;border-radius:5px!important;box-shadow:none!important;cursor:pointer;transition:border-color .12s,color .12s,background .12s,transform .12s}.clean-delete-btn svg,.shot-delete svg,.nav-delete svg,.look-delete svg,.delete-media svg{width:12px;height:12px}.clean-delete-btn:hover,.shot-delete:hover,.nav-delete:hover,.look-delete:hover,.delete-media:hover{border-color:#b26470!important;color:#ffd8dc!important;background:#2a171c!important;transform:translateY(-1px)}
.shot-list-inline-actions{position:absolute;left:7px;top:7px;display:flex;gap:4px;z-index:8}.shot-comment-corner{position:absolute;right:7px;top:7px;z-index:9}.shot-card-actions{left:7px!important;right:auto!important;top:7px!important}.shot-list-id{position:relative}.shot-list-id .shot-id-editable{display:block;padding-top:32px}.shot-card .shot-comment-corner .object-comment-btn,.shot-list-row .shot-comment-corner .object-comment-btn{border:1px solid var(--border-table);background:rgb(from var(--surface-control) r g b / 0.88);border-radius:4px}
.edit-mode .media-drop-zone,.edit-mode [data-nav-media-drop],.edit-mode .key-visual-drop{outline:2px dashed rgb(from var(--border-default) r g b / 0.62)!important;outline-offset:-5px!important}.edit-mode .media-drop-zone:after,.edit-mode [data-nav-media-drop]:after,.edit-mode .key-visual-drop:after{content:'⇩  DROP IMAGE';font-size:7px;font-weight:700;letter-spacing:.12em;padding:5px 7px;border:1px solid rgb(from var(--border-default) r g b / 0.75);color:var(--text-primary);background:rgb(from var(--surface-media) r g b / 0.9);opacity:.96}.edit-mode .media-drop-zone:hover,.edit-mode [data-nav-media-drop]:hover,.edit-mode .key-visual-drop:hover{outline-color:var(--accent-control-hover)!important;background:rgb(from var(--surface-3) r g b / 0.1)!important}.dragging-files.edit-mode .media-drop-zone,.dragging-files.edit-mode [data-nav-media-drop],.dragging-files.edit-mode .key-visual-drop{outline-color:var(--accent-drop-border)!important;background:rgb(from var(--accent-selected-surface) r g b / 0.12)!important;box-shadow:inset 0 0 0 1px rgba(134,220,255,.25)}.dragging-files.edit-mode .media-drop-zone:after,.dragging-files.edit-mode [data-nav-media-drop]:after,.dragging-files.edit-mode .key-visual-drop:after{background:var(--accent-selected-surface);color:white;border-color:var(--accent);transform:scale(1.04)}
.character-profile{display:block;max-width:1200px}.character-profile-top{display:grid;grid-template-columns:minmax(320px,46%) 1fr;gap:32px;align-items:start}.character-profile-portrait{min-height:420px;max-height:620px}.character-profile-copy{padding-top:4px}.character-description{min-height:170px}.character-shorttext{font-size:13px;line-height:1.7;white-space:pre-wrap}.character-documents-section{margin-top:34px;padding-top:24px;border-top:1px solid var(--border-default)}.character-docs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-subtitle{margin-top:5px;color:var(--text-muted);font-size:8px;letter-spacing:.06em}.character-doc-drop{min-height:112px;border:2px dashed var(--border-subtle);background:linear-gradient(180deg,rgb(from var(--surface-1) r g b / 0.08),rgb(from var(--surface-1) r g b / 0.02));display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-primary);cursor:copy;margin-bottom:16px;transition:.15s}.character-doc-drop .doc-drop-icon{font-size:20px}.character-doc-drop strong{font-size:9px;letter-spacing:.16em;color:var(--text-primary)}.character-doc-drop span:last-child{font-size:8px;color:var(--text-muted)}.character-doc-drop.drag-over,.dragging-files .character-doc-drop{border-color:var(--accent);background:rgb(from var(--accent-selected-surface) r g b / 0.14);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(123,214,251,.22)}.character-doc-list{display:grid;gap:8px}.character-doc-card{display:grid;grid-template-columns:62px minmax(0,1fr) 30px 30px;gap:12px;align-items:center;min-height:82px;border:1px solid var(--border-default);background:var(--surface-field);padding:12px;cursor:pointer;transition:border-color .12s,background .12s}.character-doc-card:hover{border-color:var(--accent-control-hover);background:var(--surface-welcome)}.character-doc-type{font-size:8px;letter-spacing:.12em;color:var(--text-secondary)}.character-doc-main strong{display:block;font-size:11px;color:#e6eef1;margin-bottom:5px}.character-doc-main p{margin:0;font-size:9px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap}.doc-preview-hint{font-style:italic}.doc-download-btn{width:26px;height:26px;border:1px solid var(--border-control);background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer}.doc-download-btn:hover{color:var(--text-bright);border-color:var(--accent-control-hover)}.character-docs-head .small-action:disabled{opacity:.32;cursor:default}
.document-viewer{position:fixed;inset:0;z-index:60000;background:rgba(1,7,10,.82);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:28px}.document-viewer.open{display:flex}.document-viewer-dialog{width:min(1100px,95vw);height:min(860px,92vh);background:var(--surface-media-action);border:1px solid var(--border-default);box-shadow:var(--shadow-dialog-deep);display:flex;flex-direction:column}.document-viewer-head{min-height:72px;padding:15px 18px;border-bottom:1px solid var(--border-default);display:flex;align-items:center;gap:16px}.document-viewer-head h2{margin:4px 0 0;font-size:14px}.document-viewer-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.document-viewer-actions .small-action{text-decoration:none}.document-viewer-body{flex:1;min-height:0;overflow:auto;background:var(--surface-1)}.document-frame{width:100%;height:100%;border:0;background:white}.document-text-view{box-sizing:border-box;max-width:880px;margin:0 auto;padding:38px 44px;min-height:100%;white-space:pre-wrap;font:13px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d7e2e7;background:var(--surface-look)}.document-image-view{min-height:100%;display:grid;place-items:center;padding:24px}.document-image-view img{max-width:100%;max-height:100%;object-fit:contain}.document-no-preview{padding:60px;text-align:center;color:var(--text-secondary);line-height:1.7}
@media (max-width:900px){.character-profile-top{grid-template-columns:1fr}.character-profile-portrait{max-height:520px}.character-doc-card{grid-template-columns:48px minmax(0,1fr) 30px 30px}}
.subtab-delete{width:20px!important;height:20px!important;padding:0!important;border:0!important;color:#98727a!important;background:transparent!important;border-radius:4px!important;display:inline-grid!important;place-items:center}.subtab-delete svg{width:11px;height:11px}.subtab-delete:hover{color:#ffd8dc!important;background:#2a171c!important}

/* V7.1.2 — interaction polish: centered destructive X, explicit file-drag targets, stable scroll */
/* Mode toggle centered in the cartouche */
.mode-toggle{display:flex!important;width:max-content;margin:12px auto 0!important}

/* Merge the cartouche's horizontal grammar: one baseline, bright only under selected section */
.brand-card{border-bottom:0!important;padding-bottom:0!important}
.book-switcher{margin-top:15px!important;border-bottom:1px solid var(--border-default)!important}
.book-btn{border-bottom:2px solid transparent!important}
.book-btn.active{border-bottom-color:var(--accent)!important}
.navigator-header{border-top:0!important}
.navigator-header .nav-tools{border-top:0!important}

/* Deletion: neutral elegant X, centered, no red */
.clean-delete-btn,.shot-delete,.nav-delete,.look-delete,.delete-media,.subtab-delete{
  display:inline-grid!important;place-items:center!important;
  width:24px!important;height:24px!important;padding:0!important;
  border:1px solid var(--border-default)!important;background:rgb(from var(--surface-media) r g b / 0.86)!important;
  color:var(--text-label)!important;border-radius:4px!important;box-shadow:none!important;
  line-height:1!important;transform:none!important;
}
.clean-delete-btn svg,.shot-delete svg,.nav-delete svg,.look-delete svg,.delete-media svg,.subtab-delete svg{
  width:11px!important;height:11px!important;display:block!important;margin:auto!important;
}
.clean-delete-btn:hover,.shot-delete:hover,.nav-delete:hover,.look-delete:hover,.delete-media:hover,.subtab-delete:hover{
  border-color:var(--accent-control-hover)!important;color:var(--accent-hover)!important;background:var(--surface-panel-detail)!important;transform:none!important;
}
body:not(.editing) .delete-media,body:not(.editing) .nav-delete,body:not(.editing) .look-delete{display:none!important}

/* File-drop affordance is intentionally quiet at rest, explicit while a file is being dragged */
body.editing .media-drop-zone,body.editing [data-nav-media-drop],body.editing .key-visual-drop,body.editing .character-profile-portrait{
  position:relative;cursor:copy;
}
body.editing .media-drop-zone:after,body.editing [data-nav-media-drop]:after,body.editing .key-visual-drop:after,body.editing .character-profile-portrait:after{
  content:'';position:absolute;inset:7px;z-index:18;border:1px dashed rgb(from var(--border-default) r g b / 0);pointer-events:none;transition:.12s;
}
body.editing.dragging-files .media-drop-zone:after,body.editing.dragging-files [data-nav-media-drop]:after,body.editing.dragging-files .key-visual-drop:after,body.editing.dragging-files .character-profile-portrait:after{
  content:'⇩';display:grid;place-items:center;border:2px dashed var(--accent);background:rgb(from var(--accent-selected-surface) r g b / 0.48);color:var(--accent);font-size:22px;letter-spacing:0;
}
body.editing.dragging-files .media-drop-zone,body.editing.dragging-files [data-nav-media-drop],body.editing.dragging-files .key-visual-drop,body.editing.dragging-files .character-profile-portrait{
  outline:none!important;box-shadow:inset 0 0 0 1px rgba(118,189,216,.18)!important;
}
body.editing .media-drop-zone:before,body.editing [data-nav-media-drop]:before,body.editing .key-visual-drop:before,body.editing .character-profile-portrait:before{content:none!important}
/* remove legacy labels sitting under/over existing images */
.drop-badge{display:none!important}
body.editing:not(.dragging-files) .media-drop-zone,body.editing:not(.dragging-files) [data-nav-media-drop],body.editing:not(.dragging-files) .key-visual-drop{outline:0!important;background:transparent!important}
/* Empty zones remain clear even before drag */
body.editing .shot-empty-media,body.editing .empty-thumb,body.editing .add-tile,body.editing .nav-media-empty,body.editing .key-placeholder{
  border:1px dashed var(--border-subtle)!important;color:var(--text-secondary)!important;background:var(--surface-field)!important;
}

/* Character document drop: full width in EDIT only */
body:not(.editing) .character-doc-drop{display:none!important}
body.editing .character-doc-drop{display:flex!important;width:100%!important;min-width:100%!important}
.character-doc-drop{box-sizing:border-box}
.character-docs-head .download-all-icon{margin-left:auto;flex:0 0 28px}
.doc-download-btn{display:inline-grid;place-items:center;text-decoration:none!important;font-size:18px;line-height:1}

/* Better readable extracted text */
.document-text-view{white-space:pre-wrap!important;overflow-wrap:anywhere;word-break:normal;tab-size:4}

/* Keep comment review visible after jump, but slightly retract it */
#commentsDrawer.jump-pinned{width:min(340px,82vw)}
#commentsDrawer.jump-pinned .drawer-head{padding:13px 15px}
#commentsDrawer.jump-pinned .drawer-list{padding:10px 14px}
#commentsDrawer.jump-pinned .comment-form{display:none!important}

/* ORIGINAL: controls no longer sit on top of the visible shot number */
.shotlist.view-original .shot-card-actions{left:auto!important;right:42px!important;top:7px!important}
.shotlist.view-original .shot-comment-corner{right:8px!important;top:7px!important}
.shotlist.view-original .shot-top{padding-top:42px!important}
.shotlist.view-original .shot-id-cell{padding-top:0!important}

/* Location hierarchy */
.location-primary-field{padding:15px 0 14px!important}
.location-primary-field label{font-size:8px!important;color:var(--text-secondary)!important;letter-spacing:.15em!important}
.location-primary-field .info-value{font-size:16px!important;font-weight:700!important;line-height:1.25!important;color:#edf5f8!important;margin-top:5px!important}
.location-primary-field input{font-size:15px!important;font-weight:700!important;padding:10px!important}

/* ADD BACKUP is rendered only in edit; extra safety */
body:not(.editing) #addBackup{display:none!important}

/* Slightly calmer document/profile rhythm */
.character-profile-portrait{position:relative}
.character-profile-portrait img{display:block}

/* V7.1.3 — quieter image drop overlay, comments hide rail, document polish */
body.editing .media-drop-zone,body.editing [data-nav-media-drop],body.editing .key-visual-drop,body.editing .character-profile-portrait{
  position:relative;overflow:hidden;cursor:copy;
}
/* kill legacy pseudo labels/plates */
body.editing .media-drop-zone:after,body.editing [data-nav-media-drop]:after,body.editing .key-visual-drop:after,body.editing .character-profile-portrait:after,
body.editing .media-drop-zone:before,body.editing [data-nav-media-drop]:before,body.editing .key-visual-drop:before,body.editing .character-profile-portrait:before{content:none!important}
.media-browse-overlay{
  position:absolute;inset:9px;z-index:24;border:1px dashed rgb(from var(--border-default) r g b / 0.66);background:rgb(from var(--surface-media) r g b / 0.26);
  color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:10px;opacity:.72;transition:opacity .12s,background .12s,border-color .12s,backdrop-filter .12s;
  pointer-events:none;box-sizing:border-box;
}
.media-browse-overlay .drop-icon{width:24px;height:24px;border:1px solid rgb(from var(--border-default) r g b / 0.64);display:grid;place-items:center;border-radius:5px;background:rgb(from var(--surface-media) r g b / 0.52);font-size:15px;line-height:1}
.media-browse-overlay .browse-files{pointer-events:auto;border:1px solid var(--border-default);background:rgb(from var(--surface-media) r g b / 0.8);color:var(--text-primary);padding:7px 10px;border-radius:4px;font-size:8px;letter-spacing:.10em;cursor:pointer}
.media-browse-overlay .browse-files:hover{border-color:var(--accent-control-hover);background:var(--surface-3);color:var(--text-bright)}
.media-drop-zone:hover>.media-browse-overlay,[data-nav-media-drop]:hover>.media-browse-overlay,.key-visual-drop:hover>.media-browse-overlay,.character-profile-portrait:hover>.media-browse-overlay{opacity:.92;background:rgb(from var(--surface-3) r g b / 0.36)}
.drag-over>.media-browse-overlay,body.dragging-files .media-browse-overlay{opacity:1;border-color:var(--accent);background:rgb(from var(--accent-selected-surface) r g b / 0.53);backdrop-filter:grayscale(.35) brightness(.72)}
body.dragging-files .media-browse-overlay .drop-icon{border-color:var(--accent);color:var(--text-bright)}
/* empty upload tiles keep their own language and do not get a duplicate overlay */
.shot-empty-media>.media-browse-overlay,.empty-thumb>.media-browse-overlay,.add-tile>.media-browse-overlay,.nav-media-empty>.media-browse-overlay,.key-placeholder>.media-browse-overlay{display:none!important}

/* Document drop remains explicit and full-width */
body.editing .character-doc-drop{min-height:112px;border:1px dashed var(--border-subtle)!important;background:rgb(from var(--surface-1) r g b / 0.24)!important}
body.editing .character-doc-drop:hover,body.editing .character-doc-drop.drag-over{border-color:var(--accent)!important;background:rgb(from var(--accent-selected-surface) r g b / 0.24)!important}

/* Document viewer scrollbar = same dark language as the rest of the app */
.document-viewer-body{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb-muted) var(--bg-base)}
.document-viewer-body::-webkit-scrollbar{width:8px;height:8px}
.document-viewer-body::-webkit-scrollbar-track{background:var(--bg-base)}
.document-viewer-body::-webkit-scrollbar-thumb{background:var(--scroll-thumb-muted);border-radius:8px;border:2px solid var(--border-default)}
.document-viewer-body::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-muted)}
.document-text-view{white-space:pre-wrap!important;overflow-wrap:anywhere;word-break:normal;tab-size:4}

/* Download and close controls share exactly the same box */
.document-viewer-actions{gap:8px}
.document-viewer-actions .doc-download-btn,.document-viewer-actions .icon-btn{
  width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;box-sizing:border-box!important;border:1px solid var(--border-default)!important;border-radius:4px!important;background:var(--surface-control)!important;color:var(--text-secondary)!important;display:inline-grid!important;place-items:center!important;font-size:18px!important;line-height:1!important;text-decoration:none!important;
}
.document-viewer-actions .doc-download-btn:hover,.document-viewer-actions .icon-btn:hover{border-color:var(--accent-control-hover)!important;color:var(--text-emphasis)!important;background:var(--surface-3)!important}

/* Comment drawer can hide to a slim right rail and reveal on hover */
.drawer-head-actions{margin-left:auto;display:flex;align-items:center;gap:7px}
.drawer-head-actions .icon-btn{margin-left:0!important}
.drawer-hide-btn{height:30px;padding:0 9px;border:1px solid var(--border-control);background:var(--surface-control);color:var(--text-secondary);border-radius:4px;font-size:7px;letter-spacing:.12em;cursor:pointer}
.drawer-hide-btn:hover{color:var(--text-emphasis);border-color:var(--accent-control-hover);background:var(--surface-3)}
.comments-collapsed-handle{display:none;position:absolute;left:0;top:0;width:24px;height:100%;border:0;border-right:1px solid var(--border-default);background:var(--surface-bulk-action);color:var(--text-secondary);writing-mode:vertical-rl;transform:rotate(180deg);font-size:7px;letter-spacing:.18em;align-items:center;justify-content:center;gap:10px;cursor:pointer}
.comments-handle-dot{width:5px;height:5px;border-radius:50%;background:var(--surface-1);box-shadow:0 0 0 3px rgba(98,200,240,.10)}
#commentsDrawer.collapsed{width:24px!important;overflow:hidden;box-shadow:-6px 0 18px rgba(0,0,0,.18)}
#commentsDrawer.collapsed>.drawer-head,#commentsDrawer.collapsed>#commentsTabs,#commentsDrawer.collapsed>#commentsList,#commentsDrawer.collapsed>#commentForm{opacity:0;pointer-events:none}
#commentsDrawer.collapsed .comments-collapsed-handle{display:flex}
#commentsDrawer.collapsed:hover{width:min(340px,82vw)!important}
#commentsDrawer.collapsed:hover>.drawer-head,#commentsDrawer.collapsed:hover>#commentsTabs,#commentsDrawer.collapsed:hover>#commentsList,#commentsDrawer.collapsed:hover>#commentForm{opacity:1;pointer-events:auto;transition:opacity .12s .05s}
#commentsDrawer.collapsed:hover .comments-collapsed-handle{display:none}
#commentsDrawer.collapsed.jump-pinned{width:24px!important}

/* Smooth comment badge updates — no stale counters */
.object-comment-btn>span{min-width:14px;height:14px;display:inline-grid;place-items:center}

/* V7.1.4 — shot controls, LIST cleanup, auto comment rail */
/* One disciplined control system for C / CLR / × */
.shot-coverage-btn,.shot-clear-coverage,.shot-delete{
  height:22px!important;min-height:22px!important;box-sizing:border-box!important;border-radius:4px!important;
  border:1px solid var(--border-default)!important;background:rgb(from var(--surface-control) r g b / 0.92)!important;color:var(--text-secondary)!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;
  vertical-align:middle!important;margin:0!important;box-shadow:none!important;transform:none!important;
}
.shot-coverage-btn,.shot-delete{width:22px!important;min-width:22px!important;padding:0!important}
.shot-clear-coverage{min-width:30px!important;padding:0 5px!important;font-size:7px!important;letter-spacing:.04em!important}
.shot-delete svg{width:11px!important;height:11px!important;display:block!important}
.shot-coverage-btn:hover,.shot-clear-coverage:hover,.shot-delete:hover{border-color:var(--accent-control-hover)!important;color:#e6f1f5!important;background:var(--surface-3)!important;transform:none!important}
.shot-coverage-btn.covered,.shot-coverage-btn.pending{border-color:var(--coverage-color)!important;color:var(--coverage-color)!important}

/* ORIGINAL: three edit controls in one clean row, comment independent at far right */
.shotlist.view-original .shot-card-actions{left:12px!important;right:auto!important;top:10px!important;height:22px!important}
.shotlist.view-original .shot-card-actions>.edit-only{display:flex!important;align-items:center!important;gap:5px!important;height:22px!important}
body.view-mode .shotlist.view-original .shot-card-actions>.edit-only{display:none!important}
.shotlist.view-original .shot-comment-corner{right:10px!important;top:9px!important}
.shotlist.view-original .shot-top{padding-top:38px!important}

/* LIST: Notes are deliberately absent. Comment belongs to row, not control cluster. */
.shotlist.view-list{--sl-grid:minmax(82px,.58fr) minmax(170px,1.45fr) minmax(76px,.64fr) minmax(92px,.78fr) minmax(54px,.42fr) minmax(190px,2.25fr)!important}
.shotlist.view-list.no-thumbnails{--sl-grid:minmax(82px,.62fr) minmax(80px,.68fr) minmax(96px,.82fr) minmax(56px,.44fr) minmax(220px,2.5fr)!important}
.shotlist.view-list .shot-list-row{position:relative!important}
.shotlist.view-list>.shot-list-row>.shot-comment-corner{position:absolute!important;right:7px!important;top:6px!important;z-index:40!important}
.shotlist.view-list .shot-list-id .shot-comment-corner{display:none!important}
.shotlist.view-list .shot-list-inline-actions{left:7px!important;top:7px!important;display:flex!important;align-items:center!important;gap:4px!important;height:22px!important;transform:none!important}
.shotlist.view-list .shot-list-inline-actions>.edit-only{display:flex!important;align-items:center!important;gap:4px!important;height:22px!important}
body.view-mode .shotlist.view-list .shot-list-inline-actions>.edit-only{display:none!important}
.shotlist.view-list .shot-list-inline-actions .shot-coverage-btn,
.shotlist.view-list .shot-list-inline-actions .shot-delete{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important}
.shotlist.view-list .shot-list-inline-actions .shot-clear-coverage{height:20px!important;min-height:20px!important;min-width:28px!important}
.shotlist.view-list .shot-list-id .shot-id-editable{padding-top:30px!important}

/* Visible Info floating menu: keep its body-level overlay stable across thumbnail re-render. */
.shot-info-menu.tool-menu-floating{z-index:1200!important}

/* COMMENTS: no HIDE button. Open while hovered; when the pointer leaves it retracts to a barely-there rail. */
.drawer-hide-btn{display:none!important}
#commentsDrawer.collapsed{width:14px!important;overflow:hidden!important;transition:width .14s ease,transform .18s ease!important}
#commentsDrawer.collapsed .comments-collapsed-handle{display:flex!important;width:14px!important;background:var(--surface-1)!important;border-right:0!important;border-left:1px solid var(--border-default)!important;color:transparent!important;padding:0!important}
#commentsDrawer.collapsed .comments-collapsed-handle span:not(.comments-handle-dot){display:none!important}
#commentsDrawer.collapsed .comments-handle-dot{width:4px!important;height:4px!important;margin:auto!important;box-shadow:none!important;background:var(--surface-1)!important}
#commentsDrawer.collapsed:hover{width:min(430px,92vw)!important}
#commentsDrawer.collapsed:hover>.drawer-head,#commentsDrawer.collapsed:hover>#commentsTabs,#commentsDrawer.collapsed:hover>#commentsList,#commentsDrawer.collapsed:hover>#commentForm{opacity:1!important;pointer-events:auto!important}
#commentsDrawer.collapsed:hover .comments-collapsed-handle{display:none!important}

/* ============================================================
   V7.2 CLEAN CONSOLIDATION
   Final source-of-truth overrides for Shotlist / Coverage / Drop / Comments.
   ============================================================ */

/* Script Coverage: only SELECTED / ALL. */
.coverage-author,[data-define-coverage]{display:none!important}
.coverage-tools{display:flex!important;align-items:center!important}

/* Workspace layering: content must never paint above the pane chrome. */
.pane{isolation:isolate!important}
.pane-tabs,.pane-context{position:sticky!important;z-index:120!important;background:var(--bg-base)!important}
.pane-tabs{top:0!important}
.pane-context{top:34px!important}
.shotlist{position:relative!important;z-index:1!important}
.shot-list-table-head{z-index:35!important}
.media-browse-overlay,.drop-cue{z-index:12!important}

/* LIST: NOTES restored. 7-column source of truth. */
.shotlist.view-list{
  --sl-grid:minmax(82px,.55fr) minmax(165px,1.32fr) minmax(76px,.62fr) minmax(92px,.75fr) minmax(54px,.40fr) minmax(170px,1.75fr) minmax(150px,1.35fr)!important;
}
.shotlist.view-list.no-thumbnails{
  --sl-grid:minmax(82px,.58fr) minmax(80px,.64fr) minmax(96px,.76fr) minmax(56px,.42fr) minmax(190px,1.9fr) minmax(165px,1.45fr)!important;
}
.shot-list-notes{white-space:normal!important;text-align:left!important;align-items:flex-start!important}

/* One action language everywhere. */
.shot-card-actions,.shot-list-inline-actions{display:flex!important;align-items:center!important;gap:4px!important;height:22px!important}
.shot-card-actions>.edit-only,.shot-list-inline-actions>.edit-only{display:flex!important;align-items:center!important;gap:4px!important;height:22px!important}
.shot-coverage-btn,.shot-clear-coverage,.shot-delete{height:22px!important;min-height:22px!important;box-sizing:border-box!important;margin:0!important;transform:none!important;line-height:1!important}
.shot-coverage-btn,.shot-delete{width:22px!important;min-width:22px!important}
.shot-clear-coverage{min-width:31px!important;padding:0 5px!important}
.shotlist.view-list .shot-list-inline-actions .shot-coverage-btn,
.shotlist.view-list .shot-list-inline-actions .shot-delete{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important}
.shotlist.view-list .shot-list-inline-actions .shot-clear-coverage{height:20px!important;min-height:20px!important;min-width:29px!important}

/* Drop zones: strictly contained, never overflow their card. */
.media-drop-zone,[data-nav-media-drop],.key-visual-drop,.character-profile-portrait{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important}
.media-browse-overlay{max-width:calc(100% - 16px)!important;box-sizing:border-box!important}
body.editing.dragging-files .media-drop-zone,
body.editing.dragging-files [data-nav-media-drop],
body.editing.dragging-files .key-visual-drop,
body.editing.dragging-files .character-profile-portrait{outline-offset:-5px!important}

/* COMMENTS: jump keeps the drawer fully open. Pointer exit alone collapses it.
   Collapsed rail is readable but unobtrusive. */
#commentsDrawer.jump-pinned{width:min(430px,92vw)!important}
#commentsDrawer.jump-pinned>.drawer-head,#commentsDrawer.jump-pinned>#commentsTabs,#commentsDrawer.jump-pinned>#commentsList,#commentsDrawer.jump-pinned>#commentForm{opacity:1!important;pointer-events:auto!important}
#commentsDrawer.collapsed{width:28px!important;overflow:hidden!important;transition:width .15s ease!important}
#commentsDrawer.collapsed .comments-collapsed-handle{display:flex!important;width:28px!important;background:var(--surface-1)!important;border-left:1px solid var(--border-default)!important;color:var(--text-muted)!important;padding:0!important;writing-mode:vertical-rl!important;transform:rotate(180deg)!important;font-size:6px!important;letter-spacing:.18em!important}
#commentsDrawer.collapsed .comments-collapsed-handle span:not(.comments-handle-dot){display:inline!important}
#commentsDrawer.collapsed .comments-handle-dot{display:none!important}
#commentsDrawer.collapsed:hover{width:min(430px,92vw)!important}
#commentsDrawer.collapsed:hover>.drawer-head,#commentsDrawer.collapsed:hover>#commentsTabs,#commentsDrawer.collapsed:hover>#commentsList,#commentsDrawer.collapsed:hover>#commentForm{opacity:1!important;pointer-events:auto!important}
#commentsDrawer.collapsed:hover .comments-collapsed-handle{display:none!important}


/* V7.2.1 — QA + Undo: authoritative finishing layer */
/* No authoring controls of any kind in VIEW, irrespective of shotlist layout. */
body.view-mode .edit-only,
body.view-mode .shot-card-actions>.edit-only,
body.view-mode .shot-list-inline-actions>.edit-only,
body.view-mode [data-arm-coverage],
body.view-mode [data-clear-coverage],
body.view-mode [data-delete-shot],
body.view-mode .media-browse-overlay{display:none!important}
body.view-mode [contenteditable="false"]{cursor:default!important}

/* Custom confirmation — same cinematic language, never the browser dialog. */
.confirm-modal{position:fixed;inset:0;z-index:1200;background:rgba(1,8,11,.68);display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(5px)}
.confirm-modal.open{display:flex}
.confirm-dialog{width:min(420px,92vw);background:var(--surface-element-modal);border:1px solid var(--border-default);box-shadow:var(--shadow-document);padding:22px 24px 20px;border-radius:5px}
.confirm-kicker{font-size:7px;letter-spacing:.17em;color:var(--text-secondary);margin-bottom:8px}
.confirm-dialog h2{margin:0;color:var(--text-heading);font-size:14px;letter-spacing:.05em}
.confirm-dialog p{margin:13px 0 22px;color:var(--text-control);font-size:11px;line-height:1.55}
.confirm-actions{display:flex;justify-content:flex-end;gap:8px}
.confirm-actions button{height:32px;padding:0 14px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-look-heading);color:var(--text-secondary);font-size:8px;letter-spacing:.1em;cursor:pointer}
.confirm-actions .confirm-primary{border-color:var(--border-default);color:#e9f4f8;background:var(--surface-1)}
.confirm-actions button:hover{border-color:var(--accent-control-hover);color:var(--text-bright)}

/* Resolved discussions should read as completed, not merely as older messages. */
.comment-item.resolved{opacity:.52;border-left:2px solid var(--border-media);padding-left:10px}
.comment-item.resolved .comment-context-label,.comment-item.resolved .comment-text{color:#6f8994}
.comment-item.resolved .comment-meta{color:#58727d}
.comment-item.resolved .comment-meta:after{content:'  ·  RESOLVED';display:inline-block;margin-left:4px;color:#78949f;letter-spacing:.12em}

/* Drop affordance must sit on the actual media, not create an extra slab. */
.media-browse-overlay{inset:7px!important;border-radius:2px!important}
.key-visual-drop,.character-profile-portrait,.visual-tile,.shot-image-wrap,.look-media-frame{background:transparent!important}
.character-profile-portrait{min-height:0!important;width:max-content!important;max-width:100%!important;justify-self:start!important;align-self:start!important}
.character-profile-portrait img{width:auto!important;height:auto!important;max-width:100%!important;max-height:560px!important;object-fit:contain!important}
.character-profile-top{align-items:start!important}

/* The image-drop frame follows image content; fixed cinematic ratio remains only where the product explicitly labels 16:9 KV. */
.look-media-frame{height:auto!important;min-height:0!important}
.look-media-frame img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}

/* Keep delete/coverage geometry coherent in all layouts. */
.shot-card-actions>.edit-only,.shot-list-inline-actions>.edit-only{align-items:center!important;gap:4px!important}
.shot-coverage-btn,.shot-delete{width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;padding:0!important;display:inline-grid!important;place-items:center!important;line-height:1!important}
.shot-clear-coverage{height:22px!important;min-height:22px!important;min-width:31px!important;padding:0 5px!important;display:inline-grid!important;place-items:center!important;line-height:1!important}

/* Undo/redo is keyboard-first; no extra toolbar clutter. */

/* V7.2.2 — stable QA: view-mode hardening + column action alignment */
/* Controls are no longer rendered in VIEW; this remains as defensive CSS. */
body.view-mode .shot-card-actions,
body.view-mode .shot-list-inline-actions,
body.view-mode [data-arm-coverage],
body.view-mode [data-clear-coverage],
body.view-mode [data-delete-shot]{display:none!important}

/* 2/3/4/5-column layouts: editing actions form one clean group beside Comments. */
.shotlist.view-columns .shot-card-actions{left:auto!important;right:40px!important;top:9px!important;height:22px!important;z-index:12!important}
.shotlist.view-columns .shot-comment-corner{right:10px!important;top:9px!important;z-index:13!important}
.shotlist.view-columns .shot-card-actions>.edit-only{display:flex!important;align-items:center!important;gap:4px!important;height:22px!important}
.shotlist.view-columns .shot-top{padding-top:38px!important}

/* V7.2.3 — Character navigator portrait polish
   Keep the character portrait legible and use the available card width while
   preserving the source image ratio. */
.nav-item.active .nav-person-drop{
  width:100%;
  max-width:100%;
  margin-top:10px;
}
.nav-item.active .nav-person-thumb{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  margin-top:0;
  border:1px solid var(--border-navigator-thumb);
  background:var(--surface-navigator-thumb);
}

/* V7.2.4 — reliable Add Character picker in Sequence > COSTUME & HMU */
.add-seq-character-card{min-height:180px;border:1px dashed var(--border-field);background:rgb(from var(--surface-1) r g b / 0.48);color:var(--text-section);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;letter-spacing:.12em;text-transform:uppercase;transition:border-color .16s ease,background .16s ease,color .16s ease}
.add-seq-character-card:hover{border-color:var(--accent-control-hover);background:rgb(from var(--surface-3) r g b / 0.64);color:var(--accent-hover)}
.sequence-character-picker-backdrop{position:fixed;inset:0;z-index:1400;background:rgba(1,8,11,.72);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:28px}
.sequence-character-picker{width:min(760px,calc(100vw - 56px));max-height:min(720px,calc(100vh - 56px));overflow:auto;background:var(--surface-1);border:1px solid var(--border-field);box-shadow:var(--shadow-modal-soft)}
.sequence-character-picker-head{height:58px;padding:0 16px 0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-default)}
.sequence-character-picker-head>div{display:flex;gap:10px;align-items:baseline}.sequence-character-picker-head span{font-size:9px;letter-spacing:.16em;color:var(--text-label)}.sequence-character-picker-head strong{font-size:13px;letter-spacing:.08em;color:var(--text-primary)}
.sequence-character-picker-close{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border-field);background:var(--surface-1);color:var(--text-secondary);font-size:17px;line-height:1;cursor:pointer}
.sequence-character-picker-close:hover{border-color:var(--accent-control-hover);color:var(--accent-hover)}
.sequence-character-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;padding:14px}
.sequence-character-option{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;min-height:86px;padding:8px;text-align:left;border:1px solid var(--border-default);background:var(--surface-bulk-action);color:var(--text-primary);cursor:pointer}
.sequence-character-option:hover{border-color:var(--accent-control-hover);background:var(--surface-3)}.sequence-character-option img,.sequence-character-placeholder{width:70px;height:70px;object-fit:cover;background:var(--surface-1);display:grid;place-items:center;color:var(--text-label);font-size:18px}
.sequence-character-option span:last-child{display:flex;flex-direction:column;gap:6px}.sequence-character-option strong{font-size:12px;letter-spacing:.06em}.sequence-character-option small{font-size:8px;letter-spacing:.12em;color:var(--text-label)}


/* V7.2.5 — final Shotlist control alignment + LIST default
   Keep edit controls centered above the shot number and inside the SHOT column. */
.shotlist.view-list .shot-list-id{position:relative!important;overflow:hidden!important;padding-top:0!important}
.shotlist.view-list .shot-list-inline-actions{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:7px!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:calc(100% - 8px)!important;
  height:20px!important;
  gap:3px!important;
  z-index:12!important;
}
.shotlist.view-list .shot-list-inline-actions>.edit-only{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;height:20px!important;
}
.shotlist.view-list .shot-list-inline-actions .shot-coverage-btn,
.shotlist.view-list .shot-list-inline-actions .shot-delete{
  width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;
}
.shotlist.view-list .shot-list-inline-actions .shot-clear-coverage{
  height:20px!important;min-height:20px!important;min-width:27px!important;padding:0 4px!important;
}
.shotlist.view-list .shot-list-id .shot-id-editable{
  width:100%!important;text-align:center!important;padding-top:32px!important;box-sizing:border-box!important;
}

/* V7.2.6 — JP script / coverage test */
.script-language-tabs{display:flex;align-items:center;gap:3px;margin-left:auto;margin-right:10px;padding:2px;border:1px solid var(--line);background:var(--surface-media-action);border-radius:3px}
.script-language-tabs button{height:22px;min-width:30px;padding:0 7px;border:0;background:transparent;color:var(--text-muted);font-size:8px;letter-spacing:.11em;cursor:pointer;border-bottom:2px solid transparent}
.script-language-tabs button.active{color:#eaf6fb;border-bottom-color:var(--accent);background:var(--accent-selected-surface)}
.script-language-tabs button.is-disabled{opacity:.28;cursor:not-allowed}
.script-missing-language{margin:40px auto;padding:30px;max-width:520px;border:1px solid var(--border-default);background:var(--surface-field);color:var(--text-secondary);display:flex;flex-direction:column;gap:8px;align-items:center}
.script-missing-language strong{font-size:10px;letter-spacing:.14em;color:var(--text-primary)}
.script-missing-language span{font-size:9px}
.jp-script-shell{width:100%;height:100%;overflow:auto;padding:20px 18px 28px;box-sizing:border-box;direction:ltr;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb-muted) var(--bg-base)}
.jp-script-paper{position:relative!important;display:flex!important;flex-direction:row-reverse!important;align-items:flex-start!important;gap:0!important;width:max-content!important;max-width:none!important;min-width:max-content!important;height:760px!important;min-height:760px!important;margin:0!important;padding:54px 58px 52px 70px!important;box-sizing:border-box!important;transform:none!important;background:#f2efe7;color:#161616;font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;box-shadow:0 0 0 1px #cfc9bd}
.jp-script-paper .jp-scene-heading,.jp-script-paper .jp-scriptpara{writing-mode:vertical-rl;text-orientation:mixed;white-space:pre-wrap;line-height:1.75;letter-spacing:.02em;transform:none;transform-origin:top right;flex:0 0 auto;height:630px;box-sizing:border-box;margin:0;padding:0 7px;font-size:calc(13px * var(--script-scale))}
.jp-script-paper .jp-scene-heading{font-weight:700;padding-right:11px;margin-left:14px;border-left:1px solid rgba(20,20,20,.42)}
.jp-script-paper .jp-scriptpara.character{font-weight:700;margin:0 5px;text-align:start}
.jp-script-paper .jp-scriptpara.dialogue{margin:0 2px;max-width:none}
.jp-script-paper .jp-scriptpara.parenthetical{font-size:calc(11px * var(--script-scale));color:#4e4e4e;margin:0 1px;max-width:none;text-align:start}
.jp-source-note{position:absolute;right:14px;bottom:12px;color:#8c877d;font:8px/1.2 Arial,sans-serif;letter-spacing:.1em;writing-mode:horizontal-tb}
.jp-coverage-rail{position:absolute!important;border:0!important;border-radius:4px!important;opacity:.92!important;min-height:4px!important;z-index:7!important;cursor:pointer!important}
.jp-coverage-rail:hover{height:6px!important;transform:translateY(-1px)}
.jp-script-paper.coverage-awaiting-selection{cursor:text;box-shadow:0 0 0 1px #cfc9bd,0 0 0 2px rgba(95,185,234,.2)}

/* V7.2.7 — SCRIPT toolbar polish: language left, text size centered, coverage right */
.script-context{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:10px!important}
.script-context .script-language-tabs{justify-self:start!important;margin-left:0!important;margin-right:0!important}
.script-context .text-scale{justify-self:center!important;margin:0!important}
.script-context .coverage-tools{justify-self:end!important}

/* Compact location description, shared by the book and sequence pane. */
.location-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;position:relative;align-items:start}
.location-info .book-info-row{padding:7px 0;min-width:0}
.location-info .location-film-field{grid-column:1/-1;padding-right:150px;min-height:34px}
.location-info .location-notes-field{grid-column:1/-1}
.location-info .info-value{overflow-wrap:anywhere;margin-top:3px}
.location-info .book-info-row input,.location-info .book-info-row textarea{padding:5px 7px;margin-top:3px}
.location-info .book-info-row textarea{min-height:48px}
.location-status{position:absolute;right:0;top:7px;max-width:145px;border:1px solid #577080;border-radius:20px;background:#152a35;color:#b4c4ce;padding:4px 9px;font-size:9px;letter-spacing:.06em;line-height:1.4;overflow-wrap:anywhere}
.location-status.status-preferred{background:#123548;border-color:#548eaf;color:#b8e1fa}
.location-status.status-greenlight{background:#133a2d;border-color:#4f9975;color:#b4efd0}
.location-status.status-backup{background:#302b46;border-color:#8772aa;color:#dfcef5}
.location-status.status-hold{background:#423518;border-color:#a18a46;color:#f4dfa3}
.location-status.status-rejected{background:#421f28;border-color:#a15d70;color:#f4bbc9}
.location-status select{max-width:125px;background:transparent;color:inherit;border:0;font:inherit;cursor:pointer}
.location-status option{background:#102530;color:#e5edf1}

/* One status label in either mode, with a restrained indicator. */
body.editing .location-status>.view-value{display:none}
body.editing .book-info-row.readonly-field>.view-value{display:block}
.location-status{display:flex;align-items:center;gap:6px;padding:5px 9px;border-color:transparent;border-radius:5px;font-size:8px;letter-spacing:.09em;max-width:150px}
.location-status::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.location-status select{font-size:8px;letter-spacing:.09em;outline-offset:4px}
.location-map-actions{display:flex;align-items:center;gap:8px;min-height:28px}
.location-map-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-primary);border:1px solid var(--border-media);border-radius:5px}
.location-map-icon:hover{color:var(--text-bright);border-color:var(--accent-control-hover)}
.location-map-editor summary{cursor:pointer;color:var(--text-secondary);font-size:10px;list-style:none;padding:5px}
.location-map-editor summary::-webkit-details-marker{display:none}
.location-map-editor[open]{flex:1;min-width:0}
.location-map-editor:not([open]) input{display:none}

/* Shared location header and consistent detail typography. */
.location-heading-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-profile);padding:10px 0;flex-wrap:wrap}
.location-heading-row .location-film-field{padding:0!important;border:0;min-height:0;flex:1;min-width:140px}
.location-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.location-heading-actions .location-status{position:static;min-height:32px;box-sizing:border-box;font-size:10px;padding:7px 10px}
.location-heading-actions .location-status select{font-size:10px}
.location-heading-actions .location-map-field{padding:0;border:0}
.location-heading-actions .location-map-field>label{display:none}
.location-heading-actions .location-map-icon{width:32px;height:32px;box-sizing:border-box}
.location-heading-actions .location-map-actions{min-height:32px}
.location-heading-actions .location-map-editor[open]{width:190px}
.location-info .location-primary-field{padding:7px 0!important}
.location-info .location-primary-field .info-value{font-size:12px!important;line-height:1.5!important;font-weight:500!important;margin-top:3px!important}
.location-info .location-primary-field input{font-size:12px!important;font-weight:500!important;padding:5px 7px!important}
.location-info .info-value,.location-info .book-info-row input,.location-info .book-info-row textarea{font-size:12px;line-height:1.5}
.location-heading-row .location-film-field .info-value{font-weight:600!important}

/* Sketch layout: visual left, inline description right. */
.location-sketch{grid-template-columns:minmax(220px,.85fr) minmax(360px,1.4fr);gap:24px;container-type:inline-size}
.location-sketch .location-info{display:flex;flex-direction:column;gap:14px;border:0;min-width:0}
.location-sketch .location-info>.book-info-row{width:100%}
.location-sketch .book-info-row{display:flex;align-items:baseline;gap:12px;border:0;padding:0!important;min-width:0;box-sizing:border-box}
.location-sketch .book-info-row>label{flex:0 0 95px;font-size:9px!important;letter-spacing:.06em!important;line-height:1.5}
.location-sketch .book-info-row>.view-value,.location-sketch .book-info-row>.edit-block{flex:1;min-width:0}
.location-sketch .location-heading-row{width:100%;padding:0;border:0;flex-wrap:nowrap;gap:10px}
.location-sketch .location-heading-row .location-film-field{min-width:0}
.location-sketch .location-primary-field .info-value{font-size:16px!important;font-weight:650!important;line-height:1.35!important;margin:0!important}
.location-sketch .location-primary-field input{font-size:16px!important;font-weight:650!important}
.location-sketch .location-status{white-space:nowrap;max-width:none}
.location-sketch .location-heading-actions{flex:none}
.location-sketch .location-address-row{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:4px 0}
.location-sketch .location-map-field{flex:none}
.location-sketch .location-map-field>label,.location-sketch .location-address-field>label{display:none}
.location-sketch .location-address-field{flex:1;min-width:0}
.location-sketch .location-address-field .info-value{font-weight:400;color:var(--text-primary)}
.location-sketch .location-map-icon{width:34px;height:34px;box-sizing:border-box}
.location-sketch .location-map-editor[open]{width:140px}
.location-sketch .location-notes-field{align-items:baseline}
.location-sketch .location-notes-field .info-value{white-space:pre-wrap}
.location-sketch .key-visual{min-width:0}
@media(max-width:850px){.location-sketch{grid-template-columns:1fr}.location-sketch .location-heading-row{flex-wrap:wrap}}
.book-content,.sequence-location-full{container-type:inline-size;container-name:location-card}
@container location-card (max-width:650px){.location-sketch{grid-template-columns:1fr}.location-sketch .location-heading-row{flex-wrap:wrap}}

/* PATCH PREVIEW 01 — stable media usages, insertion reorder and non-destructive reframe */
.usage-media-frame{position:relative;width:100%;overflow:hidden;background:var(--surface-media);box-sizing:border-box}
.usage-media-frame>img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:var(--media-fit,contain)!important;object-position:var(--media-x,50%) var(--media-y,50%)!important;transform:scale(var(--media-zoom,1));transform-origin:var(--media-x,50%) var(--media-y,50%);transition:none}
.key-frame,.location-frame,.vfx-frame,.storyboard-frame{aspect-ratio:16/9}
.portrait-frame,.look-frame{aspect-ratio:3/4}
.media-dragging{opacity:.42}.media-insert-before:before,.media-insert-after:after{content:"";position:absolute;z-index:40;left:-5px;right:-5px;height:3px;background:var(--accent-selected-surface);box-shadow:0 0 12px #65c9f3;border-radius:3px}.media-insert-before:before{top:-7px}.media-insert-after:after{bottom:-7px}
.media-insert-horizontal.media-insert-before:before,.media-insert-horizontal.media-insert-after:after{top:-5px;bottom:-5px;width:3px;height:auto}.media-insert-horizontal.media-insert-before:before{left:-7px;right:auto}.media-insert-horizontal.media-insert-after:after{left:auto;right:-7px}
.shot-card.drop-before{box-shadow:inset 0 3px #65c9f3}.shot-card.drop-after{box-shadow:inset 0 -3px #65c9f3}
.image-note.auto-height,.look-description.auto-height{overflow:hidden;resize:none;min-height:34px;height:auto;box-sizing:border-box}
.look-description-view{padding:10px 13px;white-space:pre-wrap;color:var(--text-primary);font-size:10px;line-height:1.5;border-bottom:1px solid var(--border-default)}
.detail-refs{align-items:start}.detail-refs .visual-tile{min-width:0}.vfx-reference-head{margin-top:18px}.vfx-reference .image-note{width:100%;margin:0;border:1px solid var(--border-table);background:var(--surface-field);color:#dce7eb;padding:7px;font:inherit;line-height:1.4}.vfx-reference .view-value.image-note{padding:7px;color:var(--text-secondary);white-space:pre-wrap}
.shot-adaptive{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.25;overflow-wrap:anywhere;white-space:normal!important;min-width:0}
.shot-adaptive[contenteditable="true"]:focus{display:block;overflow:visible;-webkit-line-clamp:unset}
.shot-image-wrap>.usage-media-frame{width:100%}.shot-image-wrap.list-frame>.usage-media-frame{height:100%}.shot-image-wrap.list-frame>.usage-media-frame>img{cursor:zoom-in}
.storyboard-reorder-strip{position:absolute;z-index:17;left:5px;right:34px;top:5px;display:flex;gap:3px;padding:3px;background:rgb(from var(--surface-1) r g b / 0.88);border:1px solid var(--border-table);opacity:0;pointer-events:none;transition:opacity .12s}.shot-image-wrap:hover>.storyboard-reorder-strip,.storyboard-reorder-strip:focus-within{opacity:1;pointer-events:auto}.storyboard-reorder-thumb{position:relative;width:34px;height:22px;flex:none;border:1px solid var(--border-default);background:var(--surface-media);cursor:grab}.storyboard-reorder-thumb.active{border-color:var(--accent)}.storyboard-reorder-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;pointer-events:none}
.character-profile-portrait>.usage-media-frame{max-height:560px}.character-profile-portrait>.drop-badge{z-index:20}
.location-sketch .key-visual>.usage-media-frame{width:100%}

/* iPad landscape: keep both work panes useful, with touch-sized controls. */
@media (min-width:900px) and (max-width:1194px) and (orientation:landscape){
  body{--left:238px}
  body .sequence-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  body .sequence-grid .pane{min-width:0;max-height:none}
  body .sequence-grid .pane-splitter{display:none!important}
  body .pane-tabs{overflow-x:auto;flex-wrap:nowrap;min-height:44px}
  body .pane-tab,body .icon-btn,body .book-btn,body .mode-btn{min-height:36px;min-width:36px}
  body .pane-body{overflow:auto}
  body .shotlist.view-list{min-width:680px}
  body .book-content{padding:22px}
  body .location-sketch{grid-template-columns:minmax(220px,.8fr) minmax(330px,1.2fr)}
}


/* PATCH PREVIEW 02 — SPECIAL, viewer-only reframe, contextual navigation and pop-outs */
.natural-reference,.look-book-gallery .look-frame,.detail-refs .natural-reference{aspect-ratio:auto!important;height:auto!important;overflow:visible}
.natural-reference>img,.look-book-gallery .look-frame>img{height:auto!important;max-height:none!important;object-fit:contain!important}
.lightbox-image-stage{width:min(88vw,1500px);height:86vh;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.lightbox-image-stage img{max-width:100%;max-height:100%;width:auto;height:auto;user-select:none;touch-action:none;cursor:zoom-out}
.lightbox.reframing .lightbox-image-stage{outline:1px solid var(--accent);background:var(--accent-selected-surface)}
.lightbox.reframing .lightbox-image-stage img{width:100%;height:100%;max-width:none;max-height:none;object-fit:var(--media-fit,contain);object-position:var(--media-x,50%) var(--media-y,50%);transform:scale(var(--media-zoom,1));transform-origin:var(--media-x,50%) var(--media-y,50%);cursor:grab}
.lightbox.reframing .lightbox-image-stage img:active{cursor:grabbing}
.lightbox-tools{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:5}.lightbox-tools button{border:1px solid var(--border-default);background:var(--surface-control);color:var(--text-secondary);padding:8px 12px;font-size:8px;letter-spacing:.12em;cursor:pointer}.lightbox-tools button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-selected-surface)}.lightbox-tools button[hidden]{display:none}
.pane-popout{flex:none;font-size:14px}.popout-window .left-rail{display:none}.popout-window .app-shell{grid-template-columns:1fr}.popout-window .sequence-grid{grid-template-columns:1fr!important}.popout-window .pane-splitter,.popout-window .pane[data-pane-side="right"]{display:none!important}
.compact-search{position:relative;flex:none}.compact-search .search-input{position:absolute;z-index:100;left:0;top:34px;background:var(--surface-media-action);color:var(--text-bright);box-shadow:0 9px 22px rgba(0,0,0,.45)}.compact-search.open .search-input{width:190px}.mode-row{justify-content:center}.mode-toggle{margin:0!important}
.shot-type-tag{display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;border:1px solid #3c7187;border-radius:999px;background:#0b2b38;color:#a9d9eb;font-size:7px;letter-spacing:.08em;white-space:nowrap}.shot-tags{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.tag-picker{position:relative}.tag-picker summary{list-style:none;cursor:pointer;width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:50%;color:var(--text-secondary)}.tag-picker summary::-webkit-details-marker{display:none}.tag-picker>div{position:absolute;z-index:80;left:0;top:24px;min-width:145px;padding:7px;background:var(--surface-menu);border:1px solid var(--border-control);box-shadow:0 9px 24px #000}.tag-picker label,.special-filter label{display:flex;gap:7px;align-items:center;padding:5px;color:var(--text-secondary);font-size:8px;white-space:nowrap}
.special-filter{display:flex;justify-content:flex-end;margin-bottom:10px}.special-filter details{position:relative}.special-filter summary{list-style:none;border:1px solid var(--border-control);padding:7px 10px;color:var(--text-secondary);font-size:8px;letter-spacing:.1em;cursor:pointer}.special-filter summary::-webkit-details-marker{display:none}.special-filter details>div{position:absolute;right:0;top:32px;z-index:90;width:155px;background:var(--surface-menu);border:1px solid var(--border-control);padding:6px;box-shadow:var(--shadow-menu)}
.special-row{display:grid;grid-template-columns:96px 126px minmax(90px,.8fr) minmax(100px,1fr) minmax(150px,1.4fr) minmax(120px,1.2fr) 82px;border:1px solid var(--border-default);border-bottom:0;background:var(--surface-1);min-width:850px}.special-row:last-of-type{border-bottom:1px solid var(--border-default)}.special-row>div{padding:9px;border-right:1px solid var(--border-default);min-width:0;overflow-wrap:anywhere}.special-row>div:last-child{border-right:0}.special-head{position:sticky;top:0;z-index:3;background:var(--surface-table-header);color:var(--text-label);font-size:7px;letter-spacing:.1em}.special-row.selected{background:var(--surface-picker-button);border-color:var(--accent)}.special-thumb .usage-media-frame{aspect-ratio:16/9}.special-shot{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.special-shot strong{font-size:13px}.special-camera{display:flex;flex-direction:column;gap:3px;color:var(--text-secondary);font-size:7px}.special-camera b{display:block;color:#d8e4e8;font-size:9px;font-weight:500}.special-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 8px;font-size:7px;letter-spacing:.08em;white-space:nowrap;border:1px solid currentColor}.special-status select{color:inherit;background:transparent;border:0;font:inherit}.status-to-do{color:#62bce5;background:rgba(47,157,209,.11)}.status-wip{color:#e6a355;background:rgba(221,139,47,.12)}.status-done{color:#76c98a;background:rgba(65,172,91,.12)}.detail-title{display:flex;justify-content:space-between;align-items:center}.special-reference-head{margin-top:18px}
.sound-refs{display:grid;gap:10px;margin-top:20px}.sound-ref{position:relative;border:1px solid var(--border-table);padding:10px;display:grid;gap:8px}.sound-ref>span{font-size:7px;letter-spacing:.12em;color:var(--text-secondary)}.sound-ref iframe{width:100%;height:152px;border:0}.sound-ref a{color:var(--text-primary);text-decoration:none;font-size:9px}.sound-ref .clean-delete-btn{position:absolute;right:7px;top:7px}.music-ref-form{display:flex;gap:8px}.music-ref-form input{flex:1;background:var(--surface-menu);color:var(--text-bright);border:1px solid var(--border-control);padding:9px}.music-ref-form button{background:var(--surface-control);color:var(--text-primary);border:1px solid var(--border-default);padding:8px 11px}
.character-columns{display:grid!important;grid-template-columns:repeat(4,minmax(190px,1fr));container-type:inline-size}.character-card{width:auto!important;min-width:0!important;max-width:none!important}.add-seq-character-card{order:999}
@container (max-width:980px){.character-columns{grid-template-columns:repeat(3,minmax(190px,1fr))}}@container (max-width:740px){.character-columns{grid-template-columns:repeat(2,minmax(190px,1fr))}}@container (max-width:470px){.character-columns{grid-template-columns:1fr}}
@media(max-width:800px){.lightbox-nav{width:38px;height:58px}.lightbox-nav.prev{left:7px}.lightbox-nav.next{right:7px}.special-row{min-width:780px}.pane-tabs{min-height:48px}.pane-tab,.pane-popout{min-height:40px}.lightbox-image-stage{width:92vw;height:82vh}}

/* Final Preview 02 list geometry and natural reference ratios */
.shotlist.view-list{--sl-grid:82px clamp(160px,23%,196px) 74px minmax(84px,100px) minmax(72px,90px) minmax(125px,1.15fr) minmax(150px,1.4fr) minmax(115px,1fr)}
.shot-list-table-head,.shotlist.view-list .shot-list-row{min-width:930px!important}
.shotlist.view-list.no-thumbnails{--sl-grid:82px 74px minmax(84px,100px) minmax(72px,90px) minmax(125px,1.15fr) minmax(150px,1.4fr) minmax(115px,1fr)}
.shotlist.view-list.no-thumbnails .shot-list-table-head,.shotlist.view-list.no-thumbnails .shot-list-row{min-width:750px!important}
.gallery-grid .location-frame,.look-book-gallery .look-frame,.character-card .look-frame{aspect-ratio:auto!important;height:auto!important}
.gallery-grid .location-frame>img,.look-book-gallery .look-frame>img,.character-card .look-frame>img{height:auto!important;max-height:none!important;object-fit:contain!important}
.shot-list-description{min-width:0;white-space:normal}
.special-url-form,.music-ref-form{display:flex;gap:8px;margin-top:10px}.special-url-form input{flex:1;background:var(--surface-menu);color:var(--text-bright);border:1px solid var(--border-control);padding:9px}.special-url-form button{background:var(--surface-control);color:var(--text-primary);border:1px solid var(--border-default);padding:8px 11px}.reference-player{display:block;width:100%;min-height:180px;border:0;background:var(--surface-media)}.reference-external{display:grid;place-items:center;min-height:120px;border:1px solid var(--border-control);color:var(--text-primary);text-decoration:none;font-size:9px}
.special-shotlist{--sl-grid:96px 126px minmax(90px,.8fr) minmax(100px,1fr) minmax(150px,1.4fr) minmax(120px,1.2fr) 82px;min-width:850px;overflow:visible}.special-shotlist .shot-list-table-head,.special-shotlist .shot-list-row{grid-template-columns:var(--sl-grid)!important;min-width:850px!important}.special-shotlist .shot-list-row{min-height:86px;margin:0;border-bottom:0}.sound-ref audio{width:100%}
/* Costume cards react to the actual visualizer width, including divider drags. */
.pane-body{container-type:inline-size;container-name:visualizer}
@container visualizer (max-width:980px){.character-columns{grid-template-columns:repeat(3,minmax(190px,1fr))}}
@container visualizer (max-width:740px){.character-columns{grid-template-columns:repeat(2,minmax(190px,1fr))}}
@container visualizer (max-width:470px){.character-columns{grid-template-columns:1fr}}

/* PATCH PREVIEW 02 · CORRECTION PASS 01 */
.brand-card{padding:20px 20px 0!important}.brand-subtitle{margin-top:4px}.mode-row{justify-content:flex-start!important;margin-top:14px;min-height:30px}.mode-toggle[hidden]{display:none!important}.collab-row{grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:8px!important}.collab-row .role-select{grid-column:1/-1;width:100%;height:30px}.collab-row .collab-btn{height:30px}.save-status.failed{color:#d98b72}
.compact-search .search-input{margin-left:0!important}.compact-search.open .search-input{margin-left:0!important}
.shot-tags{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start;gap:4px;width:100%;overflow:visible}.shot-type-tag{display:inline-flex;flex:none;max-width:100%;font-size:7px;background:rgba(255,255,255,.025);cursor:pointer}.tag-picker{margin-top:2px;align-self:center}.tag-picker>div{left:50%;transform:translateX(-50%)}
.tag-vfx{color:var(--special-vfx);border-color:var(--special-vfx);background:rgba(88,255,139,.055)}.tag-sfx{color:#e99a53;border-color:#b9743c;background:rgba(233,154,83,.055)}.tag-stunt{color:#bc8b68;border-color:#8d6043;background:rgba(188,139,104,.055)}.tag-drone{color:#74c8ef;border-color:#569abb;background:rgba(116,200,239,.055)}.tag-vehicle{color:#e1bd55;border-color:#aa8d3d;background:rgba(225,189,85,.055)}.tag-slow-motion{color:#b995e8;border-color:#8b70b1;background:rgba(185,149,232,.055)}
.pane-body{overflow:auto}.shotlist.view-list{--sl-grid:82px 176px 94px 112px 86px 150px 170px 150px!important;width:max-content;min-width:1050px}.shot-list-table-head,.shotlist.view-list .shot-list-row{width:100%;min-width:1050px!important;grid-template-columns:var(--sl-grid)!important;grid-auto-flow:column}.shot-list-actions,.shot-list-notes,.shot-list-description{font-family:inherit!important;font-size:10px!important;line-height:1.38!important;font-weight:400!important;align-items:flex-start!important}.shot-list-notes{color:var(--text-secondary)!important}.shot-list-actions,.shot-list-description{color:#d5e0e5!important}
.special-shotlist{--sl-grid:82px 176px 94px 112px 150px 170px 92px!important;width:max-content;min-width:876px!important}.special-shotlist .special-row{grid-template-columns:var(--sl-grid)!important;width:100%;min-width:876px!important;min-height:74px!important;margin:0!important;font-size:10px!important;line-height:1.38!important}.special-row>div{padding:10px 12px!important;font-size:10px!important;line-height:1.38!important}.special-shot strong{font-size:10px!important;font-weight:700}.special-thumb{padding:8px!important}.special-camera{padding:0!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(3,1fr)!important}.special-camera .camera-meta-item{padding:5px 9px!important;font-size:9px!important;line-height:1.2!important;border:0!important;border-bottom:1px solid var(--border-divider)!important}.special-camera .camera-meta-item:last-child{border-bottom:0!important}.special-status-cell{align-items:center!important}.special-status select{outline-offset:3px;cursor:pointer}.special-row.has-coverage,.special-row.selected.has-coverage{box-shadow:inset 4px 0 0 var(--coverage-color)}
.look-book-gallery .visual-tile{height:auto!important;min-height:0!important}.look-book-gallery .usage-media-frame.look-frame{aspect-ratio:auto!important;height:auto!important;min-height:0!important;background:transparent!important;overflow:visible!important}.look-book-gallery .usage-media-frame.look-frame>img{position:static!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;max-height:none!important;object-fit:contain!important}
.online-media-form{display:grid!important;grid-template-columns:minmax(0,1fr) 34px;gap:0!important}.online-media-form input{height:34px;border-right:0!important;padding:7px 10px!important}.online-media-form button{width:34px;height:34px;padding:0!important;font-size:15px!important}.reference-embed{display:grid;gap:5px}.reference-embed>a{justify-self:end;color:var(--text-secondary);text-decoration:none;font-size:7px;letter-spacing:.09em}.sound-ref .reference-player{width:100%;height:152px;border:0}.add-tile{min-height:100px;aspect-ratio:auto!important}
.coverage-clear-confirm{position:fixed;z-index:100000;width:180px;padding:9px;background:var(--surface-media-action);border:1px solid var(--border-default);box-shadow:0 10px 26px rgba(0,0,0,.5);font-size:8px;color:var(--text-primary)}.coverage-clear-confirm>div{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}.coverage-clear-confirm button{border:1px solid var(--border-default);background:var(--surface-bulk-action);color:var(--text-secondary);padding:5px 7px;font-size:7px}.coverage-clear-confirm .confirm{border-color:#8c5960;color:#e4a9af}

/* PATCH PREVIEW 02 · CORRECTION PASS 02 */
.special-shotlist{width:900px;min-width:900px}
.shotlist.view-list.special-shotlist>.special-head,.shotlist.view-list.special-shotlist>.special-row{box-sizing:border-box!important;grid-template-columns:var(--special-grid)!important;border-left-width:1px!important}

.shotlist.view-list{--sl-grid:82px minmax(132px,176px) 94px minmax(96px,112px) 86px minmax(125px,1fr) minmax(135px,1.15fr) minmax(100px,1fr)!important;width:100%!important;min-width:880px!important}
.shot-list-table-head,.shotlist.view-list .shot-list-row{box-sizing:border-box!important;width:100%!important;min-width:880px!important}
.shotlist.view-list .shot-list-notes{min-width:100px!important;max-width:none!important}
.shotlist.view-list>.shot-list-row>.shot-comment-corner{left:56px!important;right:auto!important;top:6px!important}

.character-inline-header{min-height:50px!important;height:50px!important;padding:8px 22px 0!important;align-items:flex-end!important;gap:2px!important;box-sizing:content-box!important}
.character-inline-header .look-book-combined-title{height:42px;display:flex;align-items:center;padding:0 14px 0 0;gap:0}
.character-inline-header .look-book-combined-title strong{font-size:10px!important;line-height:1!important;font-weight:800!important;letter-spacing:.09em!important}
.character-inline-header .character-tabs{height:42px!important;align-items:stretch!important}
.character-inline-header .character-tab{padding:0 14px!important;font-size:10px!important;line-height:1!important;font-weight:400!important;letter-spacing:.09em!important}

.character-profile-portrait{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;background:transparent!important}
.character-profile-portrait>.portrait-frame{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important;background:transparent!important}
.character-profile-portrait>.portrait-frame>img{position:static!important;display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:560px!important;aspect-ratio:auto!important;object-fit:contain!important}
.gallery-grid .visual-tile{height:max-content!important;min-height:0!important;align-self:start!important}
.gallery-grid .location-frame{position:relative!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;background:transparent!important}
.gallery-grid .location-frame>img{position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
.location-sketch .key-visual>.key-frame,.location-sketch .key-visual>.key-frame>img{aspect-ratio:16/9!important}
.location-sketch .key-visual>.key-frame>img{height:100%!important;object-fit:var(--media-fit,cover)!important}

.add-media-card{box-sizing:border-box;min-height:112px;border:1px dashed var(--border-default);background:var(--surface-tab);color:var(--text-support);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;cursor:pointer;overflow:visible!important}
.add-media-card:hover,.add-media-card[open],.add-media-card.drag-over{border-color:var(--accent);color:var(--text-bright);background:rgb(from var(--accent-selected-surface) r g b / 0.22)}
.add-media-label{font-size:9px;letter-spacing:.13em;cursor:pointer;list-style:none}
.add-media-label::-webkit-details-marker{display:none}
.add-media-options{width:min(100%,520px);display:flex;align-items:center;justify-content:center;gap:8px;cursor:default}
.add-media-options>button{height:34px;flex:0 0 auto;border:1px solid var(--border-dropzone);background:var(--surface-media);color:var(--text-welcome);padding:0 12px;font-size:8px;letter-spacing:.08em;cursor:pointer}
.add-media-options .online-media-form{flex:1;margin:0!important;min-width:0}
.add-media-card:not([open]) .add-media-options{display:none!important}
body.view-mode .add-media-card{display:none!important}
.visual-tile:not(.add-media-card),.special-reference,.sound-ref{overflow:visible!important}
.visual-tile:not(.add-media-card)>.media-browse-overlay,.special-reference>.media-browse-overlay,.sound-ref>.media-browse-overlay{display:none!important}
@media(max-width:700px){.add-media-options{align-items:stretch;flex-direction:column}.add-media-options>button,.add-media-options .online-media-form{width:100%}}

/* PATCH PREVIEW 02 · CORRECTION PASS 03 */
/* Stable Shotlist geometry: only ACTIONS and NOTES absorb spare width. */
.pane-body{overflow:auto!important}
.shotlist.view-list:not(.special-shotlist){
  --sl-grid:82px 176px 94px 112px 86px 150px minmax(120px,1fr) minmax(86px,1fr)!important;
  width:max(100%,930px)!important;min-width:930px!important
}
.shotlist.view-list:not(.special-shotlist)>.shot-list-table-head,
.shotlist.view-list:not(.special-shotlist)>.shot-list-row{
  box-sizing:border-box!important;width:100%!important;min-width:930px!important;
  grid-template-columns:var(--sl-grid)!important;grid-auto-flow:row!important
}
.shotlist.view-list.no-thumbnails:not(.special-shotlist){
  --sl-grid:82px 94px 112px 86px 150px minmax(120px,1fr) minmax(86px,1fr)!important;
  width:max(100%,754px)!important;min-width:754px!important
}
.shotlist.view-list.no-thumbnails:not(.special-shotlist)>.shot-list-table-head,
.shotlist.view-list.no-thumbnails:not(.special-shotlist)>.shot-list-row{min-width:754px!important}
/* Let the intrinsic 1.85 thumbnail determine the List row height. */
.shotlist.view-list:not(.special-shotlist)>.shot-list-row{min-height:0!important}
.shotlist.view-list:not(.special-shotlist) .shot-images{width:100%!important;height:100%!important;min-width:176px!important;min-height:122px!important;padding:7px!important;display:block!important}
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame,
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame>.usage-media-frame{width:100%!important;height:100%!important;min-height:108px!important}
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame>.usage-media-frame>img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;aspect-ratio:auto!important}
.shotlist.view-list:not(.special-shotlist)>.shot-list-row>.shot-comment-corner{
  grid-column:1/-1!important;grid-row:1!important;position:fixed!important;
  right:auto!important;align-self:start!important;
  justify-self:end!important;width:26px!important;height:26px!important;margin:6px 6px 0 0!important;
  padding:0!important;border:0!important;z-index:100!important;pointer-events:auto
}
.shotlist.view-list:not(.special-shotlist)>.shot-list-row>.shot-comment-corner .object-comment-btn{width:26px!important;height:26px!important;background:var(--surface-media-action)!important;box-shadow:var(--shadow-control)}
.portaled-shot-comment{position:fixed!important;right:auto!important;width:26px!important;height:26px!important;margin:0!important;padding:0!important;border:0!important;z-index:10000!important;pointer-events:auto!important}
.portaled-shot-comment .object-comment-btn{width:26px!important;height:26px!important;background:var(--surface-media-action)!important;box-shadow:var(--shadow-control)}

/* SPECIAL shares Shotlist column metrics and owns a real TAGS column. */
.shotlist.view-list.special-shotlist{width:max(100%,var(--special-min,892px))!important;min-width:var(--special-min,892px)!important;overflow:visible!important}
.shotlist.view-list.special-shotlist>.special-head,
.shotlist.view-list.special-shotlist>.special-row{
  box-sizing:border-box!important;width:100%!important;min-width:var(--special-min,892px)!important;
  grid-template-columns:var(--special-grid)!important;grid-auto-flow:row!important
}
.special-tags{display:flex!important;align-items:flex-start!important;justify-content:center!important;overflow:visible!important}
.special-thumb{min-height:92px!important;display:flex!important;align-items:stretch!important}
.special-thumb>.usage-media-frame{width:100%!important;height:100%!important;min-height:76px!important}
.special-thumb>.usage-media-frame>img{width:100%!important;height:100%!important;object-fit:contain!important}
.persistent-popover>div{z-index:100000!important;transform:none!important}

/* Character uses the Location header component and its exact tab metrics. */
.character-inline-header{min-height:50px!important;height:auto!important;padding:8px 22px 0!important;align-items:flex-end!important;gap:12px!important;box-sizing:border-box!important}
.character-inline-header .character-tabs{display:flex!important;gap:2px!important;min-height:42px!important;align-items:flex-end!important;padding:0!important;border:0!important}
.character-inline-header .character-name-tab,
.character-inline-header .character-tab{flex:0 0 154px!important;width:154px!important;height:41px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 12px!important;margin-bottom:-1px!important;font-size:10px!important;line-height:1!important;letter-spacing:.09em!important}
.character-inline-header .character-name-tab{font-weight:800!important;color:var(--text-soft-white)!important;background:var(--bg-base)!important;border:1px solid var(--line)!important;border-radius:4px 4px 0 0!important}
.character-inline-header .character-tab{font-weight:400!important}

/* Natural media ratios and constrained cards. */
.look-book-gallery .visual-tile,.gallery-grid .visual-tile{min-width:0!important;max-width:100%!important;overflow:hidden!important}
.look-book-gallery .natural-reference,.gallery-grid .natural-reference,.location-sketch .key-visual>.natural-reference,.character-profile-portrait>.natural-reference{position:relative!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;overflow:hidden!important;background:transparent!important}
.look-book-gallery .natural-reference>img,.gallery-grid .natural-reference>img,.location-sketch .key-visual>.natural-reference>img,.character-profile-portrait>.natural-reference>img{position:static!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
.location-sketch .key-visual>.key-frame,.location-sketch .key-visual>.key-frame>img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important}
.location-sketch .key-visual{min-width:0!important;align-self:start!important}
.character-profile-media{min-width:0;display:grid;gap:10px;align-content:start}
.character-profile-portrait{min-height:0!important;max-height:none!important;overflow:hidden!important;background:transparent!important}
.character-profile-empty{min-height:220px!important;display:grid!important;place-items:center!important;border:1px dashed var(--border-default)!important;color:var(--text-secondary)!important}

/* One compact ADD MEDIA card in every gallery and replacement context. */
.add-media-card{box-sizing:border-box!important;width:100%!important;min-height:78px!important;height:auto!important;padding:0!important;gap:0!important;border:1px dashed var(--border-default)!important;overflow:visible!important;align-items:stretch!important;justify-content:stretch!important}
.add-media-card>.add-media-label{box-sizing:border-box!important;width:100%!important;min-height:78px!important;display:grid!important;place-items:center!important;padding:12px!important;font-size:8px!important;letter-spacing:.13em!important}
.add-media-card[open]>.add-media-label{min-height:34px!important;border-bottom:1px solid var(--border-subtle)!important}
.add-media-card>.add-media-options{box-sizing:border-box!important;width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:8px!important}
.add-media-card:not([open])>.add-media-options{display:none!important}
.add-media-card .online-media-form{display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;min-width:0!important;margin:0!important}
.add-media-card .online-media-form input{min-width:0!important;height:34px!important;font-size:8px!important}
.add-media-card .online-media-form button{height:34px!important}
body.editing:not(.dragging-files) .replace-drop-zone{outline:0!important;cursor:copy!important}
body.editing.dragging-files .replace-drop-zone{outline:2px dashed var(--accent-drop-border)!important;outline-offset:-5px!important}
@media(max-width:700px){.add-media-card>.add-media-options{grid-template-columns:1fr!important}}

/* PATCH PREVIEW 02 · CORRECTION PASS 04 */
/* Only the SPECIAL table scrolls horizontally; its selected-shot detail stays fixed. */
.special-list{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.special-table-scroll{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;padding-bottom:3px}
.special-table-scroll .special-shotlist{margin:0!important}
.special-list>.detail-drawer{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow:visible}
.pane-body:has(>.special-list){overflow-x:hidden!important}

/* Unified ADD MEDIA DA, including native form-state overrides. */
.add-media-card,.add-media-card *{box-sizing:border-box}
.add-media-card{background:var(--surface-field)!important;color:var(--text-support)!important;color-scheme:dark}
.add-media-card:hover,.add-media-card[open],.add-media-card.drag-over{background:var(--surface-2)!important;border-color:var(--accent-control-hover)!important;color:var(--text-heading)!important}
.add-media-card>.add-media-label{background:transparent!important;color:inherit!important}
.add-media-card>.add-media-options{background:var(--surface-input)!important}
.add-media-card .add-media-options>button,.add-media-card .online-media-form button{
  appearance:none!important;-webkit-appearance:none!important;border:1px solid var(--border-dropzone)!important;
  background:var(--surface-control)!important;color:var(--text-welcome)!important;border-radius:2px!important;
  font-family:inherit!important;font-size:8px!important;letter-spacing:.08em!important;cursor:pointer!important
}
.add-media-card .online-media-form input{
  appearance:none!important;-webkit-appearance:none!important;background:var(--surface-menu)!important;color:var(--text-heading)!important;
  border:1px solid var(--border-control)!important;border-right:0!important;border-radius:2px 0 0 2px!important;
  outline:0!important;font-family:inherit!important;caret-color:var(--accent)!important
}
.add-media-card .online-media-form input::placeholder{color:var(--text-muted)!important;opacity:1!important}
.add-media-card .online-media-form input:focus{border-color:var(--focus-ring)!important;box-shadow:inset 0 0 0 1px var(--accent-soft)!important}
.add-media-card .online-media-form button{border-radius:0 2px 2px 0!important;border-color:var(--border-control)!important;background:var(--surface-3)!important;color:var(--text-primary)!important}

/* One reusable replacement slot for every existing image usage. */
.replaceable-media-slot{position:relative!important;box-sizing:border-box!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.replaceable-media-slot>.usage-media-frame,.replaceable-media-slot>img{display:block;max-width:100%}
.edit-mode .replaceable-media-slot:after,.edit-mode .add-media-card:after{content:none!important;display:none!important}
.media-replace-affordance{position:absolute;right:7px;bottom:7px;z-index:12;padding:4px 6px;border:1px solid var(--border-dropzone);background:rgb(from var(--surface-media) r g b / 0.9);color:var(--text-primary);font-size:7px;font-weight:700;letter-spacing:.11em;pointer-events:none;opacity:0;transition:opacity .12s,border-color .12s}
body.editing .replaceable-media-slot:hover>.media-replace-affordance,body.editing.dragging-files .replaceable-media-slot>.media-replace-affordance{opacity:.92}
body.editing.dragging-files .replaceable-media-slot>.media-replace-affordance{border-color:var(--accent);color:var(--text-bright);background:var(--accent-selected-surface)}
body.editing:not(.dragging-files) .replaceable-media-slot:hover{outline:1px dashed rgb(from var(--accent) r g b / 0.72)!important;outline-offset:-4px!important}
.location-key-slot,.location-visual-slot,.look-image-slot,.character-profile-portrait{width:100%}
.nav-media-drop.replaceable-media-slot{width:100%}

/* Reframe viewer adopts the exact effective destination aspect captured on open. */
.lightbox.reframing .lightbox-image-stage[data-destination-aspect]{max-width:88vw!important;max-height:78vh!important;overflow:hidden!important;flex:none!important}
.lightbox.reframing .lightbox-image-stage[data-destination-aspect] img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}

/* PATCH PREVIEW 02 · CORRECTION PASS 05 */
/* Viewer and destination share one measured viewport and one rendering equation. */
.usage-media-frame.reframe-viewport-ready{
  position:relative!important;width:100%!important;height:auto!important;
  aspect-ratio:var(--usage-aspect)!important;overflow:hidden!important;background:var(--surface-media)!important
}
.usage-media-frame.reframe-viewport-ready>img{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;aspect-ratio:auto!important;
  object-fit:var(--media-fit,contain)!important;object-position:var(--media-x,50%) var(--media-y,50%)!important;
  transform:scale(var(--media-zoom,1))!important;transform-origin:var(--media-x,50%) var(--media-y,50%)!important
}
.lightbox-image-stage.reframe-viewport-ready{aspect-ratio:auto!important}
.lightbox.reframing .lightbox-image-stage.reframe-viewport-ready[data-destination-aspect]{aspect-ratio:auto!important}

/* Existing media are quiet at rest, then reveal one centered replacement cue. */
.edit-mode .replaceable-media-slot,.edit-mode .replaceable-media-slot:hover{
  outline:0!important;background:transparent!important;cursor:copy!important
}
.edit-mode .replaceable-media-slot:before{
  content:''!important;display:block!important;position:absolute!important;inset:0!important;z-index:20!important;
  background:rgb(from var(--surface-media) r g b / 0.38)!important;opacity:0!important;pointer-events:none!important;transition:opacity .14s ease!important
}
.edit-mode .replaceable-media-slot:hover:before,.edit-mode.dragging-files .replaceable-media-slot:before{opacity:1!important}
.media-replace-affordance{
  appearance:none!important;position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  z-index:21!important;transform:translate(-50%,-50%)!important;display:grid!important;place-items:center!important;gap:3px!important;
  min-width:52px!important;padding:8px 10px!important;border:0!important;background:rgb(from var(--surface-media) r g b / 0.32)!important;color:var(--text-primary)!important;
  opacity:0!important;pointer-events:none!important;cursor:pointer!important;transition:opacity .14s ease!important
}
.media-replace-affordance span{font-size:20px!important;line-height:1!important;font-weight:400!important}
.media-replace-affordance small{font-family:inherit!important;font-size:7px!important;font-weight:700!important;line-height:1!important;letter-spacing:.13em!important;color:var(--text-primary)!important}
body.editing .replaceable-media-slot:hover>.media-replace-affordance,body.editing.dragging-files .replaceable-media-slot>.media-replace-affordance{opacity:.94!important;pointer-events:auto!important}
body.view-mode .media-replace-affordance,body:not(.editing) .media-replace-affordance{display:none!important}

/* SPECIAL uses the same secondary-toolbar height as SCRIPT. */
.special-context{min-height:39px!important;height:39px!important;padding:6px 12px!important;box-sizing:border-box!important}
.special-toolbar-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:7px;height:100%}
.special-context .special-filter{display:block!important;margin:0!important;position:relative!important}
.special-context .special-filter>summary{list-style:none;border:1px solid var(--border-control);padding:7px 10px;color:var(--text-secondary);font-size:8px;letter-spacing:.1em;cursor:pointer;white-space:nowrap}
.special-context .special-filter>summary::-webkit-details-marker{display:none}
.special-context .special-filter>div{position:fixed;z-index:100000;width:155px;background:var(--surface-menu);border:1px solid var(--border-control);padding:6px;box-shadow:var(--shadow-menu)}

/* References remain independent cards at every pane width. */
.detail-refs{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr))!important;align-items:start!important}
.detail-refs>.visual-tile,.special-reference-slot{min-width:0!important;max-width:100%!important;overflow:hidden!important}
.special-reference-slot>.usage-media-frame{max-width:100%!important}
.special-thumb-slot{display:flex!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;min-height:76px!important;overflow:hidden!important}
.special-thumb-slot>.usage-media-frame{flex:1 1 auto!important;width:100%!important;height:100%!important;min-height:76px!important}

/* Real scroll movement preserves direction while the selected navigator item recentres. */
.navigator{scroll-behavior:auto}
.nav-item{transition:opacity .14s ease,border-color .14s ease,background-color .14s ease}

/* PATCH PREVIEW 02 · CORRECTION PASS 06 */
/* Existing media keep one permanent, understated replacement command in EDIT. */
body.editing .replaceable-media-slot>.media-replace-affordance{
  display:grid!important;opacity:.72!important;pointer-events:auto!important
}
body.editing .replaceable-media-slot:hover>.media-replace-affordance,
body.editing .replaceable-media-slot.drag-over>.media-replace-affordance{
  opacity:.98!important;background:rgb(from var(--accent-selected-surface) r g b / 0.72)!important;color:var(--text-bright)!important
}
body.view-mode .replaceable-media-slot>.media-replace-affordance,
body:not(.editing) .replaceable-media-slot>.media-replace-affordance{display:none!important}

/* Finder feedback belongs only to the slot currently under the pointer. */
.edit-mode .replaceable-media-slot:before,
.edit-mode .replaceable-media-slot:hover:before,
.edit-mode.dragging-files .replaceable-media-slot:before{opacity:0!important}
.edit-mode .replaceable-media-slot.drag-over:before{opacity:1!important;background:rgb(from var(--accent-selected-surface) r g b / 0.5)!important}
body.editing.dragging-files .replaceable-media-slot,
body.editing:not(.dragging-files) .replaceable-media-slot:hover{
  outline:0!important;box-shadow:none!important;background:transparent!important;border-style:solid!important
}
body.editing .replaceable-media-slot.drag-over{
  outline:1px solid var(--accent-drop-border)!important;outline-offset:-1px!important;
  box-shadow:inset 0 0 0 2px var(--accent-drop-soft)!important
}
body.editing.dragging-files .media-browse-overlay{opacity:0!important}
body.editing .media-drop-zone.drag-over>.media-browse-overlay{opacity:1!important}

/* D.1.2 — one calm, clickable empty Shotlist state. */
.shotlist-empty{min-height:clamp(280px,58vh,620px);box-sizing:border-box;display:grid;place-content:center;justify-items:center;gap:16px;padding:40px;border:1px dashed var(--border-default);background:rgb(from var(--surface-1) r g b / 0.38);color:var(--text-secondary)}
.shotlist-empty strong{font-size:15px;font-weight:500;letter-spacing:.015em;color:var(--text-primary)}
.shotlist-first-action{border:0;background:transparent;color:var(--text-primary);padding:10px 14px;cursor:pointer;font:700 10px Arial,sans-serif;letter-spacing:.12em}
.shotlist-first-action:hover{color:var(--text-bright);background:rgb(from var(--surface-3) r g b / 0.12)}

/* Every transformed image is clipped by its own visible destination frame. */
.replaceable-media-slot,.replaceable-media-slot>.usage-media-frame,
.usage-media-frame.reframe-viewport-ready,.shot-thumbnail-slot,.special-reference-slot,
.location-key-slot,.location-visual-slot,.look-image-slot,.character-profile-portrait{
  max-width:100%!important;min-width:0!important;overflow:hidden!important
}
.shot-thumbnail-slot{display:block!important;width:100%!important;flex:1 1 100%!important}
.shot-thumbnail-slot>.usage-media-frame{display:block!important;width:100%!important;max-width:100%!important}
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame>.shot-thumbnail-slot,
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame>.shot-thumbnail-slot>.usage-media-frame{
  width:100%!important;height:100%!important;min-height:108px!important
}

/* SUBJECT is intentionally multiline and may grow the row. */
.shot-list-subject,.shot-list-subject .shot-adaptive,
.shot-field-subject,.shot-field-subject .shot-adaptive,
.special-row [data-special-column="subject"]{
  white-space:pre-line!important;overflow:visible!important;text-overflow:clip!important;
  -webkit-line-clamp:unset!important;line-clamp:unset!important;max-height:none!important
}
.shot-list-subject .shot-adaptive,.shot-field-subject .shot-adaptive,
.special-row [data-special-column="subject"]{font-size:11px!important;line-height:1.38!important}
.shot-list-row{height:auto!important;min-height:92px}

/* Addition stays an explicit action, separate from replacement. */
.storyboard-add-frame,.storyboard-add-frame-card{
  appearance:none;border:1px solid var(--border-control);background:rgb(from var(--surface-media) r g b / 0.9);color:var(--text-primary);
  font-family:inherit;font-size:8px;letter-spacing:.1em;cursor:pointer
}
.storyboard-add-frame{position:absolute;left:7px;bottom:7px;z-index:13;width:24px;height:24px;padding:0}
.storyboard-add-frame-card{min-height:72px;padding:10px;border-style:dashed}
.storyboard-add-frame:hover,.storyboard-add-frame-card:hover{border-color:var(--accent-control-hover);color:var(--text-bright)}

/* Shared control rhythm across primary and secondary pane toolbars. */
:root{--prevision-control-gap:6px}
.pane-header-actions,.coverage-mode,.pane-context,.special-toolbar-actions{
  gap:var(--prevision-control-gap)!important
}
.pane-header-actions{display:flex;align-items:center;flex:none}
.pane-header-actions .export-wrap{display:flex;margin:0!important;width:30px!important;height:30px!important;flex:0 0 30px!important}
.pane-header-actions .pane-popout,.pane-header-actions .pane-export{width:30px;height:30px;min-height:30px!important;padding:0;margin:0!important}
.special-context [data-shot-info],.special-context .special-filter>summary{
  box-sizing:border-box!important;height:28px!important;min-height:28px!important;
  display:flex!important;align-items:center!important;justify-content:center!important
}
.special-context [data-shot-info]{width:30px!important;padding:0!important}
.special-context .special-filter>summary{padding:0 10px!important}
.coverage-mode button{min-height:28px;box-sizing:border-box}

/* PATCH PREVIEW 02 · CORRECTION PASS 07 */
/* VISIBLE INFO removes complete tracks instead of leaving empty grid columns. */
.shotlist.view-list:not(.special-shotlist){
  grid-template-columns:none!important;
  width:max(100%,var(--shotlist-min,930px))!important;
  min-width:var(--shotlist-min,930px)!important
}
.shotlist.view-list:not(.special-shotlist)>.shot-list-table-head,
.shotlist.view-list:not(.special-shotlist)>.shot-list-row{
  grid-template-columns:var(--shotlist-grid)!important;
  width:100%!important;min-width:var(--shotlist-min,930px)!important
}

/* The table header keeps its upper separator while vertically sticky. */
.shotlist.view-list:not(.special-shotlist)>.shot-list-table-head{
  border-top:1px solid var(--border-toolbar)!important;
  box-shadow:inset 0 1px 0 rgba(91,139,157,.25),0 -1px 0 var(--border-toolbar)!important
}

/* Viewer is always the highest application layer. */
.lightbox{z-index:2000000!important;isolation:isolate!important}
.lightbox-close,.lightbox-nav,.lightbox-tools,.lightbox-caption{z-index:4!important}

/* Outside Reframe, show the full image immediately in a stable large viewport. */
.lightbox:not(.reframing):not(.cropped-view) .lightbox-image-stage.reframe-viewport-ready{
  display:flex!important;width:min(88vw,1500px)!important;height:min(86vh,calc(100vh - 96px))!important;
  max-width:88vw!important;max-height:86vh!important;aspect-ratio:auto!important;background:transparent!important
}
.lightbox:not(.reframing):not(.cropped-view) .lightbox-image-stage.reframe-viewport-ready>img{
  position:static!important;inset:auto!important;width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;object-fit:contain!important;
  object-position:50% 50%!important;transform:none!important;cursor:zoom-out!important
}

/* Reframe guide is the exact measured destination edge. */
.lightbox.reframing .lightbox-image-stage.reframe-viewport-ready{
  outline:1px solid var(--accent)!important;outline-offset:0!important;
  box-shadow:var(--shadow-viewer)!important
}
.lightbox.reframing .lightbox-image-stage.reframe-viewport-ready:after{
  content:'';position:absolute;inset:0;z-index:3;border:1px solid rgb(from var(--accent) r g b / 0.72);
  box-sizing:border-box;pointer-events:none
}

/* SPECIAL reuses the Location three-size control with responsive auto-fill. */
.detail-refs.small{grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr))!important}
.detail-refs.medium{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr))!important}
.detail-refs.large{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))!important}
.special-reference-head .gallery-size{margin-left:auto}

/* PATCH PREVIEW 02 · CORRECTION PASS 08 */
.special-shotlist .special-shot{
  display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;padding:10px!important
}
.special-shotlist .special-shot strong{
  display:block!important;width:100%!important;font-size:12px!important;line-height:1.2!important
}

/* PATCH PREVIEW 03 · PASS 01 */
/* LOOK cards and the media inside each card both respond to available width. */
.look-book-content .looks-row{
  display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;
  grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))!important;
  align-items:start!important;gap:16px!important;overflow-x:visible!important;padding-bottom:14px!important
}
.look-book-content .look-book-card{width:auto!important;min-width:0!important;max-width:none!important;min-height:0!important}
.look-book-content .look-book-gallery{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))!important;
  align-items:start!important;gap:12px!important
}
.look-book-content .look-book-gallery>.visual-tile,
.look-book-content .look-book-gallery>.add-media-card{min-width:0!important;align-self:start!important}

/* Costume cards fill the row naturally; their media form a second responsive grid. */
.pane-body .character-columns{
  display:flex!important;flex-flow:row wrap!important;
  align-items:start!important;justify-content:stretch!important;gap:14px!important
}
.pane-body .character-columns>.character-card{width:auto!important;min-width:min(280px,100%)!important;max-width:none!important;flex:1 1 280px!important}
.pane-body .character-card .look-images{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))!important;
  align-items:start!important;gap:10px!important
}
.pane-body .character-card .look-images>.usage-media-frame{min-width:0!important;align-self:start!important}
.pane-body .character-columns>.add-seq-character-card{order:999!important;min-height:160px!important;flex:1 0 100%!important}
.pane-body .character-card .character-head{position:relative;gap:8px;align-items:center}
.remove-sequence-character{flex:0 0 24px;margin-left:auto}
.remove-sequence-character+.seq-look-control{margin-left:0}
.export-visible-info{display:flex;flex-wrap:wrap;gap:7px}.export-visible-info span{padding:6px 8px;border:1px solid var(--border-control);border-radius:3px;background:var(--surface-bulk-action);color:var(--text-primary);font-size:8px;letter-spacing:.1em}

/* LIST thumbnails use a true 16:9 destination viewport. */
.shotlist.view-list:not(.special-shotlist) .shot-images{
  min-width:206px!important;min-height:122px!important;height:auto!important;align-self:start!important;padding:7px!important
}
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame,
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame>.shot-thumbnail-slot,
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame>.shot-thumbnail-slot>.usage-media-frame{
  width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/9!important
}
.shotlist.view-list:not(.special-shotlist) .shot-image-wrap.list-frame>.shot-thumbnail-slot>.usage-media-frame>img{
  width:100%!important;height:100%!important;object-fit:var(--media-fit,cover)!important
}

/* Storyboard shares the same Shots, media, reframe and selection state as LIST. */
.shotlist.view-storyboard{box-sizing:border-box;width:100%;min-width:0;padding:18px 18px 40px}
.storyboard-grid{
  position:relative;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--storyboard-target,360px)),var(--storyboard-target,360px)));
  align-items:start;justify-content:start;gap:30px 22px;width:100%
}
.storyboard-shot{
  position:relative;box-sizing:border-box;min-width:0;margin:0!important;padding:0 0 0 10px!important;
  border:0!important;border-left:2px solid transparent!important;background:transparent!important;box-shadow:none!important
}
.storyboard-shot.has-coverage{border-left-color:transparent!important}
.storyboard-shot.selected{background:rgb(from var(--accent-selected-surface) r g b / 0.22)!important}
.storyboard-shot-head{height:31px;display:flex;align-items:center;gap:7px;margin-bottom:7px}
.storyboard-shot-head>.shot-id-editable{font-size:14px;line-height:1;font-weight:800;color:var(--text-soft-white);white-space:nowrap}
.storyboard-shot-controls{display:flex;align-items:center;gap:4px}
.storyboard-shot-controls button{position:static!important;margin:0!important}
.storyboard-comment{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;min-width:26px}
.storyboard-comment .object-comment-btn{position:static!important;width:26px!important;height:26px!important}
.storyboard-frame-wrap{
  position:relative!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;
  overflow:hidden!important;background:var(--surface-media)!important;border:1px solid var(--border-toolbar)!important
}
.storyboard-shot.has-coverage .storyboard-frame-wrap:before{
  content:'';position:absolute;z-index:24;inset:0 auto 0 0;width:2px;background:var(--coverage-color);pointer-events:none
}
.storyboard-frame-wrap>.shot-thumbnail-slot,
.storyboard-frame-wrap>.shot-thumbnail-slot>.usage-media-frame{
  display:block!important;width:100%!important;height:100%!important;aspect-ratio:16/9!important;overflow:hidden!important
}
.storyboard-frame-wrap>.shot-thumbnail-slot>.usage-media-frame>img{width:100%!important;height:100%!important}
.storyboard-frame-wrap.storyboard-empty{display:grid!important;place-items:center!important;border-style:dashed!important;color:var(--text-field-label)}
.storyboard-shot-info{display:grid;gap:8px;padding-top:10px;font-size:11px;line-height:1.42;color:#d7e2e7}
.storyboard-camera{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;color:var(--text-primary);font-size:10px;letter-spacing:.045em;text-transform:uppercase}
.storyboard-camera i{font-style:normal;color:var(--text-muted)}
.storyboard-tags .shot-tags{
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;justify-content:flex-start!important;
  gap:5px!important;min-height:0!important;width:100%!important
}
.storyboard-tags .shot-type-tag{display:inline-flex!important;flex:0 0 auto!important;width:auto!important}
.storyboard-actions{min-height:0;color:#e6eef1;white-space:pre-wrap}
.storyboard-optional{display:grid;gap:3px;color:var(--text-secondary);white-space:pre-wrap}
.storyboard-optional label{font-size:7px;letter-spacing:.14em;color:var(--text-muted)}
.storyboard-add-shot{width:100%!important;min-height:120px!important;margin:38px 0 0!important}

.storyboard-size-control{margin-left:8px;display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:7px;letter-spacing:.12em;white-space:nowrap}
.storyboard-size-control b{font-size:12px;font-weight:400;color:var(--text-secondary)}
.storyboard-size-control input[type="range"]{width:76px;height:14px;accent-color:var(--accent);cursor:ew-resize}
.storyboard-context{min-height:39px!important;overflow:visible!important}
.storyboard-row-separator{
  position:absolute;left:40%;width:20%;height:1px;background:rgb(from var(--surface-1) r g b / 0.2);pointer-events:none
}

@container visualizer (max-width:520px){
  .look-book-content .looks-row{grid-template-columns:1fr!important}
  .look-book-content .look-book-gallery,.pane-body .character-card .look-images{grid-template-columns:1fr!important}
  .shotlist.view-storyboard{padding-inline:12px}
  .storyboard-grid{grid-template-columns:1fr!important}
  .storyboard-size-control span{display:none}
}

/* Script: headers are outside the only vertical scrolling region. */
.pane.script-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden!important}
.script-pane>.pane-tabs,.script-pane>.script-context{position:relative!important;top:auto!important;flex-shrink:0;border-bottom:1px solid var(--line)!important}
.script-pane>.pane-body{flex:1 1 0;min-height:0;overflow:auto!important;overscroll-behavior:contain}

/* Shotlist / SPECIAL: the body scrolls independently of both toolbar rows. */
.pane.content-scroll-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden!important}
.content-scroll-pane>.pane-tabs,.content-scroll-pane>.pane-context{position:relative!important;top:auto!important;flex-shrink:0;border-bottom:1px solid var(--line)!important}
.content-scroll-pane>.pane-body{flex:1 1 0;min-height:0;overflow-y:auto!important;overscroll-behavior:contain}

/* Shared toolbar geometry for the three fixed-header visualizers. */
:root{--viewer-row-height:48px;--pane-primary-height:var(--viewer-row-height);--pane-secondary-height:var(--viewer-row-height);--pane-toolbar-padding-y:6px}
:is(.script-pane,.content-scroll-pane)>.pane-tabs,
:is(.script-pane,.content-scroll-pane)>.pane-context{
  box-sizing:border-box!important;padding-block:var(--pane-toolbar-padding-y)!important;
  align-items:center!important;align-content:center!important;flex-wrap:nowrap!important
}
:is(.script-pane,.content-scroll-pane)>.pane-tabs{height:var(--pane-primary-height)!important;min-height:var(--pane-primary-height)!important;max-height:var(--pane-primary-height)!important}
:is(.script-pane,.content-scroll-pane)>.pane-context{height:var(--pane-secondary-height)!important;min-height:var(--pane-secondary-height)!important;max-height:var(--pane-secondary-height)!important}
.special-row [data-edit-vfx]{display:block!important;width:100%;min-height:1.4em;white-space:pre-wrap!important;overflow-wrap:anywhere;-webkit-line-clamp:unset!important}
.special-row [data-edit-vfx][contenteditable="true"]{cursor:text}
/* Equal outer tracks keep the Look centered independently of names and badges. */
.pane-body .character-card .character-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:6px;padding:10px;align-items:center}
.character-head>.character-name{min-width:0;overflow-wrap:anywhere;font-size:14px}
.character-head>.seq-look-control{min-width:0;justify-self:center;max-width:100%;justify-content:center}
.character-head .look-chip{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.character-head .custom-look-picker{flex:none}
.character-head>.character-head-actions{display:grid;grid-template-columns:32px 24px;gap:5px;align-items:center;justify-self:end;width:61px}
.character-head-actions>.object-comment-btn{box-sizing:border-box;width:32px;min-width:0;margin:0;padding:0;justify-content:center}
.character-head-actions>.remove-sequence-character{margin:0;width:24px;height:24px}

/* Shotlist: one native horizontal scroller (the pane body), with no nested scroll handoff. */
.shotlist.view-list:not(.special-shotlist){overflow:visible!important}

/* Let the viewport, never a legacy minimum, determine the available body height. */
.sequence-grid{min-height:0!important;grid-auto-rows:minmax(0,1fr)}
.workspace:has(>.sequence-grid){min-height:0;overflow:hidden}
.popout-window .app-shell{min-width:0;min-height:0}
/* Rows have their own stacking context below the opaque sticky column header. */
.shotlist.view-list:not(.special-shotlist)>.shot-list-row{isolation:isolate;z-index:0!important}
.shotlist.view-list:not(.special-shotlist)>.shot-list-table-head{background:var(--surface-table-header)!important;isolation:isolate}
/* No scrolled rows in the padding above the sticky header. */
.pane-body:has(>.shotlist.view-list:not(.special-shotlist)){padding-top:0}
.shotlist.view-list:not(.special-shotlist){margin-top:22px}
[data-edit-special-notes]{white-space:pre-wrap!important;overflow-wrap:anywhere;-webkit-line-clamp:unset!important}
.special-row [data-edit-special-notes]{display:block!important;width:100%;min-height:1.4em}
[data-edit-special-notes][contenteditable="true"]{cursor:text}

/* E.1 Coverage references keep the Shot color. */
.coverage-rail.coverage-zebra{background-image:repeating-linear-gradient(135deg,transparent 0 3px,#0b202bd9 3px 6px);min-width:5px}
.coverage-warning{background:transparent;border:0;color:#e1b96b;cursor:pointer;font-size:15px;padding:3px 5px}
.coverage-notice{display:flex;flex-direction:column;gap:7px;padding:12px 16px;margin:10px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:4px;font-size:12px;color:var(--text-primary);line-height:1.5}
.coverage-notice small{color:var(--text-secondary)}

/* E.1.1: native text selection with a vector cursor, only on eligible paragraphs. */
.script-paper.coverage-awaiting-selection .scriptpara,.script-paper.coverage-awaiting-selection .scriptpara *{cursor:var(--coverage-cursor,text)}
.coverage-rail.coverage-armed{box-shadow:0 0 0 1px var(--coverage-color)}

/* Coverage hover and immediate armed indicator. The badge never intercepts input. */
#coverageCursorBadge{position:fixed;z-index:100000;pointer-events:none;font:700 11px/1 Arial,sans-serif;text-shadow:-1px 0 #fff,1px 0 #fff,0 -1px #fff,0 1px #fff}
.coverage-hover{position:fixed;z-index:20000;max-width:340px;width:max-content;max-height:min(400px,70vh);overflow:auto;padding:14px;background:var(--surface-notice);color:var(--text-notice);border:1px solid var(--border-default);border-radius:5px;box-shadow:var(--shadow-coverage-tooltip);font-size:12px;white-space:normal}
.coverage-hover section+section{border-top:1px solid var(--border-default);margin-top:10px;padding-top:10px}.coverage-hover strong,.coverage-hover small{display:block}.coverage-hover small{margin-top:7px;color:var(--text-secondary)}.coverage-hover p{margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.coverage-hover button{border:1px solid var(--border-default);background:var(--surface-control);color:var(--text-input);border-radius:3px;padding:6px 9px;cursor:pointer;font-size:10px}
/* Keep the free area around the Shot number available for selection. */
.shotlist.view-list .shot-list-id .shot-id-editable{width:fit-content!important;max-width:100%;padding:0!important;margin:32px auto 0!important;line-height:1.25;min-height:0}
.shot-card .shot-id-editable{width:fit-content;max-width:100%;padding:0}
.shot-card .shot-field>.shot-editable,.shot-list-subject>.shot-editable{width:fit-content;max-width:100%;min-height:0;align-self:start}

.compact-shot-editor{display:block;width:fit-content;max-width:100%;min-height:0;padding:0;white-space:pre-wrap}

/* E.1.3 — preserve compact editing targets, center within actual row height. */
.shot-list-subject>.shot-editable{align-self:center}
body.view-mode .shotlist.view-list .shot-list-id .shot-id-editable{margin:0 auto!important}
.tag-picker>div[popover]{position:fixed;margin:0;max-height:calc(100vh - 16px);overflow:auto;box-sizing:border-box}
.tag-picker>div[popover]:popover-open{display:block}

/* E.1.4 — variable-height cell → intrinsic content block → vertical alignment.
   Camera keeps its existing equal-height subcells, already centered individually.
   EDIT Shotlist retains its editor alignment; SPECIAL values use the common rule. */
body.view-mode .shotlist.view-list,.special-shotlist{--shot-cell-vertical-align:center}
.shotlist.view-list .shot-cell{align-items:var(--shot-cell-vertical-align,center)!important}
body.edit-mode .shotlist.view-list:not(.special-shotlist) .shot-cell:is(.shot-list-actions,.shot-list-notes,.shot-list-description){align-items:flex-start!important}
.shot-cell-content{flex:0 1 auto;min-width:0;max-width:100%;height:auto;overflow-wrap:anywhere}
.shot-cell-content>.shot-tags{height:auto;min-height:0}

/* F.1 intrinsic profile sections and bounded global Set Review. */
.element-absent{color:#91a1a8;font-size:11px;font-weight:normal;margin:5px 0}
.nav-item:has(.element-absent) .nav-title{color:#81919a}
.element-extras{padding:18px;display:grid;gap:22px}.element-extras h3{font-size:12px;letter-spacing:.08em;margin:0 0 12px}
.element-extras button,.element-modal button,#openSetReview{background:var(--surface-control);border:1px solid var(--border-default);color:#dce9ed;padding:7px 12px;cursor:pointer}
.element-extras input,.element-extras textarea,.element-set-profile input,.element-modal input,.element-modal select{background:var(--surface-inspector);color:#dce9ed;border:1px solid var(--border-default);padding:8px;max-width:100%;box-sizing:border-box}
.element-extras textarea{width:100%;min-height:95px}.element-notes{white-space:pre-wrap}
.element-extras form{display:flex;flex-wrap:wrap;gap:8px}.element-extras a{color:var(--text-primary)}
.element-visuals{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:10px}.element-visuals img{width:100%;height:180px;object-fit:contain}.element-visuals article{background:var(--surface-1);padding:8px}.element-visuals button{width:100%;font-size:10px}
.element-scenes{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.element-set-profile{padding:20px}.element-set-profile .key-visual img{width:100%;max-height:380px;object-fit:contain}
.element-modal{position:fixed;inset:0;background:var(--overlay-elements);z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px}.element-modal>section{background:var(--surface-element-modal);color:#e0eaf0;width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column;padding:20px;box-sizing:border-box}.element-modal header,.element-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.element-modal h2{font-size:17px}.element-review-scroll{overflow:auto;min-height:0;scrollbar-color:var(--scroll-thumb-muted) var(--surface-element-modal);scrollbar-width:thin}.element-modal table{width:100%;border-collapse:collapse;text-align:left}.element-modal th{position:sticky;top:0;background:var(--surface-element-header)}.element-modal td,.element-modal th{padding:10px;border-bottom:1px solid var(--border-default)}.element-modal td:nth-child(2){min-width:300px}.element-modal input,.element-modal select{width:100%;margin:3px 0}.element-modal [role=alert]{color:#ffbf70}.element-modal p{font-size:12px}.element-modal input:disabled{opacity:var(--disabled-opacity-field)}
body.edit-mode .element-set-profile>.location-hero .view-value,body.edit-mode .element-extras .view-value{display:none}
.element-set-profile .location-hero{grid-template-columns:minmax(200px,1fr) minmax(180px,1fr)}
.element-set-profile .key-placeholder{max-height:220px}
@media(max-width:700px){.element-set-profile .location-hero{grid-template-columns:1fr}}
/* F.1.1: shared gallery uses PREVISION's visual tile, Add Media and delete controls. */
.common-media-gallery{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:14px!important}.common-media-card{width:240px;max-width:100%;flex:0 1 auto;min-width:0}.common-media-gallery.small .common-media-card{width:150px}.common-media-gallery.large .common-media-card{width:360px}
.common-media-surface{position:relative;max-width:100%}.common-media-surface .natural-reference{aspect-ratio:auto!important;height:auto!important;overflow:hidden}.common-media-surface img{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}.common-media-surface .delete-media{position:absolute;top:5px;right:5px;z-index:4}.common-media-card .image-note{font-size:11px}.edit-mode .common-media-card .view-value{display:none}
.media-card-menu{position:absolute;right:34px;top:5px;z-index:5}.media-card-menu summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:24px;height:24px;background:var(--surface-menu-item);color:var(--text-floating);border:1px solid var(--border-menu);border-radius:2px}.media-card-menu>div{position:absolute;right:0;top:27px;background:var(--surface-menu-item);border:1px solid var(--border-menu);min-width:145px;padding:4px}.media-card-menu button{display:block;width:100%;padding:7px;border:0;background:transparent;text-align:left;color:var(--text-floating);font:10px Arial}.media-kv-badge{position:absolute;left:6px;top:5px;color:var(--success);background:#0b2838cc;padding:3px 5px;font-size:11px}.media-link-preview{position:relative;display:block;width:100%;border:1px solid var(--border-control);background:var(--surface-media);color:var(--text-primary);cursor:pointer;padding:0}.media-link-preview video{width:100%;height:auto}.media-provider{display:block;padding:26px 12px;font-size:10px;text-align:center}.media-link-preview:has(img) .media-provider{padding:6px}
.common-media-gallery>.add-media-card{width:145px!important;min-width:145px!important;max-width:100%!important;height:auto!important;min-height:36px!important;aspect-ratio:auto!important;align-self:flex-start!important}.add-media-card>.add-media-label{min-height:34px!important}.common-media-gallery>.add-media-card[open]{width:240px!important}
.element-extras{display:block;padding:0}.element-extras>section{margin-top:22px}.element-extras button,.element-extras input{font-size:10px}.element-extras .gallery-head{margin-top:20px}.element-set-profile .key-visual .natural-reference{aspect-ratio:auto!important;height:auto!important}.element-set-profile .key-visual img{height:auto!important;aspect-ratio:auto!important}
.character-doc-card{display:flex!important;align-items:center!important;gap:9px!important;padding:7px 10px!important;min-height:34px!important;margin:5px 0!important}.character-doc-card>strong,.character-doc-card>button[data-set-doc]{flex:1;min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:11px;text-align:left}.character-doc-card .clean-delete-btn{position:static!important;flex:none}.character-doc-type{font-size:9px!important;padding:0!important;min-width:28px!important}.character-documents-section{margin-top:18px!important}.character-doc-drop{width:max-content!important;max-width:100%;min-height:30px!important;padding:7px 12px!important;font-size:10px;border:1px dashed var(--border-control)!important}.character-doc-drop .doc-drop-icon,.character-docs-head .section-subtitle{display:none!important}.character-doc-list{display:block!important}
.scene-references{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.scene-reference{font:inherit!important;color:inherit!important;border:0!important;background:transparent!important;padding:0!important;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.nav-item:has(.element-absent){opacity:.42}.nav-item.active:has(.element-absent){opacity:.7}.element-absent{color:#778994!important}
.look-subtitle{width:100%;font:11px Arial;background:var(--bg-base);color:var(--text-floating);border:1px solid var(--border-media);padding:7px;margin:8px 0}.look-chip{white-space:normal;font-size:9px}.look-book-card .common-media-gallery{min-width:0}
#lightboxPlayer{width:min(88vw,1100px);max-height:80vh;overflow:auto}#lightboxPlayer .reference-player{width:100%;height:min(70vh,620px)}#lightboxPlayer video.reference-player{height:auto;max-height:78vh}#lightboxPlayer .reference-external{display:block;padding:80px 30px;font-size:18px;color:var(--text-floating)}
#setReview .comparison-entries b{min-width:14px}#setReview .comparison-primary label{display:block;font-size:9px;margin-bottom:9px}#setReview:not(.set-review-wn) input{width:100%;box-sizing:border-box;margin-top:6px;background:var(--surface-comparison-input);color:var(--text-floating);border:1px solid var(--border-comparison-input);padding:7px}#setReview .comparison-entries span{font-size:11px}#setReview .comparison-primary{min-height:162px}

/* Natural gallery dimensions are retained when the shared Reframe viewport takes over. */
.common-media-surface .usage-media-frame.reframe-viewport-ready{aspect-ratio:var(--usage-aspect)!important}
.common-media-surface .usage-media-frame.reframe-viewport-ready>img{height:100%!important;object-fit:var(--media-fit,contain)!important}

.lightbox.showing-media #lightboxImage{display:none!important}.lightbox.showing-media .lightbox-image-stage{display:block!important;width:auto!important;height:auto!important;aspect-ratio:auto!important}

.element-set-profile .key-visual .usage-media-frame.reframe-viewport-ready{aspect-ratio:var(--usage-aspect)!important}.element-set-profile .key-visual .usage-media-frame.reframe-viewport-ready>img{height:100%!important}
#setReview.set-resolved .comparison-primary{min-height:0}
.character-doc-card [data-set-doc]{flex:1;text-align:left;background:transparent;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}

.character-doc-list>.empty-state{min-height:0!important;height:auto!important;padding:14px!important}.nav-media-provider{display:block;padding:18px 8px;color:var(--text-secondary);font-size:10px}

/* F.1.2 — intrinsic media rows, shared by every common gallery. */
.common-media-gallery{gap:14px!important;align-items:flex-start!important}
.common-media-gallery .common-media-card{flex:0 0 auto!important;max-width:100%;min-width:0;padding:0;box-sizing:border-box}
.common-media-gallery .common-media-surface{width:100%;height:160px}
.common-media-surface .usage-media-frame,.common-media-surface .usage-media-frame.reframe-viewport-ready{width:100%!important;height:100%!important;aspect-ratio:auto!important}
.common-media-surface .usage-media-frame>img,.common-media-surface .usage-media-frame.reframe-viewport-ready>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:var(--media-fit,contain)!important}
.common-media-surface .media-link-preview{position:relative;display:block;width:100%;height:100%;padding:0;border:0;min-height:0;overflow:hidden}
.common-media-surface .media-link-preview>img,.common-media-surface .media-link-preview>video{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
.media-link-preview.has-preview .media-provider{position:absolute;bottom:0;left:0;right:0;padding:5px 8px;background:rgb(from var(--surface-media) r g b / 0.7294);font-size:9px;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.media-link-preview>iframe{width:100%;height:100%;border:0;pointer-events:none}
.media-height-control{margin-left:auto;display:flex;align-items:center;gap:8px}.media-height-control input{width:120px;accent-color:var(--accent)}.media-height-control span{font-size:9px}
.add-media-card,.common-media-gallery>.add-media-card,.character-doc-drop,.add-document-control{box-sizing:border-box!important;width:170px!important;min-width:0!important;max-width:100%!important;min-height:42px!important;height:auto!important;aspect-ratio:auto!important;padding:0!important;border:1px dashed var(--border-control)!important;border-radius:2px!important;background:transparent!important;color:var(--text-secondary)!important;font:600 10px Arial,sans-serif!important;letter-spacing:1px;text-align:center;cursor:pointer}
.add-media-card>.add-media-label{padding:14px 10px!important;min-height:42px!important;box-sizing:border-box}
body.editing .character-doc-drop,body.edit-mode .character-doc-drop,.add-document-control{display:flex!important;align-items:center;justify-content:center;width:170px!important;min-width:0!important;padding:12px 10px!important;flex:none}
body:not(.editing):not(.edit-mode) .character-doc-drop{display:none!important}
.common-media-gallery>.add-media-card[open]{width:240px!important}
.character-doc-list{display:flex!important;flex-wrap:wrap;gap:8px;margin-top:10px}.character-doc-card{flex:0 1 300px;max-width:100%;width:auto!important;margin:0!important;box-sizing:border-box}.character-doc-card>strong{min-width:0}.character-doc-card .doc-actions{flex:none}.character-doc-list>.empty-state{flex:1}
.profile-scenes{margin-top:18px}.scene-references{font-size:11px!important;line-height:1.6;gap:7px}.profile-scenes .section-title{margin-bottom:8px}
.nav-item:has(.element-absent) .nav-title{color:#6f7a82!important;text-decoration:line-through}.nav-item:has(.element-absent){opacity:.35}.nav-item.active:has(.element-absent){opacity:.55}
/* Key visuals size from the source aspect, never from a previous measured card. */
.character-profile-portrait,.element-set-profile .key-visual{height:auto!important;min-height:0!important;max-width:100%;background:transparent!important}
.character-profile-portrait .natural-reference,.element-set-profile .key-visual .natural-reference{width:min(100%,calc(380px * var(--usage-aspect,1.5)))!important;max-width:100%!important;height:auto!important;aspect-ratio:var(--usage-aspect)!important;margin:0}
.character-profile-portrait .natural-reference>img,.element-set-profile .key-visual .natural-reference>img{width:100%!important;height:100%!important;max-height:none!important;object-fit:var(--media-fit,contain)!important}
#setReview .set-question{text-align:center;font-size:11px;margin:2px 0 12px}#setReview .set-destination-actions{display:grid;gap:7px}#setReview .set-destination-actions button{width:100%;min-height:32px;text-align:center}
#setReview .set-destination-actions .active,#setReview .set-existing-list .active{border-color:var(--accent);background:var(--surface-comparison-button)}
#setReview .set-destination-fields{height:160px;overflow:auto;margin-top:10px}#setReview .set-existing-list{display:grid;gap:5px;margin-top:7px;max-height:108px;overflow:auto}#setReview .set-existing-list button{text-align:left;font-size:10px;padding:7px}
#setReview .set-destination-fields::-webkit-scrollbar,#setReview .set-existing-list::-webkit-scrollbar{width:6px}#setReview .set-destination-fields::-webkit-scrollbar-thumb,#setReview .set-existing-list::-webkit-scrollbar-thumb{background:var(--scroll-thumb-review);border-radius:5px}
#setReview .comparison-primary{min-height:0}#setReview #setReviewConfirm{margin-top:10px}#setReview:not(.set-review-wn) button:disabled{opacity:var(--disabled-opacity);cursor:default}

.character-profile-portrait.kv-natural-slot,.element-set-profile .key-visual.kv-natural-slot{display:block!important;justify-self:start;align-self:start;width:min(100%,calc(380px * var(--kv-aspect)))!important;height:auto!important;aspect-ratio:var(--kv-aspect)!important;min-height:0!important;max-height:none!important;padding:0!important}
.kv-natural-slot>.usage-media-frame.natural-reference{width:100%!important;height:100%!important;aspect-ratio:var(--kv-aspect)!important}

/* F.1.3: shared media/context controls and profile geometry. */
.common-media-gallery{gap:7px!important}
.media-height-control{gap:7px;flex:none}.media-height-control input[type=range]{appearance:none;-webkit-appearance:none;width:100px!important;height:22px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer;margin:0}
.media-height-control input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--scroll-thumb-muted);border:0}
.media-height-control input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:3px;height:13px;margin-top:-6px;background:var(--accent);border:0;border-radius:0}
.media-height-control input[type=range]::-moz-range-track{height:1px;background:var(--scroll-thumb-muted)}.media-height-control input[type=range]::-moz-range-thumb{width:3px;height:13px;background:var(--accent);border:0;border-radius:0}
.common-media-surface{position:relative;user-select:none}.common-media-surface img{-webkit-user-drag:none}.media-inline-play{position:absolute;bottom:5px;right:5px;z-index:3;background:var(--surface-tab-active);color:white;border:1px solid var(--border-default);width:28px;height:28px}
.character-profile-top,.profile-hero{grid-template-columns:minmax(0,min(var(--profile-kv-width,420px),48%)) minmax(0,1fr)!important;gap:24px!important;align-items:start}.character-profile-media{min-width:0}.profile-notes{margin-top:20px}.profile-notes textarea{width:100%;min-height:80px;background:var(--bg-base);color:var(--text);border:1px solid var(--line);padding:8px}.profile-documents{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.profile-documents>.section-title{margin-bottom:12px}.profile-documents .character-doc-list{margin-top:12px}.profile-hero .location-info{min-width:0;border-top:0}.profile-hero .location-info h2{margin:8px 0}.profile-hero .key-visual{min-width:0}
.book-topbar>.pane-header-actions{align-self:center;gap:6px}.pane-header-actions>.object-comment-btn,.pane-header-actions .icon-btn{position:static!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
.pane-body .character-card .character-head{grid-template-columns:minmax(0,1fr) auto;min-height:40px;padding:8px 10px;gap:8px}.character-head>.character-head-actions{grid-column:2}.costume-look-row{display:flex;align-items:center;gap:8px;padding:8px 10px;min-height:36px}.costume-look-row .seq-look-control{flex:1;min-width:0;justify-content:flex-start}.costume-look-row .look-chip{font-size:12px;line-height:1.4;white-space:normal;text-align:left;overflow-wrap:anywhere}.costume-look-row .media-height-control span{display:none}.costume-look-row .media-height-control input[type=range]{width:64px!important}.character-card>.common-media-gallery{margin-top:0}.character-card .seq-look-control{padding:0!important}.costume-look-row+.common-media-gallery{padding:0 10px 10px!important}
@media(max-width:650px){.character-profile-top,.profile-hero{grid-template-columns:minmax(0,1fr)!important}.costume-look-row{flex-wrap:wrap}}

.navigator.library-navigator{padding:12px 11px;overflow-anchor:none}.library-navigator .nav-item:not(:has(.element-absent)){opacity:.75}.library-navigator .nav-item.active{opacity:1}
.profile-hero .location-info{display:block!important}.profile-hero .location-info>.section-title{margin-top:0}.common-media-card .image-note{margin-top:3px;padding-top:3px;padding-bottom:3px}.common-media-card .view-value.image-note:empty{display:none!important}

.media-provider-player{position:relative;flex:0 0 100%;min-width:0;padding-right:32px;box-sizing:border-box}.media-provider-player iframe{display:block;width:100%;height:152px;border:0}.media-provider-player>.clean-delete-btn{position:absolute;right:0;top:0;width:26px;height:26px}
body.edit-mode .character-profile-copy .view-value{display:none!important}

/* F.1.4: shared section rhythm, navigation and media controls. */
.character-profile{max-width:none}
.character-documents-section,.profile-documents,.element-extras>.gallery-head,.element-set-profile>.gallery-head{width:100%;box-sizing:border-box;margin:20px 0 12px!important;padding:20px 0 0!important;border-top:1px solid var(--line)!important}
.navigator.library-navigator{padding:30vh 11px}
#openSetReview.collab-btn{height:28px;font-size:10px;color:#d6a451;letter-spacing:.08em;padding:8px;border:1px solid var(--border-default);background:var(--surface-review);margin-left:14px}
.look-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:190px;gap:7px}
.look-head-actions>.media-height-control{flex-basis:100%;justify-content:flex-end;margin:0;padding-right:5px}
.look-book-card>.look-description:placeholder-shown{min-height:28px;height:28px;margin:3px 0}
.look-book-card>.look-description-view:empty{display:none}
.look-book-card>.common-media-gallery{margin-top:8px}
.media-height-control{padding-right:5px}.media-height-control input[type=range]{box-sizing:content-box!important;max-width:none!important}
.costume-look-row .media-height-control span{display:inline}
.spotify-card-player{display:block;width:100%;height:100%;min-height:80px;border:0;border-radius:0}
.media-ratio-editor{position:absolute;inset:0;z-index:8;border:1px solid var(--accent);cursor:crosshair}
.media-ratio-editor .ratio-handle{position:absolute;background:var(--accent);padding:0;border:0;min-width:0;min-height:0;border-radius:0}
.ratio-n,.ratio-s{left:calc(50% - 12px);width:24px;height:7px;cursor:ns-resize}.ratio-n{top:-4px}.ratio-s{bottom:-4px}
.ratio-e,.ratio-w{top:calc(50% - 12px);height:24px;width:7px;cursor:ew-resize}.ratio-e{right:-4px}.ratio-w{left:-4px}
.ratio-nw,.ratio-ne,.ratio-sw,.ratio-se{height:10px;width:10px}.ratio-nw{top:-5px;left:-5px;cursor:nwse-resize}.ratio-ne{top:-5px;right:-5px;cursor:nesw-resize}.ratio-sw{bottom:-5px;left:-5px;cursor:nesw-resize}.ratio-se{bottom:-5px;right:-5px;cursor:nwse-resize}
.ratio-actions{position:absolute;top:100%;margin-top:12px;left:0;display:flex;align-items:center;gap:8px;background:var(--surface-menu-item);padding:6px;white-space:nowrap;box-shadow:var(--shadow-media-actions)}
.ratio-actions strong{font:600 9px Arial}.ratio-actions button{font:10px Arial;padding:6px;background:var(--surface-control);color:var(--text);border:1px solid var(--line)}
.editing-media-ratio{padding-bottom:56px!important}.editing-media-ratio .image-note{visibility:hidden}.editing-media-ratio .media-card-menu,.editing-media-ratio .delete-media{visibility:hidden}

.save-status:not(.failed){display:none!important}
.media-ratio-editor{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M6 1v17h17M1 6h17v17' fill='none' stroke='%23081a22' stroke-width='5'/%3E%3Cpath d='M6 1v17h17M1 6h17v17' fill='none' stroke='%23d5e5ec' stroke-width='2'/%3E%3C/svg%3E") 6 6,crosshair}
.common-media-gallery .common-media-card{overflow:visible!important}
.common-media-gallery .editing-media-ratio{position:relative;z-index:10}

/* F.1.5 — intrinsic free text and shared action geometry. */
:root{--action-size:30px;--action-gap:6px;--action-icon-size:18px}
:is(.view-value,.info-value,.element-notes,.character-shorttext,.look-description-view,.image-note,.nav-title,.scene-references,.book-info-row h2,textarea,[contenteditable=true]){min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;white-space:pre-wrap}
textarea,[contenteditable=true]{box-sizing:border-box;overflow-x:hidden;max-width:100%}
:is(.character-profile-copy,.location-identity,.location-production,.location-profile-notes,.book-info-row,.edit-block){min-width:0}
.character-profile-copy>.profile-scenes{margin:0 0 18px}
.character-profile-copy>.profile-notes{margin-top:18px}
.element-set-profile{container-type:inline-size}
.element-set-profile .location-profile-header{display:grid!important;grid-template-columns:minmax(0,min(var(--profile-kv-width,380px),32%)) minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:'key identity production' 'key notes notes';gap:18px 22px!important;align-items:start}
.location-profile-header>.key-visual{grid-area:key;width:100%!important;max-width:100%}
.location-identity{grid-area:identity}.location-production{grid-area:production}.location-profile-notes{grid-area:notes}
.location-profile-header .book-info-row{padding:0 0 12px;margin:0 0 12px;border:0}
.location-profile-header .identity-name .info-value,.location-profile-header .identity-name h2{font-size:20px;font-weight:650;line-height:1.3;margin:7px 0 0}
.location-profile-header .identity-name textarea{font:600 16px/1.4 Arial;min-height:36px;resize:vertical}
.location-profile-header .profile-scenes{margin:0 0 14px}.location-profile-header .location-status-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px;margin-bottom:14px;font-size:8px;color:var(--muted)}
.location-profile-header .location-status{position:static!important;inset:auto!important;margin:0!important;max-width:100%}
.location-profile-header .location-status select{max-width:100%;font-size:9px}
.location-profile-header .location-map-actions{flex-wrap:wrap;min-width:0}.location-profile-header .location-map-editor{min-width:0;max-width:100%}.location-profile-header input{min-width:0;max-width:100%}
.location-profile-notes .book-info-row{margin:0;padding:0}.location-profile-notes textarea{min-height:80px;width:100%}
body.edit-mode .location-profile-header .view-value{display:none!important}
@container(max-width:520px){.element-set-profile .location-profile-header{gap:12px!important;grid-template-columns:minmax(0,28%) minmax(0,1fr) minmax(0,1fr)!important}.location-profile-header .identity-name .info-value,.location-profile-header .identity-name h2{font-size:15px}.location-profile-header .identity-name textarea{font-size:12px}.location-profile-header .location-status-row{font-size:7px}}
@container(max-width:340px){.element-set-profile .location-profile-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:'key key' 'identity production' 'notes notes'}.location-profile-header>.key-visual{max-width:65%!important}}
.pane-tabs,.pane-context.script-context{padding-right:12px!important}
.pane-header-actions,.coverage-mode{display:flex;gap:var(--action-gap)!important;flex:none;align-items:center}
.pane-header-actions .export-wrap{width:var(--action-size)!important;height:var(--action-size)!important;flex:0 0 var(--action-size)!important}
.pane-header-actions :is(.icon-btn,.object-comment-btn),.coverage-mode button{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box!important;width:var(--action-size)!important;height:var(--action-size)!important;min-width:var(--action-size)!important;min-height:var(--action-size)!important;max-height:var(--action-size)!important;padding:0!important;margin:0!important;flex:0 0 var(--action-size);font-size:9px}
.coverage-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.coverage-label{font-size:8px;letter-spacing:.07em;color:var(--muted)}
:is(.icon-btn,.doc-download-btn,.media-card-menu summary,.object-comment-btn,.coverage-mode button) svg{width:var(--action-icon-size);height:var(--action-icon-size);display:block;flex:none;margin:auto;pointer-events:none}
.media-card-menu summary{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;box-sizing:border-box}
.doc-download-btn{display:inline-flex;align-items:center;justify-content:center;padding:0!important;box-sizing:border-box}
.look-head-actions :is(.object-comment-btn,.clean-delete-btn),.character-head-actions :is(.object-comment-btn,.clean-delete-btn){width:var(--action-size)!important;height:var(--action-size)!important;min-width:var(--action-size)!important;min-height:var(--action-size)!important;display:inline-flex;align-items:center;justify-content:center;padding:0!important}
#currentScriptLabel{display:none!important}
.brand-card>.collab-row,.brand-card>.script-import-entry{width:100%;box-sizing:border-box;margin-left:0!important;margin-right:0!important}
.brand-card>.script-import-entry{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.script-import-entry :is(#comparisonStatus,#openSetReview){width:100%;min-width:0;margin-left:0!important;margin-right:0!important;box-sizing:border-box}
.subtab[data-loc-variant]{display:inline-flex;align-items:center;gap:12px}.subtab[data-loc-variant]>.subtab-delete{position:static!important;display:inline-flex!important;align-items:center;justify-content:center;flex:none;margin:0 0 0 auto!important;width:24px!important;height:24px!important;padding:0!important}
/* The chosen frame is dominant; the original remains untouched. */
.lightbox.cropped-view .lightbox-image-stage.reframe-viewport-ready{flex:none!important;overflow:hidden!important;background:var(--surface-media);z-index:1;max-width:88vw!important;max-height:78vh!important}
.lightbox.cropped-view .lightbox-image-stage.reframe-viewport-ready>img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:var(--media-fit,cover)!important;object-position:var(--media-x,50%) var(--media-y,50%)!important;transform:scale(var(--media-zoom,1))!important;transform-origin:var(--media-x,50%) var(--media-y,50%)!important}
.lightbox{overflow:hidden}.lightbox :is(.lightbox-nav,.lightbox-tools,.lightbox-close,.lightbox-caption){z-index:3}

/* F.1.6 — one Size component, shared profile typography. */
:root{--profile-label-size:9px;--profile-value-size:16px;--profile-notes-size:14px}
.size-control{display:flex;align-items:center;gap:7px;flex:none;margin:0 0 0 auto;padding:0 5px 0 0;color:var(--text-secondary);font:400 9px/1.4 Arial;letter-spacing:.12em;white-space:nowrap}
.size-control span{display:inline!important;font:inherit!important;color:inherit}
.size-control b{font:400 12px/1 Arial;color:var(--text-secondary);letter-spacing:0}
.size-control input[type=range],.costume-look-row .size-control input[type=range]{appearance:none;-webkit-appearance:none;box-sizing:content-box!important;width:100px!important;height:22px!important;min-height:0!important;max-width:none!important;padding:0!important;margin:0;border:0!important;background:transparent!important;cursor:pointer}
.size-control input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--scroll-thumb-muted);border:0}
.size-control input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:3px;height:13px;margin-top:-6px;background:var(--accent);border:0;border-radius:0}
.size-control input[type=range]::-moz-range-track{height:1px;background:var(--scroll-thumb-muted);border:0}
.size-control input[type=range]::-moz-range-thumb{width:3px;height:13px;background:var(--accent);border:0;border-radius:0}
.script-context .script-size-control{justify-self:center!important;margin:0!important}
:is(.location-profile-header,.character-profile-copy) .profile-label{display:flex;align-items:center;min-height:24px;margin:0 0 6px;padding:0;font:600 var(--profile-label-size)/1.4 Arial!important;letter-spacing:.12em!important;color:var(--text-label)!important}
.location-production{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-content:start;align-items:center}
.location-profile-header .location-status-row{grid-column:2;grid-row:1;margin:0;align-self:center;flex-wrap:nowrap}
.location-production>.profile-scenes{display:contents}
.location-production>.profile-scenes>.profile-label{grid-column:1;grid-row:1}
.location-production>.profile-scenes>.scene-references{grid-column:1/-1;grid-row:2;margin:0 0 18px}
.location-production>.book-info-row{grid-column:1/-1}
.location-profile-header :is(.secondary-value .info-value,.secondary-value textarea,.scene-references,.scene-reference){font:600 var(--profile-value-size)/1.4 Arial!important;color:var(--text)!important;letter-spacing:normal}
.location-profile-header .scene-reference{padding:0;border:0;background:none}
.location-profile-header .location-map-actions{margin-left:0;padding-left:0;justify-content:flex-start}
.location-profile-header .location-map-icon{margin-left:0}
:is(.location-profile-header,.character-profile-copy) .profile-notes-text,
:is(.location-profile-header,.character-profile-copy) .profile-notes-text :is(.info-value,textarea){font:400 var(--profile-notes-size)/1.5 Arial!important;color:var(--text);letter-spacing:normal}
@container(max-width:520px){.location-profile-header{--profile-value-size:13px}.location-production{column-gap:4px}.location-profile-header .location-status{font-size:7px}.location-profile-header .location-status select{font-size:8px}}

/* F.1.6 final placement only: aligned information rows and one action grid. */
.location-profile-header>.location-details{grid-column:2/4;grid-row:1/3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px 16px;align-items:start;min-width:0}
.location-details>.location-identity,.location-details>.location-production{display:contents}
.location-details .identity-name{grid-column:1;grid-row:1}
.location-details .location-identity>.secondary-value{grid-column:1;grid-row:2}
.location-details .location-production>.profile-scenes{display:block;grid-column:2;grid-row:1;margin:0}
.location-details .location-status-row{grid-column:3;grid-row:1;align-self:start;margin:0}
.location-details .location-production>.secondary-value{grid-column:2;grid-row:2}
.location-details .location-production>.location-map-field{grid-column:3;grid-row:2}
.location-details>.location-profile-notes{grid-column:1/-1;grid-row:3}
.location-details .book-info-row{margin:0;padding:0}
.location-details .profile-scenes>.scene-references{margin:0}
@container(max-width:520px){.location-profile-header>.location-details{gap:12px 8px}}
@container(max-width:340px){.location-profile-header>.location-details{grid-column:1/-1;grid-row:2}}
.pane.has-action-grid{position:relative}
.pane-action-grid{position:absolute;z-index:130;right:12px;top:0;display:grid;grid-template-columns:repeat(2,var(--action-size));grid-template-rows:repeat(2,var(--viewer-row-height));column-gap:var(--action-gap);row-gap:0;align-items:center;width:calc(2 * var(--action-size) + var(--action-gap));height:calc(2 * var(--viewer-row-height))}
.pane-action-grid>:is(button,.export-wrap,.tool-menu-wrap),.pane-action-grid>:is(.export-wrap,.tool-menu-wrap)>button{box-sizing:border-box!important;width:var(--action-size)!important;height:var(--action-size)!important;min-width:var(--action-size)!important;min-height:var(--action-size)!important;max-height:var(--action-size)!important;display:flex;align-items:center;justify-content:center;margin:0!important;padding:0!important;flex:none;border-radius:3px}
.has-action-grid>.pane-tabs .pane-header-actions{width:calc(2 * var(--action-size) + var(--action-gap));height:var(--action-size)}
.has-action-grid>.script-context .coverage-tools{padding-right:calc(2 * var(--action-size) + var(--action-gap) + 12px);gap:0}
.has-action-grid>.script-context .coverage-mode{display:none}
.has-action-grid>.shotlist-context{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important}
.has-action-grid>.shotlist-context>.size-control{grid-column:2;justify-self:center;margin:0!important}

.pane-action-grid>.coverage-mode{display:contents!important}

/* All standard visualizers share two equal, fixed header rows. */
.pane.viewer-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden!important}
.viewer-pane>.pane-tabs,.viewer-pane>.pane-context{position:relative!important;top:auto!important;box-sizing:border-box!important;flex:0 0 var(--viewer-row-height)!important;height:var(--viewer-row-height)!important;min-height:var(--viewer-row-height)!important;max-height:var(--viewer-row-height)!important;padding-block:var(--pane-toolbar-padding-y)!important;align-items:center!important;align-content:center!important;flex-wrap:nowrap!important;border-bottom:1px solid var(--line)!important}
.viewer-pane>.pane-context.compact{display:flex}
.viewer-pane>.pane-body{flex:1 1 0;min-height:0;overflow-y:auto!important;overscroll-behavior:contain}

/* G.1A: existing book and picker grammar, dense project administration. */
.element-grid-page{height:100%;display:flex;flex-direction:column;min-height:0}
.element-grid-page .book-topbar{flex-wrap:wrap;gap:10px;flex-shrink:0}
.element-grid-page input,.element-grid-header input,.element-merge-form input,.element-merge-form select{background:var(--surface-inspector);color:var(--text);border:1px solid var(--line);padding:8px;max-width:100%;min-width:0}
.element-grid-body{overflow:auto;min-height:0;padding:18px;flex:1}
.elements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.element-grid-card{border:1px solid var(--line);background:var(--surface-grid);padding:12px;display:flex;flex-direction:column;gap:9px;min-width:0}
.element-grid-card.selected,.sequence-character-option.selected{outline:1px solid var(--accent);background:var(--accent-grid-surface)}
.element-grid-select{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:bold;overflow-wrap:anywhere}
.element-grid-card button,.element-grid-page .book-topbar button,.element-merge-form button,.multi-character-confirm{background:var(--accent-selected-surface);color:var(--text);border:1px solid var(--border-grid-control);padding:8px;font-size:10px;cursor:pointer}
.element-grid-card input{width:100%;box-sizing:border-box}.element-grid-select input{width:auto}
.element-grid-card small{max-height:65px;overflow:auto}.real-location-counts{font-size:12px;margin-top:24px}
#elementGridError,[role=alert]{color:#efb370}.element-merge-form{max-width:650px;display:flex;flex-direction:column;gap:14px}.element-merge-form label{display:flex;flex-direction:column;gap:7px}
.element-merge-form h3{margin:0}.element-merge-form p{font-size:12px}.multi-character-confirm{margin-top:16px}
.location-identity h2,.element-grid-page:has(.real-location-counts) .element-grid-select span,.nav-item:has(.nav-delete[data-delete-nav^="location"]) .nav-title{text-transform:uppercase}
:root{--layer-tooltip:1400}
.tooltip:hover:after{display:none!important}
#previsionTooltip{position:fixed;margin:0;inset:auto;background:var(--surface-1);color:var(--text-tooltip);border:1px solid var(--border-tooltip);border-radius:3px;padding:7px 9px;font:11px Arial;max-width:300px;pointer-events:none;z-index:var(--layer-tooltip)}
#previsionTooltip::backdrop{display:none}
.real-location-suggestions{display:flex;flex-direction:column;gap:3px}.real-location-suggestions:empty{display:none}.real-location-suggestions button{font-size:10px;padding:8px;text-align:left;border:1px solid var(--line);background:var(--accent-grid-surface);color:var(--text)}
body[data-book="locations"] .nav-title{text-transform:uppercase}

/* G.1A.1 — shared library grid and existing profile Inspector. */
.nav-library-tools{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px}.nav-library-tools button{height:29px;min-width:30px;margin:0}
.element-grid-layout{display:grid;grid-template-columns:minmax(0,1fr);height:100%;min-height:0;overflow:hidden}
.element-grid-layout.has-inspector{grid-template-columns:minmax(0,var(--split)) 6px minmax(0,1fr)}
.element-grid-layout>[hidden]{display:none!important}
.element-grid-header{padding:16px 18px 12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;flex:none}
.element-grid-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.element-grid-heading>strong{font-size:13px;letter-spacing:.13em}.element-grid-heading input{flex:1;min-width:120px;max-width:360px;direction:ltr;text-align:left;font-size:12px}
.element-grid-status-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:10px;letter-spacing:.06em;color:var(--muted)}
.element-grid-actions{display:flex;flex-wrap:wrap;gap:8px}.element-grid-actions button{padding:7px 10px}
#elementGridError:not(:empty){padding:9px 18px;font-size:12px}
.elements-grid{grid-template-columns:repeat(auto-fill,minmax(min(205px,100%),1fr));align-items:start}
.element-grid-card{gap:7px;padding:10px;cursor:pointer;border-radius:3px}.element-grid-card.inspected{border-color:var(--accent)}
.element-card-heading{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:start;gap:7px}.element-card-heading>input{width:13px;height:13px;margin:4px 0 0}
.element-card-name{display:block;position:relative;min-width:0;font-size:11px;line-height:18px;font-weight:700;overflow-wrap:anywhere;min-height:18px}
.element-card-name[role=button]{cursor:text}.element-card-name.renaming>input{position:absolute;inset:0;width:100%;height:100%;font:inherit;line-height:inherit;padding:0!important;box-sizing:border-box;background:var(--surface-inspector);z-index:1}
.element-card-heading>.clean-delete-btn,.inspector-heading>.clean-delete-btn,.location-variant-tab>.clean-delete-btn{display:inline-grid!important;position:static!important;width:22px!important;height:22px!important;min-width:22px!important;padding:0!important;flex:none}
.element-card-real{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.element-card-scenes{display:flex;align-items:baseline;gap:8px;font-size:10px;color:var(--muted)}.element-card-scenes>span{font-size:8px;letter-spacing:.08em}.element-card-scenes .scene-references{margin:0;gap:4px}.element-grid-card .scene-reference{font-size:10px!important}
.element-grid-card>.location-map-icon{width:22px;height:22px}.element-grid-card .element-absent{margin:0;font-size:9px}
.element-inspector{display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid var(--line);overflow:hidden;container-type:inline-size}
.inspector-heading{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.12em;color:var(--muted)}
#elementInspectorContent{flex:1;min-height:0;min-width:0;overflow:hidden}#elementInspectorContent>.book-page{height:100%;display:flex;flex-direction:column;min-height:0}#elementInspectorContent .book-topbar{flex-shrink:0;flex-wrap:wrap;gap:6px;padding:8px}#elementInspectorContent .book-content{overflow:auto;flex:1;min-height:0;padding:16px}#elementInspectorContent .subtabs{flex-wrap:wrap;gap:4px}#elementInspectorContent .subtab{min-width:0;font-size:9px;padding:6px 8px}#elementInspectorContent .character-inline-header{flex-wrap:wrap!important}
.element-merge-form{width:min(380px,calc(100vw - 40px));padding:20px!important;gap:16px;border:1px solid var(--line);border-radius:4px;background:var(--surface-navigator)}.element-merge-form h3{font-size:12px;letter-spacing:.1em}.element-merge-form label{font-size:9px;letter-spacing:.08em;gap:7px}.element-merge-form input,.element-merge-form select{font-size:12px;height:34px}.element-merge-form p{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}.element-merge-form [role=alert]:empty{display:none}.element-merge-form footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:12px}.element-merge-form footer button{width:auto!important;min-width:70px;padding:8px 12px}.element-merge-form footer button[type=submit]{border-color:var(--accent)}
.real-location-counts>header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}.real-location-counts h3{font-size:10px;letter-spacing:.09em;margin:0}.real-location-counts>article{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.real-location-counts>article>strong{font-size:11px}.real-location-counts>article>div{font-size:10px;color:var(--muted)}.real-location-counts .scene-references{margin:0;gap:7px}
#sceneCardHover{position:fixed;inset:auto;margin:0;padding:0;width:min(280px,calc(100vw - 32px));max-height:calc(100vh - 16px);overflow:hidden;background:transparent;border:0;pointer-events:none;z-index:var(--layer-tooltip)}#sceneCardHover::backdrop{display:none}#sceneCardHover .nav-item{margin:0;cursor:default}#sceneCardHover .nav-thumb{max-height:160px}
.location-variant-tab{display:inline-flex;align-items:center;gap:3px;flex:none}.variant-star{background:none;border:0;color:var(--muted);font-size:17px;cursor:pointer;padding:3px}.variant-star:hover,.director-star{color:#81cfa8}.director-star{font-size:12px;margin-right:6px}.location-variant-tab>.subtab{margin:0}.location-variant-tab .clean-delete-btn{margin-right:6px}
@container(max-width:480px){#elementInspectorContent .character-profile-top{grid-template-columns:1fr!important}#elementInspectorContent .profile-hero{gap:12px}#elementInspectorContent .character-name-tab{display:none}}
#elementInspectorContent .location-details>*{min-width:0}#elementInspectorContent .location-map-editor input{width:100%;min-width:0;box-sizing:border-box}#elementInspectorContent .location-details textarea{width:100%;min-width:0;box-sizing:border-box}
@container(max-width:560px){
 #elementInspectorContent .location-profile-header>.key-visual{grid-column:1/-1;grid-row:1;max-width:210px;width:100%}
 #elementInspectorContent .location-profile-header>.location-details{grid-column:1/-1;grid-row:2;grid-template-columns:minmax(0,1fr) 100px;gap:14px 12px}
 #elementInspectorContent .location-details .identity-name{grid-column:1;grid-row:1}
 #elementInspectorContent .location-details .location-status-row{grid-column:2;grid-row:1}
 #elementInspectorContent .location-details .profile-scenes{grid-column:1/-1;grid-row:2}
 #elementInspectorContent .location-details .location-identity>.secondary-value{grid-column:1;grid-row:3}
 #elementInspectorContent .location-details .location-production>.secondary-value{grid-column:1;grid-row:4}
 #elementInspectorContent .location-details .location-map-field{grid-column:2;grid-row:3/5}
 #elementInspectorContent .location-details>.location-profile-notes{grid-column:1/-1;grid-row:5}
}
#sceneCardHover{color:var(--text);font-family:inherit}
#elementInspectorContent .location-profile-header>.location-details{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(80px,.75fr)}
#elementInspectorContent .location-map-editor{width:100%;min-width:0;max-width:100%}
@container(max-width:560px){#elementInspectorContent .location-profile-header>.location-details{grid-template-columns:minmax(0,1fr) 100px}}

/* G.1A.2 — dense, fixed-geometry overview cards and shared tab surfaces. */
.element-grid-card{box-sizing:border-box;height:176px;overflow:hidden;display:grid;grid-template-rows:22px 48px 14px 20px 22px;gap:5px;align-content:start}
.element-grid-card.character-grid-card{height:88px;grid-template-rows:22px 34px}
.element-card-heading{min-height:22px;overflow:hidden}.element-card-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.element-card-kv{height:48px;width:80px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.element-card-kv .usage-media-frame{width:100%;max-height:48px;pointer-events:none}
.element-card-real{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:14px}
.element-card-scenes{min-width:0;overflow:hidden;align-items:start}.element-scene-window{display:flex;flex-wrap:wrap;min-width:0;gap:4px;overflow:hidden;max-height:32px}.element-scene-window .scene-references{display:contents}.element-scenes-more{font-weight:700;white-space:nowrap}
.element-grid-card .element-absent{display:none}
.element-grid-actions .icon-btn{width:30px;height:30px;padding:5px}
.real-location-counts>article{display:grid;grid-template-columns:minmax(90px,1fr) auto minmax(80px,2fr);align-items:start;gap:12px;padding:9px 0}
.real-location-counts [data-scene-hover-list]{justify-self:end;min-width:0}.real-location-counts .scene-references{justify-content:flex-end;flex-wrap:wrap}
.location-variant-tab{border:1px solid var(--line);padding-right:4px;gap:2px}.location-variant-tab.active{background:var(--accent-grid-surface);border-color:var(--accent)}
.location-variant-tab>.subtab{border:0!important;background:transparent!important;min-width:0;padding:9px 10px}.location-variant-tab .director-star{margin:0 7px 0 0}.location-variant-tab .variant-star:disabled{opacity:var(--disabled-opacity-subtle);cursor:default}.location-variant-tab .clean-delete-btn:disabled{visibility:hidden}
.real-location-suggestions button.active{background:var(--accent-autocomplete-surface);outline:1px solid var(--accent)}
@container (max-width:360px){.real-location-counts>article{grid-template-columns:minmax(0,1fr) auto}.real-location-counts [data-scene-hover-list]{grid-column:1/-1}}

.element-card-kv .usage-media-frame.reframe-viewport-ready{width:min(80px,calc(48px * var(--usage-aspect)))!important;flex:none}

/* G.1A.3 — shared internal card geometry, no card-size or data changes. */
.element-grid-card.set-grid-card{grid-template-rows:22px 18px 64px 24px;gap:5px}
.set-grid-card .element-card-real{font-size:12px;line-height:18px;color:var(--text-primary)}
.element-card-media-row{display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:10px;min-width:0}
.set-grid-card .element-card-kv{width:100%;height:64px;justify-content:flex-start}
.set-grid-card .element-card-kv .usage-media-frame{max-height:64px}
.set-grid-card .element-card-kv .usage-media-frame.reframe-viewport-ready{width:min(100%,112px,calc(64px * var(--usage-aspect)))!important}
.element-card-map{width:26px;justify-self:end}.element-card-map .location-map-icon{width:24px;height:24px}
.element-card-scenes,.element-scene-window{align-items:baseline}.element-card-scenes>span{line-height:16px}.element-card-scenes .scene-reference{line-height:16px;padding-top:0!important;padding-bottom:0!important}
.location-variant-tab .director-star,.location-variant-tab .variant-star{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;box-sizing:border-box;padding:3px;margin:0;border:0;background:none}
.location-variant-tab .director-star svg,.location-variant-tab .variant-star svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none}
.location-variant-tab .director-star svg{fill:currentColor}.location-variant-tab .director-star{color:#81cfa8}
.location-variant-tab .variant-remove-spacer{width:28px;height:22px;flex:none}.location-variant-tab .variant-star:disabled{opacity:1}

/* G.1A.4 — the same tab surface for Characters and Location variants. */
.book-page .character-tab,.book-page .location-variant-tab{height:41px;box-sizing:border-box;border:0;border-bottom:2px solid transparent;border-radius:4px 4px 0 0;background:transparent;color:var(--text-muted);margin-bottom:-1px;font-size:10px;letter-spacing:.09em;line-height:1;font-weight:400}
.book-page .character-tab:hover,.book-page .location-variant-tab:hover{background:var(--surface-1);color:var(--text-emphasis)}
.book-page .character-tab.active,.book-page .location-variant-tab.active{background:var(--surface-1);color:var(--text-emphasis);border-color:transparent;border-bottom-color:var(--accent)}
.book-page .location-variant-tab{gap:2px;padding:0 4px 0 0}
.book-page .location-variant-tab>.subtab:not(.add){height:39px;flex:0 0 154px;width:154px;padding:0 12px!important;margin:0;font:inherit;letter-spacing:inherit;color:inherit}
.location-variant-tab .director-star svg,.location-variant-tab .variant-star svg{width:14px;height:14px}
/* Portrait cards use only the existing Character KV and reframe. */
.elements-grid:has(.character-grid-card){grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),170px))}
.element-grid-card.character-grid-card{height:240px;grid-template-rows:22px 120px 66px;gap:5px}
.element-card-portrait{width:120px;height:120px;aspect-ratio:1;justify-self:center;background:rgba(0,0,0,.08);overflow:hidden}
.element-card-portrait .usage-media-frame{width:100%;height:100%;aspect-ratio:1;pointer-events:none}
.character-grid-card .element-card-scenes{display:block;overflow:hidden}
.character-grid-card .element-card-scenes>span{display:block;line-height:12px;margin-bottom:3px}
.character-grid-card .element-scene-window{display:block;max-height:56px;overflow:hidden}
.character-grid-card .element-scene-window .scene-references{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 3px;line-height:16px}
.character-grid-card .element-scenes-more{display:block;line-height:16px}

/* Grid-only cover: preserve the existing KV focal point and zoom. */
.character-grid-card .element-card-portrait .usage-media-frame>img{object-fit:cover!important}

/* G.1B: compact Shot operations, intrinsic edit targets and image-only hit area. */
.shot-bulk-actions{display:flex;align-items:center;gap:6px;padding:7px 12px;flex-wrap:wrap;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:.08em}
.shot-bulk-actions button{padding:5px 8px;border:1px solid var(--line);background:var(--surface-bulk-action);color:var(--text);font:inherit;cursor:pointer}.shot-bulk-actions button:disabled{opacity:var(--disabled-opacity-muted);cursor:default}
.shot-bulk-actions>span{margin-right:auto}.shot-autocomplete{position:fixed;z-index:100100;width:220px;max-height:240px;overflow:auto;background:var(--surface-navigator);border:1px solid var(--border-default);padding:4px}
.shot-autocomplete button{display:block;width:100%;border:0;text-align:left;background:transparent;color:var(--text);padding:8px;font:inherit;font-size:11px}.shot-autocomplete button.active{background:var(--accent-autocomplete-surface)}
.editing .shot-editable:empty{display:inline-block;min-width:24px;min-height:16px;border-bottom:1px dotted var(--border-subtle)}.editing .shot-editable:hover{background:rgb(from var(--surface-3) r g b / 0.08)}
.storyboard-add-frame,.storyboard-add-frame-card{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.shotlist.view-list:not(.special-shotlist) .shot-images{padding:3px!important}
.shot-thumbnail-slot>.media-replace-affordance{left:auto!important;right:4px!important;top:4px!important;bottom:auto!important;width:48px!important;height:30px!important;transform:none!important}
[data-add-shot].drag-over,[data-add-storyboard].drag-over{outline:2px solid var(--accent);background:var(--accent-autocomplete-surface)}

/* G.1B.1: one shared table Frame viewport and independent action cells. */
.shotlist:is(.view-list,.special-shotlist) .shot-images.table-frame-cell{padding:0!important;min-height:0!important;align-self:start!important;display:block!important}
.shotlist .table-frame,.shotlist:is(.view-list,.special-shotlist) .shot-image-wrap.list-frame.table-frame{position:relative;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1.85!important;padding:0!important;margin:0!important;border:0!important;background:var(--surface-tooltip);overflow:hidden}
.shotlist:is(.view-list,.special-shotlist) .shot-image-wrap.list-frame.table-frame>.shot-thumbnail-slot{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;border:0!important;margin:0!important;overflow:hidden!important}
.shotlist:is(.view-list,.special-shotlist) .shot-image-wrap.list-frame.table-frame>.shot-thumbnail-slot>img{position:absolute!important;inset:0!important;display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:var(--media-x,50%) var(--media-y,50%)!important;transform:scale(var(--media-zoom,1));transform-origin:var(--media-x,50%) var(--media-y,50%);border:0!important;margin:0!important;padding:0!important;cursor:zoom-in}
.table-frame-actions{position:absolute;top:4px;right:4px;display:grid;grid-template-columns:48px 24px;gap:4px;z-index:6;align-items:start}
.table-frame .table-frame-actions>.media-replace-affordance,.table-frame .table-frame-actions>.delete-media{position:static!important;inset:auto!important;transform:none!important;margin:0!important;pointer-events:auto!important}
.table-frame .table-frame-actions>.media-replace-affordance{width:48px!important;height:30px!important;display:flex!important;opacity:.8!important}
.shotlist.view-list:not(.special-shotlist) .shot-list-camera .camera-meta-item,.shotlist.view-list:not(.special-shotlist) .shot-list-camera .shot-editable{font-weight:400!important}
body.editing .table-frame-actions{display:grid!important;width:76px!important;grid-template-columns:48px 24px!important;gap:4px!important}
.table-frame .table-frame-actions>.media-replace-affordance{box-sizing:border-box!important;padding:2px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.table-frame .table-frame-actions>.delete-media{z-index:13!important}

.table-frame .table-frame-actions>.media-replace-affordance{min-width:0!important}
.table-frame{--frame-actions-width:76px}
.table-frame-actions{z-index:18}
body.editing .table-frame-actions{width:var(--frame-actions-width)!important}
.table-frame>.storyboard-reorder-strip{right:calc(var(--frame-actions-width) + 8px);overflow-x:auto;max-width:calc(100% - var(--frame-actions-width) - 13px)}
/* Only the actual strip thumbnails intercept input, not its transparent gaps. */
.table-frame:hover>.storyboard-reorder-strip,.table-frame>.storyboard-reorder-strip:focus-within{pointer-events:none}
.table-frame>.storyboard-reorder-strip .storyboard-reorder-thumb{pointer-events:auto}

/* G.1B.2: reserve the same rail gutter in selected/all modes. */
.script-paper.coverage-lanes:not(.jp-script-paper){padding-right:var(--coverage-gutter,54px)}
.script-paper.coverage-lanes.jp-script-paper{padding-top:var(--coverage-gutter,54px)}
.shot-bulk-actions [hidden]{display:none!important}

/* G.1C: global top-layer tooltip; existing viewer in read-only sequence mode. */
#previsionTooltip.special-note-tip{white-space:pre-wrap;overflow-wrap:anywhere;max-width:min(380px,calc(100vw - 24px));max-height:60vh;overflow:hidden;line-height:1.5}
.seq-preview-action{position:absolute;left:12px;border:1px solid var(--line);border-radius:3px;background:var(--surface-bulk-action);color:var(--muted);font-size:9px;letter-spacing:.08em;padding:6px 8px;cursor:pointer}
.seq-preview-action:disabled{opacity:var(--disabled-opacity);cursor:default}
.lightbox.sequence-preview{background:#041018;overscroll-behavior:none;touch-action:none}
.lightbox.sequence-preview .lightbox-tools{display:none!important}
.lightbox.sequence-preview .lightbox-nav:disabled{opacity:var(--disabled-opacity-nav);cursor:default}
.lightbox.sequence-preview .lightbox-caption{left:0;right:0;bottom:0;transform:none;padding:16px 20px;background:linear-gradient(transparent,rgb(from var(--surface-media) r g b / 0.9294) 25%);color:#e1ecf1;max-height:25vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5;box-sizing:border-box}
.lightbox.sequence-preview .lightbox-caption strong{display:block;font-size:10px;letter-spacing:.1em;color:var(--text-primary);margin-bottom:5px}
#sequencePreviewEmpty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);letter-spacing:.16em;font-size:13px}
#sequencePreviewEmpty[hidden]{display:none}

/* Adjacent Scenes share the active card media geometry; existing near opacity de-emphasizes them. */
#navigator .nav-item.near[data-nav-scene]{padding-top:13px;padding-bottom:13px}

/* Shared Media V1: compact project picker, existing PREVISION palette. */
.project-media-picker{position:fixed;inset:0;z-index:10000;background:var(--overlay-backdrop);display:flex;align-items:center;justify-content:center;padding:24px}
.project-media-picker>section{width:min(900px,94vw);max-height:88vh;display:flex;flex-direction:column;background:var(--surface-picker);border:1px solid var(--border-picker);box-shadow:var(--shadow-picker);padding:20px;gap:16px;min-height:220px}
.project-media-picker header,.project-media-picker footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.project-media-picker h2{margin:0;font-size:14px;letter-spacing:.1em;color:var(--text-picker)}
.project-media-picker input{background:var(--surface-picker-input);border:1px solid var(--border-picker);padding:10px;color:var(--text-picker);width:100%;box-sizing:border-box}
.project-media-picker button{background:var(--surface-picker-button);border:1px solid var(--border-picker);color:var(--text-picker);padding:9px 14px;cursor:pointer}
.project-media-picker button:disabled{opacity:var(--disabled-opacity-soft);cursor:default}
.project-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border-picker) transparent;padding:2px}
.project-media-grid .project-media-option{padding:8px;display:flex;flex-direction:column;gap:7px;text-align:left;min-width:0;align-self:start}
.project-media-grid .project-media-option.selected{border-color:var(--accent-picker-border);box-shadow:inset 0 0 0 1px var(--accent-picker-border);background:var(--accent-selected-surface)}
.project-media-thumb{width:100%;aspect-ratio:1.5;display:flex;align-items:center;justify-content:center;background:var(--surface-media);overflow:hidden}
.project-media-thumb img,.project-media-thumb video{width:100%;height:100%;object-fit:contain}
.project-media-option strong{font-size:12px;overflow-wrap:anywhere}
.project-media-option small{font-size:10px;line-height:1.5;color:var(--text-picker-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.project-media-picker footer{font-size:12px;color:var(--text-picker-secondary)}.project-media-empty{color:var(--text-picker-secondary);padding:18px}

/* Shared ADD MEDIA: three equal rows; URL remains directly editable. */
.add-media-card .add-media-options>button,.add-media-card .online-media-form{width:100%!important;height:34px!important;min-height:34px!important;margin:0!important}
.add-media-card .online-media-form input{width:100%!important;letter-spacing:.08em!important;line-height:normal!important}
.add-media-card .add-media-options>button{text-align:left!important;padding:7px 10px!important;line-height:normal!important}
/* Scene-owned prep gallery; the existing row layout and slider do the work. */
.sequence-media-section{width:100%;max-width:100%;min-width:0;margin-top:24px;box-sizing:border-box}
.sequence-media-section>.gallery-head{margin-top:0;justify-content:space-between}
.sequence-media-section .gallery-head h2{margin:0;font-weight:700}
.sequence-media-section .media-height-control{margin-left:auto}
/* No-script landing surface, retaining the existing PREVISION sidebar. */
.script-welcome{min-height:100%;width:100%;box-sizing:border-box;display:grid;place-items:center;padding:48px 24px}
.welcome-content{width:min(440px,100%);text-align:center}
.welcome-content h1{font-size:26px;font-weight:600;letter-spacing:.01em;margin:0 0 12px;color:var(--text-heading)}
.welcome-content>p{font-size:15px;color:var(--text-secondary);margin:0 0 36px}
.welcome-script-drop{display:flex;flex-direction:column;align-items:center;gap:16px;border:1px dashed var(--border-dropzone);background:var(--surface-welcome);padding:44px 20px;border-radius:4px}
.welcome-script-drop strong{font-size:12px;letter-spacing:.12em;color:var(--text-welcome)}
.welcome-script-drop>span{font-size:11px;letter-spacing:.12em;color:var(--text-support)}
.welcome-script-drop label{position:relative;font-size:11px;color:var(--text-support);padding:10px;cursor:pointer}
.welcome-script-drop label span{color:var(--text-welcome);border-bottom:1px solid var(--accent-hover);padding-bottom:3px}
.welcome-script-drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.welcome-script-drop:focus-within,.welcome-script-drop.drag-over{border-color:var(--accent-picker-border);background:var(--surface-tab-active)}

/* DA.2.1: recolor the existing native focus outline, retaining its geometry. */
:is(button,input,textarea,select,summary,[tabindex],[contenteditable]):focus-visible{outline-color:var(--focus-ring)}

/* DA.2.2 scoped exceptions: native checkbox palette and blocking dialog hosts. */
input[type="checkbox"]{accent-color:var(--accent);color-scheme:dark}
/* Preserve the existing full-viewport overlay, without adding a second backdrop. */
dialog:is(.confirm-modal,.export-modal,.project-media-picker){margin:0;width:100%;height:100%;max-width:none;max-height:none;box-sizing:border-box;border:0;color:inherit}
dialog:is(.confirm-modal,.export-modal,.project-media-picker)::backdrop{background:transparent}
/* End DA.2.2 scoped exceptions. */

/* Dark Script V0: local reading preference, main Western script only. */
.script-reading-controls{display:flex;align-items:center;justify-self:center;gap:7px}
@media screen{
  .script-paper[data-main-script-theme]{--script-bg:#f2efe7;--script-text:#161616;--script-secondary:#161616;--script-heading:#161616;--script-border:#cfc9bd;--script-selection:Highlight}
  .script-paper[data-main-script-theme="dark"]{--script-bg:#1c1d1f;--script-text:#e8e7e3;--script-secondary:#c8c9cb;--script-heading:#f0efeb;--script-border:#3c3e42;--script-selection:#455b72;background:var(--script-bg);color:var(--script-text);box-shadow:0 0 0 1px var(--script-border)}
  .script-paper[data-main-script-theme="dark"] .scene-heading{color:var(--script-heading)}
  .script-paper[data-main-script-theme="dark"] .parenthetical{color:var(--script-secondary)}
  .script-paper[data-main-script-theme="dark"] ::selection{background:var(--script-selection);color:var(--script-text)}
  .script-paper[data-main-script-theme="dark"].coverage-awaiting-selection{box-shadow:0 0 0 1px var(--script-border),0 0 0 2px rgba(95,185,234,.18)}
}

/* Saved media framing is visible only once its intrinsic viewport is known. */
.usage-media-frame[data-reframe-frame]:not(.reframe-viewport-ready)>img{visibility:hidden}

/* LOOK selection escapes its pane stacking context, like existing floating tooltips. */
.visual-look-picker[popover]{margin:0;inset:auto;z-index:var(--layer-tooltip)!important}

/* Western scene number uses the existing paper inset; JP and review renderers are unchanged. */
@media screen{
  .western-scene-heading{position:relative}
  .western-scene-heading>.script-scene-number{position:absolute;top:0;right:calc(100% + .3em);width:calc(var(--script-left-inset) - .6em);text-align:center;font:inherit;overflow-wrap:anywhere}
}

/* PERF.1D: dormant controls retain their canonical layout when EDIT is active. */
body:not(.editing) .mode-edit-only{display:none!important}
body.editing .mode-view-only{display:none!important}
/* Shared project-media selection: modifiers preserve native click semantics. */
.project-media-option{position:relative}
.project-media-option.selected::after{content:'✓';position:absolute;top:6px;right:6px;color:var(--accent);background:var(--bg);border:1px solid var(--accent);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;pointer-events:none}
.project-media-grid .project-media-option.selected{outline:1px solid var(--accent)!important;outline-offset:-1px}
