/* Occupancy calculator: its form inherits light control text but is not a
   .simulation-controls panel. Give this form its own coherent surface. */
.occupancy-demo .occupancy-form {
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid #f4f0e826;
  border-radius: 1.25rem;
  background: linear-gradient(145deg, #191b1e, #111315 72%);
  color: #f5f0e8;
  color-scheme: dark;
}
.occupancy-demo .occupancy-form .profitability-input-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.occupancy-demo .occupancy-form .simulation-field > label {
  margin-bottom: .6rem;
  color: #eee8de;
  font-size: 1rem;
  line-height: 1.5;
}
.occupancy-demo .occupancy-form .simulation-number-control {
  gap: .5rem;
  padding: .65rem .85rem;
  border-color: #68665f;
  background: #232629;
}
.occupancy-demo .occupancy-form .simulation-number-control input {
  height: auto;
  color: #fffaf2;
  font-size: 1.25rem;
  line-height: 1.5;
}
.occupancy-demo .occupancy-form .simulation-number-control > span {
  color: #d3cbbf;
  font-size: .875rem;
  line-height: 1.5;
}
.occupancy-demo .occupancy-form .simulation-number-control:focus-within {
  border-color: #f2a275;
  background: #292b2d;
}
.occupancy-demo .occupancy-form .simulation-field > small {
  min-height: 0;
  margin-top: .6rem;
  color: #c9c2b7;
  font-size: .875rem;
  line-height: 1.6;
}
.occupancy-demo .occupancy-form .simulation-field-error .simulation-number-control {
  border-color: #ffb4a2;
}
.occupancy-demo .occupancy-form .simulation-field-message {
  margin: .6rem 0 0;
  color: #ffb4a2;
  font-size: .9375rem;
  line-height: 1.6;
}
.occupancy-demo .occupancy-form .profitability-form-note {
  margin-top: 1.5rem;
  padding: 1rem;
  border-color: #64615a;
  color: #d5cec3;
  font-size: .9375rem;
  line-height: 1.6;
}
.occupancy-demo .occupancy-form .profitability-form-note b { color: #fffaf2; }
.occupancy-demo .occupancy-form .profitability-actions .pill {
  max-width: 100%;
  min-height: 3rem;
  white-space: normal;
  text-align: center;
  overflow-wrap: break-word;
}
@media (max-width: 760px) {
  .occupancy-demo .occupancy-form .profitability-input-grid { grid-template-columns: 1fr; }
}
@media (forced-colors: active) {
  .occupancy-demo .occupancy-form,
  .occupancy-demo .occupancy-form .simulation-number-control,
  .occupancy-demo .occupancy-form .profitability-form-note {
    background: Canvas;
    color: CanvasText;
    border-color: CanvasText;
  }
  .occupancy-demo .occupancy-form :is(label, input, small, b, .simulation-field-message),
  .occupancy-demo .occupancy-form .simulation-number-control > span { color: CanvasText; }
}
/* Keep the interpretation limits readable on the light result surface. */
.occupancy-demo .occupancy-reading-note {
  color: #514d46;
  font-size: 1rem;
  line-height: 1.65;
}
.occupancy-demo .simulation-disclaimer {
  color: #514d46;
  font-size: .875rem;
  line-height: 1.65;
}
@media (forced-colors: active) {
  .occupancy-demo :is(.occupancy-reading-note, .simulation-disclaimer) { color: CanvasText; }
}
