.moneycalc-shell .moneycalc-layout {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
}

.moneycalc-shell .moneycalc-controls {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.85fr);
  margin-bottom: 16px;
}

.moneycalc-fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.moneycalc-fieldset legend {
  margin: 0 0 8px;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  color: #334155;
}

.moneycalc-denominations {
  display: grid;
  gap: 16px;
}

.moneycalc-section {
  display: grid;
  gap: 10px;
}

.moneycalc-section[hidden] {
  display: none;
}

.moneycalc-section h2 {
  margin: 0;
  font-size: 17px;
  color: #101828;
}

.moneycalc-row {
  display: grid;
  grid-template-columns: minmax(110px, 0.7fr) minmax(0, 1fr) minmax(120px, 0.8fr);
  gap: 10px;
  align-items: center;
}

.moneycalc-denomination {
  font-weight: 700;
  color: #0f2454;
}

.moneycalc-subtotal {
  color: #475569;
  font-weight: 700;
  text-align: right;
}

.moneycalc-kpis {
  grid-template-columns: 1fr;
}

.moneycalc-shell .adcalc-validation:empty {
  margin: 0;
  min-height: 0;
}

.moneycalc-shell .adcalc-validation:not(:empty) {
  margin-top: 10px;
  min-height: 20px;
}

@media (max-width: 900px) {
  .moneycalc-shell .moneycalc-layout,
  .moneycalc-shell .moneycalc-controls {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .moneycalc-row {
    grid-template-columns: 1fr;
  }

  .moneycalc-subtotal {
    text-align: left;
  }
}
