#!/usr/bin/env python3
"""
REACH Kennisdossier Generator voor Phoenix Metals B.V.
Gegenereerd op 26 april 2026
Output: DOCX met minimaal 15.000 woorden
"""

from docx import Document
from docx.shared import Pt, Cm, RGBColor, Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH, WD_LINE_SPACING
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
import datetime

# ════ DOCUMENT INITIALIZATION ════
doc = Document()

# Standaard stijlen instellen
style = doc.styles['Normal']
style.font.name = 'Calibri'
style.font.size = Pt(11)
style.paragraph_format.space_after = Pt(6)
style.paragraph_format.line_spacing_rule = WD_LINE_SPACING.MULTIPLE

# Kopstijlen (Heading 1-3)
for level in range(1, 4):
    hs = doc.styles[f'Heading {level}']
    hs.font.name = 'Calibri'
    hs.font.bold = True
    if level == 1:
        hs.font.size = Pt(16)
        hs.font.color.rgb = RGBColor(0, 51, 102)
    elif level == 2:
        hs.font.size = Pt(14)
        hs.font.color.rgb = RGBColor(0, 76, 153)
    else:
        hs.font.size = Pt(12)
        hs.font.color.rgb = RGBColor(0, 102, 204)

# Phoenix Metals kleurenpalet
pm_blue = RGBColor(0, 51, 102)
pm_grey = RGBColor(128, 128, 128)
pm_red = RGBColor(204, 0, 0)

# ════ HELPER FUNCTIONS ════
def add_title_page():
    """Titelpagina met Phoenix Metals branding"""
    
    # Logo placeholder
    doc.add_paragraph().add_run('PHOENIX METALS B.V.').bold = True
    title = doc.add_paragraph()
    title_run = title.add_run('REACH Kennisdossier')
    title_run.bold = True
    title_run.font.size = Pt(24)
    title_run.font.color.rgb = pm_blue
    
    doc.add_paragraph('Vanadiumextractie uit SARU Ash en Staalslakken')
    doc.add_paragraph()
    
    doc.add_paragraph(f'Datum: {datetime.datetime.now().strftime("%d %B %Y")}')
    doc.add_paragraph('Locatie: PlantOne Rotterdam')
    doc.add_paragraph('Project: REACH Phoenix Metals v2.0')
    
    doc.add_page_break()

def add_table(headers, data, style_name='Light Grid Accent 1'):
    """Voegt een tabel toe met opgegeven headers en data"""
    table = doc.add_table(rows=len(data) + 1, cols=len(headers))
    table.style = style_name
    table.alignment = WD_TABLE_ALIGNMENT.LEFT
    
    # Headers
    for i, header in enumerate(headers):
        cell = table.rows[0].cells[i]
        cell.text = header
        cell.paragraphs[0].runs[0].font.bold = True
        cell.paragraphs[0].runs[0].font.color.rgb = pm_blue
    
    # Data
    for row_idx, row_data in enumerate(data):
        for col_idx, cell_data in enumerate(row_data):
            table.rows[row_idx + 1].cells[col_idx].text = str(cell_data)
    
    return table

def add_warning_box(text):
    """Voegt een waarschuwingsbox toe met rode tekst"""
    p = doc.add_paragraph()
    p.paragraph_format.left_indent = Cm(0.5)
    run = p.add_run('⚠️ ' + text)
    run.font.color.rgb = pm_red
    run.font.bold = True

def add_info_box(text):
    """Voegt een infobox toe met blauwe tekst"""
    p = doc.add_paragraph()
    p.paragraph_format.left_indent = Cm(0.5)
    run = p.add_run('ℹ️ ' + text)
    run.font.color.rgb = pm_blue
    run.font.bold = True

def add_key_point(text):
    """Voegt een belangrijk punt toe"""
    p = doc.add_paragraph()
    run = p.add_run('► ' + text)
    run.font.bold = True
    run.font.color.rgb = pm_blue

# ════ MAIN CONTENT ════

# TITELPAGINA
add_title_page()

# INHOUDSOPGAVE
doc.add_heading('Inhoudsopgave', level=1)
doc.add_paragraph('1. Samenvatting Uitvoeringsoverzicht', style='List Number')
doc.add_paragraph('2. REACH Verordening: Juridisch Kader', style='List Number')
doc.add_paragraph('3. Phoenix Metals Casusanalyse', style='List Number')
doc.add_paragraph('4. REACH Registratie (Artikel 3-26)', style='List Number')
doc.add_paragraph('5. REACH Evaluatie (Artikel 40-54)', style='List Number')
doc.add_paragraph('6. REACH Autorisatie (Artikel 56-66)', style='List Number')
doc.add_paragraph('7. REACH Beperkingen (Artikel 67-73)', style='List Number')
doc.add_paragraph('8. SDS en Veiligheidsinformatie (Artikel 31-36)', style='List Number')
doc.add_paragraph('9. CLP Verordening (EG 1272/2008)', style='List Number')
doc.add_paragraph('10. Stofidentificatie en Sameness (Artikel 2, 3)', style='List Number')
doc.add_paragraph('11. Gezamenlijk Gebruik van Gegevens (Artikel 25-27)', style='List Number')
doc.add_paragraph('12. Downstream User Verplichtingen (Artikel 37-39)', style='List Number')
doc.add_paragraph('13. QSAR en PBT Beoordeling', style='List Number')
doc.add_paragraph('14. CLH en Geharmoniseerde Classificatie', style='List Number')
doc.add_paragraph('15. SIP (Stofidentificatieprofiel)', style='List Number')
doc.add_paragraph('16. PGS 15 Opslag Gevaarlijke Stoffen', style='List Number')
doc.add_paragraph('17. Actieplan en Kostenraming', style='List Number')
doc.add_paragraph('18. Bijlagen', style='List Number')
doc.add_page_break()

# HOOFDSTUK 1: SAMENVATTING
doc.add_heading('1. Samenvatting Uitvoeringsoverzicht', level=1)

doc.add_heading('1.1 Projectdoelstelling', level=2)
doc.add_paragraph(
    'Dit kennisdossier biedt een volledige analyse van de REACH-verplichtingen voor Phoenix Metals B.V., '
    'een bedrijf dat zich specialiseert in de hydrometallurgische extractie van vanadium uit secundaire '
    'grondstoffen (SARU ash en staalslakken). Het doel is om helderheid te verschaffen over de juridische '
    'positie van het bedrijf onder REACH, de specifieke verplichtingen per product en procesfase, en de '
    'benodigde acties om volledige compliantie te bereiken.'
)

doc.add_paragraph(
    'Het dossier is gestructureerd rond drie kernvragen: '
    '(1) Wat is de REACH-status van de door Phoenix Metals vervaardigde stoffen? '
    '(2) Welke registratie- en meldingsverplichtingen gelden per ontwikkelingsfase? '
    '(3) Hoe kan Phoenix Metals kostenefficiënt voldoen aan alle REACH-verplichtingen?'
)

doc.add_heading('1.2 Belangrijkste Conclusies', level=2)
add_key_point(
    'De REACH-status van de Vanadium(V)oxide (V₂O₅) is de meest kritische onzekerheid. '
    'Er zijn drie scenario\'s mogelijk: (A) Volledige registratie als fabrikant, '
    '(B) Vrijstelling als hergebruik van gerecycleerde stof (Art. 2(7)(d)), '
    'of (C) Geen verplichting als downstream user. Een formele "sameness check" bij ECHA '
    'is vereist om dit te bepalen.'
)

add_key_point(
    'Tijdens de demo- en pilotfase (tot 3 ton/jaar) kunnen alle stoffen onder PPORD-vrijstelling '
    '(Art. 9) vallen, mits een correcte notificatie bij ECHA wordt ingediend. Dit minimaliseert '
    'registratiekosten maar vereist strikte volumemonitoring.'
)

add_key_point(
    'V₂O₅ is sinds 2023 op de SVHC-kandidaatlijst geplaatst (Reprotoxisch 1B, H361fd). Dit betekent '
    'dat bij een productievolume boven 1 ton/jaar een autorisatieaanvraag verplicht wordt (Art. 56). '
    'De sunset date voor V₂O₅ is naar verwachting in 2028-2029.'
)

add_key_point(
    'De totale REACH-compliancekosten worden geschat op €5.000 (demo), €15.000-45.000 (pilot), '
    'en €120.000-290.000 (FOAK fase). De grootste kostenpost is de LoA bij het Vanadium Consortium '
    '(€15.000-40.000) voor gezamenlijke registratie.'
)

doc.add_heading('1.3 Aanbevolen Actiepad', level=2)
add_info_box('Korte termijn (nu): PPORD-notificatie indienen voor V₂O₅ en vanadium-elektrolyt.')
add_info_box('Middellange termijn (Q3 2026): Sameness check bij ECHA voor V₂O₅.')
add_info_box('Lange termijn (Q4 2027 - Q1 2028): Gezamenlijke registratie indienen indien FOAK-fase wordt bereikt.')

doc.add_page_break()

# HOOFDSTUK 2: REACH VERORDENING
doc.add_heading('2. REACH Verordening: Juridisch Kader', level=1)

doc.add_heading('2.1 Overzicht REACH (EG 1907/2006)', level=2)
doc.add_paragraph(
    'REACH staat voor "Registration, Evaluation, Authorisation and Restriction of Chemicals". '
    'De verordening is opgesteld om de gezondheid van mens en milieu te beschermen tegen de risico\'s '
    'die verbonden zijn aan chemische stoffen, en om de vrije handel van chemische stoffen in de Europese '
    'Unie te bevorderen. De verordening trad in werking op 1 juni 2007 en wordt geïmplementeerd '
    'door ECHA (European Chemicals Agency) in Helsinki.'
)

doc.add_paragraph(
    'REACH kent een aantal fundamentele beginselen die het beleidskader vormen:'
)

doc.add_paragraph('1. Geen data, geen markt — Stoffen die niet geregistreerd zijn, mogen niet in de EU worden gefabriceerd of ingevoerd.', style='List Number')
doc.add_paragraph('2. Verantwoordelijkheid bij de industrie — Het is aan de bedrijven om aan te tonen dat hun stoffen veilig gebruikt kunnen worden.', style='List Number')
doc.add_paragraph('3. Eén stof, één registratie (OSOR) — Alle registranten van dezelfde stof moeten gezamenlijk indienen.', style='List Number')
doc.add_paragraph('4. Substitutieprincipe — Stoffen met ernstige risico\'s moeten zoveel mogelijk worden vervangen door veiliger alternatieven.', style='List Number')
doc.add_paragraph('5. Preventieve aanpak — Risico\'s moeten zoveel mogelijk aan de bron worden beheerst.', style='List Number')

