// styre-data.jsx — Data for Styreportalen
// Kuratert, lukket portal for styremedlemmer: møter, sakspapirer, nøkkeltall,
// vedtaksregister, styresammensetning og styre-årshjul.

// ── Styresammensetning ───────────────────────────────────────────────────────
const STYRE_MEDLEMMER = [
  { id: 'PG', navn: 'Per Gundersen',   verv: 'Styreleder',           farge: '#11183d', siden: '2021', bakgrunn: 'Tidl. divisjonsdirektør NAV', uavhengig: true,  epost: 'per.gundersen@styret.no',   valgt: '2027' },
  { id: 'LV', navn: 'Liv Vik',         verv: 'Nestleder',            farge: '#586ba4', siden: '2022', bakgrunn: 'Partner, advokatfirma (arbeidsrett)', uavhengig: true, epost: 'liv.vik@styret.no', valgt: '2026' },
  { id: 'AM', navn: 'Arne Moberg',     verv: 'Styremedlem',          farge: '#08605f', siden: '2020', bakgrunn: 'Daglig leder, sosial entreprenør', uavhengig: true, epost: 'arne.moberg@styret.no', valgt: '2027' },
  { id: 'SD', navn: 'Sara Dahl',       verv: 'Styremedlem',          farge: '#caa24a', siden: '2023', bakgrunn: 'Økonomidirektør (CFO), industri', uavhengig: true, epost: 'sara.dahl@styret.no', valgt: '2026' },
  { id: 'TF', navn: 'Tor Fjeld',       verv: 'Ansattrepresentant',   farge: '#7d8aa8', siden: '2024', bakgrunn: 'Jobbspesialist · Holmlia', uavhengig: false, epost: 'tor.fjeld@oslokollega.no', valgt: '2026' },
  { id: 'KS', navn: 'Kari Solberg',    verv: 'Daglig leder (sekretær)', farge: '#f2545c', siden: '2019', bakgrunn: 'Administrasjonen · ikke stemmerett', uavhengig: false, epost: 'kari.solberg@oslokollega.no', valgt: '—' },
];

