.calculator-shell { max-width: 1140px; }
.process-panel { border: 1px solid var(--bs-border-color); border-radius: .8rem; padding: 1.25rem; }
.duration-grid { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.frequency-mode { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.frequency-box { background: var(--bs-tertiary-bg); border-radius: .65rem; padding: 1rem; }
.interval-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.method-toggle { width: 100%; }
.method-toggle .btn { flex: 1; white-space: nowrap; }
.impact-grid { display: grid; gap: .75rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.impact-grid > div { background: #fff; border: 1px solid #cfe2ff; border-radius: .65rem; padding: .8rem; }
.impact-grid span, .impact-grid strong { display: block; }
.impact-grid span { color: var(--bs-secondary-color); font-size: .85rem; }
.comparison-table td { text-align: right; white-space: nowrap; }
.explanation, .break-even { background: #fff; border-left: .3rem solid var(--ojt-accent, #0d6efd); padding: .9rem 1rem; }
.frequency-summary { font-size: .85rem; }
@media (max-width: 767.98px) { .impact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .process-panel { padding: 1rem; } .duration-grid, .interval-grid { grid-template-columns: 1fr; } .frequency-mode { grid-template-columns: 1fr; } .impact-grid { grid-template-columns: 1fr 1fr; } .comparison-table { font-size: .875rem; } .method-toggle { display: grid; gap: .5rem; grid-template-columns: 1fr; } .method-toggle .btn { border-radius: var(--bs-border-radius) !important; white-space: nowrap; } }