doc.add_heading('2.2 Toepassingsbereik (Artikel 2)', level=2)
doc.add_paragraph(
    'REACH is van toepassing op:'
)

doc.add_paragraph('• Stoffen op zichzelf (art. 2.1)', style='List Bullet')
doc.add_paragraph('• Mengsels (art. 2.2)', style='List Bullet')
doc.add_paragraph('• Stoffen in voorwerpen (art. 2.3)', style='List Bullet')

doc.add_paragraph(
    'Bepaalde stoffen en situaties zijn uitgezonderd van REACH (art. 2.5):'
)

doc.add_paragraph('• Radioactieve stoffen (EWG 2013/59)', style='List Bullet')
doc.add_paragraph('• Stoffen onder douanetoezicht', style='List Bullet')
doc.add_paragraph('• Niet-geïsoleerde tussenproducten', style='List Bullet')
doc.add_paragraph('• Transport van gevaarlijke stoffen (ADR/RID)', style='List Bullet')
doc.add_paragraph('• Afvalstoffen', style='List Bullet')
doc.add_paragraph('• Levensmiddelen en geneesmiddelen', style='List Bullet')

doc.add_heading('2.3 Belangrijke Definities (Artikel 3)', level=2)
doc.add_paragraph(
    '**Stof (Art. 3.1):** Een chemisch element en de verbindingen ervan in hun natuurlijke toestand '
    'of verkregen door een fabricageproces, met inbegrip van eventuele additieven nodig om de '
    'stabiliteit te behouden en onzuiverheden die voorkomen als gevolg van het fabricageproces. '
    'Deze definitie is zeer breed en omvat vrijwel alle chemische entiteiten, inclusief V₂O₅ '
    'en andere vanadiumverbindingen.'
)

doc.add_paragraph(
    '**Mengsel (Art. 3.2):** Een samenstel van stoffen, die in afgemeten verhoudingen tot een geheel '
    'zijn samengevoegd, dat niet is ontstaan bij een chemische reactie. Vanadium-elektrolyt is een '
    'mengsel van vanadiumverbindingen in een zure oplossing en valt dus onder deze definitie.'
)

doc.add_paragraph(
    '**Voorwerp (Art. 3.3):** Een object waaraan tijdens de productie een speciale vorm, oppervlakte '
    'of patroon is gegeven die de functie van het object in hogere mate bepaalt dan de chemische '
    'samenstelling. Bij Phoenix Metals worden geen voorwerpen geproduceerd, maar deze definitie '
    'is relevant voor de grondstoffen die als voorwerpen worden ingevoerd.'
)

doc.add_paragraph(
    '**Fabrikant (Art. 3.8):** Een in de Unie gevestigde natuurlijke persoon of rechtspersoon die '
    'een stof vervaardigt. Als Phoenix Metals als fabrikant wordt aangemerkt, draagt het de volledige '
    'verantwoordelijkheid voor registratie.'
)

doc.add_paragraph(
    '**Importeur (Art. 3.9):** Een in de Unie gevestigde natuurlijke persoon of rechtspersoon die '
    'voor de invoer verantwoordelijk is. Phoenix Metals importeert grondstoffen (SARU ash, staalslakken, '
    'chemicaliën) en moet dus voldoen aan de importeursverplichtingen.'
)

doc.add_paragraph(
    '**Enige vertegenwoordiger (Art. 3.10):** Een in de Unie gevestigde natuurlijke persoon of rechtspersoon '
    'die buiten de Unie gevestigde fabrikanten of importeurs vertegenwoordigt om hun REACH-verplichtingen '
    'te vervullen (artikel 8). Phoenix Metals heeft geen OR nodig aangezien het EU-gevestigd is.'
)

doc.add_paragraph(
    '**Downstreamgebruiker (Art. 3.15):** Een in de Unie gevestigde persoon, niet zijnde een fabrikant of '
    'importeur, die een stof gebruikt bij zijn industriële activiteiten of beroepsactiviteiten. '
    'Indien de stoffen van Phoenix Metals reeds door een upstream partij zijn geregistreerd, vervult '
    'Phoenix Metals de rol van downstreamgebruiker.'
)

doc.add_paragraph(
    '**Tussenproduct (Art. 3.16):** Een stof die vervaardigd wordt voor en verbruikt wordt in of '
    'gebruikt wordt voor een chemische reactie. Er zijn drie soorten: (a) niet-geïsoleerd, '
    '(b) locatiegebonden geïsoleerd, (c) vervoerd geïsoleerd. Tussenproducten zijn vrijgesteld van '
    'registratie mits aan bepaalde voorwaarden wordt voldaan.'
)

doc.add_paragraph(
    '**Polymeer (Art. 3.5):** Een stof die bestaat uit moleculen die gekenmerkt worden door een opeenvolging '
    'van één of meer soorten monomeereenheden. Polymeren zijn vrijgesteld van registratie, maar '
    'monomeren die ≥2% van het polymeer vormen en ≥1 ton/jaar worden gebruikt moeten wel geregistreerd '
    'worden. Vanadiumpolymeren spelen geen rol in het Phoenix Metals-proces.'
)

doc.add_page_break()

# HOOFDSTUK 3: PHOENIX METALS CASUS
doc.add_heading('3. Phoenix Metals Casusanalyse', level=1)

doc.add_heading('3.1 Bedrijfsprofiel', level=2)
doc.add_paragraph(
    'Phoenix Metals B.V. is een innovatief bedrijf dat zich specialiseert in de valorisatie van '
    'metallurgische reststoffen. Via een gepatenteerd hydrometallurgisch proces worden vanadiumverbindingen '
    'uit secundaire grondstoffen geëxtraheerd. De belangrijkste grondstoffen zijn:'
)

doc.add_paragraph('• SARU ash (Secondary Aluminium Refinery Unit) — reststof van aluminiumrecycling', style='List Bullet')
doc.add_paragraph('• Staalslakken — reststof van staalproductie', style='List Bullet')
doc.add_paragraph('• Chemicaliën: H₂SO₄ (25-75%), NaOH (50%), Al₂(SO₄)₃, CaO, Mg(OH)₂, Ca(OH)₂', style='List Bullet')

doc.add_paragraph(
    'De productie vindt plaats in PlantOne Rotterdam, een faciliteit die gespecialiseerd is in '
    'demo- en pilotschaal processen. De huidige productiecapaciteit is <1 ton/jaar, maar de doelstelling '
    'is om binnen 3 jaar te schalen naar >3 ton/jaar (FOAK - First of a Kind commerciële fase).'
)

doc.add_heading('3.2 Productieproces', level=2)
doc.add_paragraph(
    'Het productieproces verloopt in de volgende stappen:'
)

doc.add_paragraph('1. Voorbehandeling van grondstoffen — SARU ash en staalslakken worden gemalen en gescheiden.', style='List Number')
doc.add_paragraph('2. Lixiviatie — De grondstoffen worden opgelost in zwavelzuur.', style='List Number')
doc.add_paragraph('3. Extractie — Vanadium wordt gescheiden via organische extractie.', style='List Number')
doc.add_paragraph('4. Precipitatie — Vanadiumverbindingen worden uit de oplossing neergeslagen.', style='List Number')
doc.add_paragraph('5. Kalcinatie — Het precipitaat wordt verhit tot V₂O₅.', style='List Number')
doc.add_paragraph('6. Elektrolytvorming — V₂O₅ wordt omgezet in vanadium-elektrolyt voor redoxflow batterijen.', style='List Number')

doc.add_paragraph(
    'Als nevenproducten ontstaan ijzeroxide (Fe₂O₃) en gips (CaSO₄), die eveneens commercieel kunnen '
    'worden vermarkt.'
)

doc.add_heading('3.3 REACH-Rechtspositie Scenario\'s', level=2)
doc.add_paragraph(
    'De REACH-status van de door Phoenix Metals vervaardigde V₂O₅ is cruciaal voor de '
    'verplichtingen. Er zijn drie mogelijke scenario\'s:'
)

table = add_table(
    ['Scenario', 'REACH-Rol', 'Beschrijving', 'Kostenimplicatie'],
    [
        ['A', 'Fabrikant (Art. 3.8)', 'V₂O₅ is een "nieuwe" stof die niet eerder geregistreerd is', '€120.000-290.000'],
        ['B', 'Recovered Substance (Art. 2.7(d))', 'V₂O₅ is identiek aan reeds geregistreerde stof', '€15.000-40.000 (LoA)'],
        ['C', 'Downstream User (Art. 3.15)', 'Stof reeds in keten geregistreerd', '€5.000 (SDS only)']
    ]
)

doc.add_paragraph(
    'De meest waarschijnlijke situatie is scenario B (recovered substance), aangezien V₂O₅ '
    '(CAS 1314-62-1) al decennia op de markt is en door meerdere fabrikanten wordt geproduceerd. '
    'Echter, een formele sameness check bij ECHA is vereist om dit te bevestigen.'
)

add_warning_box(
    'Zonder sameness check kan Phoenix Metals niet met zekerheid weten onder welk regime het valt. '
    'Het risico op onbedoelde non-compliance is aanzienlijk.'
)

doc.add_heading('3.4 Stoffeninventarisatie', level=2)
doc.add_heading('3.4.1 Grondstoffen (Invoer)', level=3)

table = add_table(
    ['Stof', 'CAS', 'Volume', 'REACH-Status', 'Verplichting'],
    [
        ['Zwavelzuur (25-75%)', '7664-93-9', '<5 ton', 'Geregistreerd', 'SDS aanvragen'],
        ['Natriumhydroxide (50%)', '1310-73-2', '<10 ton', 'Geregistreerd', 'SDS aanvragen'],
        ['Aluminiumsulfaat', '10043-01-3', '<2 ton', 'Geregistreerd', 'SDS aanvragen'],
        ['Calciumoxide', '1305-78-8', '<1 ton', 'Geregistreerd', 'SDS aanvragen'],
        ['Magnesiumhydroxide', '1309-42-8', '<1 ton', 'Geregistreerd', 'SDS aanvragen'],
        ['Calciumhydroxide', '1305-62-0', '<1 ton', 'Geregistreerd', 'SDS aanvragen'],
        ['SARU ash', 'UVCB', '<5 ton', 'Afvalstof → EoW', 'EoW-certificaat'],
        ['Staalslakken', 'UVCB', '<5 ton', 'Afvalstof → EoW', 'EoW-certificaat']
    ]
)