// ── Styremøter ───────────────────────────────────────────────────────────────
// status: gjennomfort | innkalt | planlagt
const STYRE_MOTER = [
  {
    id: 'sm-2026-3', nr: 'Styremøte 3/2026', dato: '2026-06-11', tid: '16:00 – 18:30',
    sted: 'Lambertseter · styrerom + Teams', status: 'innkalt', protokoll: false,
    saker: [
      { nr: '18/26', tittel: 'Godkjenning av innkalling og protokoll fra møte 2/2026', type: 'beslutning' },
      { nr: '19/26', tittel: 'Tertialrapport 1 — økonomi og drift', type: 'orientering' },
      { nr: '20/26', tittel: 'NAV-anbud 2027 — status og styrets mandat', type: 'beslutning' },
      { nr: '21/26', tittel: 'Revidert risikobilde Q2', type: 'orientering' },
      { nr: '22/26', tittel: 'OK:bistro Holmlia — investeringsbeslutning', type: 'beslutning' },
      { nr: '23/26', tittel: 'Eventuelt', type: 'orientering' },
    ],
    frister: 'Sakspapirer publisert 4. juni · innspill innen 9. juni',
  },
  {
    id: 'sm-2026-2', nr: 'Styremøte 2/2026', dato: '2026-04-23', tid: '16:00 – 18:10',
    sted: 'Lambertseter · styrerom', status: 'gjennomfort', protokoll: true,
    tilstede: ['PG', 'LV', 'AM', 'SD', 'TF', 'KS'], forfall: [],
    saker: [
      { nr: '11/26', tittel: 'Godkjenning av innkalling og protokoll fra møte 1/2026', type: 'beslutning' },
      { nr: '12/26', tittel: 'Årsregnskap og årsberetning 2025', type: 'beslutning' },
      { nr: '13/26', tittel: 'ISO 9001 — status resertifisering', type: 'orientering' },
      { nr: '14/26', tittel: 'Strategiplan 2027–2029 — første utkast', type: 'drøfting' },
      { nr: '15/26', tittel: 'HMS og sykefravær Q1', type: 'orientering' },
      { nr: '16/26', tittel: 'Godtgjørelse til daglig leder', type: 'beslutning' },
      { nr: '17/26', tittel: 'Eventuelt', type: 'orientering' },
    ],
    frister: 'Protokoll godkjent 30. april',
  },
  {
    id: 'sm-2026-1', nr: 'Styremøte 1/2026', dato: '2026-02-12', tid: '16:00 – 17:50',
    sted: 'Teams', status: 'gjennomfort', protokoll: true,
    tilstede: ['PG', 'LV', 'SD', 'TF', 'KS'], forfall: ['AM'],
    saker: [
      { nr: '01/26', tittel: 'Konstituering og møteplan 2026', type: 'beslutning' },
      { nr: '02/26', tittel: 'Foreløpig resultat 2025', type: 'orientering' },
      { nr: '03/26', tittel: 'Budsjett 2026 — endelig vedtak', type: 'beslutning' },
      { nr: '04/26', tittel: 'Risikovurdering — NAV-rammeavtaler', type: 'drøfting' },
      { nr: '05/26', tittel: 'Eventuelt', type: 'orientering' },
    ],
    frister: 'Protokoll godkjent 19. februar',
  },
  {
    id: 'sm-2026-4', nr: 'Styremøte 4/2026', dato: '2026-09-17', tid: '16:00 – 18:00',
    sted: 'Lambertseter · styrerom', status: 'planlagt', protokoll: false,
    saker: [
      { nr: '—', tittel: 'Tertialrapport 2', type: 'orientering' },
      { nr: '—', tittel: 'Strategiplan 2027–2029 — vedtak', type: 'beslutning' },
      { nr: '—', tittel: 'Budsjettramme 2027', type: 'drøfting' },
    ],
    frister: 'Sakspapirer publiseres 10. september',
  },
];

const SAKSTYPE_TONE = {
  beslutning:  { bg: '#fcddde', fg: '#a01a25', label: 'Beslutning' },
  orientering: { bg: '#e9eef7', fg: '#3c4a6b', label: 'Orientering' },
  drofting:    { bg: '#e6e1f3', fg: '#4a3a7a', label: 'Drøfting' },
  'drøfting':  { bg: '#e6e1f3', fg: '#4a3a7a', label: 'Drøfting' },
};

// ── Sakspapirer / dokumenter ─────────────────────────────────────────────────
const STYRE_DOKUMENTER = [
  { id: 'd1', tittel: 'Innkalling — Styremøte 3/2026', type: 'Innkalling', moteId: 'sm-2026-3', dato: '2026-06-04', sider: 3, format: 'PDF', fortrolig: false },
  { id: 'd2', tittel: 'Tertialrapport 1/2026', type: 'Rapport', moteId: 'sm-2026-3', dato: '2026-06-04', sider: 18, format: 'PDF', fortrolig: false },
  { id: 'd3', tittel: 'Saksframlegg 20/26 — NAV-anbud 2027', type: 'Saksframlegg', moteId: 'sm-2026-3', dato: '2026-06-04', sider: 6, format: 'PDF', fortrolig: true },
  { id: 'd4', tittel: 'Saksframlegg 22/26 — OK:bistro investering', type: 'Saksframlegg', moteId: 'sm-2026-3', dato: '2026-06-04', sider: 9, format: 'PDF', fortrolig: true },
  { id: 'd5', tittel: 'Risikoregister Q2 (utdrag for styret)', type: 'Vedlegg', moteId: 'sm-2026-3', dato: '2026-06-04', sider: 4, format: 'PDF', fortrolig: false },
  { id: 'd6', tittel: 'Protokoll — Styremøte 2/2026', type: 'Protokoll', moteId: 'sm-2026-2', dato: '2026-04-30', sider: 5, format: 'PDF', fortrolig: false },
  { id: 'd7', tittel: 'Årsregnskap og årsberetning 2025', type: 'Rapport', moteId: 'sm-2026-2', dato: '2026-04-16', sider: 32, format: 'PDF', fortrolig: false },
  { id: 'd8', tittel: 'Strategiplan 2027–2029 — utkast', type: 'Saksframlegg', moteId: 'sm-2026-2', dato: '2026-04-16', sider: 14, format: 'PDF', fortrolig: true },
  { id: 'd9', tittel: 'Protokoll — Styremøte 1/2026', type: 'Protokoll', moteId: 'sm-2026-1', dato: '2026-02-19', sider: 4, format: 'PDF', fortrolig: false },
  { id: 'd10', tittel: 'Budsjett 2026 — vedtatt', type: 'Rapport', moteId: 'sm-2026-1', dato: '2026-02-12', sider: 11, format: 'PDF', fortrolig: false },
];

