// rutiner-data.jsx — Rutiner & metodikk
// Roller, områder, rutine-katalog, stedfortreder-kjeder, fravær, eskaleringer

// "I dag" i prototypen (samme som ellers)
const RUT_TODAY = '2026-05-21';

// ─────────────────────────────────────────────────────────────────
// OMRÅDER — overordnede grupperinger
// ─────────────────────────────────────────────────────────────────
const RUT_OMRADER = [
  { id: 'ledelse',  navn: 'Ledelse & strategi',   farge: '#11183d', ikon: 'crown' },
  { id: 'hr',       navn: 'HR & personal',        farge: '#586ba4', ikon: 'users' },
  { id: 'okonomi',  navn: 'Økonomi & lønn',       farge: '#08605f', ikon: 'chart' },
  { id: 'kvalitet', navn: 'Kvalitet & HMS',       farge: '#f2cc8f', ikon: 'shield' },
  { id: 'drift',    navn: 'Drift · avdeling',     farge: '#28589f', ikon: 'building' },
  { id: 'entrep',   navn: 'Sosial entreprise',    farge: '#f2545c', ikon: 'briefcase' },
];

// ─────────────────────────────────────────────────────────────────
// ROLLER — med innehaver og stedfortreder-kjede
// chain: [primary, deputy1, deputy2] — varslingsrekkefølge
// nearestLeader: hvem som varsles ved eskalering (typisk leder over)
// ─────────────────────────────────────────────────────────────────
const RUT_ROLLER = [
  { id: 'r-dgl',    navn: 'Daglig leder',                omrade: 'ledelse',  chain: ['KS', 'MR', 'HM'], nearestLeader: null, beskrivelse: 'Strategi, drift, styre-rapportering' },
  { id: 'r-ok',     navn: 'Økonomisjef',                 omrade: 'okonomi',  chain: ['ØS', 'HM'],       nearestLeader: 'KS', beskrivelse: 'Regnskap, lønn, controlling' },
  { id: 'r-hr',     navn: 'HR-leder',                    omrade: 'hr',       chain: ['HM', 'KK'],       nearestLeader: 'KS', beskrivelse: 'Personal, kompetanse, vernetjeneste' },
  { id: 'r-kval',   navn: 'Kvalitetsansvarlig',          omrade: 'kvalitet', chain: ['KK', 'HM'],       nearestLeader: 'KS', beskrivelse: 'ISO 9001, avvik, prosedyrer' },
  { id: 'r-avd-lb', navn: 'Avd.leder Lambertseter',      omrade: 'drift',    chain: ['MR', 'AN'],       nearestLeader: 'KS', beskrivelse: 'Drift av hovedavdeling' },
  { id: 'r-avd-hm', navn: 'Avd.leder Holmlia',           omrade: 'drift',    chain: ['TM', 'JN'],       nearestLeader: 'KS', beskrivelse: 'IPS, NAV-samarbeid Søndre Nordstrand' },
  { id: 'r-avd-vk', navn: 'Avd.leder Vulkan',            omrade: 'drift',    chain: ['HE', 'RB'],       nearestLeader: 'KS', beskrivelse: 'OK:sykkel, OK:data, drift Vulkan' },
  { id: 'r-avd-sk', navn: 'Avd.leder Skullerud',         omrade: 'drift',    chain: ['AN', 'MR'],       nearestLeader: 'KS', beskrivelse: 'VTA, aktivitetspark' },
  { id: 'r-jobb',   navn: 'Jobbspesialist',              omrade: 'drift',    chain: ['JN', 'AN'],       nearestLeader: 'MR', beskrivelse: 'AFT, jobbmatching, oppfølging' },
  { id: 'r-veil',   navn: 'Veileder',                    omrade: 'drift',    chain: ['AN', 'JN'],       nearestLeader: 'AN', beskrivelse: 'Direkte oppfølging deltakere' },
  { id: 'r-bistro', navn: 'Leder OK:bistro',             omrade: 'entrep',   chain: ['IH', 'MR'],       nearestLeader: 'MR', beskrivelse: 'Kantine, catering, opplæringsarena' },
  { id: 'r-sykkel', navn: 'Leder OK:sykkel',             omrade: 'entrep',   chain: ['RB', 'HE'],       nearestLeader: 'HE', beskrivelse: 'Sykkelverksted, resirkulering' },
];

