.editorial-content .storage-calculator { margin: 22px 0 32px; border: 1px solid #d5e2eb; background: #f7fafc; }
.storage-calculator fieldset { min-width: 0; margin: 0; padding: 24px; border: 0; }
.editorial-content .storage-calculator legend { float: left; width: 100%; margin: 0 0 8px; padding: 0; font-size: 23px; font-weight: 700; color: #263c4a; }
.storage-calculator .storage-intro { clear: both; margin: 0 0 22px; font-size: 14px; }
.storage-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.storage-field { min-width: 0; }
.storage-field label { display: block; margin-bottom: 7px; color: #263c4a; font-size: 14px; font-weight: 600; }
.editorial-content .storage-calculator input, .editorial-content .storage-calculator select { box-sizing: border-box; width: 100%; height: 48px; padding: 10px 12px; border: 1px solid #9eb3c2; border-radius: 3px; background: #fff; color: #223846; font: inherit; font-size: 17px; }
.storage-calculator :is(input,select,button):focus-visible { outline: 3px solid #1987bd; outline-offset: 3px; }
.editorial-content .storage-calculator input[aria-invalid="true"] { border: 2px solid #b42318; }
.storage-calculator .storage-help { display: block; margin-top: 6px; color: #536671; font-size: 12px; line-height: 1.6; }
.storage-calculator .storage-error { margin: 6px 0 0; color: #a11e16; font-size: 13px; line-height: 1.5; }
.storage-calculator [hidden] { display: none !important; }
.storage-presets { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.editorial-content .storage-calculator button { min-height: 44px; padding: 10px 14px; border: 1px solid #1677a9; border-radius: 3px; background: #fff; color: #176b9b; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.editorial-content .storage-calculator button:hover { background: #edf5fb; }
.storage-results { padding: 22px; border-left: 4px solid #1987bd; background: #eaf4fb; color: #263c4a; }
.storage-results .storage-result-label { display: block; font-size: 13px; font-weight: 600; }
.storage-results .storage-total { margin: 8px 0 0; font-size: 16px; line-height: 1.3; }
.storage-total output { font-size: clamp(30px,5vw,43px); font-weight: 700; font-variant-numeric: tabular-nums; }
.storage-results .storage-gb { margin: 4px 0 16px; color: #315c76; font-size: 19px; font-weight: 600; }
.storage-results .storage-daily, .storage-results .storage-basis { margin: 8px 0 0; font-size: 13px; line-height: 1.6; }
.storage-calculator details { margin: 22px 0; }
.storage-calculator summary { min-height: 44px; color: #176b9b; font-size: 14px; font-weight: 600; cursor: pointer; }
.storage-calculator details .storage-field { max-width: 330px; }
.editorial-content .storage-calculator h3 { margin: 28px 0 10px; font-size: 21px; }
.storage-reverse-fields { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 14px; }
.storage-reverse-result { margin: 20px 0 0; padding: 18px; border: 1px solid #d6e3eb; background: #fff; }
.storage-reverse-result output { display: block; color: #176b9b; font-size: 28px; font-weight: 700; font-variant-numeric: tabular-nums; }
.storage-calculator .storage-reverse-note { margin: 6px 0 0; color: #536671; font-size: 13px; line-height: 1.7; }
@media(max-width: 480px) {
  .storage-calculator fieldset { padding: 18px 15px; }
  .storage-fields { grid-template-columns: 1fr; gap: 18px; }
  .storage-calculator legend { font-size: 21px; }
  .storage-results { padding: 18px 14px; }
  .storage-presets { flex-direction: column; }
}