// ── Nøkkeltall — kuratert for styret ─────────────────────────────────────────
// retning: opp er bra (true) / dårlig (false)
const STYRE_KPI = [
  { k: 'resultat',  label: 'Resultat hittil', value: '2,14 M', delta: '+0,28 M mot budsjett', positiv: true,  sub: 'Konsern · per 18.05' },
  { k: 'likviditet', label: 'Likviditet', value: '8,7 M', delta: 'Stabil', positiv: true, sub: 'Bankinnskudd + ramme' },
  { k: 'formidling', label: 'Formidling til jobb', value: '64 %', delta: '+6 pp mot mål (58 %)', positiv: true, sub: 'AFT + IPS · hittil 2026' },
  { k: 'sykefravar', label: 'Sykefravær Q1', value: '5,8 %', delta: '+0,3 pp over mål', positiv: false, sub: 'Mål 5,5 %' },
  { k: 'belegg',    label: 'Tiltaksbelegg', value: '92 %', delta: '241 / 262 plasser', positiv: true, sub: 'NAV-avtaler' },
  { k: 'iso',       label: 'ISO 9001', value: 'På spor', delta: '0 avvik · 5 obs', positiv: true, sub: 'Resertifisering okt.' },
];

// Resultat-utvikling (mini-graf) — månedlig, MNOK akkumulert mot budsjett
const STYRE_RESULTAT = [
  { m: 'Jan', faktisk: 0.21, budsjett: 0.18 },
  { m: 'Feb', faktisk: 0.52, budsjett: 0.46 },
  { m: 'Mar', faktisk: 0.98, budsjett: 0.91 },
  { m: 'Apr', faktisk: 1.61, budsjett: 1.44 },
  { m: 'Mai', faktisk: 2.14, budsjett: 1.86 },
];

// ── Strategiske risikoer kuratert for styret ─────────────────────────────────
const STYRE_RISIKO = [
  { navn: 'NAV-rammeavtale 2027 ikke fornyet', niva: 'høy', eier: 'KS', trend: 'opp', tiltak: 'Anbudsteam forsterket, frist 12. juni' },
  { navn: 'Kritisk metodekompetanse hos få ansatte', niva: 'middels', eier: 'HM', trend: 'flat', tiltak: 'Kompetansematrise + backup-roller' },
  { navn: 'Forsinket byggetillatelse OK:bistro Holmlia', niva: 'middels', eier: 'HE', trend: 'ned', tiltak: 'Alternativ lokasjon vurderes' },
  { navn: 'Personvern i deltakerdata på tvers av systemer', niva: 'lav', eier: 'KK', trend: 'ned', tiltak: 'Tilgangsgjennomgang fullført' },
];
const RISIKO_TONE = {
  'høy':     { bg: '#fcddde', fg: '#a01a25', dot: '#f2545c' },
  'middels': { bg: '#fdeac8', fg: '#8e5a05', dot: '#f2b950' },
  'lav':     { bg: '#dbeed8', fg: '#2f5a28', dot: '#08654f' },
};

