/* Generated by tools/split-subpage-css.php. Edit assets/css/source/subpage-modern.full.css instead. */
.revolving-page-heading { margin-bottom: 0; }
.revolving-page-heading h1 { margin-bottom: 14px; color: #172033; }
.revolving-page-heading > p:last-child { max-width: 790px; margin: 0; color: #536277; line-height: 1.75; }
.revolving-eyebrow { margin: 0 0 8px; color: #08765f; font-size: .84rem; font-weight: 800; }
.revolving-calculator { margin-top: 28px; }
.revolving-section-title { margin-bottom: 14px; color: #172033; font-size: 1.35rem; }
.revolving-workspace { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr); gap: 18px; align-items: start; }
.revolving-input-panel, .revolving-result-panel { border: 1px solid #d9e1eb; border-radius: 8px; background: #fff; }
.revolving-input-panel { min-width: 0; padding: 24px; }
.revolving-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.revolving-field-grid .is-wide { grid-column: 1 / -1; }
.revolving-field { display: grid; gap: 7px; min-width: 0; margin: 0; }
.revolving-field > span { color: #334155; font-size: .8rem; font-weight: 800; }
.revolving-field input, .revolving-field select { width: 100%; min-width: 0; height: 48px; margin: 0; border: 1px solid #d4deea; border-radius: 7px; background: #fff; color: #172033; }
.revolving-field input:focus, .revolving-field select:focus { border-color: #16806a; box-shadow: 0 0 0 3px rgba(22, 128, 106, .12); }
.revolving-field small { min-height: 34px; color: #748198; font-size: .67rem; line-height: 1.45; }
.revolving-error { min-height: 22px; margin: 8px 0 0; color: #b42318; font-size: .74rem; line-height: 1.5; }
.revolving-actions { display: flex; gap: 10px; padding-top: 12px; border-top: 1px solid #e3e8ef; }
.revolving-actions button:first-child { flex: 1; background: #16806a; }
.revolving-actions button:first-child:hover { background: #0f6a58; }
.revolving-actions button[type="reset"] { background: #e8edf4; color: #314158; }
.revolving-result-panel { position: sticky; top: 18px; min-width: 0; padding: 22px; background: #f7f9fb; }
.revolving-result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.revolving-result-heading p { margin: 0 0 5px; color: #64748b; font-size: .76rem; font-weight: 800; }
.revolving-result-heading strong { display: block; color: #172033; font-size: 1.65rem; line-height: 1.3; overflow-wrap: anywhere; }
.revolving-result-heading > span { flex: 0 0 auto; padding: 5px 8px; border-radius: 6px; background: #edf1f5; color: #536277; font-size: .68rem; font-weight: 800; }
.revolving-result-heading > span.is-decreasing { background: #e5f4ee; color: #08765f; }
.revolving-result-heading > span.is-stable { background: #fff4d9; color: #8a5a00; }
.revolving-result-heading > span.is-increasing, .revolving-result-heading > span.is-error { background: #feecea; color: #b42318; }
.revolving-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.revolving-result-grid > div { min-width: 0; padding: 11px; border: 1px solid #dce3ec; border-radius: 7px; background: #fff; }
.revolving-result-grid > .is-wide { grid-column: 1 / -1; }
.revolving-result-grid span { display: block; margin-bottom: 5px; color: #748198; font-size: .67rem; }
.revolving-result-grid strong { display: block; color: #27364c; font-size: .82rem; overflow-wrap: anywhere; }
.revolving-warning-list { display: grid; gap: 7px; margin: 14px 0 0; padding: 0; list-style: none; }
.revolving-warning-list li { position: relative; margin: 0; padding: 9px 10px 9px 27px; border-left: 3px solid #c0564b; background: #fff1ef; color: #8f312a; font-size: .7rem; line-height: 1.5; }
.revolving-warning-list li::before { position: absolute; left: 10px; top: 9px; content: '!'; font-weight: 900; }
.revolving-warning-list li.is-clear { border-left-color: #16806a; background: #eaf6f2; color: #08634f; }
.revolving-warning-list li.is-clear::before { content: '✓'; }
.revolving-schedule { margin-top: 30px; padding-top: 26px; border-top: 1px solid #dde4ed; }
.revolving-schedule header { margin-bottom: 15px; }
.revolving-schedule h2 { margin-bottom: 7px; color: #172033; font-size: 1.35rem; }
.revolving-schedule header > p:last-child { margin: 0; color: #64748b; font-size: .82rem; line-height: 1.6; }
.revolving-schedule-wrap { width: 100%; max-height: 480px; overflow: auto; border: 1px solid #dce3ec; border-radius: 7px; }
.revolving-schedule-table { width: 100%; min-width: 920px; margin: 0; border-collapse: collapse; }
.revolving-schedule-table th, .revolving-schedule-table td { padding: 10px 11px; border-bottom: 1px solid #e4e9f0; text-align: right; white-space: nowrap; }
.revolving-schedule-table th { position: sticky; top: 0; z-index: 1; background: #eef3f6; color: #526177; font-size: .69rem; }
.revolving-schedule-table td { color: #35445a; font-size: .75rem; }
.revolving-schedule-table th:first-child, .revolving-schedule-table td:first-child { text-align: left; font-weight: 800; }
.revolving-schedule-table tbody tr:last-child td { border-bottom: 0; }
.revolving-schedule-table .is-empty td { padding: 28px; color: #788599; text-align: center; }
.revolving-guide { margin-top: 46px; padding-top: 32px; border-top: 1px solid #dde4ed; }
.revolving-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin-top: 24px; border-top: 1px solid #e2e7ee; }
.revolving-guide-grid section { padding: 22px 0; border-bottom: 1px solid #e2e7ee; }
.revolving-guide-grid h3 { margin-bottom: 8px; color: #1f2c40; font-size: 1rem; }
.revolving-guide-grid p { margin: 0; color: #5f6d80; font-size: .88rem; line-height: 1.78; }
@media screen and (max-width: 980px) {
.revolving-workspace { grid-template-columns: 1fr; }
.revolving-result-panel { position: static; }
}
@media screen and (max-width: 620px) {
.revolving-input-panel, .revolving-result-panel { padding: 16px; }
.revolving-field-grid, .revolving-guide-grid { grid-template-columns: 1fr; }
.revolving-field-grid .is-wide, .revolving-result-grid > .is-wide { grid-column: auto; }
.revolving-actions { flex-direction: column; }
.revolving-result-heading { align-items: stretch; flex-direction: column; }
.revolving-result-heading > span { align-self: flex-start; }
}