// ─────────────────────────────────────────────────────────────────
// FRAVÆR — hvem er borte nå? Rutinene rutes automatisk til neste i kjeden.
// ─────────────────────────────────────────────────────────────────
const RUT_FRAVAER = [
  { ansatt: 'ØS', type: 'ferie',    start: '2026-05-18', slutt: '2026-05-29', kommentar: 'Familieferie · stedfortreder Hanne overtar bankavstemming og lønn' },
  { ansatt: 'IH', type: 'sykdom',   start: '2026-05-20', slutt: null,         kommentar: 'Sykmeldt på ubestemt tid · Marius dekker driftsrapport' },
  { ansatt: 'TM', type: 'kurs',     start: '2026-05-21', slutt: '2026-05-22', kommentar: 'NAV-konferanse Bergen · Jonas overtar Holmlia 2 dgr' },
];

// Hjelper for å sjekke om en ansatt er fraværende i dag
function rutErFravaer(initial) {
  return RUT_FRAVAER.find(f => f.ansatt === initial &&
    f.start <= RUT_TODAY && (!f.slutt || f.slutt >= RUT_TODAY));
}

// Aktiv rolleholder = primær med mindre fraværende, da neste i kjeden
function rutAktivHolder(rolle) {
  for (const k of rolle.chain) {
    if (!rutErFravaer(k)) return k;
  }
  return rolle.chain[0];
}

