:root{--bg:#f6f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--pri:#2563eb;--danger:#dc2626;--ok:#16a34a;--warn:#d97706;}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}
a{color:var(--pri);text-decoration:none} a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:18px}
.topbar{background:#0f172a;color:#fff;padding:12px 0}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:700;letter-spacing:.3px}
.nav a{color:#e5e7eb;margin-left:12px}
.card{background:var(--card);border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.grid{display:grid;gap:14px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;background:#fff;cursor:pointer}
.btn.primary{background:var(--pri);border-color:var(--pri);color:#fff}
.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn:disabled{opacity:.6;cursor:not-allowed}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px}
.pill.ok{background:#dcfce7;color:#166534}
.pill.warn{background:#ffedd5;color:#9a3412}
.pill.danger{background:#fee2e2;color:#991b1b}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}
.table th{color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:900px){.form-row{grid-template-columns:1fr}}
label{display:block;font-size:12px;color:#374151;margin-bottom:6px}
input,select,textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
textarea{min-height:90px}
.help{color:var(--muted);font-size:12px;margin-top:6px}
.flash{padding:10px 12px;border-radius:12px;margin:12px 0}
.flash.ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.flash.err{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.kpi{display:flex;flex-direction:column;gap:4px}
.kpi .v{font-size:24px;font-weight:800}
.kpi .l{color:var(--muted);font-size:12px}
.right{float:right}
.muted{color:var(--muted)}

/* Print helpers */
@media print {
  .topbar, .nav, .no-print { display:none !important; }
  body { background:#fff !important; }
  .container { max-width:100% !important; padding:0 !important; }
  .card { box-shadow:none !important; }
  a { color:#000 !important; text-decoration:none !important; }
}

/* ===============================
   PRINT STYLES — LOAN AGREEMENT
   =============================== */
@media print {
  @page { size: A4; margin: 18mm 15mm; }
  body { background:#fff !important; font-family: "Times New Roman", Georgia, serif; font-size: 12pt; color:#000; }
  .navbar, .topbar, .btn, .no-print { display:none !important; }
  .container { max-width:100% !important; padding:0 !important; }
  h1, h2, h3 { page-break-after: avoid; }
  h1 { text-align:center; font-size:18pt; margin:0 0 12px 0; text-transform:uppercase; }
  h2 { font-size:14pt; border-bottom:1px solid #000; padding-bottom:4px; margin:20px 0 8px 0; }
  p { line-height:1.5; margin:6px 0; }
  .borrower-info { margin-top:10px; }
  .borrower-info strong { display:inline-block; width:140px; }
  table { width:100%; border-collapse:collapse; margin-top:10px; page-break-inside:avoid; }
  thead { display: table-header-group; }
  th, td { border:1px solid #000; padding:6px; font-size:11pt; text-align:right; }
  th:first-child, td:first-child { text-align:center; }
  th { background:#f0f0f0; font-weight:bold; }
  tr { page-break-inside:avoid; }
  .terms { margin-top:20px; font-size:11pt; }
  .terms ol { padding-left:18px; }
  .terms li { margin-bottom:6px; }
  .signatures { margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:30px; }
  .signature-box { border-top:1px solid #000; padding-top:6px; font-size:11pt; }
  .print-footer { position: fixed; bottom: 10mm; left:0; right:0; text-align:center; font-size:10pt; }
}
