#who-category-form { display:block; padding:24px; border-radius:8px; box-shadow:none; overflow:visible; }
#who-category-form [hidden] { display:none!important; }
#who-category-form h2 { font:900 1.45rem/1.3 'Nunito',sans-serif; margin:0 0 8px; }
#who-category-form h3 { font:800 1.05rem/1.4 'Nunito',sans-serif; margin:0; }
.who-editor-header p,.who-editor-note,.who-draft-tools p { color:var(--text-dim); font-size:.875rem; line-height:1.5; margin:0; }
.who-editor-header { margin-bottom:16px; }
.who-draft-tools { font-size:.85rem; margin-bottom:8px; }
.who-draft-tools summary { width:fit-content; padding:6px 0; font-weight:800; cursor:pointer; }
.who-draft-tools[open] { padding-bottom:12px; }
.who-draft-actions { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
#who-draft-status { font-size:.8rem; }
.who-category-fields { display:grid; grid-template-columns:minmax(0,2fr) minmax(145px,1fr); gap:8px 16px; padding:24px 0; }
#who-category-form label { display:grid; gap:6px; color:var(--text); font-size:.875rem; font-weight:800; }
#who-category-form input[type=text],#who-category-form select,#who-category-form textarea { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text); font:inherit; font-size:1rem; font-weight:600; }
#who-category-form textarea { resize:vertical; line-height:1.5; }
#who-category-form input[aria-invalid=true] { border-color:var(--accent); }
.who-field-error { color:var(--accent); font-size:.8rem; line-height:1.4; margin:0; }
#who-category-name-error { grid-column:1/-1; }
.who-cards-section { border-top:1px solid var(--border); padding:20px 0; }
.who-editor-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:8px; }
#who-item-count { font-size:.8rem; line-height:1.5; color:var(--text-dim); margin:2px 0 0; }
.who-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.who-editor-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 14px; border:1px solid var(--border); border-radius:6px; color:var(--text); background:var(--bg); font:inherit; font-size:.875rem; font-weight:800; cursor:pointer; }
.who-editor-button:hover { border-color:var(--text-dim); }
.who-editor-primary { background:var(--accent); border-color:var(--accent); color:#fff; }
html[data-theme=dark] .who-editor-primary { color:#341328; }
.who-editor-button:disabled { opacity:.55; cursor:default; }
.who-editor-link { min-height:44px; padding:6px 0; border:0; background:none; color:var(--text-dim); font:inherit; font-size:.8rem; text-decoration:underline; cursor:pointer; }
.who-editor-link:disabled { opacity:.55; cursor:default; }
.who-editor-bulk { padding:16px; margin-top:16px; border:1px solid var(--border); border-radius:6px; background:var(--bg); display:grid; gap:12px; }
.who-editor-feedback { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:.85rem; line-height:1.5; }
.who-editor-feedback:has(p:empty):not(:has(button:not([hidden]))) { display:none; }
.who-editor-feedback p { margin:12px 0; }
.who-editor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0 12px; }
.who-editor-card { min-width:0; border:1px solid var(--border); border-radius:8px; padding:12px; background:var(--surface); display:grid; grid-template-columns:88px minmax(0,1fr); gap:8px 12px; align-content:start; }
.who-card-heading { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; color:var(--text-dim); font-size:.8rem; font-weight:800; }
.who-editor-remove { width:36px; min-height:36px; border:0; border-radius:4px; background:none; color:var(--text-dim); font:inherit; font-size:1.25rem; cursor:pointer; }
.who-editor-remove:hover { color:var(--accent); background:var(--bg); }
#who-category-form .who-editor-picture { align-self:start; display:flex; flex-direction:column; justify-content:center; align-items:center; position:relative; min-height:104px; gap:6px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text-dim); overflow:hidden; cursor:pointer; }
.who-editor-picture img { width:100%; aspect-ratio:1; object-fit:contain; }
#who-category-form .who-editor-picture span { padding:4px; color:var(--text-dim); font-size:.75rem; font-weight:700; letter-spacing:0; text-transform:none; text-align:center; line-height:1.4; }
.who-editor-picture input { position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.who-card-fields { min-width:0; display:grid; align-content:start; gap:8px; }
.who-find-image { border:1px solid var(--border,#ddd); border-radius:6px; padding:9px 10px; background:var(--surface,#fff); color:var(--text,#352641); font:inherit; font-size:.82rem; font-weight:800; cursor:pointer; min-height:44px; }
.who-find-image:disabled { opacity:.6; cursor:default; }
.who-image-status { margin:0; font-size:.8rem; line-height:1.4; color:var(--text-dim,#735c80); overflow-wrap:anywhere; }
.who-image-status:empty { display:none; }
.who-card-image-actions { display:flex; align-items:center; flex-wrap:wrap; gap:0 12px; }
.who-card-image-actions:empty { display:none; }
.who-credit-details { font-size:.8rem; line-height:1.4; overflow-wrap:anywhere; }
.who-credit-details summary { cursor:pointer; min-height:32px; padding-block:6px; }
.who-image-credit { overflow-wrap:anywhere; font-size:.8rem; line-height:1.5; }
.who-image-credit a { color:inherit; text-decoration:underline; }
.who-add-bottom { width:100%; }
.who-picture-help { margin-top:16px; font-size:.85rem; color:var(--text-dim); line-height:1.6; }
.who-picture-help summary { font-weight:800; cursor:pointer; padding:8px 0; }
.who-editor-footer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 20px; padding-top:20px; border-top:1px solid var(--border); }
#who-ready-message { margin:0 0 6px; font-size:.9rem; font-weight:800; line-height:1.4; }
#who-upload-message { grid-column:1/-1; }
#who-upload-message:empty { display:none; }
#who-category-form :is(button,input,select,textarea,summary):focus-visible,.who-editor-button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; box-shadow:none; }
.who-editor-picture:focus-within { outline:2px solid var(--accent); outline-offset:3px; }
.who-image-chooser { box-sizing:border-box; width:min(520px,calc(100% - 32px)); max-height:min(720px,calc(100dvh - 32px)); overflow:auto; margin:auto; padding:20px; border:1px solid var(--border,#ddd); border-radius:8px; background:var(--surface,#fff); color:var(--text,#352641); font:inherit; }
.who-image-chooser[open] { display:flex; flex-direction:column; }
.who-image-chooser::backdrop { background:rgba(0,0,0,.55); }
.who-image-chooser-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-shrink:0; }
.who-image-chooser-heading button { flex-shrink:0; padding-inline:12px; }
.who-image-chooser h2 { margin:0; font:800 1.15rem/1.4 'Nunito',sans-serif; overflow-wrap:anywhere; }
.who-image-chooser p { margin:12px 0; font-size:.88rem; line-height:1.5; overflow-wrap:anywhere; }
.who-subject-search { margin-top:16px; flex-shrink:0; }
.who-subject-search label { display:block; margin-bottom:6px; font-size:.88rem; font-weight:800; }
.who-subject-search-controls { display:flex; gap:8px; }
.who-subject-search-controls input { width:100%; min-width:0; border:1px solid var(--border,#ddd); border-radius:6px; padding:8px; background:var(--bg,#f8f6fb); color:inherit; font:inherit; font-size:1rem; }
.who-subject-search-controls button { flex-shrink:0; padding-inline:12px; }
.who-subject-search p { color:var(--text-dim,#735c80); margin:8px 0 0; }
.who-subject-search-status { flex-shrink:0; }
.who-image-subject-list { display:grid; gap:8px; overflow:auto; min-height:0; padding:3px; margin:0 -3px; overscroll-behavior:contain; }
.who-image-subject { display:grid; gap:4px; min-height:56px; padding:12px; text-align:left; border:1px solid var(--border,#ddd); border-radius:6px; background:var(--bg,#f8f6fb); color:inherit; font:inherit; cursor:pointer; overflow-wrap:anywhere; }
.who-image-subject span { color:var(--text-dim,#735c80); font-size:.85rem; line-height:1.4; }
.who-image-subject:hover { border-color:var(--text-dim,#735c80); }
.who-image-subject:disabled { opacity:.6; cursor:default; }
.who-subject-more { flex-shrink:0; margin-top:12px; }
.who-image-subject:focus-visible,.who-image-chooser button:focus-visible,.who-subject-search input:focus-visible { outline:2px solid var(--accent,#704997); outline-offset:2px; }
.who-upload-preview { display:grid; grid-template-columns:repeat(auto-fill,minmax(95px,1fr)); gap:10px; max-height:480px; overflow:auto; }
.who-upload-preview-card { margin:0; padding:8px; border:1px solid var(--border,#ddd); border-radius:10px; min-width:0; }
.who-upload-preview-card img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.who-upload-preview-card figcaption { font-weight:800; font-size:.8rem; overflow-wrap:anywhere; }

.who-review-dialog { width:min(720px,calc(100% - 32px)); }
.who-review-dialog .who-upload-preview { flex:1 1 auto; min-height:0; max-height:none; padding:2px; }
.who-review-dialog .who-upload-preview-card { border-radius:6px; }
.who-review-dialog > p,.who-review-dialog > button { flex-shrink:0; }
.who-review-dialog .who-review-note { color:var(--text-dim); font-size:.82rem; }
#who-review-message:empty { display:none; }
#who-publish-category { margin-top:12px; }
@media(max-width:900px) { .who-editor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  #who-category-form { padding:20px 16px; }
  .who-editor-grid { grid-template-columns:1fr; }
  .who-editor-card { grid-template-columns:96px minmax(0,1fr); }
  .who-editor-remove { min-width:44px; min-height:44px; }
  .who-editor-footer { grid-template-columns:1fr; }
  .who-category-fields { grid-template-columns:minmax(0,1fr); gap:16px; }
  #who-category-form h2 { font-size:1.25rem; }
  .who-review-dialog .who-image-chooser-heading { align-items:flex-start; flex-wrap:wrap; gap:8px; }
}
@media(max-width:360px) {
  #who-category-form { padding:16px 12px; }
  .who-editor-card { grid-template-columns:76px minmax(0,1fr); padding:8px; gap:8px; }
  .who-editor-toolbar { align-items:flex-start; }
}

.who-bulk-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.who-bulk-preview { min-width:0; border-left:1px solid var(--border); padding-left:20px; }
.who-bulk-preview h4 { margin:0 0 8px; font-size:.875rem; }
.who-bulk-preview ol { margin:0; padding-left:24px; max-height:190px; overflow:auto; font-size:.9rem; line-height:1.7; overflow-wrap:anywhere; }
@media(max-width:700px) {
  .who-bulk-columns { grid-template-columns:1fr; gap:12px; }
  .who-bulk-preview { border-left:0; border-top:1px solid var(--border); padding:12px 0 0; }
  .who-bulk-preview ol { max-height:130px; }
}
