.money-form { margin: 20px 0; padding: 20px; border: 1px solid var(--line); background: #f4f6f8; }
.money-form>.field { max-width: 310px; }
.money-selects,.money-results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.money-selects { margin: 16px 0; }
.money-selects .field { margin: 0; min-width: 0; }
.money-selects select { width: 100%; font-size: .875rem; }
.money-form .input-unit input { width: 100%; min-width: 0; }
.money-form .meta { margin-top: 10px; font-size: .8125rem; }
#money-status { margin: 20px 0 10px; font-weight: bold; }
.money-card { min-width: 0; border: 1px solid #bdcbd7; padding: 16px; }
.money-card h2 { font-size: 1.0625rem; margin: 5px 0 18px; min-height: 4.5em; }
.money-card p { font-size: .875rem; margin-top: 14px; }
.money-steps { list-style: none; padding: 0; margin: 0; counter-reset: step; }
.money-steps li { position: relative; border-left: 2px solid #b9cad8; margin-left: 12px; padding: 0 0 20px 22px; counter-increment: step; }
.money-steps li::before { content: counter(step); position: absolute; left: -13px; top: 0; border-radius: 50%; width: 24px; height: 24px; background: #225a87; color: #fff; text-align: center; font: bold 13px/24px Arial,sans-serif; }
.money-steps li:last-child { border-left-color: transparent; padding-bottom: 6px; }
.money-steps span { display: block; font-size: .8125rem; color: #555; }
.money-steps strong { font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.money-breakdown { font-size: .8125rem; margin: 12px 0; }
.money-breakdown>div { display: flex; gap: 10px; justify-content: space-between; border-top: 1px solid #d9e0e6; padding: 10px 0; }
.money-breakdown dd { margin: 0; white-space: nowrap; font-weight: bold; }
.money-breakdown .money-total { display: block; background: #edf3f8; padding: 10px; }
.money-total dd { font-size: 1.5rem; color: #1d507b; margin-top: 4px; }
.money-return { padding: 10px; background: #faf7ef; border-left: 3px solid #c28e40; }
.money-card .source-note { font-size: .75rem; }
.money-explanation { max-width: 900px; margin-top: 32px; }
.money-explanation h2 { font-size: 1.25rem; margin: 28px 0 12px; padding-bottom: 8px; border-bottom: 2px solid #bacbd9; }
.money-explanation p+p { margin-top: 14px; }
.money-explanation li { margin: 10px 0; }
@media (max-width: 1100px) { .money-selects,.money-results { grid-template-columns: 1fr; } .money-card h2 { min-height: 0; } }
@media (max-width: 720px) { .money-form { padding: 14px; } .money-card { padding: 14px; } }
