/* ATLAS — Rapporten */
.rp-root { display:grid; gap:18px; }
.rp-stats { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
.rp-stat { display:flex; flex-direction:column; gap:4px; padding:18px 20px !important; }
.rp-stat small { font-size:12px; font-weight:700; color:#72809a; }
.rp-stat strong { font-size:28px; line-height:1.1; color:#17243d; letter-spacing:-.02em; }
.rp-stat span { font-size:12px; color:#8a97ab; }

.rp-panel { padding:0 !important; overflow:hidden; }
.rp-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:16px 18px; border-bottom:1px solid #e8edf4; }
.rp-search { flex:1 1 260px; display:flex; align-items:center; gap:8px; height:40px; padding:0 12px; border:1px solid #d9e1ec; border-radius:10px; background:#fff; color:#8a97ab; }
.rp-search input { flex:1; min-width:0; border:0; outline:0; font:inherit; font-size:13.5px; color:#18253a; background:transparent; }
.rp-toolbar select { height:40px; border:1px solid #d9e1ec; border-radius:10px; padding:0 10px; font:inherit; font-size:13px; color:#18253a; background:#fff; max-width:240px; }
.rp-check { display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:#536783; white-space:nowrap; }
.rp-refresh { height:40px; min-width:40px; padding:0 12px !important; }

.rp-table-wrap { overflow-x:auto; }
.rp-table { width:100%; border-collapse:collapse; font-size:13px; color:#33435e; }
.rp-table th { text-align:left; padding:11px 14px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#8a97ab; background:#fafbfd; border-bottom:1px solid #e8edf4; white-space:nowrap; }
.rp-table td { padding:12px 14px; border-bottom:1px solid #eef2f7; vertical-align:middle; }
.rp-table tbody tr { cursor:pointer; transition:background .12s; }
.rp-table tbody tr:hover { background:#f6f9ff; }
.rp-table td small { color:#8a97ab; }
.rp-nowrap { white-space:nowrap; }
.rp-file b { color:#17243d; word-break:break-word; }
.rp-old { margin-left:4px; padding:1px 6px; border-radius:99px; background:#eef2f7; color:#72809a; font-size:10.5px; font-style:normal; font-weight:700; }
.rp-chip { display:inline-block; padding:3px 9px; border-radius:99px; font-size:11.5px; font-weight:700; }
.rp-chip-loose { background:#f3efff; color:#6a46d8; }

.rp-score { display:inline-block; min-width:48px; padding:4px 9px; border-radius:99px; text-align:center; font-weight:800; font-size:12.5px; background:#eef2f7; color:#536783; }
.rp-score.rp-score-ok, strong.rp-score-ok { color:#17803d; }
.rp-score.rp-score-ok { background:#e8f7ee; }
.rp-score.rp-score-mid, strong.rp-score-mid { color:#b86a00; }
.rp-score.rp-score-mid { background:#fff3df; }
.rp-score.rp-score-bad, strong.rp-score-bad { color:#c62828; }
.rp-score.rp-score-bad { background:#fdecec; }
.rp-status { display:block; margin-top:4px; font-size:11px; font-weight:700; }
.rp-status-ready { color:#17803d !important; }
.rp-status-review { color:#b86a00 !important; }
.rp-status-error { color:#c62828 !important; }
.rp-count { display:inline-block; margin-right:8px; font-size:12px; font-weight:700; }
.rp-count.ok { color:#17803d; }
.rp-count.review { color:#b86a00; }
.rp-count.err { color:#c62828; }

.rp-actions { display:flex; gap:6px; justify-content:flex-end; align-items:center; white-space:nowrap; }
.rp-actions .atlas-secondary-button { padding:7px 12px; font-size:12.5px; }
.rp-icon { width:34px; height:34px; border:1px solid #d9e1ec; border-radius:9px; background:#fff; color:#33435e; font-size:15px; cursor:pointer; }
.rp-icon:hover { border-color:#165cf5; color:#165cf5; }
.rp-del:hover { border-color:#c62828; color:#c62828; }

.rp-empty { display:flex; flex-direction:column; align-items:center; gap:6px; padding:48px 20px; text-align:center; color:#72809a; font-size:13px; }
.rp-empty strong { color:#17243d; font-size:15px; }
.rp-loading { padding:30px; text-align:center; color:#72809a; }

.rp-modal { position:fixed; inset:0; z-index:10000; display:flex; justify-content:center; align-items:flex-start; padding:40px 20px; overflow:auto; background:rgba(16,32,58,.45); }
.rp-modal-card { width:min(920px,100%); border-radius:18px; background:#fff; box-shadow:0 24px 60px rgba(16,32,58,.3); overflow:hidden; }
.rp-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:22px 24px 16px; border-bottom:1px solid #e8edf4; }
.rp-modal-head h3 { margin:6px 0 4px; font-size:21px; color:#17243d; letter-spacing:-.02em; word-break:break-word; }
.rp-modal-head p { margin:0; color:#72809a; font-size:13px; }
.rp-modal-tools { display:flex; gap:8px; align-items:center; flex-shrink:0; }
.rp-close { width:36px; height:36px; border:0; border-radius:10px; background:#f1f4f9; color:#33435e; font-size:16px; cursor:pointer; }
.rp-modal-body { padding:8px 4px 16px; }

@media (max-width: 1100px) { .rp-stats { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) {
  .rp-stats { grid-template-columns:1fr 1fr; }
  .rp-modal { padding:0; }
  .rp-modal-card { border-radius:0; min-height:100%; }
  .rp-modal-head { flex-direction:column; }
}

/* Afdrukken: alleen het geopende rapport */
@media print {
  body.rp-printing > *:not(.rp-modal) { display:none !important; }
  body.rp-printing .rp-modal { position:static; padding:0; background:none; overflow:visible; }
  body.rp-printing .rp-modal-card { width:100%; box-shadow:none; border-radius:0; }
  body.rp-printing .rp-modal-tools,
  body.rp-printing .rp-modal-body button { display:none !important; }
  body.rp-printing .rp-modal-body { padding:0; }
}

/* Dashboard: laatste controles openen Rapporten */
#atlasDashboardRecentChecks .atlas-dashboard-check-row { cursor:pointer; border-radius:10px; transition:background .12s; }
#atlasDashboardRecentChecks .atlas-dashboard-check-row:hover { background:#f6f9ff; }
.rp-danger { background:#d93636 !important; border-color:#d93636 !important; }
