/* Placeholder styling */
[contenteditable="true"]:empty[data-placeholder]:not([data-placeholder=""]):before,
.placeholder[data-placeholder]:not([data-placeholder=""]) {
  content: attr(data-placeholder);
  color: grey;
}

/* all labels get bold */
label {
  font-weight: 600;
}
/* but not if they’re immediately after a checkbox */
input[type="checkbox"] + label {
font-weight: normal;
  font-weight: normal;
}

.inline-edit-input {
  /* Box model */
  box-sizing: content-box !important;
  width: 100% !important;       /* size to content */
  min-height: 1em !important;
  max-width: 100% !important;   /* never wider than its container */
  height: auto !important;
  padding: 0 !important;
  resize: none !important;

  /* Typography */
  color: inherit !important;
  line-height: inherit !important;

  /* Visual reset */
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;

  /* Remove native styling */
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
}

.inline-edit-input:focus {
  outline: none !important;
  box-shadow: none !important;
}

.input-err,.input-msg {
  margin-top: 3px;
}
body[data-theme="dark"] .input-err {
  color: #ff4f4f;
}
body[data-theme="light"] .input-err {
  color: #ff0000;
}
body[data-theme="dark"] .input-msg {
  color: #61ff5e;
}
body[data-theme="light"] .input-msg {
  color: #019800;
}

/* Button groups */
.btn-group button.btn.active {
  /* Make active button stand out by coloring it */
  background-color: var(--primary-color);
}