/* DA.3 — screen-only component presentation.
 * Explicit families preserve layout, semantic colors and historical cascade.
 * No data, media geometry, stacking architecture or print rules live here. */
@media screen {
:root {
  --bg-deep:#000000;
  --bg-base:#030304;
  --surface-1:#08090A;
  --surface-2:#0E0F11;
  --surface-3:#151619;
  --accent:#D39A52;
  --accent-hover:#ECB467;
  --accent-strong:var(--accent);
  --accent-soft:rgb(from var(--accent) r g b / .06);
  --focus-ring:var(--accent);
  --accent-selected-border:var(--accent);
  --accent-selected-surface:var(--surface-2);
  --accent-grid-surface:var(--surface-2);
  --accent-picker-border:var(--accent);
  --accent-active-surface:var(--surface-2);
  --accent-autocomplete-surface:var(--surface-3);
  --accent-drop-border:var(--accent-hover);
  --accent-drop-soft:rgb(from var(--accent) r g b / .08);
  --accent-control-hover:var(--accent-hover);
  --radius-control:6px;
  --radius-card:9px;
  --radius-modal:12px;
  --radius-media-cinematic:0px;
  --radius-media-embedded:3px;
  --surface-sidebar:var(--bg-deep);
  --surface-secondary:var(--bg-base);
  --surface-media:var(--bg-base);
  --surface-navigator-thumb:var(--bg-base);
  --surface-toolbar:var(--bg-base);
  --surface-control:var(--surface-1);
  --surface-input:var(--surface-1);
  --surface-tab:var(--surface-1);
  --surface-navigator:var(--surface-1);
  --surface-shot:var(--surface-1);
  --surface-book-tab:var(--surface-1);
  --surface-look:var(--surface-1);
  --surface-media-action:var(--surface-1);
  --surface-field:var(--surface-1);
  --surface-picker-input:var(--surface-1);
  --surface-grid:var(--surface-1);
  --surface-welcome:var(--surface-1);
  --surface-table-header:var(--surface-1);
  --surface-navigator-hover:var(--surface-2);
  --surface-look-heading:var(--surface-2);
  --surface-bulk-action:var(--surface-2);
  --surface-tab-active:var(--surface-2);
  --surface-picker:var(--surface-2);
  --surface-picker-button:var(--surface-2);
  --surface-inspector:var(--surface-2);
  --surface-panel-detail:var(--surface-2);
  --surface-element-modal:var(--surface-2);
  --surface-element-header:var(--surface-2);
  --surface-tooltip:var(--surface-3);
  --surface-menu:var(--surface-3);
  --surface-menu-item:var(--surface-3);
  --surface-dropdown:var(--surface-3);
  --surface-dropdown-active:var(--surface-3);
  --surface-notice:var(--surface-3);
}
/* Buttons: role lists intentionally exclude semantic decisions, tags and Coverage. */
:is(.collab-btn,.small-action,.book-btn.add,.subtab.add,.look-add-top,.add-shot-card,
 .comment-form button,.snapshot-form button,.comment-actions button,.version-actions button,
 .confirm-actions button,.export-dialog-foot button,.element-extras button,.element-merge-form button,
 .multi-character-confirm,.shot-bulk-actions button,.ratio-actions button,
 .add-media-options>button,.online-media-form button,.project-media-picker button,
 .lightbox-tools button,.element-modal button):not(:is(.clean-delete-btn,.project-media-option,.sequence-character-option)) {
  background:transparent!important;border-color:var(--border-subtle)!important;
  color:var(--text-secondary);border-radius:var(--radius-control)!important;
}
:is(.collab-btn,.small-action,.subtab.add,.look-add-top,.add-shot-card,
 .comment-form button,.snapshot-form button,.comment-actions button,.version-actions button,
 .confirm-actions button,.export-dialog-foot button,.element-extras button,.element-merge-form button,
 .multi-character-confirm,.shot-bulk-actions button,.ratio-actions button,
 .add-media-options>button,.online-media-form button,.project-media-picker button,
 .lightbox-tools button,.element-modal button):not(:is(.clean-delete-btn,.project-media-option,.sequence-character-option)):not(:disabled):hover {
  background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent-hover)!important;
}
.lightbox .lightbox-tools button.active {color:var(--accent)!important;border-color:var(--accent)!important;}
:is(#importScriptBtn,#confirmAllSets,.shotlist-first-action,.multi-character-confirm,
 #projectMediaPicker [data-picker-add],.element-merge-form button[type=submit],
 .confirm-actions .confirm-primary:not([data-visual-intent=danger])):not(:disabled) {
  background:var(--accent)!important;color:var(--bg-deep)!important;
  border-color:var(--accent)!important;border-radius:var(--radius-control)!important;
}
:is(.icon-btn,.doc-download-btn,.object-comment-btn,.compact-search button,
 .media-card-menu summary,.pane-popout,.lightbox-close,.document-viewer-close,
 .project-media-picker [data-picker-close]) {
  background:transparent!important;border-color:transparent!important;
  color:var(--text-secondary)!important;border-radius:var(--radius-control)!important;
}
:is(.icon-btn,.doc-download-btn,.object-comment-btn,.compact-search button,
 .media-card-menu summary,.pane-popout,.lightbox-close,.document-viewer-close,
 .project-media-picker [data-picker-close]):not(:disabled):hover {
  background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent-hover)!important;
}
/* Destructive actions keep their existing semantic colors and permissions. */
:is(.clean-delete-btn,.shot-delete,.nav-delete,.look-delete,.delete-media,.subtab-delete) {
  border-radius:var(--radius-control)!important;
}
/* Real tabs. Existing transparent borders retain their original space. */
:is(.workspace-tab,.pane-tab,.book-btn,.subtab:not(.add),.character-tab,.location-variant-tab,.comment-tab) {
  background:transparent!important;color:var(--text-muted)!important;
  border-color:transparent!important;box-shadow:none!important;
}
:is(.workspace-tab,.pane-tab,.book-btn,.subtab:not(.add),.character-tab,.location-variant-tab,.comment-tab):hover {
  color:var(--accent-hover)!important;border-bottom-color:rgb(from var(--accent) r g b / .35)!important;
}
:is(.workspace-tab,.pane-tab,.book-btn,.subtab:not(.add),.character-tab,.location-variant-tab,.comment-tab).active {
  color:var(--accent)!important;border-bottom-color:var(--accent)!important;
}
.location-variant-tab>.subtab:not(.add){color:inherit!important;border-bottom-color:transparent!important}
.character-name-tab{color:var(--text-primary)!important}
/* State toggles are controls, not navigation tabs. */
:is(.mode-btn,.script-language-tabs button,.coverage-mode button,.gallery-size button,#openElementsGrid) {
  border-radius:var(--radius-control)!important;background:transparent!important;border-color:var(--border-subtle)!important;
}
:is(.mode-btn,.script-language-tabs button,.coverage-mode button,.gallery-size button,#openElementsGrid).active {
  background:var(--surface-2)!important;color:var(--accent)!important;border-bottom-color:var(--accent)!important;
}
/* Cards, explicitly excluding Shot rows and media viewports. */
:is(.nav-item,.element-grid-card,.look-book-card,.character-card,.visual-tile,.project-media-option,.sequence-character-option,.visual-look-option) {
  background:var(--surface-1)!important;border-color:transparent!important;border-radius:var(--radius-card)!important;
}
:is(.nav-item,.element-grid-card,.look-book-card,.character-card,.visual-tile,.project-media-option,.sequence-character-option,.visual-look-option):hover {
  background:var(--surface-2)!important;border-color:var(--border-subtle)!important;
}
:is(.nav-item,.element-grid-card,.project-media-option,.sequence-character-option,.visual-look-option):is(.active,.selected,.inspected) {
  background:var(--surface-2)!important;border-color:var(--accent)!important;
}
.nav-item.active .nav-title,.element-grid-card.inspected .element-card-name {color:var(--accent)}
/* Native text controls only: range, checkbox and file input geometry stays untouched. */
:is(#app,.element-modal,.project-media-picker,.confirm-dialog,.export-dialog) :is(
 input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),textarea,select),