// ─────────────────────────────────────────────────────────────────
// RUTINER — selve katalogen
// freq: daglig | ukentlig | månedlig | kvartalsvis | halvårlig | årlig | adhoc
// Hver rutine har en metodikk (steg-for-steg sjekkliste)
// Eskalering: påminnelse etter 'reminder' dgr, stedfortreder etter 'deputy' dgr,
// nærmeste leder etter 'leader' dgr.
// ─────────────────────────────────────────────────────────────────
const RUT_KATALOG = [
  // ── LEDELSE & STRATEGI ──────────────────────────────────────────
  {
    id: 'rt-dgl-uke',
    rolle: 'r-dgl', tittel: 'Forbered ledergruppemøte',
    freq: 'ukentlig', plan: 'Onsdag · før 12:00',
    estimert: '45 min',
    metodikk: [
      'Gå gjennom forrige protokoll og status på tiltak',
      'Hent inn avdelingsstatus (4 avdelingsledere)',
      'Sjekk åpne risiko-saker i risikoregister',
      'Sett opp agenda med 3 hovedsaker maks',
      'Send agenda kl. 12:00 dagen før møtet',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 4 },
    referanser: 'KS-modul → AG-prosedyre §3.1',
  },
  {
    id: 'rt-dgl-mnd',
    rolle: 'r-dgl', tittel: 'Månedlig statusrapport til styreleder',
    freq: 'månedlig', plan: 'Siste virkedag i måneden',
    estimert: '90 min',
    metodikk: [
      'Hent inn økonomi-rapport fra Øystein',
      'Hent inn HR-status (sykefravær, åpne stillinger)',
      'Hent inn kvalitet-status (avvik, frister ISO)',
      'Skriv 1-sides sammendrag · maks 5 risiki',
      'Send til styreleder Petter Aaslund',
    ],
    eskal: { reminder: 2, deputy: 4, leader: 7 },
  },
  {
    id: 'rt-dgl-kvart',
    rolle: 'r-dgl', tittel: 'Kvartalsrapport til styret',
    freq: 'kvartalsvis', plan: '15. mars / juni / sept / des',
    estimert: '1 dag',
    metodikk: [
      'Konsolidere økonomi-tall fra Visma',
      'Måle KPIer mot vedtatt strategi',
      'Skrive overordnet driftskommentar',
      'Sammenstille HR-, kvalitet- og prosjekt-status',
      'Sende ut sakspapirer 7 dgr før styremøte',
    ],
    eskal: { reminder: 3, deputy: 5, leader: null },
  },

  // ── HR ─────────────────────────────────────────────────────────
  {
    id: 'rt-hr-dag',
    rolle: 'r-hr', tittel: 'Sjekke Simployer-innboks · sykmeldinger',
    freq: 'daglig', plan: 'Hver morgen · før 09:30',
    estimert: '15 min',
    metodikk: [
      'Åpne Simployer-innboks · filter sykmeldinger',
      'Bekrefte mottak til hver enkelt (auto-mal)',
      'Registrere planlagt oppfølgings-samtale (uke 2, 4, 6, 8)',
      'Varsle avd.leder ved nye sykmeldinger over 5 dgr',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 3 },
  },
  {
    id: 'rt-hr-uke',
    rolle: 'r-hr', tittel: 'Oppfølging pågående sykefravær',
    freq: 'ukentlig', plan: 'Mandag · 10:00–11:00',
    estimert: '60 min',
    metodikk: [
      'Liste opp alle aktive sykefravær (>14 dgr)',
      'Bekrefte oppfølgingsplan/møte er booket',
      'Dokumentere i Simployer (avtalt tilrettelegging)',
      'Sende NAV-rapportering hvor lovpålagt',
      'Oppdatere statuskolonne for hver sak',
    ],
    eskal: { reminder: 2, deputy: 3, leader: 5 },
    referanser: 'AML §4-6 · IA-avtalen',
  },
  {
    id: 'rt-hr-mnd-personal',
    rolle: 'r-hr', tittel: 'Personalmøte med avdelingsledere',
    freq: 'månedlig', plan: 'Første tirsdag · 13:00–14:30',
    estimert: '90 min',
    metodikk: [
      'Hent inn HR-tall (sykefravær, turnover, åpne stillinger) pr. avd.',
      'Forbered case-saker fra hver avdeling',
      'Gjennomgang av aktive rekrutteringer',
      'Avtale tiltak og fordele oppgaver',
      'Send referat innen 24 t',
    ],
    eskal: { reminder: 2, deputy: 4, leader: 7 },
  },
  {
    id: 'rt-hr-onboard',
    rolle: 'r-hr', tittel: 'Onboarding av ny medarbeider (sjekkliste)',
    freq: 'adhoc', plan: 'Trigges ved signert kontrakt',
    estimert: '4 t fordelt på 2 uker',
    metodikk: [
      'Send velkomst-pakke 1 uke før oppstart',
      'Bestill IT-utstyr og opprett AD-konto (frist −5 dgr)',
      'Avklar opplæringsplan og fadder med avd.leder',
      'Dag 1: omvisning, signatur HMS, gjennomgang ansvar',
      'Uke 2: oppfølgingssamtale + tilbakemelding',
      'Måned 1: evaluering med leder og HR',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 4 },
  },
  {
    id: 'rt-hr-medarb',
    rolle: 'r-hr', tittel: 'Initier medarbeidersamtaler-runde',
    freq: 'årlig', plan: 'Starter september',
    estimert: '2 dgr',
    metodikk: [
      'Send ut tidsplan til alle ledere',
      'Distribuere mal og forberedelsesskjema',
      'Følge opp progresjon hver uke',
      'Samle inn statistikk når runden er over',
    ],
    eskal: { reminder: 5, deputy: 7, leader: 10 },
  },

  // ── ØKONOMI & LØNN ─────────────────────────────────────────────
  {
    id: 'rt-ok-dag',
    rolle: 'r-ok', tittel: 'Bankavstemming og kontroll inn-/utbetalinger',
    freq: 'daglig', plan: 'Hver morgen · 08:00–09:00',
    estimert: '60 min',
    metodikk: [
      'Hent bankfil fra DNB · last opp i Visma',
      'Avstem kasse og bank automatisk',
      'Gå gjennom uavstemte poster (manuelt)',
      'Følg opp mistenkelige beløp (>50 000) med kontrollspørsmål',
      'Dokumenter avvik og godkjenn dagens kjøring',
    ],
    eskal: { reminder: 1, deputy: 1, leader: 2 },
    referanser: 'Bokføringsloven · intern rutine ØK-04',
  },
  {
    id: 'rt-ok-likv',
    rolle: 'r-ok', tittel: 'Likviditetsoversikt og prognose',
    freq: 'ukentlig', plan: 'Mandag · 13:00',
    estimert: '45 min',
    metodikk: [
      'Hent bankbalanse og bevilgede driftsmidler',
      'Sammenstille kortsiktige forpliktelser (lønn, mva, leverandører)',
      'Rull-prognose 4 uker frem',
      'Varsle daglig leder ved < 30 dgr buffer',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 3 },
  },
  {
    id: 'rt-ok-mnd-lonn',
    rolle: 'r-ok', tittel: 'Lønnskjøring · klargjøring og godkjenning',
    freq: 'månedlig', plan: 'Den 5. · klar for utbetaling 12.',
    estimert: '4 t',
    metodikk: [
      'Hent inn timegrunnlag (fast + VVJ-prosjektet)',
      'Sjekk overtid, helligdagstillegg, NyBy-timer',
      'Avstem forskudd allerede utbetalt mot opptjent',
      'Kjør lønnsforslag i Visma · kontrollere mot forrige måned',
      'Godkjenn og legg klar for utbetaling 12. (forfall)',
    ],
    eskal: { reminder: 1, deputy: 1, leader: 2 },
    referanser: 'KS-modul → økonomi-prosedyre §2.3',
  },
  {
    id: 'rt-ok-mnd-mva',
    rolle: 'r-ok', tittel: 'MVA-rapportering Altinn',
    freq: 'månedlig', plan: 'Den 15.',
    estimert: '2 t',
    metodikk: [
      'Avstem mva-koder i Visma',
      'Eksporter MVA-melding (RF-0005)',
      'Logg inn Altinn og last opp',
      'Verifiser tilbakemelding og betalingsinfo',
    ],
    eskal: { reminder: 1, deputy: 1, leader: 1 },
    referanser: 'Skatteforvaltningsloven §8-3',
  },
  {
    id: 'rt-ok-mnd-avsl',
    rolle: 'r-ok', tittel: 'Månedsavslutning regnskap',
    freq: 'månedlig', plan: 'Siste virkedag',
    estimert: '1 dag',
    metodikk: [
      'Periodisere inntekter og kostnader',
      'Kjør avskrivninger',
      'Avstem alle balanseposter',
      'Generer rapport · driftsresultat pr. prosjekt',
      'Sende rapport til daglig leder',
    ],
    eskal: { reminder: 2, deputy: 3, leader: 5 },
  },

  // ── KVALITET & HMS ─────────────────────────────────────────────
  {
    id: 'rt-kval-uke',
    rolle: 'r-kval', tittel: 'Avviksgjennomgang · nye saker',
    freq: 'ukentlig', plan: 'Fredag · 10:00',
    estimert: '60 min',
    metodikk: [
      'Hent ut nye avvik fra KS-modul (siste 7 dgr)',
      'Kategoriser (HMS, kvalitet, deltaker, leverandør)',
      'Tildel ansvarlig og frist',
      'Varsle berørt avd.leder',
      'Lukke åpne avvik som er behandlet',
    ],
    eskal: { reminder: 2, deputy: 4, leader: 7 },
    referanser: 'ISO 9001 · 8.7 + 10.2',
  },
  {
    id: 'rt-kval-hms',
    rolle: 'r-kval', tittel: 'HMS-runde · alle avdelinger',
    freq: 'månedlig', plan: 'Andre torsdag i mnd',
    estimert: '4 t',
    metodikk: [
      'Sjekkliste HMS pr. lokasjon (4 avdelinger)',
      'Befaring sammen med verneombud',
      'Loggføre observasjoner i KS-modul',
      'Oppdatere risikovurdering',
      'Tilbakemelding til avd.leder samme dag',
    ],
    eskal: { reminder: 3, deputy: 5, leader: 7 },
    referanser: 'AML kap. 3 · IK-forskriften',
  },
  {
    id: 'rt-kval-rev',
    rolle: 'r-kval', tittel: 'Internrevisjon ISO · én avdeling',
    freq: 'kvartalsvis', plan: 'Roterer Lambertseter → Holmlia → Vulkan → Skullerud',
    estimert: '1 dag',
    metodikk: [
      'Bestille møte med avd.leder 2 uker før',
      'Hente prosedyrer som skal revideres',
      'Gjennomføre intervjuer og dokumentkontroll',
      'Skrive revisjonsrapport · funn + tiltak',
      'Lukke avvik innen 30 dgr',
    ],
    eskal: { reminder: 3, deputy: 7, leader: 10 },
    referanser: 'ISO 9001 · 9.2',
  },
  {
    id: 'rt-kval-lg',
    rolle: 'r-kval', tittel: 'Ledelsens gjennomgang (LG)',
    freq: 'halvårlig', plan: 'Mai og november',
    estimert: '1 dag',
    metodikk: [
      'Samle KPI-data, avviksstatistikk, kundetilbakemeldinger',
      'Skrive LG-rapport iht. ISO 9001 §9.3',
      'Møte med ledergruppen for vurdering',
      'Vedta endringer i kvalitetssystem',
    ],
    eskal: { reminder: 5, deputy: 7, leader: null },
  },

  // ── DRIFT · AVDELING ───────────────────────────────────────────
  {
    id: 'rt-avd-morgen',
    rolle: 'r-avd-lb', tittel: 'Morgenmøte med team · 15 min',
    freq: 'daglig', plan: 'Hver morgen · 08:30',
    estimert: '15 min',
    metodikk: [
      'Status pr. deltaker (uvanlige situasjoner)',
      'Dagens vakter og oppgaver',
      'Sikkerhets- eller HMS-info',
      'Spørsmål og tilbakemelding',
    ],
    eskal: { reminder: 1, deputy: 1, leader: 1 },
  },
  {
    id: 'rt-avd-vakt',
    rolle: 'r-avd-lb', tittel: 'Sjekke og godkjenne vaktplan',
    freq: 'daglig', plan: 'Morgen · før 09:00',
    estimert: '10 min',
    metodikk: [
      'Gå gjennom vaktplan-bytter siste 24 t',
      'Bekrefte vikar/avløser ved fravær',
      'Varsle HR ved over 8 t udekket',
    ],
    eskal: { reminder: 1, deputy: 1, leader: 1 },
  },
  {
    id: 'rt-avd-status',
    rolle: 'r-avd-lb', tittel: 'Ukentlig statusrapport til daglig leder',
    freq: 'ukentlig', plan: 'Onsdag · før 12:00',
    estimert: '30 min',
    metodikk: [
      'Status pågående prosjekter',
      'Sykefravær uka',
      'Driftshendelser/avvik',
      'Bemanningsbehov og åpne stillinger',
      'Send på e-post + Teams',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 3 },
  },
  {
    id: 'rt-avd-team',
    rolle: 'r-avd-lb', tittel: 'Teammøte avdeling',
    freq: 'ukentlig', plan: 'Torsdag · 09:00',
    estimert: '60 min',
    metodikk: [
      'Behandling av forrige tiltakspunkter',
      'Status og oppfølging deltakere',
      'Praksisplasser / samarbeidsbedrifter',
      'Faglig deling',
      'Skriv protokoll i OK',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 4 },
  },
  {
    id: 'rt-avd-mnd-budsj',
    rolle: 'r-avd-lb', tittel: 'Budsjett-rapportering til økonomisjef',
    freq: 'månedlig', plan: 'Innen 3. dag i påfølgende mnd',
    estimert: '90 min',
    metodikk: [
      'Hent ut driftstall fra Visma',
      'Forklare avvik > 10% pr. budsjettpost',
      'Prognose for inneværende kvartal',
      'Send rapport til økonomi',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 3 },
  },
  {
    id: 'rt-avd-nav',
    rolle: 'r-avd-hm', tittel: 'NAV-rapportering aktivitet (IPS Holmlia)',
    freq: 'kvartalsvis', plan: 'Innen 15. i mnd etter kvartalslutt',
    estimert: '4 t',
    metodikk: [
      'Hent inn deltaker-tall, jobbmatch, oppfølging',
      'Avstem mot kontrakt med NAV Søndre Nordstrand',
      'Skriv rapport iht. NAV-mal',
      'Send via Altinn til avd.dir.',
    ],
    eskal: { reminder: 2, deputy: 4, leader: 7 },
    referanser: 'NAV-avtale 2025/2026 §5',
  },

  // ── VEILEDER / JOBBSPESIALIST ──────────────────────────────────
  {
    id: 'rt-veil-uke',
    rolle: 'r-veil', tittel: 'Oppfølgings-samtale pr. deltaker',
    freq: 'ukentlig', plan: 'Tirsdager · 09:00-15:00',
    estimert: '6 t totalt',
    metodikk: [
      'Møte 30 min pr. deltaker',
      'Bekrefte mål og milepæler · KS-modul',
      'Loggføre observasjoner og tiltak',
      'Vurdere behov for justering av plan',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 4 },
  },
  {
    id: 'rt-jobb-prak',
    rolle: 'r-jobb', tittel: 'Kontakte 3 nye samarbeidsbedrifter',
    freq: 'ukentlig', plan: 'Hver uke · innen fredag',
    estimert: '3 t',
    metodikk: [
      'Identifiser potensielle bedrifter ut fra deltaker-profiler',
      'Ta kontakt · presentere VVJ-konseptet',
      'Booke informasjonsmøte ved interesse',
      'Loggføre alle utgående kontakter',
    ],
    eskal: { reminder: 2, deputy: 4, leader: 7 },
  },

  // ── SOSIAL ENTREPRISE ──────────────────────────────────────────
  {
    id: 'rt-bistro-dag',
    rolle: 'r-bistro', tittel: 'Vareleveranse-kontroll OK:bistro',
    freq: 'daglig', plan: 'Morgenleveranse · 07:00',
    estimert: '20 min',
    metodikk: [
      'Sjekk innkommende varer mot bestilling',
      'Kontroller datostempling og temperatur',
      'Loggføre avvik (manglende eller skadet)',
      'Plassere i kjøl/frys etter HACCP',
    ],
    eskal: { reminder: 1, deputy: 1, leader: 1 },
    referanser: 'HACCP-plan OK:bistro',
  },
  {
    id: 'rt-bistro-uke',
    rolle: 'r-bistro', tittel: 'Driftsrapport til avd.leder',
    freq: 'ukentlig', plan: 'Fredag · før 14:00',
    estimert: '30 min',
    metodikk: [
      'Salg, varekost, lønnskost uka',
      'Avvik og tilbakemeldinger fra gjester',
      'Bemanningsbehov neste uke',
      'Send til Marius',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 3 },
  },
  {
    id: 'rt-sykkel-uke',
    rolle: 'r-sykkel', tittel: 'Verkstedsrapport OK:sykkel',
    freq: 'ukentlig', plan: 'Fredag · 14:00',
    estimert: '45 min',
    metodikk: [
      'Antall reparasjoner og ferdigstilte sykler',
      'Lagerstatus reservedeler',
      'Aktive opplærings-løp',
      'Tilbakemelding til Håkon',
    ],
    eskal: { reminder: 1, deputy: 2, leader: 3 },
  },
];

