.operator-body {
  --operator-ink: #15213a;
  --operator-muted: #596b84;
  --operator-border: #d6dfeb;
  --operator-teal: #0e7773;
  margin: 0;
  color: var(--operator-ink);
  background: #f4f6fa;
  font: 16px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-width: 280px;
}
.operator-body *, .operator-body *::before, .operator-body *::after { box-sizing: border-box; }
.operator-body [hidden] { display: none !important; }
.operator-body h1, .operator-body h2, .operator-body h3, .operator-body p { margin: 0; }
.operator-body h1 { font-size: 1.3rem; line-height: 1.3; }
.operator-body h2 { font-size: 1.25rem; line-height: 1.4; }
.operator-body h3 { font-size: 1rem; line-height: 1.4; overflow-wrap: anywhere; }
.operator-body button, .operator-body input, .operator-body select { font: inherit; }
.operator-body button { min-height: 44px; border-radius: 8px; border: 1px solid transparent; padding: 10px 16px; cursor: pointer; font-weight: 650; }
.operator-body button:disabled { opacity: .55; cursor: default; }
.operator-body :is(button, input, select, a):focus-visible { outline: 3px solid #2858ba; outline-offset: 3px; }
.operator-body input, .operator-body select { width: 100%; min-height: 46px; border: 1px solid var(--operator-border); border-radius: 8px; padding: 10px 12px; color: var(--operator-ink); background: #fff; }
.operator-body input[type="file"] { padding: 8px; }
.operator-body input::file-selector-button { border: 1px solid var(--operator-border); border-radius: 6px; padding: 7px 10px; margin-right: 10px; background: #f4f6fa; color: var(--operator-ink); cursor: pointer; }
.operator-body input:disabled { background: #f4f6fa; }
.operator-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 28px; border-bottom: 1px solid var(--operator-border); background: #fff; }
.operator-brand { display: flex; align-items: center; gap: 12px; }
.operator-brand p { color: var(--operator-muted); font-size: .85rem; }
.operator-mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: #fff; background: #101a2d; font-size: .85rem; font-weight: 800; flex-shrink: 0; }
.operator-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.operator-actor { font-size: .9rem; overflow-wrap: anywhere; }
.operator-main { max-width: 1180px; width: 100%; margin: 0 auto; padding: 28px; display: grid; gap: 24px; }
.operator-card { padding: 24px; border: 1px solid var(--operator-border); border-radius: 14px; background: #fff; box-shadow: 0 6px 24px #15213a06; }
.operator-login-card { width: 100%; max-width: 460px; margin: 32px auto; }
.operator-login-card > p { margin-top: 10px; }
.operator-login-form, .operator-upload-form { display: grid; gap: 16px; margin-top: 22px; }
.operator-field { display: grid; gap: 7px; min-width: 0; }
.operator-field label { font-size: .9rem; font-weight: 650; }
.operator-muted { color: var(--operator-muted); font-size: .85rem; }
.operator-primary { color: #fff; background: var(--operator-teal); }
.operator-primary:hover:not(:disabled) { background: #096662; }
.operator-secondary { color: var(--operator-ink); background: #fff; border-color: var(--operator-border) !important; }
.operator-secondary:hover:not(:disabled) { background: #f4f6fa; }
.operator-message { font-size: .9rem; overflow-wrap: anywhere; color: #0b6763; }
.operator-message:empty { display: none; }
.operator-message.operator-error { color: #a52424; background: #fff4f2; border: 1px solid #edc9c4; border-radius: 8px; padding: 10px 12px; }
.operator-upload-form { max-width: 660px; }
.operator-upload-form > button { justify-self: start; }
.operator-body progress { width: 100%; height: 12px; accent-color: var(--operator-teal); }
.operator-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; }
.operator-gallery { margin-top: 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); gap: 20px; }
.operator-artwork { min-width: 0; border: 1px solid var(--operator-border); border-radius: 10px; overflow: hidden; }
.operator-image-link { display: block; background: #eef2f7; }
.operator-artwork img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: contain; }
.operator-artwork-details { display: grid; gap: 6px; padding: 14px; }
.operator-text-link { display: inline-block; width: fit-content; color: var(--operator-teal); font-size: .9rem; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.operator-m2-card { display: grid; gap: 14px; }
.operator-m2-card > button { justify-self: start; }
.operator-m2-preview:empty { display: none; }
.operator-m2-preview { max-width: 540px; }
.operator-m2-preview img { display: block; width: 100%; height: auto; }
@media (max-width: 600px) {
  .operator-header { align-items: flex-start; padding: 16px; gap: 14px; flex-wrap: wrap; }
  .operator-header-actions { width: 100%; justify-content: space-between; }
  .operator-main { padding: 18px 14px; gap: 18px; }
  .operator-card { padding: 18px; border-radius: 12px; }
  .operator-login-card { margin-top: 10px; }
  .operator-upload-form > button { width: 100%; }
  .operator-section-heading { align-items: flex-start; }
  .operator-section-heading button { width: 100%; }
  .operator-gallery { grid-template-columns: 1fr; }
  .operator-body input[type="file"] { font-size: .85rem; }
}
