/* ============================================================
   C-ERP Platform — Projectanalyse (losse native modules)
   Alle stijlen genamespaced onder .anlz. WZR-tokens → platform-tokens.
   Vlakke platform-look (geen glans/gradient-gloss).
   ============================================================ */
.anlz {
  /* WZR-token-aliassen → platform-tokens */
  --navy: var(--brand); --slate: var(--steel); --oker: var(--amber);
  --groen: var(--pos); --rood: var(--neg); --goud: var(--amber);
  --ink: var(--text); --ink-2: var(--text-2); --ink-3: var(--text-3);
  --radius: 14px;
  --shadow: 0 1px 2px rgba(15,30,40,.05), 0 3px 10px rgba(15,30,40,.04);
  --shadow-lg: 0 2px 6px rgba(15,30,40,.08), 0 14px 34px rgba(15,30,40,.12);
}
.anlz .tnum { font-variant-numeric: tabular-nums; }
.anlz .az-seclabel { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); margin: 22px 0 12px; }
.anlz .kick { font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); }

/* ---- AI-analysebalk ---- */
.anlz .eis-ai { display: flex; align-items: center; gap: 13px; margin-bottom: var(--gap); padding: 14px 17px; border-radius: 14px; background: var(--brand-soft); border: 1px solid color-mix(in srgb, var(--brand) 16%, var(--line)); }
.anlz .eis-ai__ic { width: 36px; height: 36px; border-radius: 11px; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--brand); }
.anlz .eis-ai__txt > b { font-size: 13.5px; font-weight: 600; display: block; color: var(--text); }
/* VOORTRAJECT-27: vette woorden in de uitleg blijven in de zin staan (alleen de kop is een blok). */
.anlz .eis-ai__txt span b { font-weight: 600; color: var(--text-2); }
.anlz .eis-ai__txt span { font-size: 11.5px; color: var(--text-3); }
.anlz .eis-ai__gen { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; max-width: 50%; justify-content: flex-end; }
.anlz .eis-ai__chip { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 600; color: var(--steel); background: var(--surface); border: 1px solid var(--line-strong); padding: 4px 9px; border-radius: 999px; }
.anlz .eis-ai__docs { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.anlz .anlz-doc { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 600; color: var(--steel); background: var(--surface); border: 1px solid var(--line-strong); padding: 4px 9px; border-radius: 8px; }

/* ---- KPI split-balk (register-accordering) ---- */
.anlz .kpi__split { display: flex; gap: 5px; margin-top: 9px; }
.anlz .kpi__seg { height: 6px; border-radius: 3px; }

/* ---- zoekveld ---- */
.anlz .wzr-search { display: flex; align-items: center; gap: 9px; background: var(--surface); border: 1px solid var(--line-strong); border-radius: 10px; padding: 9px 13px; min-width: 300px; }
.anlz .wzr-search input { border: none; outline: none; background: none; font-size: 13px; flex: 1; color: var(--text); }
.anlz .wzr-search svg { color: var(--text-3); flex-shrink: 0; }

/* ---- register-lijst ---- */
.anlz .scope-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 12px; padding: 10px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 11px; box-shadow: var(--shadow); }
.anlz .scope-legend__lbl { font-size: 9.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.anlz .scope-leg-item { display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; color: var(--text-2); }
.anlz .scope-leg-item i { width: 10px; height: 10px; border-radius: 3px; }

.anlz .reglist-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; padding: 0 2px; }
.anlz .reglist-bar__lbl { font-size: 12px; font-weight: 600; color: var(--text-3); }
.anlz .reglist-bar__btn { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: var(--text-2); background: var(--surface); border: 1px solid var(--line-strong); padding: 7px 13px; border-radius: 9px; cursor: pointer; }
.anlz .reglist-bar__btn:hover { border-color: var(--brand); color: var(--brand); }
.anlz .reglist { display: flex; flex-direction: column; gap: 10px; }
.anlz .reglrow-wrap { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); overflow: hidden; transition: box-shadow .16s; }
.anlz .reglrow-wrap.is-open { box-shadow: var(--shadow-lg); border-color: var(--line-strong); }
.anlz .reglrow { display: grid; grid-template-columns: 18px 46px 1fr auto auto 120px; gap: 14px; align-items: center; width: 100%; text-align: left; padding: 14px 18px; background: none; border: none; cursor: pointer; }
.anlz .reglrow__num { width: 46px; height: 46px; border-radius: 12px; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; flex-shrink: 0; background: var(--brand); }
.anlz .reglrow__main { min-width: 0; }
.anlz .reglrow__main b { font-size: 15px; font-weight: 600; display: block; color: var(--text); }
.anlz .reglrow__pills { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.anlz .reglrow__alarm { font-size: 11.5px; font-weight: 700; color: var(--amber); white-space: nowrap; }
.anlz .reglrow__counts { font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--text-3); }
.anlz .reglrow__bar { width: 120px; height: 8px; border-radius: 5px; background: var(--track); overflow: hidden; display: flex; }
.anlz .reglrow__bar i { height: 100%; } .anlz .reglrow__bar .op { background: var(--pos); } .anlz .reglrow__bar .uit { background: var(--neg); }
.anlz .reglrow:hover { background: color-mix(in srgb, var(--brand) 3%, transparent); }
.anlz .reglrow__body { padding: 4px 18px 18px; border-top: 1px solid var(--line); background: var(--bg-2); }
.anlz .reglrow__bodyhead { display: flex; align-items: center; justify-content: space-between; margin: 16px 0 12px; }
.anlz .reglrow__body .az-seclabel { margin: 18px 0 11px; }
.anlz .hfst-pill { font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; }
.anlz .hfst-pill--werk { color: var(--brand); background: var(--brand-soft); }
.anlz .hfst-pill--telbaar { color: #9a7400; background: color-mix(in srgb, var(--amber) 18%, transparent); }
.anlz .hfst-pill--nul { color: var(--text-3); background: var(--bg-2); }
@media (max-width: 900px) { .anlz .reglrow { grid-template-columns: 16px 42px 1fr auto; } .anlz .reglrow__counts, .anlz .reglrow__bar { display: none; } }

/* ---- bulk-knop ---- */
.anlz .hp-bulk { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: var(--pos); background: none; border: 1px solid color-mix(in srgb, var(--pos) 32%, transparent); padding: 6px 11px; border-radius: 9px; cursor: pointer; }
.anlz .hp-bulk:hover { background: var(--pos-soft); }

/* ---- werkzaamheid-card ---- */
.anlz .wz { background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--line-strong); border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; box-shadow: var(--shadow); }
.anlz .wz.is-op { border-left-color: var(--pos); }
.anlz .wz.is-uit { border-left-color: var(--neg); opacity: .72; }
.anlz .wz__top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.anlz .wz__code { font-family: 'Roboto Mono', monospace; font-size: 13px; font-weight: 700; color: var(--brand); }
.anlz .type-badge { font-size: 10.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px; color: #fff; }
.anlz .wz__pag { margin-left: auto; font-size: 11px; color: var(--text-3); }
.anlz .wz__oms { font-size: 14px; color: var(--text); line-height: 1.5; margin: 11px 0 0; }
.anlz .wz__spec { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; align-items: center; }
.anlz .spec-chip { font-size: 11.5px; color: var(--text-2); background: var(--bg-2); padding: 4px 10px; border-radius: 7px; }
.anlz .xref-tag { font-size: 11px; font-weight: 600; color: var(--steel); border: 1px solid color-mix(in srgb, var(--steel) 28%, transparent); padding: 3px 9px; border-radius: 7px; }
.anlz .lev-tag { font-size: 11px; font-weight: 600; color: var(--amber); }
.anlz .alarm-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 999px; margin-top: 10px; margin-right: 7px; }
.anlz .wz__eisen { margin-top: 12px; }
.anlz .wz__eisen summary { font-size: 12px; font-weight: 600; color: var(--steel); cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 6px; }
.anlz .wz__eisen summary::-webkit-details-marker { display: none; }
.anlz .wz__eisen ul { margin: 9px 0 0; padding-left: 18px; }
.anlz .wz__eisen li { font-size: 12.5px; color: var(--text-2); line-height: 1.55; margin-bottom: 4px; }
.anlz .wz-herk { margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--line); }
.anlz .wz-hgrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.anlz .wz-hcell { background: var(--bg-2); border: 1px solid var(--line); border-radius: 9px; padding: 8px 10px; min-width: 0; }
.anlz .wz-hcell.is-no { background: color-mix(in srgb, var(--neg) 6%, var(--bg-2)); border-color: color-mix(in srgb, var(--neg) 22%, var(--line)); }
.anlz .wz-hlbl { font-size: 8.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); display: block; }
.anlz .wz-hval { font-size: 11.5px; font-weight: 600; color: var(--text); display: flex; align-items: center; gap: 4px; margin-top: 2px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.anlz .wz-hcell:first-child .wz-hval { font-family: 'Roboto Mono', monospace; color: var(--brand); }
.anlz .wz-hcell.is-no .wz-hval { color: var(--neg); }
.anlz .wz-eis { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.anlz .wz-eischip { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: #8a5a2b; background: color-mix(in srgb, var(--amber) 12%, transparent); border: 1px solid color-mix(in srgb, var(--amber) 28%, transparent); padding: 4px 10px; border-radius: 8px; }
@media (max-width: 760px) { .anlz .wz-hgrid { grid-template-columns: repeat(3, 1fr); } }
.anlz .wz__acc { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); flex-wrap: wrap; }
.anlz .acc-btn { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; padding: 8px 15px; border-radius: 9px; border: 1px solid var(--line-strong); color: var(--text-2); background: none; cursor: pointer; }
.anlz .acc-btn--op.is-on { background: var(--pos); border-color: var(--pos); color: #fff; }
.anlz .acc-btn--uit.is-on { background: var(--neg); border-color: var(--neg); color: #fff; }
.anlz .acc-btn--op:hover { border-color: var(--pos); color: var(--pos); }
.anlz .acc-btn--op.is-on:hover { color: #fff; }
.anlz .acc-btn--uit:hover { border-color: var(--neg); color: var(--neg); }
.anlz .acc-btn--uit.is-on:hover { color: #fff; }
.anlz .acc-status { margin-left: auto; font-size: 11.5px; font-weight: 600; }
.anlz .reden-veld { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.anlz .reden-veld label { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--neg); }
.anlz .reden-veld input { border: 1px solid color-mix(in srgb, var(--neg) 35%, var(--line-strong)); border-radius: 9px; padding: 9px 12px; font-size: 13px; outline: none; background: var(--surface); color: var(--text); }
.anlz .reden-veld input:focus { border-color: var(--neg); box-shadow: 0 0 0 2px color-mix(in srgb, var(--neg) 14%, transparent); }

/* telbare items */
.anlz .tel-row { display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 11px; margin-bottom: 9px; }
.anlz .tel-aantal { font-size: 24px; font-weight: 300; color: var(--brand); min-width: 64px; }
.anlz .tel-main b { font-size: 13.5px; font-weight: 600; display: block; color: var(--text); }
.anlz .tel-main span { font-size: 11.5px; color: var(--text-3); }
.anlz .tel-stabu { margin-left: auto; font-family: 'Roboto Mono', monospace; font-size: 11.5px; color: var(--steel); }

/* ---- recapitulatie ---- */
.anlz .mini-bar { display: inline-flex; width: 90px; height: 7px; border-radius: 4px; overflow: hidden; background: var(--track); vertical-align: middle; }
.anlz .mini-bar i { height: 100%; } .anlz .mini-bar .op { background: var(--pos); } .anlz .mini-bar .uit { background: var(--neg); }
.anlz .uitsl-row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.anlz .uitsl-row:last-child { border-bottom: none; }
.anlz .uitsl-code { font-family: 'Roboto Mono', monospace; font-size: 12px; font-weight: 700; color: var(--neg); min-width: 72px; }
.anlz .uitsl-main b { font-size: 13px; font-weight: 500; display: block; line-height: 1.4; color: var(--text); }
.anlz .uitsl-reden { font-size: 12px; color: var(--text-2); margin-top: 3px; }
.anlz .uitsl-reden.is-missing { color: var(--neg); font-weight: 600; }
.anlz .dek-yes { color: var(--pos); font-weight: 700; }
.anlz .dek-no { color: var(--neg); font-weight: 700; }
.anlz .qa-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); align-items: stretch; }
.anlz .foot-note { display: flex; align-items: flex-start; gap: 8px; font-size: 11.5px; color: var(--text-3); line-height: 1.5; margin-top: 14px; }
.anlz .foot-note b { color: var(--text-2); font-weight: 600; }

/* ---- tekening-koppeling (verhuist naar Uittrek; stijl blijft .anlz) ---- */
.anlz .tk-layout { display: grid; grid-template-columns: 300px 1fr; gap: var(--gap); align-items: start; }
.anlz .tk-list { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.anlz .tk-list__head { padding: 13px 16px; border-bottom: 1px solid var(--line); }
.anlz .tk-werksoort { display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--line); background: none; border-left: none; border-right: none; border-top: none; cursor: pointer; }
.anlz .tk-werksoort:last-child { border-bottom: none; }
.anlz .tk-werksoort.is-on { background: var(--bg-2); }
.anlz .tk-wsdot { width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0; }
.anlz .tk-werksoort b { font-size: 13px; font-weight: 600; display: block; color: var(--text); }
.anlz .tk-werksoort span { font-size: 11px; color: var(--text-3); }
.anlz .tk-wscount { margin-left: auto; font-size: 11px; font-weight: 700; color: var(--text-3); background: var(--bg-2); padding: 2px 8px; border-radius: 999px; }
.anlz .tk-viewer { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.anlz .tk-viewer__bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.anlz .tk-viewer__bar b { font-size: 13px; font-weight: 600; color: var(--text); }
.anlz .tk-canvas { background: var(--bg-2); position: relative; }
.anlz .tk-el { cursor: pointer; transition: opacity .15s; }
.anlz .tk-detail { border-top: 1px solid var(--line); padding: 14px 16px; display: flex; align-items: center; gap: 14px; }
.anlz .tk-detail__merk { font-family: 'Roboto Mono', monospace; font-size: 14px; font-weight: 700; color: var(--brand); background: var(--bg-2); padding: 6px 12px; border-radius: 8px; }
.anlz .tk-detail__main b { font-size: 13px; font-weight: 600; display: block; color: var(--text); }
.anlz .tk-detail__main span { font-size: 11.5px; color: var(--text-3); }
.anlz .tk-nav { margin-left: auto; display: flex; gap: 6px; align-items: center; }
.anlz .tk-navbtn { width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--line-strong); display: flex; align-items: center; justify-content: center; color: var(--text-2); background: none; cursor: pointer; }
.anlz .tk-navbtn:hover { border-color: var(--brand); color: var(--brand); }

/* ---- QA & wijzigingen ---- */
.anlz .qa-row { display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.anlz .qa-row:last-child { border-bottom: none; }
.anlz .qa-ic { width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.anlz .qa-ic.is-ok { background: var(--pos-soft); color: var(--pos); }
.anlz .qa-ic.is-let { background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--amber); }
.anlz .qa-main b { font-size: 13.5px; font-weight: 600; display: block; color: var(--text); }
.anlz .qa-main span { font-size: 12px; color: var(--text-3); }
.anlz .qa-flags { display: flex; gap: 8px; margin-top: 6px; flex-wrap: wrap; }
.anlz .qa-flag { font-size: 10.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.anlz .qa-flag--g { color: var(--amber); background: color-mix(in srgb, var(--amber) 14%, transparent); }
.anlz .qa-flag--o { color: var(--neg); background: var(--neg-soft); }
.anlz .wijz-row { padding: 13px 0; border-bottom: 1px solid var(--line); }
.anlz .wijz-row:last-child { border-bottom: none; }
.anlz .wijz-bron { font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--steel); }
.anlz .wijz-wat { font-size: 13.5px; color: var(--text); margin: 4px 0 5px; line-height: 1.45; }
.anlz .wijz-oud { font-size: 12px; color: var(--text-3); text-decoration: line-through; }
.anlz .wijz-acc { display: flex; align-items: center; gap: 9px; margin-top: 9px; flex-wrap: wrap; }
.anlz .wijz-btn { font-size: 12px; font-weight: 600; padding: 6px 13px; border-radius: 8px; border: 1px solid var(--line-strong); color: var(--text-2); background: none; cursor: pointer; }
.anlz .wijz-btn.is-acc { background: var(--pos); border-color: var(--pos); color: #fff; }
.anlz .wijz-btn.is-afg { background: var(--neg); border-color: var(--neg); color: #fff; }
.anlz .wijz-btn--rej { color: var(--neg); border-color: color-mix(in srgb, var(--neg) 32%, transparent); }
.anlz .wijz-btn--rej:hover { background: var(--neg-soft); }
.anlz .wijz-btn:not(.is-acc):not(.is-afg):hover { border-color: var(--pos); color: var(--pos); }
.anlz .wijz-rej { margin-top: 8px; font-size: 12px; color: var(--neg); background: var(--neg-soft); border-radius: 8px; padding: 8px 11px; line-height: 1.45; }
.anlz .wijz-rej b { font-weight: 700; }

/* ---- projecteisen (AI-analyse tab) ---- */
.anlz .anlz-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--gap); }
.anlz .anlz-chip { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--text-2); background: var(--surface); border: 1px solid var(--line-strong); padding: 7px 13px; border-radius: 999px; cursor: pointer; }
.anlz .anlz-chip.is-on { background: var(--bg-2); }
.anlz .anlz-chip i { width: 9px; height: 9px; border-radius: 3px; }
.anlz .anlz-chip span { font-size: 11px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.anlz .anlz-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.anlz .anlz-card { display: flex; background: var(--surface); border: 1px solid var(--line); border-radius: 13px; overflow: hidden; box-shadow: var(--shadow); }
.anlz .anlz-card.is-confirmed { border-color: color-mix(in srgb, var(--pos) 32%, var(--line)); }
.anlz .anlz-card__bar { width: 4px; flex-shrink: 0; }
.anlz .anlz-card__main { padding: 14px 16px; flex: 1; min-width: 0; }
.anlz .anlz-card__top { display: flex; align-items: center; gap: 9px; margin-bottom: 9px; }
.anlz .anlz-cat { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 700; padding: 3px 9px; border-radius: 999px; }
.anlz .anlz-src { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 600; color: var(--steel); }
.anlz .anlz-src--hand { color: var(--text-3); }
.anlz .anlz-conf { width: 9px; height: 9px; border-radius: 999px; margin-left: auto; }
.anlz .anlz-card__titel { font-size: 14px; font-weight: 600; display: block; line-height: 1.35; color: var(--text); }
.anlz .anlz-card__detail { font-size: 12.5px; color: var(--text-2); line-height: 1.55; margin: 7px 0 0; }
.anlz .anlz-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--line); }
.anlz .anlz-bron { font-size: 11px; color: var(--text-3); display: inline-flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background: none; border: none; cursor: pointer; }
.anlz .anlz-bron--link:hover { color: var(--brand); text-decoration: underline; }
.anlz .anlz-card__actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.anlz .anlz-btn { width: 28px; height: 28px; border-radius: 7px; border: 1px solid var(--line-strong); display: inline-flex; align-items: center; justify-content: center; color: var(--text-3); background: none; cursor: pointer; }
.anlz .anlz-btn:hover { color: var(--neg); border-color: var(--neg); }
.anlz .anlz-confirm { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--text-2); border: 1px solid var(--line-strong); padding: 6px 12px; border-radius: 8px; white-space: nowrap; flex-shrink: 0; background: none; cursor: pointer; }
.anlz .anlz-confirm:hover { border-color: var(--pos); color: var(--pos); }
.anlz .anlz-confirm.is-on { background: var(--pos); border-color: var(--pos); color: #fff; }
@media (max-width: 900px) { .anlz .anlz-list { grid-template-columns: 1fr; } }

/* ---- traceability (Eisen dekking) ---- */
.anlz .tr-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.anlz .tr-title { font-size: 19px; font-weight: 600; letter-spacing: -.01em; margin: 4px 0 0; color: var(--text); }
.anlz .tr-lens { display: inline-flex; gap: 3px; padding: 3px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px; }
.anlz .tr-lens button { padding: 7px 14px; border-radius: 7px; font-size: 12.5px; font-weight: 500; color: var(--text-2); border: none; background: none; cursor: pointer; white-space: nowrap; }
.anlz .tr-lens button.is-on { background: var(--surface); color: var(--brand); font-weight: 600; box-shadow: var(--shadow); }
.anlz .tr-cats { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 14px; }
.anlz .tr-cat { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--text-2); background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 6px 13px; cursor: pointer; transition: all .14s; }
.anlz .tr-cat i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.anlz .tr-cat:hover { border-color: var(--c); }
.anlz .tr-cat.is-on { color: #fff; background: var(--c); border-color: var(--c); }
.anlz .tr-cat.is-on i { background: #fff; }
.anlz .tr-list { display: flex; flex-direction: column; gap: 9px; margin-bottom: 14px; }
.anlz .tr-eis { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); overflow: hidden; }
.anlz .tr-eis.is-open { border-color: var(--cat); }
.anlz .tr-eis__row { display: flex; align-items: stretch; gap: 0; width: 100%; text-align: left; border: none; background: none; cursor: pointer; padding: 0; }
.anlz .tr-eis__band { width: 4px; background: var(--cat); flex-shrink: 0; }
.anlz .tr-eis__main { flex: 1; min-width: 0; padding: 12px 14px; display: flex; flex-direction: column; gap: 5px; }
.anlz .tr-eis__top { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.anlz .tr-eis__top b { font-size: 13.5px; font-weight: 600; color: var(--text); }
.anlz .tr-eis__cat { font-style: normal; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--cat); }
.anlz .tr-eis__conf { font-style: normal; font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 1px 7px; border-radius: 999px; }
.anlz .tr-eis__conf--hoog { color: var(--pos); background: var(--pos-soft); }
.anlz .tr-eis__conf--middel { color: var(--amber); background: color-mix(in srgb,var(--amber) 14%,transparent); }
.anlz .tr-eis__conf--laag { color: var(--neg); background: var(--neg-soft); }
.anlz .tr-eis__bron { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--text-3); }
.anlz .tr-eis__chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.anlz .tr-wchip { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; font-family: 'Roboto Mono', monospace; padding: 2px 9px; border-radius: 999px; }
.anlz .tr-wchip i { width: 7px; height: 7px; border-radius: 50%; }
.anlz .tr-wchip.is-op { color: var(--pos); background: var(--pos-soft); }
.anlz .tr-wchip.is-op i { background: var(--pos); }
.anlz .tr-wchip.is-open { color: var(--amber); background: color-mix(in srgb,var(--amber) 13%,transparent); }
.anlz .tr-wchip.is-open i { background: var(--amber); }
.anlz .tr-wchip.is-uit { color: var(--neg); background: var(--neg-soft); text-decoration: line-through; }
.anlz .tr-wchip.is-uit i { background: var(--neg); }
.anlz .tr-none { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; color: var(--neg); }
.anlz .tr-eis__st { display: flex; align-items: center; gap: 7px; padding: 0 14px; font-size: 12px; font-weight: 700; white-space: nowrap; flex-shrink: 0; }
.anlz .tr-eis__st i { width: 8px; height: 8px; border-radius: 50%; }
.anlz .tr-eis__det { padding: 0 14px 14px 18px; border-top: 1px solid var(--line); }
.anlz .tr-eis__detail { font-size: 12.5px; color: var(--text-2); line-height: 1.6; margin: 12px 0; }
.anlz .tr-dt__head, .anlz .tr-dt__row { display: grid; grid-template-columns: 1fr 90px 110px 70px; gap: 12px; align-items: center; padding: 7px 0; }
.anlz .tr-dt__head { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); border-bottom: 1px solid var(--line); }
.anlz .tr-dt__row { border-bottom: 1px dashed var(--line); }
.anlz .tr-dt__row .r, .anlz .tr-dt__head .r { text-align: right; }
.anlz .tr-dt__w { display: flex; flex-direction: column; gap: 1px; text-align: left; border: none; background: none; cursor: pointer; padding: 0; min-width: 0; }
.anlz .tr-dt__w b { font-size: 12px; font-weight: 700; font-family: 'Roboto Mono', monospace; color: var(--brand); }
.anlz .tr-dt__w span { font-size: 11.5px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.anlz .tr-dt__w:hover b { text-decoration: underline; }
.anlz .tr-dt__h { font-size: 11.5px; color: var(--text-3); font-family: 'Roboto Mono', monospace; }
.anlz .tr-unlink { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 600; color: var(--text-3); padding: 3px 9px; border: 1px solid var(--line); border-radius: 999px; background: none; cursor: pointer; transition: all .14s; }
.anlz .tr-unlink:hover { color: var(--neg); border-color: var(--neg); }
.anlz .tr-warn { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: var(--neg); line-height: 1.5; margin: 12px 0 0; padding: 10px 12px; background: var(--neg-soft); border-radius: 9px; }
.anlz .tr-warn b { font-weight: 700; }
.anlz .tr-sugg, .anlz .tr-link { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.anlz .tr-sugg__l { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700; color: var(--text-2); }
.anlz .tr-sugg__chip { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; color: var(--brand); background: var(--brand-soft); border: 1px dashed color-mix(in srgb,var(--brand) 35%,transparent); border-radius: 999px; padding: 4px 11px; cursor: pointer; transition: all .14s; white-space: nowrap; max-width: 340px; overflow: hidden; text-overflow: ellipsis; }
.anlz .tr-sugg__chip:hover { background: color-mix(in srgb,var(--brand) 14%,transparent); }
.anlz .tr-link select { height: 32px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); font-size: 12px; padding: 0 9px; outline: none; max-width: 340px; }
.anlz .tr-link select:focus { border-color: var(--brand); }
.anlz .tr-werk { display: flex; align-items: center; gap: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); padding: 11px 14px; }
.anlz .tr-werk__w { width: 240px; flex-shrink: 0; }
.anlz .tr-werk__chips { flex: 1; display: flex; gap: 6px; flex-wrap: wrap; min-width: 0; }
.anlz .tr-echip { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 600; color: var(--c); background: color-mix(in srgb,var(--c) 10%,transparent); border-radius: 999px; padding: 3px 9px; }
.anlz .tr-echip i { width: 6px; height: 6px; border-radius: 50%; background: var(--c); }
.anlz .tr-method { display: flex; align-items: flex-start; gap: 8px; font-size: 11.5px; color: var(--text-3); line-height: 1.55; margin: 4px 0 0; }
.anlz .tr-method svg { color: var(--amber); flex-shrink: 0; margin-top: 2px; }
.anlz .tr-method b { color: var(--text-2); }
@media (max-width: 1080px) { .anlz .tk-layout, .anlz .qa-grid { grid-template-columns: 1fr; } }

/* sub-tab badge (actie-teller op Eisen dekking) */
.anlz-subbadge { display: inline-flex; align-items: center; justify-content: center; min-width: 15px; height: 15px; padding: 0 5px; margin-left: 6px; font-size: 10.5px; font-weight: 700; line-height: 1; border-radius: 999px; background: var(--neg); color: #fff; }
/* Claude-uittrek in de uittrekstaat (meldpunt Max 28-09). */
.cu-modal { max-width: min(1280px, 94vw); width: 100%; }
.cu-uitleg p, .cu-uitleg li { font-size: 13px; line-height: 1.55; color: var(--text); }
.cu-uitleg ul { margin: 6px 0 10px; padding-left: 20px; }
.cu-let { color: var(--amber); font-size: 12.5px; }
.cu-bezig { display: flex; gap: 12px; align-items: flex-start; padding: 18px 4px; }
.cu-bezig > div { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.cu-bezig span { color: var(--text-2); font-size: 12.5px; }
.cu-fout { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 8px; background: color-mix(in srgb, var(--signal) 10%, transparent); color: var(--signal); font-size: 13px; margin-top: 8px; }
.cu-bron { display: flex; flex-direction: column; gap: 3px; font-size: 12.5px; color: var(--text-2); margin-bottom: 10px; }
.cu-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.cu-tabel { max-height: 58vh; overflow: auto; border: 1px solid var(--line); border-radius: 10px; }
.cu-rij { display: grid; grid-template-columns: 34px 96px minmax(0, 1fr) 120px 140px 90px; gap: 10px; align-items: start; padding: 8px 10px; border-bottom: 1px solid var(--line); font-size: 12.5px; cursor: pointer; }
.cu-rij:last-child { border-bottom: 0; }
.cu-rij.is-on { background: var(--brand-soft); }
.cu-rij--kop { position: sticky; top: 0; z-index: 1; background: var(--surface); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--text-3); cursor: default; }
.cu-code { font-family: var(--mono); color: var(--text-2); }
.cu-oms { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cu-oms i { font-style: normal; color: var(--text-3); font-size: 11.5px; }
.cu-tag { font-style: normal; font-size: 10.5px; color: var(--amber); }
.cu-num { text-align: right; font-variant-numeric: tabular-nums; }
.cu-num em { color: var(--text-3); }
.cu-cat { font-weight: 700; }
.cu-teller { margin-right: auto; font-size: 12.5px; color: var(--text-2); }
@media (max-width: 900px) { .cu-rij { grid-template-columns: 30px minmax(0, 1fr) 110px; } .cu-rij > :nth-child(2), .cu-rij > :nth-child(4), .cu-rij > :nth-child(6) { display: none; } }
/* Renvooi-poort en conceptregels in de uittrekstaat (Q33, h108). */
.crv { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.crv-melding { flex-wrap: wrap; align-items: center; }
.crv-melding > span { flex: 1 1 320px; min-width: 0; }
.crv-melding__knop { margin-left: auto; }
.crv-kaart { overflow: hidden; }
.crv-kop { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.crv-kop > div:first-child { display: flex; flex-direction: column; gap: 2px; font-size: 13px; min-width: 0; flex: 1 1 280px; }
.crv-kop > div:first-child span { color: var(--text-2); font-size: 12.5px; }
.crv-kop__acties { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.crv-recht { margin: 0; padding: 10px 14px; font-size: 12.5px; color: var(--text-2); }
.crv-groep { border-bottom: 1px solid var(--line); }
.crv-groep:last-child { border-bottom: 0; }
.crv-groep__bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 9px 14px; background: var(--surface-2, var(--surface)); font-size: 13px; }
.crv-groep__n { color: var(--text-3); font-size: 12px; }
.crv-knoppen { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.crv-rij { display: grid; grid-template-columns: 96px minmax(0, 1fr) 120px 90px minmax(170px, auto); gap: 10px; align-items: start; padding: 8px 14px; border-top: 1px solid var(--line); font-size: 12.5px; }
.crv-rij--akkoord, .crv-rij--afgewezen { color: var(--text-2); }
.crv-rij__acties { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; align-items: center; }
.crv-status { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; color: var(--text-3); }
.crv-status--akkoord { color: var(--pos); font-weight: 600; }
.crv-afw { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-left: auto; }
.crv-afw .utk__edit { width: 180px; max-width: 100%; }
.crv-uitleg { font-size: 13px; line-height: 1.55; color: var(--text); margin: 0 0 12px; }
.crv-tek { border: 1px solid var(--line); border-radius: 10px; padding: 12px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 10px; }
.crv-tek__kop { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; }
.crv-tek__kop > div { display: flex; flex-direction: column; gap: 2px; font-size: 13px; min-width: 0; }
.crv-tek__kop > div span { color: var(--text-2); font-size: 12.5px; }
.crv-tek__kop .crv-status { flex-shrink: 0; }
.crv-rv { display: flex; flex-direction: column; gap: 8px; }
.crv-rv__meta { font-size: 12px; color: var(--text-3); }
.crv-rv__tabellen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.crv-rv__rij { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 8px; font-size: 12.5px; padding: 3px 0; border-bottom: 1px solid var(--line); }
.crv-rv__acties { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.crv-edit { display: flex; flex-direction: column; gap: 8px; }
.crv-edit__kop { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; font-size: 13px; }
.crv-edit__kop label { display: inline-flex; gap: 6px; align-items: center; color: var(--text-2); font-size: 12.5px; }
.crv-edit__plek { flex: 1 1 240px; }
.crv-edit__plek .utk__edit { flex: 1; }
.crv-edit__h { display: block; font-size: 12px; margin-top: 6px; }
.crv-edit__h span { font-weight: 400; color: var(--text-3); }
.crv-edit__rij { display: grid; gap: 6px; align-items: center; }
.crv-edit__rij--wand { grid-template-columns: 110px minmax(0, 1fr) 120px 28px; }
.crv-edit__rij--afw { grid-template-columns: 120px repeat(3, minmax(0, 1fr)) 28px; }
.crv-edit__voet { display: flex; justify-content: flex-end; gap: 8px; margin-top: 6px; }
@media (max-width: 900px) {
  .crv-rij { grid-template-columns: minmax(0, 1fr) auto; }
  .crv-rij > .cu-code { display: none; }
  .crv-rij > :nth-child(4) { display: none; }
  .crv-rij__acties { grid-column: 1 / -1; justify-content: flex-start; }
  .crv-rv__tabellen { grid-template-columns: minmax(0, 1fr); }
  .crv-edit__rij--wand, .crv-edit__rij--afw { grid-template-columns: minmax(0, 1fr) 28px; }
  .crv-edit__rij > .utk__edit:not(:first-child) { grid-column: 1; }
  .crv-edit__rij > .utk__del { grid-column: 2; grid-row: 1; }
}
.crv-aandacht { margin: 0; padding: 8px 14px 8px 30px; border: 1px solid var(--line); border-radius: 10px; font-size: 12.5px; line-height: 1.5; color: var(--text-2); }
.crv-aandacht li + li { margin-top: 3px; }
.crv-zoek { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 10px; }
.crv-zoek .utk__edit { flex: 1 1 240px; }
.crv-zoek span { font-size: 12px; color: var(--text-3); }
.crv-edit__kop .utk__edit--num { width: 72px; }
.crv-edit__koppen span { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--text-3); padding-left: 2px; }
@media (max-width: 900px) { .crv-edit__koppen { display: none; } }
.crv-signaal { color: var(--amber-tekst); font-weight: 600; font-style: normal; }
