/* 소싱 마진 계산기 */
.mc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--spacing-md, 1rem); }
.mc-span2 { grid-column: span 2; }
.mc-alert { margin-top: var(--spacing-md, 1rem); }
.mc-note { margin-top: var(--spacing-lg, 1.5rem); }

.mc-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .625rem; margin-bottom: var(--spacing-lg, 1.5rem); }
.mc-card {
    display: flex; flex-direction: column; gap: .1875rem; padding: .75rem;
    border: 1px solid var(--border-color, #e5e8ed); border-radius: var(--radius-sm, 6px);
    background: var(--bg-surface, #fff);
}
.mc-card-label { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }
.mc-card-value { font-size: 1.125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.mc-card-good { background: var(--success-soft, #e9f7ee); border-color: #bfe4cd; }
.mc-card-good .mc-card-value { color: var(--success-text, #1f7a48); }
.mc-card-warn { background: var(--warning-soft, #fdf0e3); border-color: #efd7b8; }
.mc-card-warn .mc-card-value { color: var(--warning-text, #96521f); }
.mc-card-bad { background: var(--danger-soft, #fdecec); border-color: #f2c5c1; }
.mc-card-bad .mc-card-value { color: var(--danger-text, #b3372c); }

.mc-subtitle { font-size: var(--text-sm, .875rem); font-weight: 700; margin: 0 0 .5rem; color: var(--text-secondary, #3d434d); }
.mc-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm, .875rem); }
.mc-table th, .mc-table td { padding: .4375rem .625rem; border-bottom: 1px solid var(--border-subtle, #eef0f4); }
.mc-table th { text-align: left; font-weight: 500; color: var(--text-secondary, #3d434d); }
.mc-table td { text-align: right; font-variant-numeric: tabular-nums; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.mc-plus td { color: var(--accent-text, #2c56b8); font-weight: 600; }
.mc-minus td { color: var(--text-secondary, #3d434d); }
.mc-note-row td { color: var(--text-muted, #626977); font-style: italic; }
.mc-total th, .mc-total td { border-top: 2px solid var(--border-color, #e5e8ed); border-bottom: 0; font-weight: 700; font-size: 1rem; }
.mc-total td { color: var(--success-text, #1f7a48); }
.mc-total-neg th, .mc-total-neg td { border-top: 2px solid var(--border-color, #e5e8ed); border-bottom: 0; font-weight: 700; font-size: 1rem; }
.mc-total-neg td { color: var(--danger-text, #b3372c); }

@media (max-width: 768px) { .mc-span2 { grid-column: span 1; } }
