/* De positie-matrix van het strategisch vastgoedprofiel — de opmaak bij
   data/positie-matrix.js. Eén stylesheet voor het tabblad Vastgoedprofiel
   (gelinkt) en voor blz. 5 van het rapport (ingesloten door de generator),
   zodat de figuur op beide plekken dezelfde is. Leunt op de kern-tokens uit
   tokens.css (--navy, --hint, --silver, --muted, --light); de drie
   signaalkleuren zijn een eigen uitbreiding en overschrijven geen kern-token. */
.pm-matrix{--pm-groen:#73A605;--pm-oranje:#D97B29;--pm-rood:#C0392B;
  display:grid;grid-template-columns:18px 16px minmax(0,1fr);
  grid-template-rows:auto 15px 22px auto;column-gap:6px}
.pm-yas{grid-column:1;grid-row:1;writing-mode:vertical-rl;transform:rotate(180deg);
  display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.pm-xas{grid-column:3;grid-row:3;display:flex;align-items:center;justify-content:center;gap:8px;
  min-width:0;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--navy);white-space:nowrap}
.pm-tiks{position:relative;font-size:9.5px;font-weight:600;color:var(--hint);
  font-variant-numeric:tabular-nums}
.pm-tiks-y{grid-column:2;grid-row:1}
.pm-tiks-x{grid-column:3;grid-row:2}
.pm-tiks-y span{position:absolute;right:0;transform:translateY(50%)}
.pm-tiks-x span{position:absolute;top:2px;transform:translateX(-50%)}
.pm-vlak{grid-column:3;grid-row:1;position:relative;display:grid;aspect-ratio:1;
  grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;background:var(--light)}
.pm-kaart{background:#fff;padding:12px 10px;display:flex;flex-direction:column;
  align-items:center;text-align:center;overflow:hidden}
.pm-kaart.actief{background:var(--navy)}
.pm-balk{width:30px;height:4px;border-radius:2px;margin-bottom:7px;flex:none}
.pm-naam{font-size:11.5px;font-weight:700;line-height:1.2;color:var(--silver);text-wrap:balance}
.pm-kaart.actief .pm-naam{color:#fff;font-weight:800}
/* Eerdere boekjaren: vervaagde stip op dezelfde sturingsas, met jaartal. */
.pm-hist{position:absolute;width:10px;height:10px;border-radius:50%;opacity:.4;cursor:help;
  transform:translate(-50%,50%);border:2.5px solid #fff;z-index:2;background:var(--silver);
  box-shadow:0 0 0 1px rgba(29,61,89,.18)}
.pm-histjaar{position:absolute;transform:translate(9px,62%);z-index:2;font-size:9.5px;
  font-weight:700;color:var(--silver);opacity:.75;white-space:nowrap;
  font-variant-numeric:tabular-nums;pointer-events:none}
/* Het huidige boekjaar draagt hetzelfde label, maar leest als de hoofdstip.
   Op een wit plaatje, want de stip staat meestal in het actieve kwadrant en
   dat is navy: navy op navy was onzichtbaar. */
.pm-histjaar.nu{color:var(--navy);opacity:1;font-size:10px;z-index:4;transform:translate(11px,62%);
  background:rgba(255,255,255,.92);padding:1px 5px;border-radius:4px}
.pm-histlijn{position:absolute;width:0;border-left:2px dotted rgba(29,61,89,.30);
  transform:translateX(-50%);z-index:1}
.pm-stip{position:absolute;width:13px;height:13px;border-radius:50%;cursor:help;
  transform:translate(-50%,50%);border:3.5px solid #fff;z-index:3;
  box-shadow:0 0 0 1px rgba(29,61,89,.2), 0 2px 7px rgba(29,61,89,.4)}
/* Eén as bekend (sinds 24-sep-2026): één OPEN stip, voorlopig op de grens van de
   andere as. Open, zodat hij niet leest als een gemeten score op die grens. */
.pm-stip.pm-voorlopig{background:#fff;border:3px solid var(--navy);width:14px;height:14px;
  box-shadow:0 0 0 3px rgba(255,255,255,.9), 0 2px 7px rgba(29,61,89,.3)}
.pm-legenda{grid-column:3;grid-row:4;margin-top:10px;font-size:11px;line-height:1.6;
  color:var(--muted)}
.pm-legenda b{color:var(--navy);font-weight:700;font-variant-numeric:tabular-nums}
.pm-legenda-hist,.pm-legenda-schaal{color:var(--hint)}
.pm-punt{display:inline-block;width:9px;height:9px;border-radius:50%;border:2px solid #fff;
  margin-right:6px;vertical-align:-1px;box-shadow:0 0 0 1px rgba(29,61,89,.25)}
.pm-streep{display:inline-block;width:14px;border-top:2px dashed var(--navy);
  margin-right:6px;vertical-align:4px}

/* ── De uitlegstand (sinds 21-sep-2026) ────────────────────────────────────
   Dezelfde figuur zonder positie: het model met zijn vier vakken, met daaronder
   de as die wél is gemeten. Het vlak is lager dan het vierkant van de volle
   stand — er staat geen stip in, dus de hoogte hoeft alleen de vier regels te
   dragen. */
.pm-uitleg{grid-template-rows:auto 15px 22px auto}
/* Vierkant, net als de volle stand: er staat een lijn in waarvan de hoogte
   afleesbaar moet zijn tegen de schaalverdeling links. */
.pm-vlak.pm-model{aspect-ratio:1.28}
.pm-kaart .pm-regel{margin-top:5px;font-size:9.5px;line-height:1.35;color:var(--muted);
  text-wrap:balance}
/* De gemeten lijn loopt vóór de kaarten langs — het is een meting, de kaarten
   zijn uitleg. Om de namen leesbaar te houden waar de lijn erdoorheen valt
   (bij een score rond 2 precies op de naam), krijgt de tekst een witte halo.
   Zonder die halo loopt de stippellijn dwars door "Kwetsbaar". */
.pm-uitleg .pm-naam, .pm-uitleg .pm-regel{
  text-shadow:0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;position:relative;z-index:4}
/* De grens is een waarde op de schaal, niet de helft van het vlak: hij krijgt
   daarom een eigen markering bij de cijfers, in de signaalkleur. */
.pm-tiks .pm-tik-grens{color:var(--pm-oranje);font-weight:800}
.pm-onder{grid-column:3;grid-row:4}
.pm-verbind{margin:14px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}
.pm-verbind b{color:var(--navy);font-weight:700;font-variant-numeric:tabular-nums}
