.mw-limits {
  --mw-control-border: var(--border, var(--border-dim, #d9dce3));
  --mw-control-bg: var(--bg-surface, var(--surface, #fff));
  --mw-control-text: var(--text-primary, var(--text, #1d2433));
  --mw-control-muted: var(--text-muted, var(--muted, #667085));
  --mw-control-accent: var(--accent, #4f46e5);
  color: var(--mw-control-text);
}

.mw-limits-title { font-size: 13px; font-weight: 700; }
.mw-limits-intro,
.mw-limits-note,
.mw-limits-desc,
.mw-limits-unit { color: var(--mw-control-muted); font-size: 11px; line-height: 1.45; }
.mw-limits-intro { margin-top: 3px; }
.mw-limits-note { min-height: 16px; margin-top: 7px; }
.mw-limits-note[data-kind="success"] { color: var(--green, #15803d); }
.mw-limits-note[data-kind="error"] { color: var(--red, var(--danger, #dc2626)); }
.mw-limits-profile { margin-top: 10px; }
.mw-limits-field + .mw-limits-field { margin-top: 8px; }
.mw-limits-desc { margin: 3px 0 7px; }
.mw-limits-group-desc { margin-bottom: 10px; }

.mw-limits-control {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(110px, 180px) minmax(80px, auto);
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.mw-limits-check {
  display: flex;
  cursor: pointer;
}

.mw-limits-check input { order: -1; }
.mw-limits-label { min-width: 0; font-weight: 600; }

.mw-limits-select,
.mw-limits-number {
  box-sizing: border-box;
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--mw-control-border);
  border-radius: 8px;
  background: var(--mw-control-bg);
  color: var(--mw-control-text);
  font: inherit;
  font-size: 12px;
  padding: 7px 10px;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.mw-limits-select:focus,
.mw-limits-number:focus {
  border-color: var(--mw-control-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mw-control-accent) 18%, transparent);
  outline: none;
}

.mw-limits-select:disabled,
.mw-limits-number:disabled { cursor: not-allowed; opacity: .55; }

.mw-limits-group {
  min-width: 0;
  margin: 12px 0 0;
  border: 1px solid var(--mw-control-border);
  border-radius: 10px;
  padding: 10px 12px 12px;
}

.mw-limits-legend { padding: 0 5px; font-size: 12px; font-weight: 700; }

.mw-limits-save {
  min-height: 36px;
  margin-top: 12px;
  border: 1px solid var(--mw-control-accent);
  border-radius: 8px;
  background: var(--mw-control-accent);
  color: var(--on-accent, #fff);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 14px;
  transition: filter .15s ease, opacity .15s ease, transform .15s ease;
}

.mw-limits-save:hover:not(:disabled) { filter: brightness(1.08); }
.mw-limits-save:active:not(:disabled) { transform: translateY(1px); }
.mw-limits-save:focus-visible { outline: 3px solid color-mix(in srgb, var(--mw-control-accent) 24%, transparent); outline-offset: 2px; }
.mw-limits-save:disabled { cursor: not-allowed; opacity: .55; }

@media (max-width: 680px) {
  .mw-limits-control { grid-template-columns: minmax(0, 1fr) minmax(96px, 135px); }
  .mw-limits-unit { grid-column: 1 / -1; }
}
