/* Saira voor de NIS2 Quickscan. De tool is een losse statische pagina onder
   public/ en laadt global.css niet, dus de @font-face-regels staan hier
   opnieuw; de bestanden zijn dezelfde als die van de site.
   MSP_BRAND.tokens zet --font-sans/--font-display naar Saira. */
@font-face {
  font-family: "Saira";
  src: url("/fonts/saira-v14-latin-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Saira";
  src: url("/fonts/saira-v14-latin-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Saira";
  src: url("/fonts/saira-v14-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Saira";
  src: url("/fonts/saira-v14-latin-900.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Het ClickOn-logo is een breed woordmerk in donkerblauw (#182B66). De rail
   toont het merkteken standaard in een vierkante plaat van 38px op accentblauw:
   daarin wordt het woordmerk platgedrukt en valt het weg tegen de achtergrond.
   Wit vlak, eigen breedte. */
.rail-mark {
  width: auto;
  height: auto;
  padding: 5px 8px;
  background: #ffffff;
  border-radius: 8px;
}

/* De basisregel begrenst de img op 100% van de plaat, maar die is nu
   auto-breed: dan houden ze elkaar op nul. Hoogte leidt, plaat volgt. */
.rail-mark img {
  height: 14px;
  width: auto;
  max-width: none;
  max-height: none;
}

/* ---------- ClickOn-theming bovenop de tool-tokens ----------
   De tool erft de blueprint-signatuur van Dxfferent: mono-eyebrows, een
   streepje voor sectiekoppen en vlakke accentknoppen. De site doet dat anders:
   Saira-eyebrows in teal, gradient-knoppen. Alleen presentatie, geen gedrag. */

/* Eyebrows en sectiekoppen: Saira in plaats van IBM Plex Mono, teal accent. */
.eyebrow,
.sec-h,
.rep-annot {
  font-family: "Saira", system-ui, sans-serif;
  letter-spacing: 0.08em;
}

.eyebrow,
.sec-h {
  color: #01d3b8;
}

.sec-h::before {
  color: #01d3b8;
}

/* Primaire knop volgt .btn-gradient van de site (blauw, teal bij hover). */
.btn-primary {
  background: linear-gradient(135deg, #19389a 0%, #182b66 100%);
  border-color: transparent;
  transition: background 0.25s ease, color 0.25s ease;
}

.btn-primary:hover {
  background: linear-gradient(135deg, #9af6ea 0%, #01d3b8 100%);
  color: #182b66;
}

/* Secundaire knop: merkblauwe outline in plaats van grijs. */
.btn-outline {
  border-color: #19389a;
  color: #19389a;
}

.btn-outline:hover {
  background: rgba(25, 56, 154, 0.06);
}

/* Bijlage-badges, dienst-chips en statuspunten in het ClickOn-teal in plaats van
   het accentblauw: teal is op de site de signaalkleur, blauw draagt de vlakken.
   Tekst blijft merkblauw, want teal-op-wit haalt op deze maat geen contrast. */
.scope-sector .hl.annex-1,
.scope-sector .hl.annex-2 {
  background: #aff7ee;
  color: #182b66;
}

.scope-sector.sel .hl {
  background: #01d3b8;
  color: #182b66;
}

.svc-chip .d,
.dt .tick {
  background: #01d3b8;
}

.dt .tick {
  color: #182b66;
}

/* Sectiekoppen zonder het streepje ervoor: dat is de blueprint-signatuur van
   Dxfferent, en de site schrijft sowieso geen streepjes in koppen. */
.sec-h::before {
  content: none;
}

/* ---------- rapportkop: kerncijfers als echte tegels ----------
   Upstream zet de vier kerncijfers als kleine mono-regeltjes naast elkaar;
   op de site zijn cijfers groot en in Saira 900. Zelfde inhoud, wel het
   gewicht dat bij een rapportkop hoort. */
.rep-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 20px;
  width: 100%;
}

.rep-stat {
  background: #f6f7f9;
  border: 1px solid #e2e6f0;
  border-radius: var(--radius-lg);
  padding: 14px 16px;
}

.rep-stat .v {
  font-family: "Saira", system-ui, sans-serif;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.05;
  color: #182b66;
}

.rep-stat .l {
  font-family: "Saira", system-ui, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #707589;
  margin-top: 6px;
}

/* De tegels staan naast de gauge; op de rapportkop zonder meting is er geen
   gauge en mag het blok de volle breedte pakken. */
.rep-score {
  align-items: flex-start;
  gap: 20px;
  padding: clamp(1.25rem, 2.3vw, 2rem);
  border-radius: var(--radius-card);
  border-color: #e2e6f0;
}

.rep-score .txt h3 {
  font-family: "Saira", system-ui, sans-serif;
  font-weight: 900;
  font-size: 1.375rem;
  color: #182b66;
}

/* Scope-uitkomst boven het rapport: teal accentlijn in plaats van oranje. */
.verdict-hero.tone-warning::before,
.verdict-hero.tone-neutral::before {
  background: #01d3b8;
}

/* ---------- semantische kleuren op het ClickOn-palet ----------
   De tool erft een generiek indigo/oranje-palet. De site kent maar drie
   signaalkleuren: merkblauw draagt, teal bevestigt, geel let op. Rood blijft
   rood, dat is de enige kleur die je niet mag verzachten. */
:root:not([data-theme="dark"]) {
  --primary-500: #19389a;
  --primary-600: #182b66;
  --primary-700: #182b66;
  --primary-bg: rgba(25, 56, 154, 0.08);
  --primary-fg: #19389a;
  --primary-on: #ffffff;

  --secondary-500: #01d3b8;
  --secondary-600: #00b39c;
  --secondary-bg: rgba(1, 211, 184, 0.12);
  --secondary-fg: #0f6d61;

  --success-500: #01d3b8;
  --success-bg: rgba(1, 211, 184, 0.14);
  --success-fg: #0f6d61;

  --warning-500: #fab900;
  --warning-bg: rgba(250, 185, 0, 0.16);
  --warning-fg: #7a5a00;

  --info-500: #19389a;
  --info-bg: rgba(25, 56, 154, 0.08);
  --info-fg: #19389a;

  --border-primary-40: rgba(25, 56, 154, 0.35);
}

/* Focus volgt het merkblauw in plaats van het indigo van de basis-tokens. */
:focus-visible {
  outline-color: #19389a;
}

/* Kaarten en panelen: de site zet zachte randen en ruimere hoeken, geen
   blueprint-lijnen. */
.card,
.dt,
.rep-score,
.verdict-hero,
.gate,
.pkg-matrix-wrap,
.meldplicht-block {
  border-radius: var(--radius-card);
  border-color: #e2e6f0;
}

/* Sectiekoppen op de site-schaal: Saira, zwaarder, minder spatiëring dan de
   mono-annotaties waar ze vandaan komen. */
.sec-h {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.step-h,
.rail-title {
  letter-spacing: -0.01em;
}


/* ---------- vlakken en tekst per thema ----------
   Deze stonden eerder in MSP_BRAND.tokens; dat werd inline op het root-element
   gezet en blokkeerde de licht/donker-knop. Nu per thema, zodat de knop weer
   werkt. De grijstinten zijn donkerder dan de basis-tokens: #707589 op wit
   haalde geen 4.5:1. */
:root:not([data-theme="dark"]) {
  --bg-canvas: #f6f7f9;
  --bg-elevated: #ffffff;
  --bg-muted: #eef0f5;
  --bg-overlay: rgba(246, 247, 249, 0.85);
  --border-default: #e2e6f0;
  --border-strong: #c3c8d5;
  --fg-highlighted: #182b66;
  --fg-default: #263258;
  --fg-muted: #4a5473;
  --fg-dimmed: #5d6685;
}

[data-theme="dark"] {
  --bg-canvas: #0d1430;
  --bg-elevated: #16204a;
  --bg-muted: #1d2857;
  --bg-overlay: rgba(13, 20, 48, 0.85);
  --border-default: rgba(255, 255, 255, 0.12);
  --border-strong: rgba(255, 255, 255, 0.24);
  --fg-highlighted: #ffffff;
  --fg-default: #dfe4f2;
  --fg-muted: #aab3cd;
  --fg-dimmed: #8a94b4;
  --accent: #4d7dff;
  --accent-700: #2f5be0;
  --accent-soft: rgba(77, 125, 255, 0.18);
}

/* Sectiekoppen en eyebrows stonden in het teal. Op wit haalt #01d3b8 geen
   leesbaar contrast; teal blijft de markeringskleur, de tekst wordt blauw. */
.eyebrow,
.sec-h {
  color: var(--fg-muted);
}

[data-theme="dark"] .eyebrow,
[data-theme="dark"] .sec-h {
  color: var(--fg-muted);
}

.sec-h::before {
  color: transparent;
}

/* Bijlage-badges en chips houden het teal, maar met donkerblauwe tekst erop. */
[data-theme="dark"] .scope-sector .hl.annex-1,
[data-theme="dark"] .scope-sector .hl.annex-2 {
  background: rgba(1, 211, 184, 0.22);
  color: #9af6ea;
}