body.editing :is(.shot-editable,.author-value,.shot-id-editable)[contenteditable=true] {
  background:var(--surface-1)!important;border-color:transparent!important;
  border-radius:var(--radius-control)!important;color:var(--text-input);
}
:is(#app,.element-modal,.project-media-picker,.confirm-dialog,.export-dialog) :is(
 input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),textarea,select):hover {
  background:var(--surface-2)!important;border-color:var(--border-default)!important;
}
:is(#app,.element-modal,.project-media-picker,.confirm-dialog,.export-dialog) :is(
 input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),textarea,select):focus,
body.editing :is(.shot-editable,.author-value,.shot-id-editable)[contenteditable=true]:focus {
  background:var(--bg-base)!important;border-color:var(--accent)!important;
  outline:1px solid var(--accent);outline-offset:-1px;
}
/* Floating skins; do not alter hosts, portals, top-layer or focus handling. */
:is(.tool-menu,.location-picker-menu,.look-picker-menu,.shot-autocomplete,
 .real-location-suggestions,.media-card-menu>div),#previsionTooltip {
  background:var(--surface-3)!important;border-color:var(--border-subtle)!important;border-radius:var(--radius-control)!important;
}
:is(.visual-look-picker,.sequence-character-picker,.tag-picker>div,.special-filter>div) {
  background:var(--surface-2)!important;border-color:var(--border-default)!important;border-radius:var(--radius-card)!important;
}
:is(.confirm-dialog,.export-dialog,.document-viewer-dialog,.element-modal>section,.project-media-picker>section) {
  background:var(--surface-2)!important;border-color:var(--border-default)!important;border-radius:var(--radius-modal)!important;
}
:is(.project-media-picker,.element-modal)>section>:is(header,footer),
:is(.export-dialog-head,.export-dialog-foot,.document-viewer-head) {background:transparent}
/* Media radius is on the existing clipping surface, never on the control wrapper. */
:is(.nav-thumb,.nav-person-thumb,.element-card-portrait,.element-card-kv .usage-media-frame,
 .common-media-surface .usage-media-frame,.project-media-thumb,.character-profile-portrait .usage-media-frame,.location-key-slot .usage-media-frame) {
  border-radius:var(--radius-media-embedded)!important;
}
:is(.table-frame,.table-frame .shot-thumbnail-slot,.storyboard-frame-wrap,
 .storyboard-frame-wrap .usage-media-frame,.lightbox-image-stage) {border-radius:var(--radius-media-cinematic)!important}