// ─────────────────────────────────────────────────────────────────
// AKTIVE INSTANSER — pågående og overdue rutiner (siste 30 dgr)
// status: ok | due-soon | due-today | overdue | done
// ─────────────────────────────────────────────────────────────────
const RUT_INSTANSER = [
  // OK / done (nylig)
  { id: 'i-1',  rutId: 'rt-ok-dag',         dueDate: '2026-05-21', status: 'done',     completedBy: 'HM', completedAt: '2026-05-21 08:55', note: 'Stedfortreder · Øystein i ferie' },
  { id: 'i-2',  rutId: 'rt-avd-morgen',     dueDate: '2026-05-21', status: 'done',     completedBy: 'MR', completedAt: '2026-05-21 08:45' },
  { id: 'i-3',  rutId: 'rt-avd-vakt',       dueDate: '2026-05-21', status: 'done',     completedBy: 'MR', completedAt: '2026-05-21 08:50' },
  { id: 'i-4',  rutId: 'rt-hr-dag',         dueDate: '2026-05-21', status: 'done',     completedBy: 'HM', completedAt: '2026-05-21 09:20' },
  { id: 'i-5',  rutId: 'rt-bistro-dag',     dueDate: '2026-05-21', status: 'done',     completedBy: 'MR', completedAt: '2026-05-21 07:25', note: 'Stedfortreder · Ida sykmeldt' },
  // Due today
  { id: 'i-10', rutId: 'rt-dgl-uke',        dueDate: '2026-05-21', status: 'due-today', assigned: 'KS' },
  { id: 'i-11', rutId: 'rt-veil-uke',       dueDate: '2026-05-21', status: 'due-today', assigned: 'AN' },
  // Due soon (1-3 dgr)
  { id: 'i-20', rutId: 'rt-avd-status',     dueDate: '2026-05-22', status: 'due-soon',  assigned: 'MR' },
  { id: 'i-21', rutId: 'rt-jobb-prak',      dueDate: '2026-05-22', status: 'due-soon',  assigned: 'JN' },
  { id: 'i-22', rutId: 'rt-bistro-uke',     dueDate: '2026-05-22', status: 'due-soon',  assigned: 'MR', note: 'Stedfortreder · Ida sykmeldt' },
  { id: 'i-23', rutId: 'rt-sykkel-uke',     dueDate: '2026-05-22', status: 'due-soon',  assigned: 'RB' },
  // Overdue / eskalert
  { id: 'i-30', rutId: 'rt-hr-uke',         dueDate: '2026-05-18', status: 'overdue',  assigned: 'HM', daysOver: 3, eskalering: 'stedfortreder', eskalertTil: 'KK' },
  { id: 'i-31', rutId: 'rt-kval-uke',       dueDate: '2026-05-15', status: 'overdue',  assigned: 'KK', daysOver: 6, eskalering: 'leder', eskalertTil: 'KS' },
  { id: 'i-32', rutId: 'rt-avd-nav',        dueDate: '2026-05-15', status: 'overdue',  assigned: 'TM', daysOver: 6, eskalering: 'leder', eskalertTil: 'KS', note: 'Kurs · midlertidig overført Jonas' },
  { id: 'i-33', rutId: 'rt-ok-mnd-avsl',    dueDate: '2026-04-30', status: 'overdue',  assigned: 'ØS', daysOver: 21, eskalering: 'leder', eskalertTil: 'KS', note: 'Forsinket pga. årsregnskap · besluttet utsettelse' },
];