doc.add_heading('3.4.2 Eigen Producten (Uitvoer)', level=3)

table = add_table(
    ['Stof', 'CAS', 'Volume', 'REACH-Regime', 'Verplichting'],
    [
        ['Vanadium(V)oxide V₂O₅', '1314-62-1', '<0.5 ton', 'PPORD (Art. 9)', 'Notificatie + SDS'],
        ['Vanadium-elektrolyt', 'Mengsel UVCB', '<0.2 ton', 'PPORD (Art. 9)', 'Notificatie + SDS + CLP'],
        ['Natriummetavanaadaat', 'Geen apart CAS', 'Sporen', 'CMR-regime', 'CMR-protocol'],
        ['Trinatriumorthowanaadaat', 'Geen apart CAS', 'Sporen', 'CMR-regime', 'CMR-protocol'],
        ['IJzeroxide Fe₂O₃', '1309-37-1', '<0.5 ton', 'SR&D (Art. 3.23)', 'Status bepalen'],
        ['Gips CaSO₄', '7778-18-9', '<1 ton', 'SR&D (Art. 3.23)', 'EoW beoordelen']
    ]
)

doc.add_paragraph(
    'Note: SR&D = Stoffen Recovered from Waste; PPORD = Product and Process Oriented R&D.'
)

doc.add_heading('3.5 SVHC Analyse', level=2)
doc.add_paragraph(
    'V₂O₅ werd in 2023 op de SVHC-kandidaatlijst geplaatst op basis van reprotoxische eigenschappen '
    '(Categorie 1B, H361fd: "Kan het ongeboren kind schaden. Verdacht schadelijk voor de vruchtbaarheid. '
    'Kan borstvoeding schaden."). Dit heeft significante consequenties:'
)

add_warning_box(
    'Bij productie >1 ton/jaar is een autorisatieaanvraag verplicht (Art. 56). De sunset date '
    'wordt verwacht in 2028-2029, wat betekent dat Phoenix Metals ruim op tijd moet plannen.'
)

add_key_point(
    'Natriummetavanaadaat en trinatriumorthowanaadaat zijn sporenprodukt in het proces en vallen '
    'mogelijk onder het CMR-regime. Hoewel het volume laag is, moet de classificatie en indeling '
    'worden vastgesteld.'
)

doc.add_heading('3.6 End-of-Waste (EoW) Analyse', level=2)
doc.add_paragraph(
    'De Kaderrichtlijn Afval (2008/98/EG) bepaalt dat een stof pas onder REACH valt wanneer deze '
    'de status van "afvalstof" heeft verloren en de status van "product" heeft gekregen. Dit '
    'wordt het End-of-Waste (EoW) moment genoemd.'
)

doc.add_paragraph(
    'Voor SARU ash en staalslakken zijn de volgende criteria relevant:'
)

doc.add_paragraph('1. Certificaat van gebruik — De stof wordt gebruikt voor een specifiek doel', style='List Number')
doc.add_paragraph('2. Marktbestemming — Er is een afzetmarkt voor de stof', style='List Number')
doc.add_paragraph('3. Productnormen — De stof voldoet aan bestaande productnormen', style='List Number')
doc.add_paragraph('4. Geen advers effecten — Het gebruik leidt niet tot negatieve milieu- of gezondheidseffecten', style='List Number')

doc.add_paragraph(
    'In het geval van Phoenix Metals treedt het EoW-moment op zodra de SARU ash en staalslakken '
    'worden gebruikt als grondstof voor het productieproces. Vanaf dat moment zijn de '
    'resultierende stoffen onderworpen aan REACH.'
)

doc.add_page_break()

# HOOFDSTUK 4: REACH REGISTRATIE
doc.add_heading('4. REACH Registratie (Artikel 3-26)', level=1)

doc.add_heading('4.1 Algemene Registratieverplichting (Artikel 6)', level=2)
doc.add_paragraph(
    'Elke fabrikant of importeur die een stof vervaardigt of invoert in een hoeveelheid van '
    '≥1 ton per jaar moet een registratie indienen (Art. 6.1). De registratie bevat:'
)

doc.add_paragraph('1. Een technisch dossier (Art. 10)', style='List Number')
doc.add_paragraph('2. Een chemischeveiligheidsrapport (CSR), indien van toepassing (Art. 14)', style='List Number')
doc.add_paragraph('3. Betaling van registratiekosten (Art. 74)', style='List Number')

doc.add_paragraph(
    '**Termijnen:** De initiële registratiedeadlines zijn verstreken (2010, 2013, 2018). '
    'Voor nieuwe registranten geldt: registratie vóór eerste marktintroductie (Art. 6.3). '
    'Dit betekent dat Phoenix Metals moet registreren vóórdat het de eerste commerciële levering '
    'van een niet-PPORD-stof uitvoert.'
)

doc.add_paragraph(
    '**Phoenix Metals:** In de demo-fase (<60 kg/jaar) geldt de PPORD-vrijstelling (Art. 9). '
    'Vanaf de pilot-fase (0,5-3 ton/jaar) moet Phoenix Metals bepalen of de drempel van '
    '1 ton/jaar wordt overschreden. Zo ja, dan is registratie vereist tenzij een vrijstelling '
    'van toepassing is.'
)

doc.add_heading('4.2 Tonnagebanden en Informatie-eisen (Artikel 12)', level=2)
doc.add_paragraph(
    'De vereiste informatie verschilt per tonnageband. Er zijn vier categorieën:'
)

table = add_table(
    ['Tonnageband', 'Bijlagen', 'Aantal tests (gemiddeld)', 'Cost (MKB)'],
    [
        ['1-10 ton/jaar', 'VII', '5-10', '€1.500-5.000'],
        ['10-100 ton/jaar', 'VII + VIII', '10-20', '€5.000-15.000'],
        ['100-1000 ton/jaar', 'VII + VIII + IX', '20-40', '€15.000-45.000'],
        ['≥1000 ton/jaar', 'VII + VIII + IX + X', '40-80', '€45.000-120.000']
    ]
)

doc.add_paragraph(
    '**CSR verplichting:** Voor ≥10 ton/jaar is een Chemischeveiligheidsrapport (CSR) verplicht '
    '(Art. 14.4). Phoenix Metals valt in de demo- en pilotfase hieronder, maar moet rekening '
    'houden met de CSR-verplichting in de FOAK-fase.'
)

doc.add_heading('4.3 Technisch Dossier (Artikel 10)', level=2)
doc.add_paragraph(
    'Het technisch dossier bevat de volgende elementen:'
)

doc.add_paragraph('1. Identiteit fabrikant/importeur', style='List Number')
doc.add_paragraph('2. Identiteit stof (naam, EG-nummer, CAS-nummer, samenstelling)', style='List Number')
doc.add_paragraph('3. Informatie over vervaardiging en gebruik(en)', style='List Number')
doc.add_paragraph('4. Indeling en etikettering (CLP)', style='List Number')
doc.add_paragraph('5. Richtsnoeren voor veilig gebruik', style='List Number')
doc.add_paragraph('6. Onderzoekssamenvattingen', style='List Number')
doc.add_paragraph('7. Uitgebreide onderzoekssamenvattingen', style='List Number')
doc.add_paragraph('8. Testvoorstellen', style='List Number')
doc.add_paragraph('9. Informatie over blootstelling', style='List Number')
doc.add_paragraph('10. Vertrouwelijkheidsverzoeken', style='List Number')

doc.add_paragraph(
    '**Identiteit van de stof:** Voor Phoenix Metals is dit cruciaal. De samenstelling van V₂O₅ '
    'moet nauwkeurig worden beschreven, inclusief onzuiverheden en additieven. Bijlage VI bevat '
    'de specifieke richtsnoeren voor stofidentificatie.'
)

doc.add_heading('4.4 Chemischeveiligheidsrapport (Artikel 14)', level=2)
doc.add_paragraph(
    'De CSR is verplicht voor ≥10 ton/jaar en stoffen die als gevaarlijk zijn geclassificeerd. '
    'Het rapport bevat twee delen:'
)

doc.add_paragraph('**Deel A: Samenvatting risicobeheersmaatregelen** — Dit deel is bedoeld voor downstreamgebruikers en bevat:', style='List Bullet')
doc.add_paragraph('• Bedrijfsvoorwaarden (OCs — Operational Conditions)', style='List Bullet')
doc.add_paragraph('• Risicobeheersmaatregelen (RMMs)', style='List Bullet')
doc.add_paragraph('• Exposure Categorieën', style='List Bullet')

doc.add_paragraph('**Deel B: Identificatie, eigenschappen, gevarenbeoordeling** — Dit deel is bedoeld voor autoriteiten en bevat:', style='List Bullet')
doc.add_paragraph('• Stofidentiteit en fysicochemische eigenschappen', style='List Bullet')
doc.add_paragraph('• Gevarenbeoordeling (mens en milieu)', style='List Bullet')
doc.add_paragraph('• PBT/zPzB-beoordeling', style='List Bullet')
doc.add_paragraph('• Blootstellingsbeoordeling', style='List Bullet')
doc.add_paragraph('• Risicobeoordeling', style='List Bullet')

doc.add_paragraph(
    '**Phoenix Metals:** In de pilotfase is de CSR nog niet verplicht, maar het is raadzaam om '
    'reeds te beginnen met de blootstellingsbeoordeling. Dit versnelt de registratie in de FOAK-fase.'
)

doc.add_heading('4.5 Procedures en Termijnen (Artikel 20-22)', level=2)
doc.add_paragraph(
    'Registraties worden ingediend via REACH-IT en doorlopen de volgende fases:'
)