.add-media-card {border-radius:var(--radius-card)!important;background:var(--surface-1)!important;border-color:var(--border-subtle)!important}
/* Opacity preserves keyboard reachability and overlay geometry. Menus stay open. */
body.editing :is(.common-media-surface,.shot-image-wrap,.replaceable-media-slot) :is(.delete-media,.media-card-menu,.media-replace-affordance,.storyboard-add-frame) {
  opacity:0!important;pointer-events:none!important;
}
body.editing :is(.common-media-surface,.shot-image-wrap,.replaceable-media-slot):is(:hover,:focus-within) :is(.delete-media,.media-card-menu,.media-replace-affordance,.storyboard-add-frame),
body.editing .media-card-menu[open] {opacity:1!important;pointer-events:auto!important}
body.view-mode :is(.common-media-surface,.shot-image-wrap,.replaceable-media-slot) :is(.delete-media,.media-card-menu,.media-replace-affordance,.storyboard-add-frame) {display:none!important}
/* Full workspace outline, outside scroll content. No size or clipping changes. */
.workspace-shell{position:relative}
body.editing .workspace-shell::after {content:'';position:absolute;inset:0;border:1px solid var(--accent);pointer-events:none;z-index:40}
/* Dense rows preserve every border width and cell size; only their paint changes. */
.shotlist.view-list>.shot-list-row {
  border-radius:0!important;background:var(--bg-base)!important;
  border-color:transparent!important;border-bottom-color:var(--border-subtle)!important;box-shadow:none!important;
}
.shotlist.view-list>.shot-list-row:hover {background:var(--surface-1)!important}
.shotlist.view-list>.shot-list-row.selected {background:var(--surface-2)!important}
.shotlist.view-list>.shot-list-row>div,.shot-list-table-head>div,.special-row>div {
  border-left-color:transparent!important;border-right-color:transparent!important;
}
.shotlist.view-list>:is(.shot-list-table-head,.special-head){background:var(--surface-2)!important;border-color:var(--border-default)!important}
.shotlist.view-list>.shot-list-row::before {
  content:'';position:absolute;inset:0 auto 0 0;width:2px;pointer-events:none;background:var(--border-default);z-index:2;
}
.shotlist.view-list>.shot-list-row.has-coverage::before {background:var(--coverage-color)}
.storyboard-shot {border-radius:0!important;background:transparent!important}
.storyboard-shot:hover {background:var(--surface-1)!important}
.storyboard-shot.selected {background:var(--surface-2)!important}
.storyboard-shot .storyboard-frame-wrap::before {
  content:'';position:absolute;z-index:24;inset:0 auto 0 0;width:2px;pointer-events:none;background:var(--border-default);
}
.storyboard-shot.has-coverage .storyboard-frame-wrap::before {background:var(--coverage-color)}
.shot-card.selected .shot-id-editable,.special-row.selected .special-shot strong {color:var(--accent)!important}
/* Existing tracks stay 7/6px. Transparent pseudo hit surface extends to 12px. */
.pane-splitter {background:transparent!important;border-color:transparent!important}
.pane-splitter::before {content:'';position:absolute;inset:0;left:50%;width:1px;background:var(--border-subtle);pointer-events:none}
.pane-splitter::after {content:'';position:absolute;inset:0;left:50%;width:12px;transform:translateX(-50%);cursor:col-resize}
.pane-splitter:hover::before,.resizing-panes .pane-splitter::before {width:2px;background:var(--accent)}
.sequence-grid>.pane,.element-grid-layout>.element-inspector {border-left-color:transparent!important;border-right-color:transparent!important}

