.camera-calc { border: 1px solid var(--color-background-border, #ccc); border-radius: 6px; padding: 1em; margin: 1em 0; }
.camera-calc-group { border: 1px solid var(--color-background-border, #ddd); border-radius: 6px; margin: 0 0 1em 0; padding: 0.75em 1em 1em; }
.camera-calc-group legend { font-weight: bold; padding: 0 0.4em; }
.camera-calc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.75em; }
.camera-calc-grid label { display: flex; flex-direction: column; font-size: 0.9em; gap: 0.25em; }
.camera-calc-grid label > span:first-child { display: flex; align-items: center; height: 1.4em; gap: 0.3em; }
.camera-calc-grid mjx-container {
  vertical-align: middle !important;
  min-height: 0 !important;
  max-height: 1.4em;
  overflow: hidden;
}
.camera-calc-grid input { padding: 0.3em; }
.camera-calc-grid input:disabled {
  background: var(--color-background-secondary, #e9e9e9);
  color: var(--color-foreground-muted, #767676);
  border-color: var(--color-background-border, #ccc);
  cursor: not-allowed;
  opacity: 0.85;
}
.camera-calc-radio { display: flex; gap: 1.5em; margin: 0.75em 0; font-size: 0.9em; flex-wrap: wrap; }
.camera-calc-radio label { display: flex; align-items: center; gap: 0.4em; font-weight: normal; }
.camera-calc-note { font-size: 0.85em; opacity: 0.75; margin: 0.25em 0 0; }
.camera-calc button { margin-top: 0.25em; padding: 0.5em 1.2em; cursor: pointer; }
.camera-calc-preset {
  margin-top: 0 !important;
  padding: 0.3em 0.7em !important;
  font-size: 0.85em;
  background: var(--color-background-secondary, #f0f0f0);
  color: var(--color-foreground-primary, #000) !important;
  border: 1px solid var(--color-background-border, #ccc);
  border-radius: 4px;
}
.camera-calc-output { margin-top: 1em; }
.camera-calc-output dt { font-weight: bold; }
.camera-calc-output dd { margin: 0 0 0.6em 0; }
.camera-calc-output .cc-pass { color: #1a7f37; }
.camera-calc-output .cc-fail { color: #cf222e; }
.camera-calc-output .cc-subhead { margin-top: 1em; padding-top: 0.5em; border-top: 1px solid var(--color-background-border, #ddd); }
