/* 대출이자 계산기 — 공통 도구 스타일에 없는 것만 정의한다. */

.ln-grid > .tool-section, .ln-schedule { min-width: 0; }
.ln-num { font-variant-numeric: tabular-nums; }
.ln-read { display: block; margin-top: .3rem; min-height: 1em; font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }
.ln-inline { display: flex; gap: var(--spacing-sm, .5rem); align-items: center; flex-wrap: wrap; }
.ln-inline .input-tool { flex: 1 1 8rem; min-width: 0; }
.ln-methods .radio-tool { flex: 1 1 auto; justify-content: center; }
.ln-note { margin-top: var(--spacing-md, 1rem); font-size: var(--text-ui-sm, .8125rem); }
.ln-grid .alert-tool[hidden] { display: none; }

.ln-main {
    display: flex; flex-direction: column; align-items: center; gap: .15rem; text-align: center;
    padding: var(--spacing-lg, 1.5rem) var(--spacing-md, 1rem);
    border: 1px solid var(--border-color, #e5e8ed);
    border-radius: var(--radius-md, 8px);
    background: var(--primary-soft, #eef3fd);
}
.ln-main-label { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }
.ln-main-value {
    font-size: 2rem; font-weight: 700; line-height: 1.2; word-break: keep-all; overflow-wrap: anywhere;
    color: var(--primary-strong, #2c56b8); font-variant-numeric: tabular-nums;
}
.ln-main-sub { font-size: var(--text-sm, .875rem); color: var(--text-muted, #626977); }

.ln-stats { margin-top: var(--spacing-md, 1rem); grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
.ln-stats .stat-number { font-size: var(--text-lg, 1.125rem); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }

.ln-schedule { margin-top: var(--spacing-lg, 1.5rem); }
.ln-table-wrap {
    max-height: 28rem; overflow: auto;
    border: 1px solid var(--border-color, #e5e8ed); border-radius: var(--radius-md, 8px);
}
.ln-table-wrap[hidden] { display: none; }
.ln-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm, .875rem); }
.ln-table th, .ln-table td {
    padding: .4rem .6rem; border-bottom: 1px solid var(--border-color, #e5e8ed);
    text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums;
}
.ln-table thead th {
    position: sticky; top: 0; z-index: 1;
    background: var(--bg-surface, #fff); font-weight: 600;
    color: var(--text-muted, #626977); font-size: var(--text-ui-sm, .8125rem);
}
.ln-table tbody th { font-weight: 600; text-align: center; }
.ln-table tr.is-grace td, .ln-table tr.is-grace th { color: var(--text-muted, #626977); background: var(--bg-subtle, #f7f8fa); }
.ln-more { margin-top: .5rem; font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }
.ln-more[hidden] { display: none; }
.ln-hint { margin-top: .5rem; font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

@media (max-width: 576px) {
    .ln-main-value { font-size: 1.6rem; }
    .ln-table th, .ln-table td { padding: .35rem .45rem; font-size: .78rem; }
}