/* Complete the same role grammar on the smaller existing controls. */
:is(.export-primary,#exportRun):not(:disabled){background:var(--accent)!important;color:var(--bg-deep)!important;border-color:var(--accent)!important}
:is(.sequence-character-picker-close,.frame-nav,.storyboard-add-frame,.media-replace-affordance) {border-radius:var(--radius-control)!important}
:is(.sequence-character-option img,.nav-thumb .usage-media-frame,.nav-person-thumb .usage-media-frame,.look-picker-menu img) {border-radius:var(--radius-media-embedded)!important}
body.editing .lightbox:not(.reframing) .lightbox-tools {opacity:0;pointer-events:none}
body.editing .lightbox:is(:hover,:focus-within) .lightbox-tools {opacity:1;pointer-events:auto}
body.editing .media-card-menu:has(:focus-visible){opacity:1!important;pointer-events:auto!important}
.shot-bulk-actions [data-shot-action="delete"] {color:var(--error)!important}

/* Confirmation role is presentation only; destructive confirmation stays semantic. */
#confirmOk[data-visual-intent=danger],#confirmOk[data-visual-intent=danger]:hover {
  background:rgb(from var(--error) r g b / .10)!important;color:var(--error)!important;border-color:var(--error)!important;
}
/* Keep existing drag insertion feedback; no new effect or resize behavior. */
.shotlist.view-list>.shot-list-row.drop-after {box-shadow:0 3px 0 var(--accent)!important}
:is(.seq-preview-action,.export-secondary,.export-primary,.script-language-tabs button,.shot-coverage-btn,.shot-clear-coverage,.special-filter>summary) {border-radius:var(--radius-control)!important}
.seq-preview-action {background:transparent!important;border-color:var(--border-subtle)!important}
.seq-preview-action:not(:disabled):hover {color:var(--accent-hover);border-color:var(--accent)!important;background:var(--accent-soft)!important}
:is(.tool-menu,.location-picker-menu,.look-picker-menu,.shot-autocomplete,.real-location-suggestions) button:is(:hover,.active) {
 color:var(--accent-hover);background:var(--accent-soft);
}

