.model-workspace { margin-bottom: 28px; min-width: 0; }
.model-workspace [hidden] { display: none !important; }
.mw-tabs { display: flex; border-bottom: 1px solid var(--rule); gap: 18px; margin-bottom: 20px; }
.mw-tabs [role="tab"] { background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 12px 0; box-shadow: none; color: var(--ink-dim); font: 600 14px var(--ui-font); }
.mw-tabs [aria-selected="true"] { border-color: var(--signal); color: var(--ink); }
.mw-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
#app .mw-heading h2 { font: 600 19px var(--ui-font); margin: 0; }
.mw-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; }
.mw-filters input[type="search"] { flex: 1 1 240px; width: auto; min-width: 0; margin: 0; }
.mw-filters .icon-btn { width: 36px; min-width: 36px; height: 36px; flex: 0 0 36px; padding: 0; }
#app .mw-filters label, #app .mw-approval { display: flex; align-items: center; gap: 8px; margin: 0; font: 500 13px var(--ui-font); text-transform: none; letter-spacing: 0; }
#app .model-workspace input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; }
.mw-status { min-height: 20px; font: 13px/1.6 var(--ui-font); overflow-wrap: anywhere; }
.mw-model-row { display: grid; grid-template-columns: minmax(0, 1fr) 76px 116px; align-items: center; gap: 16px; border-bottom: 1px solid var(--rule); padding: 15px 0; }
.mw-model-row h3, .mw-local h3 { font: 600 14px/1.5 var(--ui-font); margin: 0 0 4px; overflow-wrap: anywhere; }
.mw-model-row p, .mw-local p, .mw-policy { font: 13px/1.6 var(--ui-font); margin: 0; overflow-wrap: anywhere; }
.mw-badge { display: inline-block; font: 500 11px var(--ui-font); color: var(--ink-dim); white-space: nowrap; }
.mw-model-row button { min-height: 36px; font-size: 12px; }
.mw-empty { padding: 24px 0; color: var(--ink-dim); font-size: 14px; }
.mw-local { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 24px; border-bottom: 1px solid var(--rule); margin: 20px 0 12px; padding: 20px 0; }
.mw-local a { display: inline-block; margin-top: 8px; font-size: 12px; color: var(--signal); }
.mw-local-actions { display: flex; align-items: start; flex-direction: column; gap: 8px; }
.mw-local [role="status"] { grid-column: 1 / -1; }
.mw-policy { padding: 8px 0; }
.mw-image-grid { display: grid; grid-template-columns: minmax(250px, 360px) minmax(0, 1fr); gap: 28px; align-items: start; }
.mw-image-form { min-width: 0; }
#app .mw-image-form > label:not(.mw-approval) { display: block; margin: 0 0 14px; font: 500 13px var(--ui-font); letter-spacing: 0; text-transform: none; }
.mw-image-form :is(select, textarea) { display: block; width: 100%; max-width: 100%; min-width: 0; margin: 7px 0 0; font: 14px/1.5 var(--ui-font); box-sizing: border-box; }
.mw-image-form .muted { font: 12px/1.6 var(--ui-font); margin: 8px 0 14px; }
#app .mw-approval { align-items: start; line-height: 1.6; }
.mw-approval input { margin-top: 3px !important; }
.mw-form-actions, .mw-output-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.mw-image-output { min-width: 0; }
.mw-image-empty { display: grid; place-content: center; text-align: center; aspect-ratio: 1; border: 1px dashed var(--rule-bright); border-radius: 6px; color: var(--ink-dim); padding: 20px; box-sizing: border-box; }
.mw-image-empty span { font: 500 15px var(--ui-font); }
.mw-image-empty p { font: 13px/1.5 var(--ui-font); }
.mw-image-output[aria-busy="true"] .mw-image-empty { animation: mw-pulse 1.5s ease-in-out infinite; }
.mw-image-output figure { margin: 0; }
.mw-image-output img { display: block; width: 100%; max-height: 640px; aspect-ratio: 1; object-fit: contain; background: var(--paper-2); border-radius: 6px; }
.mw-image-output figcaption { font: 12px/1.5 var(--ui-font); color: var(--ink-dim); overflow-wrap: anywhere; padding-top: 10px; }
.mw-output-actions a { text-decoration: none; font: 600 13px var(--ui-font); padding: 10px 14px; border-radius: 6px; }
.model-workspace [role="tabpanel"] { animation: mw-enter 140ms ease-out; }
@keyframes mw-enter { from { opacity: .4; transform: translateY(3px); } to { opacity: 1; transform: none; } }
@keyframes mw-pulse { 50% { border-color: var(--signal); } }
@media (max-width: 900px) { .mw-image-grid { grid-template-columns: minmax(0, 1fr); } .mw-image-output { max-width: 640px; } }
@media (max-width: 550px) {
  .mw-filters input[type="search"] { flex-basis: 100%; }
  .mw-heading { align-items: start; flex-direction: column; gap: 10px; }
  .mw-model-row { grid-template-columns: minmax(0, 1fr) 82px; gap: 8px; }
  .mw-model-row .mw-badge { grid-column: 1; grid-row: 2; }
  .mw-model-row button { grid-column: 2; grid-row: 1 / 3; padding: 8px; }
  .mw-local { grid-template-columns: minmax(0, 1fr); }
  .mw-local-actions { flex-direction: row; flex-wrap: wrap; }
  .mw-tabs { gap: 18px; } .mw-tabs [role="tab"] { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .model-workspace [role="tabpanel"], .mw-image-output[aria-busy="true"] .mw-image-empty { animation: none; } }
