.mc-dialog{--mc-bg:#fff;--mc-fg:#252338;--mc-line:#dedee9;--mc-muted:#6e7385;--mc-brand:#8d00c9;background:var(--mc-bg);color:var(--mc-fg);border:1px solid var(--mc-line);border-radius:16px;width:min(660px,94vw);max-height:90dvh;overflow:auto;padding:20px;font:inherit;box-shadow:0 24px 80px #0004}.mc-dialog::backdrop{background:#14112680}.mc-dialog header,.mc-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.mc-dialog h2{font-size:20px;margin:0}.mc-dialog header{margin-bottom:15px}.mc-dialog label{display:grid;gap:5px;font-size:13px;margin:10px 0}.mc-dialog [hidden]{display:none!important}.mc-dialog input,.mc-dialog select,.mc-dialog button{font:inherit;color:inherit;background:var(--mc-bg);border:1px solid var(--mc-line);border-radius:7px;padding:8px;min-width:0}.mc-dialog button{cursor:pointer}.mc-dialog button:disabled{opacity:.5;cursor:not-allowed}.mc-dialog #mc-confirm{background:var(--mc-brand);color:#fff;border:0}.mc-dialog details{border-top:1px solid var(--mc-line);padding-top:12px;margin-top:16px}.mc-dialog summary{cursor:pointer}.mc-hint{color:var(--mc-muted);font-size:12px;line-height:1.6}.mc-warning,.mc-error{color:#bd2849;background:#e02b4210;padding:9px;border-radius:8px}.mc-job{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--mc-line);font-size:12px}.mc-job small{flex-basis:100%}.mc-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px 0}.mc-toolbar button{font:inherit;font-size:12px;padding:6px 9px}.mc-batch-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:4px}.mc-batch-row>input{margin-top:16px;accent-color:#8d00c9}.mc-batch-row .mh-batch{min-width:0;width:100%}.pilot-job-controls{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.pilot-job-controls button{font:inherit;font-size:12px;padding:6px 9px;border-radius:8px;cursor:pointer}[data-theme="dark"] .mc-dialog,html.dark .mc-dialog,body.dark .mc-dialog{--mc-bg:#191b27;--mc-fg:#eff0f6;--mc-line:#3d4154;--mc-muted:#b1b5c8;--mc-brand:#aa47e0}@media(max-width:520px){.mc-dialog{padding:14px}.mc-dialog h2{font-size:17px}.mc-toolbar button{flex:1 1 auto}.mc-dialog footer{flex-wrap:wrap}}

/* R42c: scoped layout integration; lifecycle behavior is unchanged. */
#view-materials .mh-workspace,
#view-materials .mh-layout,
#view-materials .mh-sidebar {
  min-width: 0;
  max-width: 100%;
}
#view-materials .mh-sidebar { overflow: hidden; }
#view-materials .mc-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  flex: 0 0 auto;
  gap: 5px;
  padding: 7px 8px;
}
#view-materials .mc-toolbar button {
  min-width: 0;
  min-height: 34px;
  white-space: normal;
  overflow-wrap: anywhere;
}
#view-materials .mc-batch-row { min-width: 0; }
#view-materials .mc-batch-row > input { flex: none; }
#view-materials .mh-sidebar footer { flex-shrink: 0; }
#mc-dialog.mc-dialog {
  box-sizing: border-box;
  width: min(660px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 20px !important;
  overflow: auto;
  overflow-wrap: anywhere;
  background: var(--mc-bg) !important;
  color: var(--mc-fg) !important;
}
#mc-dialog.mc-dialog > header,
#mc-dialog.mc-dialog > footer {
  position: static;
  padding: 0;
  background: transparent;
}
#mc-dialog.mc-dialog h2 { font-size: 18px; line-height: 1.4; }
#mc-dialog.mc-dialog label { min-width: 0; }
#mc-dialog.mc-dialog input,
#mc-dialog.mc-dialog select { width: 100%; }
#mc-dialog.mc-dialog button { min-height: 34px; }
#mc-dialog.mc-dialog :focus-visible {
  outline: 2px solid var(--os-turquoise, #087f8c);
  outline-offset: 2px;
}
#mc-dialog.mc-dialog #mc-close { flex: none; min-width: 34px; }
#mc-dialog.mc-dialog #mc-report { line-height: 1.6; }
#mc-dialog.mc-dialog #mc-report ul { padding-inline-start: 20px; }
@media (max-width: 860px) {
  #view-materials .mh-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(220px, 34dvh) minmax(0, 1fr);
  }
  #view-materials #mh-list { scroll-snap-type: x proximity; }
  #view-materials #mh-list .mc-batch-row {
    flex: 0 0 min(244px, calc(100vw - 40px));
    grid-template-columns: 22px minmax(0, 1fr);
    scroll-snap-align: start;
  }
  #view-materials #mh-list .mc-batch-row .mh-batch {
    min-width: 0;
    width: 100%;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 520px) {
  #mc-dialog.mc-dialog { padding: 14px !important; }
  #mc-dialog.mc-dialog h2 { font-size: 16px; }
  #mc-dialog.mc-dialog button { min-height: 40px; }
  #mc-dialog.mc-dialog > footer { flex-wrap: wrap; }
  #mc-dialog.mc-dialog > footer button { flex: 1 1 130px; }
}