body:has(.element-grid-layout) #openElementsGrid {
 background:var(--surface-2)!important;color:var(--accent)!important;border-color:transparent!important;border-bottom-color:var(--accent)!important;
}
.look-book-head,.character-head {
 border-top-left-radius:var(--radius-card);border-top-right-radius:var(--radius-card);
}
/* DA.3.1 — targeted corrective grammar; existing tracks/Frame viewport stay intact. */
/* Headers and rows share paint; no column, sticky or scrolling changes. */
.shotlist.view-list:not(.view-storyboard)>:is(.shot-list-table-head,.shot-list-row) {
  border-color:transparent!important;border-radius:0!important;box-shadow:none!important;
}
.shotlist.view-list:not(.view-storyboard)>.shot-list-table-head {
  background:var(--bg-base)!important;border-top-color:transparent!important;
}
.shotlist.view-list>.shot-list-row {margin-block:0!important}
/* A baseline on the row plus the stretched cells also paints the intrinsic
   overflow of a wide last cell, without resizing tracks or clipping content. */
.shotlist.view-list>:is(.shot-list-table-head,.shot-list-row)::after {
  content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--table-row-line,var(--border-subtle));pointer-events:none;
}
.shotlist.view-list>:is(.shot-list-table-head,.shot-list-row)>div:not(.table-frame-cell) {
  background-image:linear-gradient(var(--table-row-line,var(--border-subtle)),var(--table-row-line,var(--border-subtle)));
  background-size:100% 1px;background-repeat:no-repeat;background-position:left bottom;
}
/* One intrinsic Frame with 3px breathing room above/below, centered if a
   neighbouring cell makes the row taller. No change inside the media viewport. */