// ─────────────────────────────────────────────────────────────────
// ESKALERINGSHENDELSER — siste 14 dgr varsler / hendelser
// ─────────────────────────────────────────────────────────────────
const RUT_HENDELSER = [
  { id: 'h-1', tid: 'i dag 09:30',  type: 'eskalering-leder', tekst: 'Kvalitet · avviksgjennomgang er 6 dgr over frist · varslet daglig leder', mottaker: 'KS', kilde: 'i-31', accent: 'coral' },
  { id: 'h-2', tid: 'i dag 09:15',  type: 'stedfortreder',    tekst: 'HR-uke ledet av Kristin (Hanne på kurs i går–onsdag forrige uke)', mottaker: 'KK', kilde: 'i-30', accent: 'info' },
  { id: 'h-3', tid: 'i går 16:02',  type: 'auto-overfort',    tekst: 'Bankavstemming i dag automatisk tildelt Hanne (Øystein i ferie t.o.m. 29/5)', mottaker: 'HM', kilde: 'i-1',  accent: 'info' },
  { id: 'h-4', tid: 'i går 11:30',  type: 'paminnelse',       tekst: 'Påminnelse: NAV-rapport Holmlia · 6 dgr over frist', mottaker: 'TM', kilde: 'i-32', accent: 'warn' },
  { id: 'h-5', tid: '19. mai 14:10', type: 'eskalering-sted', tekst: 'IPS-oppfølging Holmlia eskalert til Jonas (Tone på kurs)', mottaker: 'JN', kilde: null,  accent: 'info' },
  { id: 'h-6', tid: '19. mai 09:00', type: 'fullfort',        tekst: 'Marius (stedfortreder) fullførte vareleveranse OK:bistro · Ida sykmeldt', mottaker: 'MR', kilde: null, accent: 'success' },
  { id: 'h-7', tid: '18. mai 17:30', type: 'eskalering-leder', tekst: 'Månedsavslutning april · 18 dgr over frist · varslet Kari', mottaker: 'KS', kilde: 'i-33', accent: 'coral' },
  { id: 'h-8', tid: '18. mai 08:00', type: 'auto-overfort',    tekst: 'OK:bistro daglig rutine overført til Marius (Ida sykmeldt fra 20/5)', mottaker: 'MR', kilde: null,  accent: 'info' },
];

// ─────────────────────────────────────────────────────────────────
// ESKALERINGS-POLICY (default)
// ─────────────────────────────────────────────────────────────────
const RUT_POLICY = {
  defaultReminder: 1,       // dgr etter frist · påminnelse til ansvarlig
  defaultDeputy: 3,          // dgr etter frist · varsle stedfortreder
  defaultLeader: 7,          // dgr etter frist · varsle nærmeste leder
  weekendCount: false,        // ikke tell helger
  reminderChannels: ['e-post', 'Teams'],
  leaderChannels: ['e-post', 'Teams', 'SMS'],
};

Object.assign(window, {
  RUT_TODAY, RUT_OMRADER, RUT_ROLLER, RUT_FRAVAER, RUT_KATALOG, RUT_INSTANSER, RUT_HENDELSER, RUT_POLICY,
  rutErFravaer, rutAktivHolder,
});
