.nlc2-calculator { font-family: Arial, sans-serif; color: #1f2937; }
.nlc2-grid { display:grid; grid-template-columns: 1.05fr 0.95fr; gap:24px; }
.nlc2-panel { background:#fff; border:1px solid #dbe3ec; border-radius:16px; padding:24px; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.nlc2-form-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
.nlc2-form-grid label { display:flex; flex-direction:column; gap:8px; font-size:14px; font-weight:600; }
.nlc2-form-grid input, .nlc2-form-grid select { width:100%; border:1px solid #cbd5e1; border-radius:10px; padding:12px; font-size:14px; background:#fff; }
.nlc2-checkbox { grid-column:1 / -1; flex-direction:row !important; align-items:center; gap:10px !important; }
.nlc2-checkbox input { width:auto; }
.nlc2-actions { margin-top:18px; display:flex; gap:12px; flex-wrap:wrap; }
.nlc2-button, .nlc2-secondary { border:0; border-radius:12px; padding:14px 18px; font-size:15px; font-weight:700; cursor:pointer; }
.nlc2-button { background:#0f172a; color:#fff; }
.nlc2-secondary { background:#eef2ff; color:#1e293b; }
.nlc2-summary-cards { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.nlc2-card, .nlc2-saving-box, .nlc2-disclaimer, .nlc2-quote-box { background:#f8fafc; border:1px solid #e2e8f0; border-radius:14px; padding:16px; }
.nlc2-card span, .nlc2-saving-box span { display:block; font-size:12px; color:#64748b; margin-bottom:6px; }
.nlc2-card strong, .nlc2-saving-box strong { font-size:24px; line-height:1.1; }
.nlc2-saving-box { margin-top:16px; }
.nlc2-breakdown { margin-top:20px; }
.nlc2-breakdown table { width:100%; border-collapse:collapse; }
.nlc2-breakdown th, .nlc2-breakdown td { padding:10px 0; border-bottom:1px solid #e2e8f0; text-align:left; font-size:14px; }
.nlc2-breakdown td { text-align:right; font-weight:700; }
.nlc2-disclaimer { margin-top:18px; font-size:13px; color:#475569; background:#fff7ed; border-color:#fed7aa; }
.nlc2-quote-box { margin-top:18px; }
.nlc2-message { margin-top:12px; font-size:14px; }
.nlc2-message.is-error { color:#b91c1c; }
.nlc2-message.is-success { color:#166534; }
@media (max-width: 900px) { .nlc2-grid, .nlc2-form-grid, .nlc2-summary-cards { grid-template-columns:1fr; } }