.shotlist:is(.view-list,.special-shotlist) .shot-images.table-frame-cell {
  height:auto!important;align-self:center!important;padding-block:3px!important;background:transparent!important;
}
/* State controls: neutral rest, minimal selected underline, visible hover. */
.mode-toggle,.script-language-tabs {background:transparent!important;border-color:transparent!important}
:is(.mode-btn,.script-language-tabs button,.coverage-mode button,.gallery-size button,[data-shot-view],.context-segments>button,#openElementsGrid) {
  background:transparent!important;border-color:transparent!important;color:var(--text-secondary)!important;
  border-radius:var(--radius-control)!important;
}
:is(.mode-btn,.script-language-tabs button,.coverage-mode button,.gallery-size button,[data-shot-view],.context-segments>button,#openElementsGrid).active,
body:has(.element-grid-layout) #openElementsGrid {
  background:var(--accent-soft)!important;color:var(--accent)!important;border-color:transparent!important;
  background-image:linear-gradient(var(--accent),var(--accent))!important;
  background-size:18px 1px!important;background-repeat:no-repeat!important;background-position:center bottom!important;
}
:is(.mode-btn,.script-language-tabs button,.coverage-mode button,.gallery-size button,[data-shot-view],.context-segments>button,#openElementsGrid):not(:disabled):hover {
  background-color:var(--accent-soft)!important;color:var(--accent-hover)!important;
}
/* Same secondary action in every Gallery adapter, including nested profiles. */
:is(.common-media-gallery,.look-book-gallery,.detail-refs,.gallery-grid) .add-media-card,
.add-media-card,.seq-preview-action,.export-secondary {
  background:transparent!important;border-color:var(--border-subtle)!important;
  border-radius:var(--radius-control)!important;color:var(--text-secondary)!important;
}
:is(.common-media-gallery,.look-book-gallery,.detail-refs,.gallery-grid) .add-media-card:is(:hover,:focus-within,[open]),
.add-media-card:is(:hover,:focus-within,[open]),.seq-preview-action:not(:disabled):hover,.export-secondary:not(:disabled):hover {
  background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent-hover)!important;
}
.add-media-card>.add-media-label {color:inherit!important;background:transparent!important}
.add-media-card[aria-disabled=true] {opacity:var(--disabled-opacity);pointer-events:none}
/* Structural hairlines share the primary-tab separator, not semantic borders. */
:is(.pane-tabs,.pane-context,.workspace-tabs,.book-topbar,.book-info-row,
 .character-head,.look-book-head,.gallery-head,.profile-documents,.character-documents-section,
 .detail-drawer,.document-viewer-head,.export-dialog-head,.export-dialog-foot,
 .drawer-head,.comment-form,.snapshot-form,.autosave-note),
.element-extras>.gallery-head,.element-set-profile>.gallery-head,
.project-media-picker>section>:is(header,footer),.element-modal>section>:is(header,footer) {
  border-color:var(--border-subtle)!important;
}
/* Remove only paint on embedded Gallery images; retain border dimensions and
   the separate Reframe viewport/control geometry. */
.common-media-surface img {border-color:transparent!important;outline-color:transparent!important;box-shadow:none!important}
/* Native scrollbars only. WebKit keeps a 6px gutter and paints a 4px thumb;
   Firefox uses its native thin equivalent. No scroll handler/overflow changes. */
:is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker),
:is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker) * {
  scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;
}
@supports selector(::-webkit-scrollbar) {
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker),
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker) * {
   scrollbar-width:auto;scrollbar-color:auto;
 }
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker)::-webkit-scrollbar,
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker) *::-webkit-scrollbar {width:6px;height:6px}
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker)::-webkit-scrollbar-track,
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker) *::-webkit-scrollbar-track {background:transparent}
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker)::-webkit-scrollbar-thumb,
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker) *::-webkit-scrollbar-thumb {
   background:var(--border-subtle);border:1px solid transparent;background-clip:padding-box;border-radius:var(--radius-control);
 }
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker)::-webkit-scrollbar-thumb:hover,
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker) *::-webkit-scrollbar-thumb:hover {background-color:var(--border-default)}
 :is(#app,.lightbox,.side-drawer,.element-modal,.project-media-picker,.document-viewer,.export-dialog,.shot-autocomplete,.coverage-hover,.sequence-character-picker,.visual-look-picker) *::-webkit-scrollbar-corner {background:transparent}
}

/* DA.3.2: shared dense-table paint, existing dimensions retained. */
.shotlist.view-list {
  --table-frame-line:rgb(from var(--border-subtle) r g b / .6);
  --table-row-line:rgb(from var(--border-subtle) r g b / .55);
}
.shotlist.view-list>.shot-list-row.selected {--table-row-line:rgb(from var(--accent) r g b / .22)}
.shotlist.view-list>.shot-list-table-head>div {
  font-size:8px!important;font-weight:700!important;line-height:normal!important;
  letter-spacing:.14em!important;color:var(--text-secondary)!important;
  align-items:flex-end!important;padding-bottom:7px!important;
}
/* DA.3.3: one visual shell, assembled on existing Header + Rows so ADD SHOT
   remains outside. Only paint is rounded; no clipping of content/overlays,
   new wrapper, scroll container, border-box or sticky geometry. */