doc.add_paragraph('1. Validatie — ECHA controleert of het dossier compleet is (2-4 weken)', style='List Number')
doc.add_paragraph('2. Business Rules Check — ECHA controleert interne consistentie (2-4 weken)', style='List Number')
doc.add_paragraph('3. Indieningsnummer — Het dossier ontvangt een uniek nummer', style='List Number')
doc.add_paragraph('4. TCC (Technical Completeness Check) — Diepere controle van kwaliteit', style='List Number')
doc.add_paragraph('5. Financiële volledigheid — Betaling registratiekosten', style='List Number')
doc.add_paragraph('6. Registratienummer — Het dossier wordt geregistreerd', style='List Number')

doc.add_paragraph(
    '**Termijnen voor updates (Art. 22):**'
)

table = add_table(
    ['Type wijziging', 'Termijn', 'Kosten'],
    [
        ['Identiteit, samenstelling, tonnageband, nieuw gebruik', '3 maanden', 'Updatekosten'],
        ['Nieuwe risico-informatie, wijziging indeling/etikettering', '6 maanden', 'Updatekosten'],
        ['CSR of veiligheidsrichtsnoeren aanpassing', '12 maanden', 'Updatekosten']
    ]
)

doc.add_paragraph(
    '**Mederegistranten:** Als deel van een gezamenlijke indiening moeten mederegistranten hun '
    'dossier aanpassen binnen 3 maanden na de hoofdregistrant (9 maanden voor CSR-wijzigingen).'
)

doc.add_heading('4.6 Registratiekosten (Artikel 74)', level=2)
doc.add_paragraph(
    'De registratiekosten worden bepaald door de volgende parameters:'
)

doc.add_paragraph('• Tonnageband', style='List Bullet')
doc.add_paragraph('• Type stof (intermediates, fase-in stoffen, polymeren)', style='List Bullet')
doc.add_paragraph('• Gezamenlijke of individuele indiening', style='List Bullet')
doc.add_paragraph('• Vertrouwelijkheid van gegevens', style='List Bullet')

doc.add_paragraph(
    '**MKB-kortingen:**'
)

table = add_table(
    ['Bedrijfscategorie', 'Werknemers', 'Omzet', 'Korting'],
    [
        ['Micro', '<10', '≤€2 mln', '90%'],
        ['Klein', '<50', '≤€10 mln', '65%'],
        ['Middelgroot', '<250', '≤€50 mln', '40%'],
        ['Groot', '≥250', '>€50 mln', 'Geen']
    ]
)

doc.add_paragraph(
    'Phoenix Metals valt in de categorie "Klein" en komt in aanmerking voor 65% korting. '
    'Dit betekent dat de registratiekosten voor V₂O₅ (bij 100-1000 ton/jaar) ongeveer '
    '€15.000 bedragen in plaats van €45.000.'
)

doc.add_heading('4.7 Vrijstellingen van Registratie (Artikel 2, Bijlage IV, V)', level=2)
doc.add_paragraph(
    'Er zijn verschillende vrijstellingen van registratie:'
)

doc.add_paragraph('**Van REACH (Art. 2.5):**', style='List Bullet')
doc.add_paragraph('• Radioactieve stoffen', style='List Bullet')
doc.add_paragraph('• Stoffen onder douanetoezicht', style='List Bullet')
doc.add_paragraph('• Afvalstoffen', style='List Bullet')
doc.add_paragraph('• Transport van gevaarlijke stoffen', style='List Bullet')

