.mosaic-family-nav-host { margin: 0 0 20px; grid-column:1 / -1; }
.mosaic-family-nav-host nav { display:flex; flex-wrap:wrap; gap:8px; }
.mosaic-family-nav-host a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid var(--border,#dce2e8); border-radius:12px; color:var(--text,#17212c); text-decoration:none; background:var(--panel,#fff); }
.mosaic-family-nav-host a[aria-current="page"] { background:#2563eb; color:white; border-color:#2563eb; }
body[data-mosaic-family-view="focused"] main .app { grid-template-columns:minmax(0,1fr); }
body[data-mosaic-family-view="focused"] main .preview-grid { grid-template-columns:minmax(0,1fr); }
body[data-mosaic-family-view="focused"] #drop,body[data-mosaic-family-view="focused"] .options,body[data-mosaic-family-view="focused"] #outputPanel { display:none !important; }
.mosaic-family-focused[hidden] { display:none !important; }
body[data-mosaic-family-view="focused"] .mosaic-family-focused { min-width:0; }
body[data-mosaic-family-view="focused"] #run { display:none !important; }
body[data-mosaic-family-view="focused"] .mosaic-family-focused .nw-review-slot > .imgbox { position:absolute; inset:0; width:100%; height:100%; min-height:0; max-height:none; border:0; border-radius:0; background:var(--nw-bg); }
body[data-mosaic-family-view="focused"] .mosaic-family-focused .nw-review-slot #preview { width:100%; height:100%; object-fit:contain; }
body[data-mosaic-family-view="focused"] .mosaic-family-focused .nw-review-slot .img-placeholder { display:none; }
.mosaic-family-brush-settings { margin-top:12px; border-top:1px solid var(--nw-border); padding-top:12px; }
.mosaic-family-brush-settings summary { min-height:44px; padding:10px 0; cursor:pointer; font-weight:600; }
.mosaic-family-nav-host:empty { display:none; }
.mosaic-family-manual-context { grid-column:1 / -1; min-width:0; }
.mosaic-workspace-card-head > .mosaic-family-manual-context { flex:1 0 100%; order:3; }
.mosaic-workspace-card-head > .mosaic-family-manual-context .mosaic-family-bulk { margin-bottom:0; }
/* Native rows remain available to their existing selection handlers. */
body[data-mosaic-family-view] #batchList { display:none !important; }
.mosaic-family-bulk { margin:0 0 12px; padding:12px; border:1px solid var(--border,#dce2e8); border-radius:12px; background:var(--panel,#fff); }
.mosaic-family-bulk[hidden] { display:none; }
.mosaic-family-bulk-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.mosaic-family-photo-picker { display:grid; gap:4px; min-width:0; color:var(--muted,#55635b); font-size:.75rem; font-weight:600; }
.mosaic-family-photo-picker select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:9px 30px 9px 12px; border:1px solid var(--border,#dce2e8); border-radius:10px; background:var(--card,#fff); color:var(--text,#17212c); font:inherit; font-size:.875rem; font-weight:600; line-height:1.4; text-overflow:ellipsis; }
.mosaic-family-bulk-toggle,.mosaic-family-bulk-actions button { box-sizing:border-box; min-height:44px; padding:10px 14px; border:1px solid var(--border,#dce2e8); border-radius:10px; background:var(--card,#fff); color:var(--text,#17212c); font:inherit; font-size:.875rem; font-weight:600; cursor:pointer; transition:background-color 140ms,border-color 140ms; }
.mosaic-family-bulk-toggle[aria-expanded="true"],.mosaic-family-bulk-actions button[aria-pressed="true"] { border-color:var(--focus,#2563eb); background:color-mix(in srgb,var(--focus,#2563eb) 8%,var(--card,#fff)); }
.mosaic-family-bulk-toggle:disabled,.mosaic-family-bulk-actions button:disabled,.mosaic-family-photo-picker select:disabled,.mosaic-family-bulk-row button:disabled { opacity:.45; cursor:default; }
.mosaic-family-bulk-body { display:grid; gap:10px; margin-top:12px; }
.mosaic-family-bulk-body[hidden] { display:none; }
.mosaic-family-bulk p { margin:0 0 8px; }
.mosaic-family-bulk-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:6px; max-height:220px; padding:3px; overflow:auto; overscroll-behavior:contain; }
.mosaic-family-bulk-row { display:flex; align-items:center; gap:8px; min-width:0; padding:4px 8px; border:1px solid var(--border,#dce2e8); border-radius:10px; background:var(--card,#fff); transition:background-color 140ms,border-color 140ms; }
.mosaic-family-bulk-row:has(button[aria-pressed="true"]) { border-color:var(--focus,#2563eb); background:color-mix(in srgb,var(--focus,#2563eb) 8%,var(--card,#fff)); }
.mosaic-family-bulk-row input { flex:none; width:20px; height:20px; margin:0; accent-color:var(--focus,#2563eb); cursor:pointer; }
.mosaic-family-bulk-row button { min-height:44px; min-width:0; flex:1; padding:8px; border:0; border-radius:8px; background:transparent; color:var(--text,#17212c); font:inherit; font-size:.875rem; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:start; cursor:pointer; }
.mosaic-family-bulk :is(button,select,input):focus-visible { outline:3px solid var(--focus,#3b70d1); outline-offset:3px; }
.mosaic-family-bulk-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.mosaic-family-bulk-actions button { min-height:44px; }
@media (max-width:600px) { .mosaic-family-bulk { padding:10px; }.mosaic-family-bulk-header { gap:8px; }.mosaic-family-bulk-toggle { padding-inline:10px; }.mosaic-family-bulk-actions button { flex:1 1 120px; } }
@media (prefers-reduced-motion:reduce) { .mosaic-family-bulk-toggle,.mosaic-family-bulk-actions button,.mosaic-family-bulk-row { transition:none; } }