.shotlist.view-list>:is(.shot-list-table-head,.shot-list-row)::after {
  height:100%;box-sizing:border-box;
  border-inline:1px solid var(--table-frame-line);
  background:linear-gradient(var(--table-row-line),var(--table-row-line)) left bottom/100% 1px no-repeat;
}
.shotlist.view-list:not(.view-storyboard)>.shot-list-table-head,
.shotlist.view-list>.shot-list-table-head::after {
  border-radius:var(--radius-card) var(--radius-card) 0 0!important;
}
.shotlist.view-list>.shot-list-table-head::after {border-top:1px solid var(--table-frame-line)}
.shotlist.view-list>.shot-list-table-head>div:first-child {border-top-left-radius:var(--radius-card)!important}
.shotlist.view-list>.shot-list-table-head>div:nth-last-child(1 of div:not([style*="display:none"])) {border-top-right-radius:var(--radius-card)!important}
.shotlist.view-list>.shot-list-row:nth-last-child(1 of .shot-list-row),
.shotlist.view-list>.shot-list-row:nth-last-child(1 of .shot-list-row)::after {
  border-radius:0 0 var(--radius-card) var(--radius-card)!important;
}
.shotlist.view-list>.shot-list-row:nth-last-child(1 of .shot-list-row)::after {
  border-bottom:1px solid var(--table-frame-line);
}
.shotlist.view-list>.shot-list-row:nth-last-child(1 of .shot-list-row)>div:first-child {border-bottom-left-radius:var(--radius-card)!important}
.shotlist.view-list>.shot-list-row:nth-last-child(1 of .shot-list-row)>div:nth-last-child(1 of div:not([style*="display:none"])) {border-bottom-right-radius:var(--radius-card)!important}
/* Equal top/bottom selection hairlines; neutral vertical shell and independent
   Coverage ::before remain untouched. Cell paint covers intrinsic overflow. */
.shotlist.view-list>.shot-list-row.selected::after,
.shotlist.view-list>.shot-list-row.selected>div:not(.table-frame-cell) {
  background-image:linear-gradient(var(--table-row-line),var(--table-row-line)),linear-gradient(var(--table-row-line),var(--table-row-line));
  background-size:100% 1px,100% 1px;background-repeat:no-repeat;
  background-position:left top,left bottom;
}
/* Reset the legacy 38px grip that painted over the top of the continuous line. */
.pane-splitter::after {height:auto;background:transparent;opacity:1}
/* Same compact hover as the Script theme icon; selected toggle underline stays. */
#app :is(.icon-btn,.coverage-mode button,.special-filter>summary):not(:disabled):hover {
  border-color:var(--accent)!important;color:var(--accent-hover)!important;
  background-color:var(--accent-soft)!important;border-radius:var(--radius-control)!important;
}
.special-filter>summary {background:transparent!important;border-color:transparent!important;color:var(--text-secondary)!important}
/* New name prompt uses the existing blocking dialog and action roles. */
.element-name-dialog {box-shadow:none!important}
.element-name-dialog input {width:100%;box-sizing:border-box;margin:20px 0;padding:8px}

/* DA.3.4: SPECIAL's historical row minimum is not a header requirement.
   Use the canonical header's intrinsic label height and 7px vertical inset. */
.shotlist.view-list.special-shotlist>.shot-list-table-head.special-head {min-height:0!important}
.shotlist.view-list.special-shotlist>.shot-list-table-head.special-head>div {padding-top:7px!important}

/* DA.3.5: SPECIAL already uses renderMediaGallery/arrayGallery. Remove only
   the legacy detail-card shell; the business heading keeps its own inset. */
.special-list>.detail-drawer {background:transparent;padding:0}
.special-list>.detail-drawer>.detail-title {padding-top:16px}

}
