/* storage applications (storage.js): only what style.css does not already have */
.storage-bands { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.storage-exact { margin-top: 8px; }
.st-field { display: flex; flex-direction: column; gap: 6px; }
.st-in { display: inline-flex; align-items: center; gap: 10px; }
.st-in input { font: 500 17px var(--sans); padding: 12px 14px; border: 1px solid var(--rule-strong); border-radius: 8px; background: #fff; width: 200px; }
.st-in.sm input { font-size: 15px; padding: 7px 8px; border-radius: 6px; width: 120px; }
.st-in .muted { font-size: 15px; }
.st-err { color: var(--ruled-out); min-height: 20px; }
.st-units { margin-top: 12px; }
.st-chart { width: 100%; height: 170px; margin: 4px 0 12px; }
.st-chart text { font: 11px var(--mono); fill: var(--ink-2); }
input.bad { border-color: var(--ruled-out) !important; }
.st-lead .ra input { width: 100%; }
.cell3d .frame3d iframe { aspect-ratio: 16/9; }
@media (max-width: 719px) { .storage-bands { grid-template-columns: 1fr 1fr; } }
.ctable .r { text-align: right; font-variant-numeric: tabular-nums; }
.ctable tr.tot td { font-weight: 600; }
.storage-bands.plain { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 719px) { .storage-bands.plain { grid-template-columns: 1fr 1fr; } }
