.ml-workspace { max-width:1560px; min-width:0; margin:0 auto; }
.ml-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
.ml-heading h1 { font-size:25px; margin:0 0 5px; }
.ml-heading p { color:var(--muted); font-size:12px; margin:0; }
.ml-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.ml-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:16px 0; }
.ml-toolbar input { flex:1; min-width:180px; max-width:380px; }
.ml-toolbar select { min-width:120px; }
.ml-tabs { display:flex; flex-wrap:wrap; gap:5px; }
.ml-tabs button { min-height:34px; padding:7px 10px; font-size:12px; }
.ml-tabs .active { color:var(--teal); background:var(--teal-soft); border-color:#a6beb0; }
.ml-upload { padding:20px; border:1px solid #c2d3c5; border-radius:9px; background:#f0f5ec; margin:18px 0; }
.ml-upload .ml-actions { justify-content:space-between; }
.ml-upload h3 { font-size:14px; margin:0 0 4px; }
.ml-upload p { color:var(--muted); font-size:11px; margin:5px 0 0; }
.ml-upload input[type=file] { max-width:100%; width:100%; min-height:44px; background:var(--surface); border-radius:7px; padding:8px; }
.ml-pick-files { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:15px 0; }
.ml-pick-files > span { font-size:12px; }
.ml-table td > .ml-processing-state { margin-top:7px; }
.ml-upload-queue { margin-top:15px; background:var(--surface); border:1px solid var(--line); border-radius:7px; }
.ml-upload-row { display:grid; grid-template-columns:minmax(0,1fr) 130px auto; gap:12px; align-items:center; padding:12px 14px; border-bottom:1px solid var(--line); font-size:12px; }
.ml-upload-row:last-child { border-bottom:0; }
.ml-upload-row strong { display:block; overflow-wrap:anywhere; }
.ml-upload-row small { display:block; font-size:10px; color:var(--muted); margin-top:4px; }
.ml-meter { height:5px; border-radius:3px; overflow:hidden; background:#e4eae1; margin-top:5px; }
.ml-meter span { display:block; height:100%; background:#48816d; }
.ml-table-wrap { min-width:0; max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.ml-table { width:100%; border-collapse:collapse; font-size:12px; text-align:left; }
.ml-table th { font-size:11px; background:#eef2e9; color:#5f7164; padding:11px 13px; white-space:nowrap; }
.ml-table td { padding:12px 13px; border-top:1px solid var(--line); vertical-align:top; }
.ml-table tbody tr:hover { background:#f7f9f2; }
.ml-table .ghost { min-height:28px; padding:0; text-align:left; color:var(--teal); font-size:12px; }
.ml-file-cell { display:flex; align-items:flex-start; gap:12px; min-width:220px; }
.ml-thumb { width:68px; height:48px; flex:0 0 68px; background:#e9efe4; border:1px solid var(--line); border-radius:5px; display:flex; align-items:center; justify-content:center; overflow:hidden; font-size:10px; color:var(--muted); }
.ml-thumb img { width:100%; height:100%; object-fit:cover; }
.ml-file-cell strong { display:block; max-width:420px; overflow-wrap:anywhere; }
.ml-file-cell small,.ml-table td > small { display:block; margin-top:3px; color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.ml-original { color:var(--muted); font-weight:400; }
.ml-state { display:inline-block; white-space:nowrap; font-size:10px; padding:3px 7px; border-radius:5px; color:#516859; background:#edf2e8; }
.ml-state.pending { background:#f8efd9; color:#876c36; }
.ml-state.error { background:#fbe9e0; color:#9c4c38; }
.ml-state.done { background:#dceee0; color:#3c7554; }
.ml-state.waiting { background:#e9edf0; color:#627482; }
.ml-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.ml-tag { background:#eaf0e5; border-radius:4px; font-size:10px; padding:2px 6px; color:#55735c; }
.ml-note { color:var(--muted); font-size:11px; margin:10px 0 18px; }
.ml-empty { padding:45px 22px; border:1px solid var(--line); border-radius:9px; background:var(--surface); text-align:center; }
.ml-empty h3 { font-size:16px; margin:0 0 8px; }
.ml-empty p { color:var(--muted); font-size:12px; margin:0; }
.ml-modal { width:min(1060px,100%); }
.ml-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:22px; }
.ml-detail-grid > * { min-width:0; }
.ml-media { background:#183a32; border-radius:7px; overflow:hidden; min-height:180px; display:flex; align-items:center; justify-content:center; }
.ml-media img,.ml-media video { width:100%; max-height:420px; object-fit:contain; display:block; }
.ml-media audio { width:95%; margin:45px 0; }
.ml-media a { color:#dceee0; }
.ml-section { margin-top:22px; }
.ml-section h3 { font-size:14px; margin:0 0 10px; }
.ml-panel { padding:15px; border:1px solid var(--line); border-radius:7px; background:#fafbf6; margin-bottom:15px; }
.ml-panel h3 { font-size:14px; margin:0 0 10px; }
.ml-panel p { font-size:12px; margin:8px 0; overflow-wrap:anywhere; white-space:pre-wrap; }
.ml-provenance { color:var(--muted); font-size:10px; margin:7px 0; }
.ml-facts { display:grid; grid-template-columns:110px minmax(0,1fr); gap:7px 12px; font-size:11px; margin:10px 0; }
.ml-facts dt { color:var(--muted); }
.ml-facts dd { margin:0; overflow-wrap:anywhere; }
.ml-field { display:grid; gap:6px; font-size:12px; margin-bottom:15px; }
.ml-field small { font-size:11px; color:var(--muted); }
.ml-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 15px; }
.ml-form-grid > * { min-width:0; }
.ml-check { display:flex; align-items:flex-start; gap:8px; margin:10px 0; font-size:12px; font-weight:400; }
.ml-check input { margin-top:4px; }
.ml-association { border-top:1px solid var(--line); padding:12px 0; font-size:12px; }
.ml-association p { margin:5px 0; color:var(--muted); font-size:11px; }
.ml-association .ml-actions { margin-top:8px; }
.ml-form-error:not(:empty) { margin:14px 0; padding:12px; background:#fff0e8; border-radius:6px; color:var(--danger); font-size:12px; white-space:pre-wrap; }
.ml-history { border-top:1px solid var(--line); margin-top:12px; padding:12px 0; font-size:11px; }
.ml-modal .modal-body { min-width:0; }
.ml-modal input,.ml-modal select,.ml-modal textarea { max-width:100%; }
.ml-modal textarea { white-space:pre-wrap; }
.ml-safe-link { overflow-wrap:anywhere; }
@media(max-width:900px) { .ml-detail-grid { grid-template-columns:1fr; gap:18px; } }
@media(max-width:540px) {
  .ml-heading h1 { font-size:23px; }
  .ml-upload { padding:15px; }
  .ml-upload-row { grid-template-columns:minmax(0,1fr) auto; gap:9px; }
  .ml-upload-row .ml-upload-progress { grid-column:1 / -1; }
  .ml-toolbar input { min-width:130px; max-width:none; }
  .ml-toolbar select { flex:1; min-width:115px; }
  .ml-table { min-width:700px; }
  .ml-file-cell { min-width:200px; }
  .ml-thumb { width:52px; height:42px; flex-basis:52px; }
  .ml-modal .modal-header,.ml-modal .modal-body,.ml-modal .modal-footer { padding:16px; }
  .ml-form-grid { grid-template-columns:1fr; }
  .ml-media { min-height:130px; }
  .ml-facts { grid-template-columns:95px minmax(0,1fr); }
}
.ml-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ml-preview-grid figure { margin:0; min-width:0; }
.ml-preview-grid img { width:100%; max-height:140px; object-fit:contain; border:1px solid var(--line); border-radius:5px; background:#e5ece2; }
.ml-preview-grid figcaption { color:var(--muted); font-size:10px; }
.ml-modal .modal-footer { flex-wrap:wrap; }
.ml-modal .modal-header h2 { min-width:0; overflow-wrap:anywhere; }
.ml-upload-row .error,.ml-form-error { overflow-wrap:anywhere; }
.ml-simple { max-width:1200px; }
.ml-simple .ml-upload { padding:18px 20px; }
.ml-simple .ml-pick-files { margin:0; }
.ml-simple .ml-transfer-link { margin-top:12px; font-size:11px; color:var(--muted); }
.ml-simple .ml-table th:first-child { width:62%; }
.ml-simple .ml-table td { vertical-align:middle; }
.ml-simple .ml-uploader { white-space:nowrap; color:var(--muted); }
.ml-simple .ml-file-cell { align-items:center; }
.ml-simple .ml-table td:last-child { min-width:155px; }
.ml-simple-detail h3 { margin:0; overflow-wrap:anywhere; }
.ml-simple-detail .ml-original-actions { margin:16px 0; }
.ml-simple-detail .ml-media p { color:#dceee0; padding:20px; font-size:13px; }
.ml-technical { border-top:1px solid var(--line); padding-top:14px; color:var(--muted); font-size:12px; }
.ml-technical summary { cursor:pointer; }
@media(max-width:540px) {
  .ml-simple .ml-heading { gap:12px; }
  .ml-simple .ml-upload { padding:16px; }
  .ml-simple .ml-table { min-width:520px; }
  .ml-simple .ml-table td { padding:10px; }
  .ml-simple .ml-file-cell { min-width:180px; }
  .ml-simple .ml-table th:first-child { width:auto; }
}
@media(max-width:540px) { .ml-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ml-modal .modal-footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .ml-modal .modal-footer > button:last-child:not(:nth-child(2)) { grid-column:1 / -1; } }
