:root {
      --bg:#f4f6f9;          /* zachte lichte achtergrond */
      --card:#ffffff;        /* witte panelen */
      --muted:#5f6b7a;       /* subtiele grijsblauw */
      --text:#1f2937;        /* donkere tekst */
      --line:#d9dee7;        /* zachte lijnen */
      --ok:#e6f4ea;          /* lichtgroen */
      --warn:#fff4d6;        /* lichtgeel */
      --bad:#fde2e1;         /* lichtrood */
      --chip:#eef1f6;        /* lichte pills */
      --radius:8px;          /* strak professioneel */
    }
    *{box-sizing:border-box}
    body{margin:0;font-family:Arial,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);}
    header{width:100%;margin:0;padding:18px 24px 10px;}
    h1{margin:0 0 6px;font-size:20px;}
    .sub{color:var(--muted);font-size:13px;line-height:1.4}
    .bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
    .box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;}
    .file{display:flex;gap:10px;align-items:center;flex:1 1 420px}
    input[type=file]{width:100%;color:var(--muted)}
    .pill{background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:12px;color:var(--muted);display:inline-flex;gap:8px;align-items:center}
    .pill b{color:var(--text)}
    .wrap{width:100%;margin:0;padding:0 24px 24px;}
    details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;margin-top:12px;}
    summary{cursor:pointer;font-weight:700;}
    .filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:10px}
    .filters label{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}
    select,input[type=text]{width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#ffffff;color:var(--text);}
    .hint{margin-top:10px;color:var(--muted);font-size:12px}
    .section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 12px;margin-top:14px;}
    .section h2{margin:0 0 8px;font-size:16px}
    .subsec{margin-top:10px}
    .subsec h3{margin:0 0 6px;font-size:13px;color:var(--muted);font-weight:700}
    table{width:100%;border-collapse:collapse;font-size:12px;}
    th,td{padding:8px 8px;border-bottom:1px solid var(--line);vertical-align:top}
    th{text-align:left;color:#111827;font-weight:700;position:sticky;top:0;background:#eef2f7;border-bottom:1px solid var(--line);}

    th.sortable{cursor:pointer; user-select:none;}
    th.sortable .arrow{margin-left:6px; color:var(--muted); font-size:11px;}
    th.sortable.active .arrow{color:var(--text);}

    tr:hover{background:#f1f5fb}
    td.paypos{font-weight:700;}
    .right{text-align:right}
    .badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:var(--chip);margin-left:8px}
    .badge.ok{border-color:rgba(43,213,118,.35)}
    .badge.bad{border-color:rgba(255,92,122,.45)}
    .badge.warn{border-color:rgba(255,204,102,.45)}
    .status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
    .dot-ok{background:var(--ok)} .dot-bad{background:var(--bad)} .dot-warn{background:var(--warn)}
    .note{color:var(--muted);font-size:12px;margin-top:10px;line-height:1.4}
    .error{display:none;margin-top:12px;background:rgba(255,92,122,.10);border:1px solid rgba(255,92,122,.45);border-radius:var(--radius);padding:10px 12px}
    .ok{display:none;margin-top:12px;background:rgba(43,213,118,.08);border:1px solid rgba(43,213,118,.35);border-radius:var(--radius);padding:10px 12px}
    @media (max-width: 980px){
      .filters{grid-template-columns:repeat(2,minmax(0,1fr));}
    }