doc.add_paragraph('**Van Registratie (Art. 2.7):**', style='List Bullet')
doc.add_paragraph('• Levensmiddelen en geneesmiddelen', style='List Bullet')
doc.add_paragraph('• Stoffen in Bijlage IV (minimaal risico)', style='List Bullet')
doc.add_paragraph('• Stoffen in Bijlage V', style='List Bullet')
doc.add_paragraph('• Gerecycleerde stoffen (indien reeds geregistreerd)', style='List Bullet')
doc.add_paragraph('• Wederingevoerde stoffen', style='List Bullet 2)
doc.add_paragraph('• Polymeren (monomeren ≥2% en ≥1 ton wel)', style='List Bullet')
doc.add_paragraph('• PPORD (5 jaar na kennisgeving)', style='List Bullet')

doc.add_paragraph(
    '**Beschouwd als geregistreerd:**', style='List Bullet')
doc.add_paragraph('• Biociden en gewasbeschermingsmiddelen (indien goedgekeurd)', style='List Bullet')
doc.add_paragraph('• Stoffen aangemeld onder NONS (Notification of New Substances)', style='List Bullet 2)

doc.add_paragraph(
    '**Phoenix Metals:** De belangrijkste vrijstelling is PPORD (Art. 9), die van toepassing is '
    'op de demo- en pilotfase. Na 5 jaar of bij commerciële productie moet volledige registratie '
    'plaatsvinden.'
)

doc.add_heading('4.8 Stoffen in Voorwerpen (Artikel 7)', level=2)
doc.add_paragraph(
    'Stoffen in voorwerpen zijn onderworpen aan registratie indien:'
)

table = add_table(
    ['Situatie', 'Verplichting', 'Artikel'],
    [
        ['Intended release + >1 ton/jaar', 'Registratie', 'Art. 7.1'],
        ['SVHC + >0,1% + >1 ton/jaar', 'Kennisgeving', 'Art. 7.2'],
        ['Geen intended release of <1 ton/jaar', 'Geen verplichting', '—']
    ]
)

doc.add_paragraph(
    '**Phoenix Metals:** V₂O₅ en vanadium-elektrolyt zijn stoffen, geen voorwerpen. De regels '
    'voor voorwerpen zijn derhalve niet van toepassing.'
)

doc.add_heading('4.9 Enige Vertegenwoordiger (OR) (Artikel 8)', level=2)
doc.add_paragraph(
    'Een Enige Vertegenwoordiger (OR) is een in de EU gevestigde persoon die de REACH-verplichtingen '
    'van niet-EU fabrikanten overneemt. Voorwaarden:'
)

doc.add_paragraph('• De OR moet EU-gevestigd zijn', style='List Bullet')
doc.add_paragraph('• De OR moet voldoende kennis hebben van REACH', style='List Bullet')
doc.add_paragraph('• De OR moet een verzoek ontvangen van de niet-EU fabrikant', style='List Bullet')

doc.add_paragraph(
    '**Phoenix Metals:** Als EU-gevestigd bedrijf heeft Phoenix Metals geen OR nodig. Echter, '
    'als Phoenix Metals in de toekomst goederen invoert uit niet-EU landen die niet geregistreerd '
    'zijn, kan het zelf als OR optreden.'
)

doc.add_heading('4.10 PPORD Vrijstelling (Artikel 9)', level=2)
doc.add_paragraph(
    'Product- en procesgerichte ontwikkeling en onderzoek (PPORD) is vrijgesteld van registratie '
    'onder de volgende voorwaarden:'
)

doc.add_paragraph('• De hoeveelheid is <1 ton/jaar', style='List Bullet')
doc.add_paragraph('• De stof wordt gebruikt voor PPORD', style='List Bullet')
doc.add_paragraph('• Er is een kennisgeving bij ECHA ingediend', style='List Bullet')
doc.add_paragraph('• De vrijstelling geldt maximaal 5 jaar', style='List Bullet')

doc.add_paragraph(
    '**Phoenix Metals:** In de demo-fase (<60 kg/jaar) en pilotfase (0,5-3 ton/jaar) kan PPORD '
    'worden toegepast. Het is cruciaal om de volumemonitoring strikt bij te houden om te '
    'voorkomen dat de 1-ton drempel onbedoeld wordt overschreden.'
)

add_warning_box(
    'Bij overschrijding van de 1-ton drempel zonder registratie kan Phoenix Metals een '
    'boete ontvangen tot €100.000 per dag van non-compliance.'
)

doc.add_page_break()

# HOOFDSTUK 5: REACH EVALUATIE
doc.add_heading('5. REACH Evaluatie (Artikel 40-54)', level=1)

doc.add_heading('5.1 Overzicht Evaluatieproces', level=2)
doc.add_paragraph(
    'De evaluatie is de tweede pijler van REACH, na registratie. Het doel is om de kwaliteit van '
    'de registraties te waarborgen en risico\'s voor mens en milieu te identificeren. ECHA voert '
    'twee soorten evaluaties uit:'
)

doc.add_paragraph('1. Dossierbeoordeling — Controleren of registraties aan alle verplichtingen voldoen', style='List Number')
doc.add_paragraph('2. Stoffenbeoordeling — Beoordelen of stoffen risico\'s vormen voor gezondheid of milieu', style='List Number')

doc.add_heading('5.2 Dossierbeoordeling (Artikel 40-43)', level=2)
doc.add_paragraph(
    'ECHA onderzoekt alle registraties op basis van prioriteitscriteria:'
)

doc.add_paragraph('• Opt-out registraties (registraties buiten de gezamenlijke indiening)', style='List Bullet')
doc.add_paragraph('• Stoffen met SVHC-status', style='List Bullet')
doc.add_paragraph('• Stoffen met PBT/zPzB-eigenschappen', style='List Bullet')
doc.add_paragraph('• Stoffen met breed gebruik', style='List Bullet')

doc.add_paragraph(
    '**Onderzoek van testvoorstellen (Art. 40, 43):** Alle testvoorstellen uit Bijlage IX en X '
    'worden door ECHA onderzocht. De termijn is 6 maanden na vaststelling van de noodzaak '
    '(12 maanden bij teststrategie voor een groep stoffen). Het doel is om onnodige dierproeven '
    'te voorkomen en de betrouwbaarheid van tests te controleren.'
)

doc.add_paragraph(
    '**Nalevingscontrole (Art. 41):** ECHA controleert of registranten aan alle verplichtingen '
    'voldoen. Dit kan leiden tot een verzoek om aanvullende informatie.'
)

add_key_point(
    'Als Phoenix Metals deelneemt aan een gezamenlijke registratie, is de kans op dossierbeoordeling '
    'lager dan bij een individuele registratie.'
)

doc.add_heading('5.3 Stoffenbeoordeling (Artikel 44-48)', level=2)
doc.add_paragraph(
    'De stoffenbeoordeling richt zich op alle registranten van een stof en heeft als doel om '
    'vast te stellen of de stof risico\'s vormt voor de gezondheid van mens of milieu. '
    'ECHA kan bedrijven verplichten om aanvullende informatie te verzamelen.'
)

doc.add_paragraph(
    'De beoordeling wordt uitgevoerd door lidstaten en kan resulteren in:'
)

doc.add_paragraph('• Vraag om aanvullende informatie', style='List Bullet')
doc.add_paragraph('• Beperking van gebruik', style='List Bullet')
doc.add_paragraph('• Voorstel voor SVHC-kandidaatlijst', style='List Bullet')

add_warning_box(
    'V₂O₅ is reeds op de SVHC-kandidaatlijst geplaatst, wat betekent dat ECHA waarschijnlijk '
    'een stoffenbeoordeling zal uitvoeren. Phoenix Metals moet zich voorbereiden op mogelijke '
    'vragen om aanvullende data.'
)

doc.add_heading('5.4 Besluitvorming en Beroepsprocedures (Artikel 49-54)', level=2)
doc.add_paragraph(
    'Tijdens de evaluatie gelden beperkingen op dossieraanpassingen (Art. 50, 51). Als een '
    'registratie ongeldig wordt verklaard, kan er beroep worden aangetekend.'
)

doc.add_paragraph(
    '**Registratie ongeldig (Art. 50):** Een registratie kan ongeldig worden verklaard als de '
    'vervaardiging wordt beëindigd tijdens de beoordeling. In dat geval moet Phoenix Metals '
    'een nieuwe registratie indienen als het de productie hervat.'
)

doc.add_page_break()

# HOOFDSTUK 6: REACH AUTORISATIE
doc.add_heading('6. REACH Autorisatie (Artikel 56-66)', level=1)

doc.add_heading('6.1 SVHC Criteria (Artikel 57)', level=2)
doc.add_paragraph(
    'Stoffen met zeer zorgwekkende eigenschappen (SVHC) kunnen onderworpen worden aan autorisatie. '
    'De criteria staan in Artikel 57:'
)

table = add_table(
    ['Artikel', 'Gevarenklasse', 'Referentie', 'Phoenix Metals Relevant'],
    [
        ['57(a)', 'Carcinogenicity Cat 1A/1B', 'CLP Bijlage I, sectie 3.6', 'Nee'],
        ['57(b)', 'Germ cell mutagenicity Cat 1A/1B', 'CLP Bijlage I, sectie 3.5', 'Nee'],
        ['57(c)', 'Reproductive toxicity Cat 1A/1B', 'CLP Bijlage I, sectie 3.7', 'V₂O₅'],
        ['57(d)', 'PBT', 'REACH Bijlage XIII', 'Mogelijk'],
        ['57(e)', 'vPvB', 'REACH Bijlage XIII', 'Mogelijk'],
        ['57(f)', 'ELOC (endocrine disruptors, etc.)', 'Case-by-case', 'Mogelijk']
    ]
)

doc.add_paragraph(
    '**V₂O₅ status:** V₂O₅ werd in 2023 op de SVHC-kandidaatlijst geplaatst op basis van Artikel 57(c) '
    '(Reprotoxisch Categorie 1B, H361fd). Dit betekent dat het stoffen mogelijk onderworpen '
    'worden aan autorisatie.'
)

doc.add_heading('6.2 Kandidaatlijst Procedure (Artikel 59)', level=2)
doc.add_paragraph(
    'Stoffen worden op de kandidaatlijst geplaatst via de volgende procedure:'
)

doc.add_paragraph('1. Annex XV dossier indiening', style='List Number')
doc.add_paragraph('2. ECHA beoordeling', style='List Number')
doc.add_paragraph('3. Raadpleging (60 dagen)', style='List Number')
doc.add_paragraph('4. Besluit van de Commissie', style='List Number')
doc.add_paragraph('5. Publicatie op ECHA website', style='List Number')

doc.add_paragraph(
    'Het Annex XV dossier bevat twee delen: Part I (hazard assessment) en Part II (prioritisation). '
    'Voor CMR-stoffen (57a,b,c) volstaat een referentie aan CLP Bijlage VI, maar voor '
    'PBT/vPvB/ELOC zijn volledige details nodig.'
)

add_key_point(
    'V₂O₅ staat reeds op de kandidaatlijst. Phoenix Metals moet dit meenemen in de '
    'commerciële planning.'
)

doc.add_heading('6.3 Autorisatie Procedure (Artikel 56)', level=2)
doc.add_paragraph(
    'Stoffen op Bijlage XIV zijn onderworpen aan autorisatie. De procedure omvat:'
)

doc.add_paragraph('1. Sunset date — Datum waarop gebruik verboden is tenzij autorisatie verleend', style='List Number')
doc.add_paragraph('2. Latest application date — Minstens 18 maanden vóór sunset date', style='List Number')
doc.add_paragraph('3. Autorisatieaanvraag indienen bij ECHA', style='List Number')
doc.add_paragraph('4. ECHA beoordeling door RAC (4-10 maanden) en SEAC', style='List Number')
doc.add_paragraph('5. Commissie besluit (min. 6 maanden)', style='List Number')

doc.add_paragraph(
    'Er zijn twee routes voor autorisatie:'
)

add_key_point(
    'Route 1: Adequate Control — Het risico is adequaat beheerst (blootstelling < DNEL/PNEC). '
    'Dit is de meest waarschijnlijke route voor V₂O₅.'
)

add_key_point(
    'Route 2: Socio-Economic Benefits — De voordelen wegen op tegen de risico\'s en er zijn geen '
    'alternatieven beschikbaar. Deze route vereist een uitgebreide SEA (Socio-Economic Analysis).'
)

doc.add_heading('6.4 Analysis of Alternatives (AoA)', level=2)
doc.add_paragraph(
    'Doel: geschikte alternatieven identificeren. Een alternatief is "geschikt" als:'
)

doc.add_paragraph('• Het veiliger is dan de SVHC-stof', style='List Bullet')
doc.add_paragraph('• Het technisch en economisch haalbaar is', style='List Bullet')
doc.add_paragraph('• Het beschikbaar is', style='List Bullet')

doc.add_paragraph(
    'Als geschikte alternatieven beschikbaar zijn, is een substitution plan verplicht.'
)

doc.add_heading('6.5 Socio-Economic Analysis (SEA)', level=2)
doc.add_paragraph(
    'Bij de socio-economic route moet een SEA worden ingediend. De SEA beschrijft:'
)

doc.add_paragraph('• Het non-use scenario', style='List Bullet')
doc.add_paragraph('• De kosten en baten van vervanging', style='List Bullet')
doc.add_paragraph('• De impact op werkgelegenheid en economie', style='List Bullet')

doc.add_heading('6.6 Downstream User Melding (Artikel 66)', level=2)
doc.add_paragraph(
    'Downstream users moeten het gebruik van SVHC-stoffen melden aan ECHA binnen 3 maanden na '
    'de eerste levering. Dit geldt voor Phoenix Metals indien het V₂O₅ als DU gebruikt.'
)

doc.add_page_break()

# HOOFDSTUK 7: REACH BEPERKINGEN
doc.add_heading('7. REACH Beperkingen (Artikel 67-73, Bijlage XVII)', level=1)

doc.add_heading('7.1 Overzicht Beperkingen', level=2)
doc.add_paragraph(
    'Beperkingen zijn bedoeld om onaanvaardbare risico\'s te beheersen die niet door registratie '
    'worden aangepakt. Ze zijn niet gekoppeld aan registratieprocedures en kunnen op elk moment '
    'worden ingevoerd.'
)

doc.add_paragraph(
    'Vormen van beperkingen:'
)

doc.add_paragraph('• Volledig verbod (bijvoorbeeld asbest)', style='List Bullet')
doc.add_paragraph('• Concentratielimieten (bijvoorbeeld ftalaten)', style='List Bullet')
doc.add_paragraph('• Gebruiksbeperkingen (bijvoorbeeld bepaalde toepassingen)', style='List Bullet')

doc.add_heading('7.2 Besluitvorming (Artikel 69-73)', level=2)
doc.add_paragraph(
    'Besluitvorming houdt rekening met:'
)

doc.add_paragraph('• De aanwezigheid van alternatieven', style='List Bullet')
doc.add_paragraph('• De risico\'s van alternatieven', style='List Bullet')
doc.add_paragraph('• De socio-economische impact', style='List Bullet')

doc.add_paragraph(
    'Er is een openbare raadpleging door ECHA van 60 dagen voordat een besluit wordt genomen.'
)

doc.add_heading('7.3 Verplichtingen voor Bedrijven', level=2)
doc.add_paragraph(
    'De volgende partijen hebben verplichtingen onder het beperkingenregime:'
)

doc.add_paragraph('• Fabrikanten', style='List Bullet')
doc.add_paragraph('• Producenten van voorwerpen', style='List Bullet')
doc.add_paragraph('• Downstream users', style='List Bullet')
doc.add_paragraph('• Distributeurs', style='List Bullet')

doc.add_paragraph(
    '**Bewaarplicht:** Documentatie moet 10 jaar na de laatste levering worden bewaard.'
)

doc.add_paragraph(
    '**Phoenix Metals:** Er zijn momenteel geen beperkingen van toepassing op vanadiumverbindingen. '
    'Echter, Phoenix Metals moet de ontwikkelingen in Bijlage XVII in de gaten houden.'
)

doc.add_page_break()

# HOOFDSTUK 8: SDS EN VEILIGHEIDSINFORMATIE
doc.add_heading('8. SDS en Veiligheidsinformatie (Artikel 31-36)', level=1)

doc.add_heading('8.1 SDS Verplichting (Artikel 31)', level=2)
doc.add_paragraph(
    'Een Veiligheidsinformatieblad (SDS) is verplicht indien:'
)

doc.add_paragraph('• De stof of het mengsel gevaarlijk is volgens CLP', style='List Bullet')
doc.add_paragraph('• De stof PBT/zPzB is', style='List Bullet')
doc.add_paragraph('• De stof SVHC-kandidaat is', style='List Bullet')

doc.add_paragraph(
    'Op verzoek moet een SDS worden verstrekt voor:'
)

doc.add_paragraph('• Mengsels met ≥1% gevaarlijke stof (0,2% voor gassen)', style='List Bullet')
doc.add_paragraph('• Mengsels met ≥0,1% CMR categorie 2, sensitiser, PBT/zPzB', style='List Bullet')
doc.add_paragraph('• Stoffen met werkplekgrenswaarden', style='List Bullet')

doc.add_paragraph(
    '**Eisen:**'
)

doc.add_paragraph('• Taal: Officiële taal van de lidstaat (Nederlands)', style='List Bullet')
doc.add_paragraph('• Versterking: Gratis, papier of elektronisch, bij eerste levering', style='List Bullet')
doc.add_paragraph('• Bijwerking: Verplicht bij nieuwe informatie (Art. 31.9)', style='List Bullet')

doc.add_paragraph(
    '**Phoenix Metals:** Voor alle stoffen van Phoenix Metals is een SDS verplicht: V₂O₅, '
    'vanadium-elektrolyt, Fe₂O₃, en CaSO₄.'
)

doc.add_heading('8.2 De 16 Rubrieken (Bijlage II)', level=2)
doc.add_paragraph(
    'Het SDS moet de volgende rubrieken bevatten:'
)

table = add_table(
    ['Rubriek', 'Onderwerp', 'Phoenix Metals Relevant'],
    [
        ['1', 'Identificatie stof/mengsel en vennootschap', 'Ja'],
        ['2', 'Identificatie gevaren (CLP)', 'Ja'],
        ['3', 'Samenstelling en bestanddelen', 'Ja'],
        ['4', 'Eerstehulpmaatregelen', 'Ja'],
        ['5', 'Brandbestrijdingsmaatregelen', 'Ja'],
        ['6', 'Maatregelen bij accidenteel vrijkomen', 'Ja'],
        ['7', 'Hantering en opslag', 'Ja'],
        ['8', 'Blootstellingsbeheersing/PBM', 'Ja'],
        ['9', 'Fysische en chemische eigenschappen', 'Ja'],
        ['10', 'Stabiliteit en reactiviteit', 'Ja'],
        ['11', 'Toxicologische informatie', 'Ja'],
        ['12', 'Ecologische informatie', 'Ja'],
        ['13', 'Verwijderingsinstructies', 'Ja'],
        ['14', 'Transportinformatie (ADR/RID/IMDG)', 'Ja'],
        ['15', 'Regelgeving', 'Ja'],
        ['16', 'Overige informatie', 'Ja']
    ]
)

doc.add_heading('8.3 e-SDS en Blootstellingsscenario\'s', level=2)
doc.add_paragraph(
    'Voor ≥10 ton/jaar én gevaarlijk/PBT/zPzB is een uitgebreid SDS (e-SDS) verplicht met '
    'blootstellingsscenario\'s. Het e-SDS bevat:'
)

doc.add_paragraph('• Operationele omstandigheden (OC\'s)', style='List Bullet')
doc.add_paragraph('• Risicobeheersmaatregelen (RMM\'s)', style='List Bullet')
doc.add_paragraph('• Exposure Categorieën', style='List Bullet')

doc.add_paragraph(
    'Downstream users moeten de instructies opvolgen en hebben 12 maanden na ontvangst om '
    'maatregelen te implementeren.'
)

doc.add_heading('8.4 Bewaarplicht (Artikel 36)', level=2)
doc.add_paragraph(
    'Alle SDS-en moeten 10 jaar na de laatste levering worden bewaard.'
)

doc.add_page_break()

# HOOFDSTUK 9: CLP VERORDENING
doc.add_heading('9. CLP Verordening (EG 1272/2008)', level=1)

doc.add_heading('9.1 Overzicht CLP', level=2)
doc.add_paragraph(
    'De CLP-verordening (Classification, Labelling and Packaging) is gebaseerd op het UN GHS-systeem '
    'en vult REACH aan voor de communicatie van gevaren. Alle stoffen en mengsels moeten worden '
    'geïndiceerd en geëtiketteerd vóór marktintroductie.'
)

doc.add_heading('9.2 Etiket Elementen (Artikel 17)', level=2)
doc.add_paragraph(
    'Het etiket moet de volgende elementen bevatten:'
)

doc.add_paragraph('1. Naam, adres, telefoonnummer leverancier', style='List Number')
doc.add_paragraph('2. Nominale hoeveelheid (publiek)', style='List Number')
doc.add_paragraph('3. Productidentificatie (Art. 18)', style='List Number')
doc.add_paragraph('4. Gevarenpictogrammen (Art. 19)', style='List Number')
doc.add_paragraph('5. Signaalwoorden (Art. 20)', style='List Number')
doc.add_paragraph('6. Gevarenaanduidingen H-zinnen (Art. 21)', style='List Number')
doc.add_paragraph('7. Voorzorgsmaatregelen P-zinnen (Art. 22)', style='List Number')
doc.add_paragraph('8. Aanvullende informatie (Art. 25)', style='List Number')

doc.add_heading('9.3 Pictogrammen', level=2)
doc.add_paragraph(
    'Vorm: Ruit, zwart symbool, witte achtergrond, rode rand. Voorrangsregels:'
)

add_key_point('GHS01 > GHS02/GHS03 (Explosie > Vlam/Gas)')
add_key_point('GHS06 > GHS07 (Dodelijk > Waarschuwing)')
add_key_point('GHS05 > GHS07 (Corrosief > Waarschuwing)')
add_key_point('GHS08 > GHS07 (Gevaar voor gezondheid > Waarschuwing)')

doc.add_heading('9.4 Signaalwoorden', level=2)
doc.add_paragraph(
    '• Danger: Voor ernstigere categorieën', style='List Bullet')
doc.add_paragraph('• Warning: Voor minder ernstige categorieën', style='List Bullet')

doc.add_paragraph(
    'Voorrang: Danger overschrijft Warning.'
)

doc.add_heading('9.5 H- en P-zinnen', level=2)
doc.add_paragraph(
    'H-zinnen (Gevaren):'
)

doc.add_paragraph('• H200-299: Fysische gevaren', style='List Bullet')
doc.add_paragraph('• H300-399: Gezondheidsgevaren', style='List Bullet')
doc.add_paragraph('• H400-499: Milieugevaren', style='List Bullet')

doc.add_paragraph(
    'P-zinnen (Voorzorgsmaatregelen):'
)

doc.add_paragraph('• P100-299: Algemeen', style='List Bullet')
doc.add_paragraph('• P300-399: Preventie', style='List Bullet')
doc.add_paragraph('• P400-499: Reactie', style='List Bullet')
doc.add_paragraph('• P500-599: Opslag', style='List Bullet')
doc.add_paragraph('• P600-699: Verwijdering', style='List Bullet')

doc.add_paragraph(
    '**EUH-zinnen:** Aanvullende zinnen uit DSD/DPD.'
)

doc.add_heading('9.6 UFI (Artikel 25.7, Bijlage VIII)', level=2)
doc.add_paragraph(
    'De Unique Formula Identifier (UFI) is verplicht voor gevaarlijke mengsels met C&L-notificatie. '
    'Het UFI bestaat uit 16 alfanumerieke tekens en moet op het etiket en de verpakking worden '
    'vermeld, voorafgegaan door "UFI:".'
)

doc.add_heading('9.7 CLP-notificatie (PCN, Artikel 40)', level=2)
doc.add_paragraph(
    'Aanmelding in de C&L-inventaris is verplicht binnen 1 maand na marktintroductie. Sinds 2020 '
    'moet het UFI worden opgenomen.'
)

doc.add_heading('9.8 Vrijstellingen Kleine Verpakkingen (Artikel 29)', level=2)
doc.add_paragraph(
    'Voor verpakkingen ≤125 ml mogen bepaalde H/P-zinnen worden weggelaten, maar pictogrammen en '
    'signaalwoorden blijven verplicht.'
)

doc.add_paragraph(
    '**Phoenix Metals:** Vanadium-elektrolyt is een mengsel en moet worden geclassificeerd en '
    'geëtiketteerd volgens CLP. V₂O₅ is een stof en heeft al een C&L in de ECHA-database.'
)

doc.add_page_break()

# HOOFDSTUK 10: STOFIDENTIFICATIE
doc.add_heading('10. Stofidentificatie en Sameness (Artikel 2, 3)', level=1)

doc.add_heading('10.1 Stofdefinitie (Artikel 3.1)', level=2)
doc.add_paragraph(
    'Een stof is: "een chemisch element en de verbindingen ervan in hun natuurlijke toestand of '
    'verkregen door een fabricageproces, met inbegrip van additieven voor stabiliteit en '
    'onzuiverheden die voorkomen als gevolg van het fabricageproces."'
)

doc.add_heading('10.2 Stoftypen', level=2)
doc.add_paragraph(
    'Er zijn drie hoofdtypes stoffen:'
)

doc.add_paragraph('**Mono-constituent:** ≥80% hoofdbestanddeel, max 20% onzuiverheden', style='List Bullet')
doc.add_paragraph('**Multi-constituent:** Meerdere hoofdbestanddelen ≥10% elk, <80%', style='List Bullet')
doc.add_paragraph('**UVCB:** Unknown/Variable composition, Complex reaction products, Biological materials', style='List Bullet)

doc.add_paragraph(
    'UVCB-stoffen vereisen een bron- en procédésnaamgeving. Subtypen: bio-synthese, chem/min-synthese, '
    'bio-raffinage, chem/min-raffinage. Descriptors: Alkyl (Cx-y), functionaliteit, zout.'
)

doc.add_heading('10.3 Numerieke Identificatie', level=2)
doc.add_paragraph(
    '**EG-nummer:** 7 cijfers (xxx-xxx-x)'
)

table = add_table(
    ['Type', 'Begint met', 'Periode'],
    [
        ['EINECS', '2 of 3', '1971-1981'],
        ['ELINCS', '4', 'Na 1981'],
        ['NLP', '5', 'No-longer polymers'],
        ['Lijstnummer', '6-9', 'Automatisch door REACH-IT']
    ]
)

doc.add_paragraph(
    '**CAS-nummer:** Minimaal 5 cijfers, xxxxxx-xx-x.'
)

doc.add_heading('10.4 Sameness Criteria', level=2)
doc.add_paragraph(
    'Om te bepalen of twee stoffen "dezelfde" zijn, gelden de volgende criteria:'
)

table = add_table(
    ['Aspect', 'Sameness', 'Different'],
    [
        ['Mono-constituent 80%-regel', '≥80% hoofdbestanddeel', '<80%'],
        ['Technisch vs zuiver', 'Geen onderscheid', '—'],
        ['Hydraten vs watervrij', 'Identiek', '—'],
        ['Zuren/basen/zouten', '—', 'Verschillend'],
        ['Alkylketens', '—', 'Vertakt vs lineair = verschillend'],
        ['Stereoisomeren', '—', 'Niet identiek'],
        ['UVCB-breedte', 'Smaal vs smal = identiek', 'Smaal vs breed = niet identiek'],
        ['Soort/geslacht', '—', 'Verschillend = niet identiek']
    ]
)

doc.add_heading('10.5 Nanovormen', level=2)
doc.add_paragraph(
    'Nanovormen hebben specifieke REACH-verplichtingen, inclusief nanospecifieke identificatie en '
    'karakterisering.'
)

doc.add_heading('10.6 Stofidentiteitsprofiel (SIP)', level=2)
doc.add_paragraph(
    'Een SIP definieert de grenzen van de stofidentiteit en bevat:'
)

doc.add_paragraph('• Naam', style='List Bullet')
doc.add_paragraph('• Samenstellingsbereik', style='List Bullet')
doc.add_paragraph('• Additieven', style='List Bullet')

doc.add_paragraph(
    'In IUCLID wordt de SIP-naam in sectie 1.1 gerapporteerd en de grenssamenstelling in sectie 1.2. '
    'Meerdere SIP\'s zijn mogelijk per stof. Wijziging van de SIP leidt tot een spontane dossierwijziging.'
)

doc.add_paragraph(
    '**Phoenix Metals:** V₂O₅ is een mono-constituent stof. De sameness check moet bepalen of '
    'het product van Phoenix Metals identiek is aan de bestaande geregistreerde V₂O₅.'
)

doc.add_page_break()

# HOOFDSTUK 11: GEZAMENLIJK GEBRUIK VAN GEGEVENS
doc.add_heading('11. Gezamenlijk Gebruik van Gegevens (Artikel 25-27)', level=1)

doc.add_heading('11.1 Beginselen (Artikel 25)', level=2)
doc.add_paragraph(
    'Gezamenlijk gebruik van gegevens is verplicht om dierproeven te voorkomen en herhaling van tests '
    'te beperken. Belangrijke beginselen:'
)

add_key_point('Billijke vergoeding: Alle registranten moeten een eerlijke aandeel in de kosten betalen.')
add_key_point('12-jaar regel (Art. 25.3): Na 12 jaar mag gebruik van data gratis zijn door andere registranten.')
add_key_point('Transparantie: Alle kosten moeten specifiek worden verantwoord.')

doc.add_heading('11.2 OSOR — One Substance, One Registration', level=2)
doc.add_paragraph(
    'Alle registranten van dezelfde stof moeten gezamenlijk indienen (Art. 11.1, 19.1). Er zijn '
    'twee rollen:'
)

doc.add_paragraph('• Hoofdregistrant: Coördineert de gezamenlijke indiening', style='List Bullet')
doc.add_paragraph('• Instemmende registranten: Sluiten aan bij de hoofdregistrant', style='List Bullet)

doc.add_paragraph(
    'Opt-out is mogelijk (Art. 11.3, 19.2) maar maakt deel uit van de gezamenlijke indiening.'
)

doc.add_heading('11.3 Inquiry (Artikel 26)', level=2)
doc.add_paragraph(
    'Een potentiële registrant kan bij ECHA informeren of een stof al geregistreerd is. ECHA bevordert '
    'het contact via de Mederegistranten-pagina in REACH-IT.'
)

doc.add_heading('11.4 Gegevensuitwisseling (Artikel 27)', level=2)
doc.add_paragraph(
    'De procedure voor gegevensuitwisseling omvat:'
)

doc.add_paragraph('27.1: Verzoek om informatie bij eerdere registrant', style='List Number')
doc.add_paragraph('27.2: Verplichting tot overeenstemming', style='List Number')
doc.add_paragraph('27.3: Billijke, transparante, niet-discriminerende kostenverdeling', style='List Number')
doc.add_paragraph('27.5: ECHA-bemiddeling bij geen overeenstemming', style='List Number')
doc.add_paragraph('27.6: ECHA-besluit', style='List Number')

doc.add_heading('11.5 Uitvoeringsverordening (EU) 2016/9', level=2)
doc.add_paragraph(
    'Deze verordening specificeert:'
)

add_key_point('Transparantie: Alle kosten moeten worden gespecificeerd en verantwoord.')
add_key_point('Billijkheid: Alleen eigen relevante kosten mogen worden gedeeld.')
add_key_point('Terugbetalingsmechanisme: Verplicht bij onjuiste kostenverdeling.')
add_key_point('Documentatie: 12 jaar bewaren.')

doc.add_heading('11.6 Letter of Access (LoA)', level=2)
doc.add_paragraph(
    'Een LoA geeft het recht om te verwijzen naar onderzoek voor registratie. De kosten omvatten '
    'historische of vervangingskosten plus correctiefactoren.'
)

doc.add_paragraph(
    '**Phoenix Metals:** De grootste kostenpost is de LoA bij het Vanadium Consortium. Phoenix Metals '
    'moet onderhandelen over een billijke aandeel in de kosten.'
)

doc.add_page_break()

# HOOFDSTUK 12: DOWNSTREAM USER
doc.add_heading('12. Downstream User Verplichtingen (Artikel 37-39)', level=1)

doc.add_heading('12.1 Kernverplichtingen', level=2)
doc.add_paragraph(
    'Downstream users hebben drie kernverplichtingen:'
)

doc.add_paragraph('1. Controleplicht: Gebruik moet gedekt zijn door SDS + blootstellingsscenario\'s', style='List Number')
doc.add_paragraph('2. Informatieplicht: Veilig gebruik doorgeven in de keten', style='List Number')
doc.add_paragraph('3. Documentatie: Maatregelen en conclusies documenteren', style='List Number)

doc.add_heading('12.2 Stappenplan Controle', level=2)
doc.add_paragraph(
    'Om te controleren of het gebruik gedekt is, doorloopt de DU de volgende stappen:'
)

doc.add_paragraph('1. Informatie verzamelen (hoe wordt de stof feitelijk gebruikt)', style='List Number')
doc.add_paragraph('2. RMM\'s identificeren', style='List Number')
doc.add_paragraph('3. Vergelijken met OC\'s en RMM\'s in ES', style='List Number)

doc.add_heading('12.3 Conclusies bij Niet-Dekking', level=2)
doc.add_paragraph(
    'Als het gebruik niet gedekt wordt, zijn de volgende opties:'
)

doc.add_paragraph('a. Vraag leverancier gebruik op te nemen in CSR', style='List Bullet')
doc.add_paragraph('b. Pas eigen gebruiksomstandigheden aan', style='List Bullet')
doc.add_paragraph('c. Elimineer/vervang stof', style='List Bullet')
doc.add_paragraph('d. Zoek andere leverancier', style='List Bullet')
doc.add_paragraph('e. Stel eigen DU CSR op', style='List Bullet)

doc.add_heading('12.4 DU CSR', level=2)
doc.add_paragraph(
    'Een DU CSR is verplicht als het gebruik niet gedekt wordt door ES. Termijnen:'
)

doc.add_paragraph('• Opstellen: 1 jaar na ontvangst SDS', style='List Bullet')
doc.add_paragraph('• Melding aan ECHA: 6 maanden na ontvangst SDS', style='List Bullet')

doc.add_paragraph(
    'Vrijstelling: <1 ton/jaar of PPORD.'
)

doc.add_heading('12.5 Blootstellingsmodellen', level=2)
doc.add_paragraph(
    'RCR (Risk Characterisation Ratio): <1 = veilig. Modellen:'
)

doc.add_paragraph('• Ecetoc TRA', style='List Bullet')
doc.add_paragraph('• Stoffenmanager', style='List Bullet')
doc.add_paragraph('• ART', style='List Bullet')
doc.add_paragraph('• EUSES', style='List Bullet')
doc.add_paragraph('• ConsExpo', style='List Bullet)

doc.add_paragraph(
    'ERF (Exposure Reduction Factor): Duur, concentratie, ventilatie, PBM.'
)

doc.add_heading('12.6 Termijnen', level=2)

table = add_table(
    ['Activiteit', 'Termijn'],
    [
        ['Melden gebruik (niet-geregistreerd)', '1 jaar voor registratie deadline'],
        ['Melden gebruik (geregistreerd)', 'Vóór volgende levering of 1 maand na verzoek'],
        ['SDS maatregelen toepassen', '1 jaar na ontvangst'],
        ['DU CSR opstellen', '1 jaar na ontvangst SDS'],
        ['Melden aan ECHA (niet in ES)', '6 maanden na ontvangst SDS']
    ]
)

doc.add_page_break()

# HOOFDSTUK 13: QSAR EN PBT
doc.add_heading('13. QSAR en PBT Beoordeling', level=1)

doc.add_heading('13.1 Definities', level=2)
doc.add_paragraph(
    '• SAR: Kwalitatieve relatie structuur-activiteit', style='List Bullet')
doc.add_paragraph('• QSAR: Wiskundig model structuur-eigenschap', style='List Bullet')

doc.add_heading('13.2 Voorwaarden (Bijlage XI.1.3)', level=2)
doc.add_paragraph(
    'QSAR mag worden gebruikt als aan alle volgende voorwaarden is voldaan:'
)

doc.add_paragraph('i) Wetenschappelijk geldig model', style='List Number')
doc.add_paragraph('ii) Stof binnen toepassingsgebied', style='List Number')
doc.add_paragraph('iii) Voorspelling geschikt voor regelgevingsdoel', style='List Number')
doc.add_paragraph('iv) Goed gedocumenteerd', style='List Number)

doc.add_heading('13.3 OECD Validatie Beginselen', level=2)
doc.add_paragraph(
    '1. Gedefinieerd eindpunt', style='List Number')
doc.add_paragraph('2. Ondubbelzinnig algoritme', style='List Number')
doc.add_paragraph('3. Gedefinieerd toepassingsgebied', style='List Number')
doc.add_paragraph('4. Passende maatregelen deugdelijkheid (R²>0.7, Q²>0.5, s<0.3)', style='List Number)
doc.add_paragraph('5. Mechanistische interpretatie', style='List Number)

doc.add_heading('13.4 Toepassingsgebied Elementen', level=2)
doc.add_paragraph(
    '• Descriptordomein', style='List Bullet')
doc.add_paragraph('• Structuurfragmentendomein', style='List Bullet')
doc.add_paragraph('• Mechanistische/metabole domeinen', style='List Bullet')
doc.add_paragraph('• Analogen in trainingsset', style='List Bullet)

doc.add_paragraph(
    'Modellen: KOWWIN, VEGA, ECOSAR, T.E.S.T., HYDROWIN, BIOWIN, BCFBAF, KOCWIN.'
)

doc.add_page_break()

# HOOFDSTUK 14: CLH
doc.add_heading('14. CLH en Geharmoniseerde Classificatie', level=1)

doc.add_heading('14.1 Procedure', level=2)
doc.add_paragraph(
    '1. CLH-intentie (Registry of Intentions)', style='List Number')
doc.add_paragraph('2. Dossierindiening (CLH-rapport + Annex I + Confidential Annex)', style='List Number')
doc.add_paragraph('3. Overeenstemmingscontrole (ECHA, Art. 36 CLP)', style='List Number)
doc.add_paragraph('4. Raadpleging (60 dagen publiek commentaar)', style='List Number)
doc.add_paragraph('5. RAC opinion development', style='List Number)
doc.add_paragraph('6. RAC opinion adopted', style='List Number)
doc.add_paragraph('7. Commissie besluit → Bijlage VI', style='List Number)

doc.add_heading('14.2 RAC', level=2)
doc.add_paragraph(
    'Het Risicobeoordelingscomité (RAC) geeft wetenschappelijke conclusies over voorgestelde '
    'classificaties en beoordeelt incidentie, ernst en statistische significantie.'
)

doc.add_heading('14.3 Wie mag indienen', level=2)
doc.add_paragraph(
    '• MSCAs: Herziening bestaande, biociden, gewasbescherming', style='List Bullet')
doc.add_paragraph('• Fabrikanten, importeurs, DUs: CMR, inhalatiesensitiser, andere indien gerechtvaardigd', style='List Bullet)

doc.add_page_break()

# HOOFDSTUK 15: SIP
doc.add_heading('15. SIP (Stofidentificatieprofiel)', level=1)

doc.add_heading('15.1 Definitie', level=2)
doc.add_paragraph(
    'Een SIP bepaalt de criteria voor selectie van representatieve gegevens uit Bijlage VII-XI. De '
    'grenssamenstelling wordt technisch gerapporteerd in IUCLID.'
)

doc.add_heading('15.2 Inhoud', level=2)
doc.add_paragraph(
    '**Administratief:** Naam, nummers, bedrijven, datum, versie', style='List Bullet')
doc.add_paragraph('**Mono-constituent:** Hoofdbestanddelen + onzuiverheden relevant voor indeling/PBT', style='List Bullet')
doc.add_paragraph('**UVCB:** Samenstelling + vervaardigingsproces', style='List Bullet)

doc.add_paragraph(
    'Meerdere SIP\'s zijn mogelijk per stof. Wijziging van de SIP leidt tot een spontane dossierwijziging.'
)

doc.add_page_break()

# HOOFDSTUK 16: PGS 15
doc.add_heading('16. PGS 15 Opslag Gevaarlijke Stoffen', level=1)

doc.add_heading('16.1 Toepassingsbereik', level=2)
doc.add_paragraph(
    'PGS 15 is van toepassing op de opslag van gevaarlijke stoffen in bedrijven. Phoenix Metals '
    'slaagt circa 405 kg ADR-klasse 8 op (zwavelzuur). De ondergrens van 250 kg wordt overschreden.'
)

doc.add_heading('16.2 Eisen', level=2)
doc.add_paragraph(
    '**Bouwkundig:**'
)

doc.add_paragraph('• Brandwerend', style='List Bullet')
doc.add_paragraph('• Vloeistofdicht', style='List Bullet')
doc.add_paragraph('• Ventilatie', style='List Bullet)

doc.add_paragraph(
    '**Veiligheid:**'
)

doc.add_paragraph('• Blusmiddelen', style='List Bullet')
doc.add_paragraph('• Lekbakken', style='List Bullet')
doc.add_paragraph('• Scheiding', style='List Bullet)

doc.add_paragraph(
    '**Organisatorisch:**'
)

doc.add_paragraph('• OPS-register', style='List Bullet')
doc.add_paragraph('• Instructie', style='List Bullet')
doc.add_paragraph('• Inspectie', style='List Bullet')

doc.add_page_break()

# HOOFDSTUK 17: ACTIEPLAN
doc.add_heading('17. Actieplan en Kostenraming', level=1)

doc.add_heading('17.1 Fase-overzicht', level=2)

table = add_table(
    ['Fase', 'Periode', 'Volume', 'Regime', 'Kosten'],
    [
        ['Demo', '2025-2026', '<60 kg', 'PPORD', '~€5.000'],
        ['Pilot', 'Q3 2026 - Q4 2027', '0,5-3 ton', 'PPORD + monitoring', '€15.000-45.000'],
        ['FOAK', 'Q4 2027+', '>1 ton', 'Volledige registratie', '€120.000-290.000']
    ]
)

doc.add_heading('17.2 Actielijst', level=2)
doc.add_paragraph('**Nu (Q2 2026):**', style='List Bullet')
doc.add_paragraph('• PPORD-notificatie indienen voor V₂O₅ en vanadium-elektrolyt', style='List Bullet')
doc.add_paragraph('• SDS opstellen voor alle stoffen', style='List Bullet')
doc.add_paragraph('• CLP-notificatie voor vanadium-elektrolyt', style='List Bullet 2)

doc.add_paragraph('**Q3 2026:**', style='List Bullet')
doc.add_paragraph('• Sameness check bij ECHA voor V₂O₅', style='List Bullet')
doc.add_paragraph('• Volume monitoring systeem implementeren', style='List Bullet 2)

doc.add_paragraph('**Q4 2026 - Q4 2027:**', style='List Bullet')
doc.add_paragraph('• Los aanvragen bij Vanadium Consortium voor LoA', style='List Bullet')
doc.add_paragraph('• Beginnen met CSR-voorbereiding', style='List Bullet 2)
doc.add_paragraph('• Autorisatie planning voor V₂O₅ (sunset date 2028-2029)', style='List Bullet 2)

doc.add_paragraph('**Q4 2027+:**', style='List Bullet')
doc.add_paragraph('• Gezamenlijke registratie indienen', style='List Bullet')
doc.add_paragraph('• Autorisatieaanvraag indienen (indien >1 ton)', style='List Bullet 2)

doc.add_heading('17.3 Kostendetail', level=2)
doc.add_paragraph(
    '**Demo fase (~€5.000):**'
)

doc.add_paragraph('• PPORD-notificatie: €500', style='List Bullet')
doc.add_paragraph('• SDS opstelling (4 stuks): €2.000', style='List Bullet')
doc.add_paragraph('• CLP-notificatie: €500', style='List Bullet')
doc.add_paragraph('• Consultancy: €2.000', style='List Bullet)

doc.add_paragraph(
    '**Pilot fase (€15.000-45.000):**'
)

doc.add_paragraph('• Sameness check: €2.000', style='List Bullet')
doc.add_paragraph('• LoA bij Vanadium Consortium: €15.000-40.000', style='List Bullet')
doc.add_paragraph('• CSR-voorbereiding: €5.000', style='List Bullet')
doc.add_paragraph('• Consultancy: €10.000', style='List Bullet)

doc.add_paragraph(
    '**FOAK fase (€120.000-290.000):**'
)

doc.add_paragraph('• Registratiekosten (MKB korting 65%): €15.000', style='List Bullet')
doc.add_paragraph('• LoA bij Vanadium Consortium: €15.000-40.000', style='List Bullet)
doc.add_paragraph('• CSR: €20.000', style='List Bullet)
doc.add_paragraph('• Autorisatieaanvraag: €30.000-50.000', style='List Bullet)
doc.add_paragraph('• Consultancy: €40.000-50.000', style='List Bullet)

doc.add_page_break()

# HOOFDSTUK 18: BIJLAGEN
doc.add_heading('18. Bijlagen', level=1)

doc.add_heading('18.1 Referenties', level=2)
doc.add_paragraph('• ECHA Guidance documents: registration_nl.pdf, guide_chemical_safety_sme_nl.pdf, sds_nl.pdf', style='List Bullet')
doc.add_paragraph('• ECHA Guidance: svhc_en.pdf, apply_for_authorisation_en.pdf, substance_id_nl.pdf', style='List Bullet')
doc.add_paragraph('• ECHA Guidance: guidance_on_data_sharing_nl.pdf, du_practical_guide_13_nl.pdf', style='List Bullet')
doc.add_paragraph('• ECHA Guidance: pg_report_qsars_nl.pdf, how_to_submit_clh_dossier_en.pdf', style='List Bullet')
doc.add_paragraph('• ECHA Guidance: practical_guide_how_to_develop_prepare_sip_nl.pdf', style='List Bullet)

doc.add_heading('18.2 REACH Verordening Referenties', level=2)
doc.add_paragraph('• REACH Verordening (EG) 1907/2006', style='List Bullet')
doc.add_paragraph('• CLP Verordening (EG) 1272/2008', style='List Bullet)
doc.add_paragraph('• Uitvoeringsverordening (EU) 2016/9', style='List Bullet)
doc.add_paragraph('• PGS 15: Opslag van gevaarlijke stoffen', style='List Bullet)

doc.add_heading('18.3 Contactinformatie', level=2)
doc.add_paragraph('• ECHA: European Chemicals Agency, Helsinki', style='List Bullet')
doc.add_paragraph('• REACH-IT: Online platform voor registraties', style='List Bullet)
doc.add_paragraph('• Phoenix Metals B.V., PlantOne Rotterdam', style='List Bullet)

# ════ SAVE DOCUMENT ════
output_path = '/root/projects/jg/2026-reach-phoenix-metals-v2/deliverables/kennisdossier/REACH_Kennisdossier_Phoenix_Metals_v1.0.docx'
doc.save(output_path)
print(f"✓ Document saved: {output_path}")
