/* CivicIQ-style report + progress bar */
.npe-wrapper{max-width:1000px;margin:20px auto;background:#ffffff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.06);overflow:hidden}
.npe-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#0b1220;color:#fff}
.npe-brand{font-weight:800;letter-spacing:.4px}
.npe-wrapper .npe-field{padding:16px 18px;border-top:1px solid #eef2f7}
.npe-field label{display:block;margin-bottom:8px}
.npe-field input[type=url]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px}
.npe-button{margin-top:10px;background:#2563eb;color:#fff;border:none;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:700}
.npe-button.secondary{background:#4b5563}
.npe-error{margin-top:6px;color:#b91c1c;font-weight:600}

.npe-progress{position:relative;height:8px;background:#eef2f7;border-radius:999px;margin-top:10px;overflow:hidden}
.npe-progress[hidden]{display:none}
.npe-progress-bar{position:absolute;left:0;top:0;height:100%;width:0;background:#2563eb;border-radius:999px}
.npe-progress-bar.animating{animation:npe-bar 12s ease-in-out infinite}
@keyframes npe-bar{0%{width:5%}40%{width:65%}80%{width:92%}100%{width:95%}}

.npe-report{padding:16px 18px;border-top:1px solid #eef2f7}
.npe-report-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.npe-report-title h3{margin:0 0 2px 0}
.npe-subtitle{color:#6b7280}

.npe-sections{display:block}
.npe-card{border:1px solid #e5e7eb;border-radius:12px;background:#fbfdff;padding:14px;margin-bottom:14px}
.npe-card h4{margin:0 0 8px 0}
.npe-chip{display:inline-block;background:#eef2ff;color:#1e3a8a;border-radius:999px;padding:2px 8px;font-weight:700;margin-left:6px}
.npe-meta{font-size:.95rem;color:#374151;margin-bottom:8px}
.npe-card section{margin-top:8px}
.npe-card ul{margin:6px 0 0 1.1rem}
.npe-divider{height:1px;background:#e5e7eb;margin:10px 0}

.npe-overall{padding-top:4px}
.npe-overall-grid{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}
.npe-kpi{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px 14px;text-align:center;min-width:180px}
.npe-kpi-label{font-size:.85rem;color:#6b7280;margin-bottom:4px}
.npe-kpi-value,.npe-kpi-grade{font-size:1.5rem;font-weight:800}
.npe-overall-summary{color:#111827;margin-top:6px}

.npe-report-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border-top:1px solid #eef2f7;padding-top:12px;color:#6b7280}

/* Print for PDF */
@media print{
  body{background:#fff}
  .npe-header .npe-button,.npe-field,.npe-error,.npe-progress{display:none!important}
  .npe-wrapper{box-shadow:none;border:none}
  .npe-card{page-break-inside:avoid}
  .npe-overall{page-break-before:always}
}
