/* 적립식 복리 계산기 전용 CSS (2026-10-07). 2패널 계산형(BMR·연차 계산기와 같은 골격) + 아래 연도별 표. 공용 부품은 assets/v2.css */
.cp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.cp-in{padding:16px 18px 18px;min-width:0}
.cp-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.cp-fields .full{grid-column:1 / -1}
.cp-seglabel{display:block;margin:0 0 5px} /* 공용 .v2-f > label 과 같은 자리(span 라벨) */
.cp-seg{display:flex;flex-wrap:nowrap}
.cp-seg button{flex:1 1 0;min-width:0;height:var(--v2-ctl,42px);padding:0 6px;font-family:var(--sans);font-size:13px;font-weight:700;white-space:nowrap}
.v2-input.cp-pre b{border-left:0;border-right:1px solid var(--soft)}
.cp-more summary{cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink)}
.cp-more-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:10px}
.cp-hint{display:block;margin-top:8px;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--muted)}
.cp-help{margin:12px 0 0;font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--muted)}
.cp-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:14px}
.cp-out{padding:16px 18px 18px;min-width:0;border-left:1px solid var(--soft);display:flex;flex-direction:column;container:cpout / inline-size}
.cp-out > .v2-label{display:block;margin-bottom:6px}
.cp-out .v2-big:not(.is-empty) span{white-space:nowrap;font-size:clamp(18px, calc(100cqi / (var(--cp-len, 8) * .62)), 1em)} /* 글자 수로 크기를 줄여 1,000조 원대도 칸 안 한 줄(검토 R5) */
.cp-out .v2-formula{white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.cp-bar{margin:12px 0 0}
.cp-bar i{display:flex;height:8px;background:var(--soft);border-radius:4px;overflow:hidden}
.cp-bar i b{display:block;height:100%;width:0;transition:width 240ms ease}
.cp-bar i .is-paid{background:var(--ink);opacity:.3}
.cp-bar i .is-gain{background:var(--accent)}
.cp-bar span{display:block;margin-top:6px;font-family:var(--sans);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.cp-rows{margin-top:14px}
.cp-rows li span em{display:block;font-style:normal;font-size:11.5px;color:var(--muted)}
.cp-rows li b{text-align:right;overflow-wrap:anywhere}
.cp-rows li.is-miss b{color:var(--muted)}
.cp-caveat{margin:10px 0 0;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--muted)}
.cp-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--soft)}
.cp-caveat + .cp-foot{margin-top:14px}
.cp-foot .v2-status{margin-left:auto}
.v2-big.is-empty span{font-size:18px;font-weight:600;color:var(--muted)}
.cp-cmp{padding:14px 18px 18px;border-top:1px solid var(--soft)}
.cp-cmp > .v2-label{display:block;margin-bottom:8px}
.cp-cmp .tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.cp-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:13px;font-variant-numeric:tabular-nums}
.cp-table th,.cp-table td{padding:7px 8px;border-top:1px solid var(--soft);text-align:left;white-space:nowrap}
.cp-table thead th{font-size:11.5px;font-weight:700;color:var(--muted);border-top:0}
.cp-table tbody th{font-weight:600}
.cp-table .n{text-align:right}
.cp-table tr.is-cur th,.cp-table tr.is-cur td{background:var(--accent-wash);color:var(--ink)}
@media (max-width:720px){
  .cp-grid{grid-template-columns:minmax(0,1fr)}
  .cp-out{order:-1;border-left:0;border-bottom:1px solid var(--soft)}
}
@media (max-width:420px){
  .cp-in,.cp-out,.cp-cmp{padding-left:12px;padding-right:12px}
  .cp-table th,.cp-table td{padding:7px 5px}
}
@container v2in (max-width:560px){ .cp-fields > .cp-money,.cp-more-in > .cp-money{grid-column:1 / -1} } /* 반쪽 칸에는 9자리 금액(300,000,000)이 안 들어감(align-check long·squeeze) */
@container v2in (max-width:300px){ .cp-fields,.cp-more-in{grid-template-columns:minmax(0,1fr)} }