// ── Vedtaksregister ───────────────────────────────────────────────────────────
// status: vedtatt | oppfolging | lukket
const STYRE_VEDTAK = [
  { id: 'v16', sak: '16/26', mote: 'Styremøte 2/2026', dato: '2026-04-23', tekst: 'Styret vedtar justert godtgjørelse til daglig leder gjeldende fra 1. mai 2026.', enstemmig: true, status: 'lukket', ansvarlig: 'PG' },
  { id: 'v12', sak: '12/26', mote: 'Styremøte 2/2026', dato: '2026-04-23', tekst: 'Årsregnskap og årsberetning 2025 godkjennes og oversendes generalforsamlingen.', enstemmig: true, status: 'oppfolging', ansvarlig: 'KS', frist: '2026-05-31' },
  { id: 'v03', sak: '03/26', mote: 'Styremøte 1/2026', dato: '2026-02-12', tekst: 'Budsjett 2026 vedtas med et budsjettert resultat på 4,2 MNOK.', enstemmig: false, dissens: '1 mot (SD)', status: 'oppfolging', ansvarlig: 'ØS' },
  { id: 'v01', sak: '01/26', mote: 'Styremøte 1/2026', dato: '2026-02-12', tekst: 'Møteplan 2026 vedtas: fire ordinære styremøter (feb, apr, jun, sep) + generalforsamling.', enstemmig: true, status: 'lukket', ansvarlig: 'KS' },
];
const VEDTAK_STATUS = {
  vedtatt:    { bg: '#e9eef7', fg: '#3c4a6b', label: 'Vedtatt' },
  oppfolging: { bg: '#fdeac8', fg: '#8e5a05', label: 'Til oppfølging' },
  lukket:     { bg: '#dbeed8', fg: '#2f5a28', label: 'Lukket' },
};

// ── Styre-årshjul ─────────────────────────────────────────────────────────────
const STYRE_ARSHJUL = [
  { mnd: 'Feb', tittel: 'Budsjett & møteplan', tema: 'Endelig budsjett, konstituering', status: 'gjennomfort' },
  { mnd: 'Apr', tittel: 'Årsregnskap', tema: 'Regnskap 2025, strategi-utkast', status: 'gjennomfort' },
  { mnd: 'Jun', tittel: 'Tertial 1 & investeringer', tema: 'T1-rapport, NAV-anbud, OK:bistro', status: 'aktiv' },
  { mnd: 'Jun', tittel: 'Generalforsamling', tema: 'Godkjenning regnskap, valg', status: 'kommende' },
  { mnd: 'Sep', tittel: 'Tertial 2 & strategi', tema: 'T2-rapport, strategivedtak', status: 'kommende' },
  { mnd: 'Des', tittel: 'Budsjettramme 2027', tema: 'Foreløpig budsjett, risikogjennomgang', status: 'kommende' },
];
const ARSHJUL_TONE = {
  gjennomfort: { bg: '#dbeed8', fg: '#2f5a28', dot: '#08654f', label: 'Gjennomført' },
  aktiv:       { bg: '#fcddde', fg: '#a01a25', dot: '#f2545c', label: 'Pågår nå' },
  kommende:    { bg: '#e9eef7', fg: '#3c4a6b', dot: '#9aa3b8', label: 'Kommende' },
};

function styreNavn(id) {
  const m = STYRE_MEDLEMMER.find(x => x.id === id);
  if (m) return m.navn;
  if (typeof TEAM !== 'undefined' && TEAM[id]) return TEAM[id].n;
  return id;
}
function styreFarge(id) {
  const m = STYRE_MEDLEMMER.find(x => x.id === id);
  if (m) return m.farge;
  if (typeof TEAM !== 'undefined' && TEAM[id]) return TEAM[id].c;
  return '#9aa3b8';
}

Object.assign(window, {
  STYRE_MEDLEMMER, STYRE_MOTER, SAKSTYPE_TONE, STYRE_DOKUMENTER,
  STYRE_KPI, STYRE_RESULTAT, STYRE_RISIKO, RISIKO_TONE,
  STYRE_VEDTAK, VEDTAK_STATUS, STYRE_ARSHJUL, ARSHJUL_TONE,
  styreNavn, styreFarge,
});
