{"id":7315,"date":"2025-06-23T10:42:03","date_gmt":"2025-06-23T10:42:03","guid":{"rendered":"https:\/\/vignetosicuro.it\/?page_id=7315"},"modified":"2025-06-23T10:44:54","modified_gmt":"2025-06-23T10:44:54","slug":"quaderno-di-campagna","status":"publish","type":"page","link":"https:\/\/vignetosicuro.it\/de\/quaderno-di-campagna\/","title":{"rendered":"Country-Notizbuch"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"7315\" class=\"elementor elementor-7315\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cd44f9a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cd44f9a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-48a4e51\" data-id=\"48a4e51\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d6a6147 elementor-widget elementor-widget-html\" data-id=\"d6a6147\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t    <div class=\"container\">\n        <header class=\"header\">\n            <h1>L\u00e4nder-Notizbuch<\/h1>\n            <p>Elektronisches Register f\u00fcr die Verwaltung landwirtschaftlicher T\u00e4tigkeiten<\/p>\n        <\/header>\n\n        <!-- Navigation Tabs -->\n        <nav class=\"tab-navigation\">\n            <button class=\"tab-btn active\" data-tab=\"anagrafica\">\n                <span class=\"tab-icon\">??<\/span>\n                Personenbezogene Daten\n            <\/button>\n            <button class=\"tab-btn\" data-tab=\"parcelle\">\n                <span class=\"tab-icon\">??<\/span>\n                Pakete\n            <\/button>\n            <button class=\"tab-btn\" data-tab=\"trattamenti\">\n                <span class=\"tab-icon\">??<\/span>\n                Behandlungen\n            <\/button>\n            <button class=\"tab-btn\" data-tab=\"concimazioni\">\n                <span class=\"tab-icon\">??<\/span>\n                D\u00fcngung\n            <\/button>\n            <button class=\"tab-btn\" data-tab=\"irrigazioni\">\n                <span class=\"tab-icon\">??<\/span>\n                Bew\u00e4sserung\n            <\/button>\n            <button class=\"tab-btn\" data-tab=\"raccolte\">\n                <span class=\"tab-icon\">??<\/span>\n                Ernten\n            <\/button>\n            <button class=\"tab-btn\" data-tab=\"magazzino\">\n                <span class=\"tab-icon\">??<\/span>\n                Lager\n            <\/button>\n            <button class=\"tab-btn\" data-tab=\"controlli\">\n                <span class=\"tab-icon\">??<\/span>\n                Kontrollen\n            <\/button>\n        <\/nav>\n\n        <!-- Tab Content -->\n        <main class=\"tab-content\">\n            <!-- Anagrafica Aziendale -->\n            <section id=\"anagrafica\" class=\"tab-panel active\">\n                <div class=\"card\">\n                    <div class=\"card__header\">\n                        <h2>Unternehmensregister<\/h2>\n                    <\/div>\n                    <div class=\"card__body\">\n                        <div class=\"form-grid\">\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"ragione-sociale\">Name des Unternehmens *<\/label>\n                                <input type=\"text\" id=\"ragione-sociale\" class=\"form-control\" required>\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"codice-azienda\">Firma\/CUAA-Code *<\/label>\n                                <input type=\"text\" id=\"codice-azienda\" class=\"form-control\" required>\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"referente-tecnico\">Technischer Ansprechpartner<\/label>\n                                <input type=\"text\" id=\"referente-tecnico\" class=\"form-control\">\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"indirizzo\">Hauptquartier der Anschrift<\/label>\n                                <input type=\"text\" id=\"indirizzo\" class=\"form-control\">\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"comune\">Gemeinde<\/label>\n                                <input type=\"text\" id=\"comune\" class=\"form-control\">\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"provincia\">Provinz<\/label>\n                                <input type=\"text\" id=\"provincia\" class=\"form-control\">\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"cap\">GAP<\/label>\n                                <input type=\"text\" id=\"cap\" class=\"form-control\">\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"codice-catastale\">Grundbuchnummer<\/label>\n                                <input type=\"text\" id=\"codice-catastale\" class=\"form-control\">\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"telefono\">Telefonnummer<\/label>\n                                <input type=\"tel\" id=\"telefono\" class=\"form-control\">\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"email\">E-Mail<\/label>\n                                <input type=\"email\" id=\"email\" class=\"form-control\">\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label class=\"form-label\" for=\"data-compilazione\">Datum der Fertigstellung<\/label>\n                                <input type=\"date\" id=\"data-compilazione\" class=\"form-control\">\n                            <\/div>\n                        <\/div>\n                        <div class=\"form-actions\">\n                            <button type=\"button\" class=\"btn btn--primary\" onclick=\"salvaAnagrafica()\">Speichern Sie Ihre pers\u00f6nlichen Daten<\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- Registro Parcelle -->\n            <section id=\"parcelle\" class=\"tab-panel\">\n                <div class=\"card\">\n                    <div class=\"card__header\">\n                        <h2>Register der bewirtschafteten Parzellen<\/h2>\n                        <button class=\"btn btn--primary\" onclick=\"aggiungiParcella()\">Paket hinzuf\u00fcgen<\/button>\n                    <\/div>\n                    <div class=\"card__body\">\n                        <div class=\"table-responsive\">\n                            <table class=\"data-table\" id=\"parcelle-table\">\n                                <thead>\n                                    <tr>\n                                        <th>Paketcode<\/th>\n                                        <th>Fl\u00e4che (ha)<\/th>\n                                        <th>Anbau<\/th>\n                                        <th>Vielfalt<\/th>\n                                        <th>Anbautechnik<\/th>\n                                        <th>Jahr Pflanze<\/th>\n                                        <th>Rotation<\/th>\n                                        <th>Ma\u00dfnahmen<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody id=\"parcelle-tbody\">\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- Trattamenti Fitosanitari -->\n            <section id=\"trattamenti\" class=\"tab-panel\">\n                <div class=\"card\">\n                    <div class=\"card__header\">\n                        <h2>Pflanzengesundheitsbehandlungen<\/h2>\n                        <button class=\"btn btn--primary\" onclick=\"aggiungiTrattamento()\">Behandlung hinzuf\u00fcgen<\/button>\n                    <\/div>\n                    <div class=\"card__body\">\n                        <div class=\"table-responsive\">\n                            <table class=\"data-table\" id=\"trattamenti-table\">\n                                <thead>\n                                    <tr>\n                                        <th>Datum<\/th>\n                                        <th>Paket<\/th>\n                                        <th>Anbau<\/th>\n                                        <th>Produkt<\/th>\n                                        <th>Dosierung<\/th>\n                                        <th>Betreiber<\/th>\n                                        <th>Ausr\u00fcstung<\/th>\n                                        <th>Anmerkungen<\/th>\n                                        <th>Ma\u00dfnahmen<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody id=\"trattamenti-tbody\">\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- Concimazioni -->\n            <section id=\"concimazioni\" class=\"tab-panel\">\n                <div class=\"card\">\n                    <div class=\"card__header\">\n                        <h2>D\u00fcngung<\/h2>\n                        <button class=\"btn btn--primary\" onclick=\"aggiungiConcimazione()\">D\u00fcngung hinzuf\u00fcgen<\/button>\n                    <\/div>\n                    <div class=\"card__body\">\n                        <div class=\"table-responsive\">\n                            <table class=\"data-table\" id=\"concimazioni-table\">\n                                <thead>\n                                    <tr>\n                                        <th>Datum<\/th>\n                                        <th>Paket<\/th>\n                                        <th>Anbau<\/th>\n                                        <th>Typ<\/th>\n                                        <th>Produkt<\/th>\n                                        <th>Menge<\/th>\n                                        <th>Modalit\u00e4ten<\/th>\n                                        <th>Anmerkungen<\/th>\n                                        <th>Ma\u00dfnahmen<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody id=\"concimazioni-tbody\">\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- Irrigazioni -->\n            <section id=\"irrigazioni\" class=\"tab-panel\">\n                <div class=\"card\">\n                    <div class=\"card__header\">\n                        <h2>Bew\u00e4sserung<\/h2>\n                        <button class=\"btn btn--primary\" onclick=\"aggiungiIrrigazione()\">Bew\u00e4sserung hinzuf\u00fcgen<\/button>\n                    <\/div>\n                    <div class=\"card__body\">\n                        <div class=\"table-responsive\">\n                            <table class=\"data-table\" id=\"irrigazioni-table\">\n                                <thead>\n                                    <tr>\n                                        <th>Datum<\/th>\n                                        <th>Paket<\/th>\n                                        <th>Anbau<\/th>\n                                        <th>Art der Bew\u00e4sserung<\/th>\n                                        <th>Volumen (m3\/ha)<\/th>\n                                        <th>Dauer (Stunden)<\/th>\n                                        <th>Anmerkungen<\/th>\n                                        <th>Ma\u00dfnahmen<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody id=\"irrigazioni-tbody\">\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- Raccolte -->\n            <section id=\"raccolte\" class=\"tab-panel\">\n                <div class=\"card\">\n                    <div class=\"card__header\">\n                        <h2>Ernten<\/h2>\n                        <button class=\"btn btn--primary\" onclick=\"aggiungiRaccolta()\">Sammlung hinzuf\u00fcgen<\/button>\n                    <\/div>\n                    <div class=\"card__body\">\n                        <div class=\"table-responsive\">\n                            <table class=\"data-table\" id=\"raccolte-table\">\n                                <thead>\n                                    <tr>\n                                        <th>Datum<\/th>\n                                        <th>Paket<\/th>\n                                        <th>Anbau<\/th>\n                                        <th>Vielfalt<\/th>\n                                        <th>Menge<\/th>\n                                        <th>Referat<\/th>\n                                        <th>Zielort<\/th>\n                                        <th>Preis (\u20ac)<\/th>\n                                        <th>Ma\u00dfnahmen<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody id=\"raccolte-tbody\">\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- Magazzino Fitosanitari -->\n            <section id=\"magazzino\" class=\"tab-panel\">\n                <div class=\"card\">\n                    <div class=\"card__header\">\n                        <h2>Lager f\u00fcr Pflanzenschutzmittel<\/h2>\n                        <button class=\"btn btn--primary\" onclick=\"aggiungiProdottoMagazzino()\">Produkt hinzuf\u00fcgen<\/button>\n                    <\/div>\n                    <div class=\"card__body\">\n                        <div class=\"table-responsive\">\n                            <table class=\"data-table\" id=\"magazzino-table\">\n                                <thead>\n                                    <tr>\n                                        <th>Produktname<\/th>\n                                        <th>Aktives Prinzip<\/th>\n                                        <th>Referat<\/th>\n                                        <th>Anfangsbestand<\/th>\n                                        <th>Lasten<\/th>\n                                        <th>Entlastungen<\/th>\n                                        <th>Aktueller Bestand<\/th>\n                                        <th>Frist<\/th>\n                                        <th>Staat<\/th>\n                                        <th>Ma\u00dfnahmen<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody id=\"magazzino-tbody\">\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- Controlli e Note -->\n            <section id=\"controlli\" class=\"tab-panel\">\n                <div class=\"card\">\n                    <div class=\"card__header\">\n                        <h2>Schecks und Notizen<\/h2>\n                        <button class=\"btn btn--primary\" onclick=\"aggiungiControllo()\">Steuerung hinzuf\u00fcgen<\/button>\n                    <\/div>\n                    <div class=\"card__body\">\n                        <div class=\"table-responsive\">\n                            <table class=\"data-table\" id=\"controlli-table\">\n                                <thead>\n                                    <tr>\n                                        <th>Datum des Besuchs<\/th>\n                                        <th>Comptroller-Karosserie<\/th>\n                                        <th>Typkontrolle<\/th>\n                                        <th>Ergebnis<\/th>\n                                        <th>Anmerkungen<\/th>\n                                        <th>Nichteinhaltung<\/th>\n                                        <th>Korrekturma\u00dfnahmen<\/th>\n                                        <th>Abwicklungsdatum<\/th>\n                                        <th>Ma\u00dfnahmen<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody id=\"controlli-tbody\">\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n        <\/main>\n\n        <!-- Dashboard Summary -->\n        <aside class=\"dashboard\">\n            <div class=\"card\">\n                <div class=\"card__header\">\n                    <h3>Zusammenfassung der T\u00e4tigkeit<\/h3>\n                <\/div>\n                <div class=\"card__body\">\n                    <div class=\"stats-grid\">\n                        <div class=\"stat-item\">\n                            <span class=\"stat-value\" id=\"stat-parcelle\">0<\/span>\n                            <span class=\"stat-label\">Eingetragene Parzellen<\/span>\n                        <\/div>\n                        <div class=\"stat-item\">\n                            <span class=\"stat-value\" id=\"stat-trattamenti\">0<\/span>\n                            <span class=\"stat-label\">Behandlungen insgesamt<\/span>\n                        <\/div>\n                        <div class=\"stat-item\">\n                            <span class=\"stat-value\" id=\"stat-superficie\">0<\/span>\n                            <span class=\"stat-label\">Gesamtfl\u00e4che (ha)<\/span>\n                        <\/div>\n                        <div class=\"stat-item\">\n                            <span class=\"stat-value\" id=\"stat-scadenze\">0<\/span>\n                            <span class=\"stat-label\">Produkte in Expiry<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/aside>\n\n        <!-- Export Actions -->\n        <div class=\"export-actions\">\n            <button class=\"btn btn--secondary\" onclick=\"esportaCSV()\">CSV exportieren<\/button>\n            <button class=\"btn btn--secondary\" onclick=\"stampaQuaderno()\">Notizbuch drucken<\/button>\n        <\/div>\n    <\/div>\n\n    <!-- Modal for Forms -->\n    <div id=\"modal\" class=\"modal\">\n        <div class=\"modal-content\">\n            <span class=\"modal-close\" onclick=\"chiudiModal()\">\u00d7<\/span>\n            <div id=\"modal-body\">\n                <!-- Dynamic content will be inserted here -->\n            <\/div>\n        <\/div>\n    <\/div>\n    \n<script>\n    \/\/ Quaderno di Campagna - JavaScript Application\n\/\/ Data structure and application logic\n\n\/\/ Global data storage\nlet quadernoDati = {\n    anagrafica: {},\n    parcelle: [],\n    trattamenti: [],\n    concimazioni: [],\n    irrigazioni: [],\n    raccolte: [],\n    magazzino: [],\n    controlli: []\n};\n\n\/\/ Reference data from JSON\nconst datiRiferimento = {\n    colture: [\"Mais\", \"Frumento\", \"Orzo\", \"Avena\", \"Soia\", \"Girasole\", \"Barbabietola\", \"Pomodoro\", \"Peperone\", \"Melanzana\", \"Zucchina\", \"Lattuga\", \"Cavolo\", \"Vite da vino\", \"Vite da tavola\", \"Olivo\", \"Melo\", \"Pero\", \"Pesco\", \"Ciliegio\", \"Fragola\", \"Patata\", \"Cipolla\", \"Aglio\", \"Carota\", \"Altro\"],\n    prodottiFitosanitari: [\"Roundup (Glifosate)\", \"Confidor (Imidacloprid)\", \"Karate (Lambda-cialotrina)\", \"Rimon (Novaluron)\", \"Previcur (Propamocarb)\", \"Forum (Dimethomorph)\", \"Cabrio (Pyraclostrobin)\", \"Flint (Trifloxystrobin)\", \"Score (Difenoconazolo)\", \"Switch (Cyprodinil + Fludioxonil)\", \"Chorus (Cyprodinil)\"],\n    fertilizzanti: [\"Urea 46%\", \"Nitrato ammonico 33,5%\", \"DAP 18-46\", \"MAP 12-61\", \"NPK 20-10-10\", \"NPK 15-15-15\", \"Solfato potassico\", \"Perfosfato minerale\", \"Letame bovino\", \"Liquame suino\", \"Compost\", \"Digestato\"],\n    principiAttivi: [\"Glifosate\", \"Imidacloprid\", \"Lambda-cialotrina\", \"Novaluron\", \"Propamocarb\", \"Dimethomorph\", \"Pyraclostrobin\", \"Trifloxystrobin\", \"Difenoconazolo\", \"Cyprodinil\", \"Fludioxonil\", \"Azoxystrobin\", \"Tebuconazolo\"],\n    attrezzature: [\"Atomizzatore\", \"Irroratrice\", \"Nebulizzatore\", \"Spolveratore\", \"Lancia a mano\", \"Irroratrice trainata\", \"Atomizzatore portato\", \"Altro\"],\n    tecnicheColturali: [\"Convenzionale\", \"Biologico\", \"Integrato\", \"Biodinamico\"],\n    tipiIrrigazione: [\"A goccia\", \"Aspersione\", \"Scorrimento\", \"Sommersione\", \"Microirrigazione\", \"Irrigazione a pioggia\", \"Subirrigazione\"],\n    modalitaDistribuzione: [\"Spandimento\", \"Interramento\", \"Fertirrigazione\", \"Fogliare\", \"Localizzato\", \"In copertura\", \"Pre-semina\"],\n    destinazioniProdotto: [\"Vendita\", \"Trasformazione\", \"Autoconsumo\", \"Stoccaggio\", \"Conferimento cooperativa\"],\n    unitaMisura: [\"Quintali\", \"Kg\", \"Tonnellate\", \"Litri\"],\n    entiControllo: [\"AGEA\", \"Regione\", \"ASL\", \"Carabinieri NAS\", \"Ispettorato Agrario\", \"Organismo di controllo biologico\", \"Altro\"],\n    tipiControllo: [\"Ispettivo\", \"Documentale\", \"Campionamento\", \"Condizionalit\u00e0\", \"Biologico\", \"Altro\"],\n    esitiControllo: [\"Conforme\", \"Non conforme\", \"Con prescrizioni\", \"Sospeso\"]\n};\n\n\/\/ Initialize application\ndocument.addEventListener('DOMContentLoaded', function() {\n    initializeApp();\n    loadSampleData();\n    updateDashboard();\n});\n\nfunction initializeApp() {\n    \/\/ Set today's date for compilation\n    document.getElementById('data-compilazione').value = new Date().toISOString().split('T')[0];\n    \n    \/\/ Initialize tab navigation\n    const tabButtons = document.querySelectorAll('.tab-btn');\n    tabButtons.forEach(button => {\n        button.addEventListener('click', function() {\n            const tabId = this.getAttribute('data-tab');\n            switchTab(tabId);\n        });\n    });\n\n    \/\/ Load saved data from localStorage if available\n    const savedData = localStorage.getItem('quadernoCampagna');\n    if (savedData) {\n        quadernoDati = JSON.parse(savedData);\n        loadAnagrafica();\n        refreshAllTables();\n        updateDashboard();\n    }\n}\n\nfunction loadSampleData() {\n    \/\/ Sample data for demonstration\n    if (quadernoDati.parcelle.length === 0) {\n        quadernoDati.parcelle = [\n            {\n                id: 1,\n                codice: \"P001\",\n                superficie: 5.2,\n                coltura: \"Mais\",\n                varieta: \"Pioneer P1234\",\n                tecnicaColturale: \"Convenzionale\",\n                annoImpianto: 2024,\n                rotazione: \"Mais-Soia\"\n            },\n            {\n                id: 2,\n                codice: \"P002\",\n                superficie: 3.8,\n                coltura: \"Frumento\",\n                varieta: \"Bologna\",\n                tecnicaColturale: \"Integrato\",\n                annoImpianto: 2023,\n                rotazione: \"Frumento-Girasole\"\n            }\n        ];\n\n        quadernoDati.magazzino = [\n            {\n                id: 1,\n                nomeProdotto: \"Roundup\",\n                principioAttivo: \"Glifosate\",\n                unitaMisura: \"L\",\n                giacenzaIniziale: 20,\n                carichi: 10,\n                scarichi: 8,\n                giacenzaAttuale: 22,\n                dataScadenza: \"2025-12-31\",\n                stato: \"Disponibile\"\n            }\n        ];\n\n        quadernoDati.trattamenti = [\n            {\n                id: 1,\n                data: \"2024-06-15\",\n                parcella: \"P001\",\n                coltura: \"Mais\",\n                prodotto: \"Roundup\",\n                principioAttivo: \"Glifosate\",\n                dose: 2.5,\n                volumeDistribuzione: 200,\n                operatore: \"Mario Rossi\",\n                attrezzatura: \"Atomizzatore\",\n                condizioniMeteo: \"Sereno, vento leggero\",\n                avversitaTarget: \"Erbe infestanti\",\n                note: \"Trattamento pre-emergenza\"\n            }\n        ];\n\n        saveData();\n        refreshAllTables();\n        updateDashboard();\n    }\n}\n\n\/\/ Tab navigation\nfunction switchTab(tabId) {\n    \/\/ Hide all tab panels\n    const panels = document.querySelectorAll('.tab-panel');\n    panels.forEach(panel => panel.classList.remove('active'));\n    \n    \/\/ Remove active class from all buttons\n    const buttons = document.querySelectorAll('.tab-btn');\n    buttons.forEach(button => button.classList.remove('active'));\n    \n    \/\/ Show selected panel and activate button\n    document.getElementById(tabId).classList.add('active');\n    document.querySelector(`[data-tab=\"${tabId}\"]`).classList.add('active');\n}\n\n\/\/ Data persistence\nfunction saveData() {\n    localStorage.setItem('quadernoCampagna', JSON.stringify(quadernoDati));\n    showToast('Dati salvati correttamente', 'success');\n}\n\n\/\/ Anagrafica functions\nfunction salvaAnagrafica() {\n    quadernoDati.anagrafica = {\n        ragioneSociale: document.getElementById('ragione-sociale').value,\n        codiceAzienda: document.getElementById('codice-azienda').value,\n        referenteTecnico: document.getElementById('referente-tecnico').value,\n        indirizzo: document.getElementById('indirizzo').value,\n        comune: document.getElementById('comune').value,\n        provincia: document.getElementById('provincia').value,\n        cap: document.getElementById('cap').value,\n        codiceCatastale: document.getElementById('codice-catastale').value,\n        telefono: document.getElementById('telefono').value,\n        email: document.getElementById('email').value,\n        dataCompilazione: document.getElementById('data-compilazione').value\n    };\n    saveData();\n}\n\nfunction loadAnagrafica() {\n    if (quadernoDati.anagrafica) {\n        const anagrafica = quadernoDati.anagrafica;\n        document.getElementById('ragione-sociale').value = anagrafica.ragioneSociale || '';\n        document.getElementById('codice-azienda').value = anagrafica.codiceAzienda || '';\n        document.getElementById('referente-tecnico').value = anagrafica.referenteTecnico || '';\n        document.getElementById('indirizzo').value = anagrafica.indirizzo || '';\n        document.getElementById('comune').value = anagrafica.comune || '';\n        document.getElementById('provincia').value = anagrafica.provincia || '';\n        document.getElementById('cap').value = anagrafica.cap || '';\n        document.getElementById('codice-catastale').value = anagrafica.codiceCatastale || '';\n        document.getElementById('telefono').value = anagrafica.telefono || '';\n        document.getElementById('email').value = anagrafica.email || '';\n        document.getElementById('data-compilazione').value = anagrafica.dataCompilazione || '';\n    }\n}\n\n\/\/ Parcelle functions\nfunction aggiungiParcella() {\n    const modalBody = document.getElementById('modal-body');\n    modalBody.innerHTML = `\n        <h3>Aggiungi Parcella<\/h3>\n        <form class=\"modal-form\" onsubmit=\"salvaParcella(event)\">\n            <div class=\"form-group\">\n                <label class=\"form-label\">Codice Parcella *<\/label>\n                <input type=\"text\" id=\"parcella-codice\" class=\"form-control\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Superficie (ha) *<\/label>\n                <input type=\"number\" id=\"parcella-superficie\" class=\"form-control\" step=\"0.1\" min=\"0\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Coltura *<\/label>\n                <select id=\"parcella-coltura\" class=\"form-control\" required>\n                    <option value=\"\">Seleziona coltura<\/option>\n                    ${datiRiferimento.colture.map(c => `<option value=\"${c}\">${c}<\/option>`).join('')}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Variet\u00e0<\/label>\n                <input type=\"text\" id=\"parcella-varieta\" class=\"form-control\">\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Tecnica Colturale *<\/label>\n                <select id=\"parcella-tecnica\" class=\"form-control\" required>\n                    <option value=\"\">Seleziona tecnica<\/option>\n                    ${datiRiferimento.tecnicheColturali.map(t => `<option value=\"${t}\">${t}<\/option>`).join('')}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Anno Impianto<\/label>\n                <input type=\"number\" id=\"parcella-anno\" class=\"form-control\" min=\"2000\" max=\"2030\">\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Rotazione Colturale<\/label>\n                <input type=\"text\" id=\"parcella-rotazione\" class=\"form-control\">\n            <\/div>\n            <div class=\"modal-actions\">\n                <button type=\"button\" class=\"btn btn--secondary\" onclick=\"chiudiModal()\">Annulla<\/button>\n                <button type=\"submit\" class=\"btn btn--primary\">Salva Parcella<\/button>\n            <\/div>\n        <\/form>\n    `;\n    apriModal();\n}\n\nfunction salvaParcella(event) {\n    event.preventDefault();\n    \n    const parcella = {\n        id: Date.now(),\n        codice: document.getElementById('parcella-codice').value,\n        superficie: parseFloat(document.getElementById('parcella-superficie').value),\n        coltura: document.getElementById('parcella-coltura').value,\n        varieta: document.getElementById('parcella-varieta').value,\n        tecnicaColturale: document.getElementById('parcella-tecnica').value,\n        annoImpianto: parseInt(document.getElementById('parcella-anno').value) || null,\n        rotazione: document.getElementById('parcella-rotazione').value\n    };\n    \n    quadernoDati.parcelle.push(parcella);\n    saveData();\n    refreshParcelleTable();\n    updateDashboard();\n    chiudiModal();\n}\n\nfunction refreshParcelleTable() {\n    const tbody = document.getElementById('parcelle-tbody');\n    tbody.innerHTML = '';\n    \n    quadernoDati.parcelle.forEach(parcella => {\n        const row = document.createElement('tr');\n        row.innerHTML = `\n            <td>${parcella.codice}<\/td>\n            <td>${parcella.superficie}<\/td>\n            <td>${parcella.coltura}<\/td>\n            <td>${parcella.varieta || '-'}<\/td>\n            <td>${parcella.tecnicaColturale}<\/td>\n            <td>${parcella.annoImpianto || '-'}<\/td>\n            <td>${parcella.rotazione || '-'}<\/td>\n            <td>\n                <button class=\"action-btn action-btn--edit\" onclick=\"modificaParcella(${parcella.id})\">Modifica<\/button>\n                <button class=\"action-btn action-btn--delete\" onclick=\"eliminaParcella(${parcella.id})\">Elimina<\/button>\n            <\/td>\n        `;\n        tbody.appendChild(row);\n    });\n}\n\nfunction eliminaParcella(id) {\n    if (confirm('Sei sicuro di voler eliminare questa parcella?')) {\n        quadernoDati.parcelle = quadernoDati.parcelle.filter(p => p.id !== id);\n        saveData();\n        refreshParcelleTable();\n        updateDashboard();\n    }\n}\n\n\/\/ Trattamenti functions\nfunction aggiungiTrattamento() {\n    const modalBody = document.getElementById('modal-body');\n    const parcelleOptions = quadernoDati.parcelle.map(p => \n        `<option value=\"${p.codice}\" data-coltura=\"${p.coltura}\">${p.codice} - ${p.coltura}<\/option>`\n    ).join('');\n    \n    modalBody.innerHTML = `\n        <h3>Aggiungi Trattamento Fitosanitario<\/h3>\n        <form class=\"modal-form\" onsubmit=\"salvaTrattamento(event)\">\n            <div class=\"form-group\">\n                <label class=\"form-label\">Data Trattamento *<\/label>\n                <input type=\"date\" id=\"trattamento-data\" class=\"form-control\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Parcella *<\/label>\n                <select id=\"trattamento-parcella\" class=\"form-control\" required onchange=\"updateColturaTrattamento()\">\n                    <option value=\"\">Seleziona parcella<\/option>\n                    ${parcelleOptions}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Coltura<\/label>\n                <input type=\"text\" id=\"trattamento-coltura\" class=\"form-control\" readonly>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Prodotto Utilizzato *<\/label>\n                <select id=\"trattamento-prodotto\" class=\"form-control\" required>\n                    <option value=\"\">Seleziona prodotto<\/option>\n                    ${datiRiferimento.prodottiFitosanitari.map(p => `<option value=\"${p}\">${p}<\/option>`).join('')}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Principio Attivo<\/label>\n                <select id=\"trattamento-principio\" class=\"form-control\">\n                    <option value=\"\">Seleziona principio attivo<\/option>\n                    ${datiRiferimento.principiAttivi.map(p => `<option value=\"${p}\">${p}<\/option>`).join('')}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Dose (L\/ha o kg\/ha) *<\/label>\n                <input type=\"number\" id=\"trattamento-dose\" class=\"form-control\" step=\"0.1\" min=\"0\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Volume Distribuzione (L\/ha)<\/label>\n                <input type=\"number\" id=\"trattamento-volume\" class=\"form-control\" step=\"1\" min=\"0\">\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Operatore Responsabile *<\/label>\n                <input type=\"text\" id=\"trattamento-operatore\" class=\"form-control\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Attrezzatura *<\/label>\n                <select id=\"trattamento-attrezzatura\" class=\"form-control\" required>\n                    <option value=\"\">Seleziona attrezzatura<\/option>\n                    ${datiRiferimento.attrezzature.map(a => `<option value=\"${a}\">${a}<\/option>`).join('')}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Condizioni Meteo<\/label>\n                <input type=\"text\" id=\"trattamento-meteo\" class=\"form-control\" placeholder=\"Es: Sereno, vento leggero\">\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Avversit\u00e0 Target<\/label>\n                <input type=\"text\" id=\"trattamento-avversita\" class=\"form-control\" placeholder=\"Es: Erbe infestanti, afidi\">\n            <\/div>\n            <div class=\"form-group\" style=\"grid-column: 1 \/ -1;\">\n                <label class=\"form-label\">Note<\/label>\n                <textarea id=\"trattamento-note\" class=\"form-control\" rows=\"3\"><\/textarea>\n            <\/div>\n            <div class=\"modal-actions\" style=\"grid-column: 1 \/ -1;\">\n                <button type=\"button\" class=\"btn btn--secondary\" onclick=\"chiudiModal()\">Annulla<\/button>\n                <button type=\"submit\" class=\"btn btn--primary\">Salva Trattamento<\/button>\n            <\/div>\n        <\/form>\n    `;\n    apriModal();\n}\n\nfunction updateColturaTrattamento() {\n    const parcellaSelect = document.getElementById('trattamento-parcella');\n    const colturaInput = document.getElementById('trattamento-coltura');\n    const selectedOption = parcellaSelect.options[parcellaSelect.selectedIndex];\n    colturaInput.value = selectedOption.getAttribute('data-coltura') || '';\n}\n\nfunction salvaTrattamento(event) {\n    event.preventDefault();\n    \n    const trattamento = {\n        id: Date.now(),\n        data: document.getElementById('trattamento-data').value,\n        parcella: document.getElementById('trattamento-parcella').value,\n        coltura: document.getElementById('trattamento-coltura').value,\n        prodotto: document.getElementById('trattamento-prodotto').value,\n        principioAttivo: document.getElementById('trattamento-principio').value,\n        dose: parseFloat(document.getElementById('trattamento-dose').value),\n        volumeDistribuzione: parseFloat(document.getElementById('trattamento-volume').value) || null,\n        operatore: document.getElementById('trattamento-operatore').value,\n        attrezzatura: document.getElementById('trattamento-attrezzatura').value,\n        condizioniMeteo: document.getElementById('trattamento-meteo').value,\n        avversitaTarget: document.getElementById('trattamento-avversita').value,\n        note: document.getElementById('trattamento-note').value\n    };\n    \n    quadernoDati.trattamenti.push(trattamento);\n    \n    \/\/ Update magazzino scarichi\n    updateMagazzinoScarichi(trattamento.prodotto, trattamento.dose);\n    \n    saveData();\n    refreshTrattamentiTable();\n    refreshMagazzinoTable();\n    updateDashboard();\n    chiudiModal();\n}\n\nfunction refreshTrattamentiTable() {\n    const tbody = document.getElementById('trattamenti-tbody');\n    tbody.innerHTML = '';\n    \n    quadernoDati.trattamenti.forEach(trattamento => {\n        const row = document.createElement('tr');\n        row.innerHTML = `\n            <td>${formatDate(trattamento.data)}<\/td>\n            <td>${trattamento.parcella}<\/td>\n            <td>${trattamento.coltura}<\/td>\n            <td>${trattamento.prodotto}<\/td>\n            <td>${trattamento.dose}<\/td>\n            <td>${trattamento.operatore}<\/td>\n            <td>${trattamento.attrezzatura}<\/td>\n            <td>${trattamento.note || '-'}<\/td>\n            <td>\n                <button class=\"action-btn action-btn--delete\" onclick=\"eliminaTrattamento(${trattamento.id})\">Elimina<\/button>\n            <\/td>\n        `;\n        tbody.appendChild(row);\n    });\n}\n\nfunction eliminaTrattamento(id) {\n    if (confirm('Sei sicuro di voler eliminare questo trattamento?')) {\n        quadernoDati.trattamenti = quadernoDati.trattamenti.filter(t => t.id !== id);\n        saveData();\n        refreshTrattamentiTable();\n        updateDashboard();\n    }\n}\n\n\/\/ Similar functions for other sections (Concimazioni, Irrigazioni, Raccolte, Controlli)\nfunction aggiungiConcimazione() {\n    const modalBody = document.getElementById('modal-body');\n    const parcelleOptions = quadernoDati.parcelle.map(p => \n        `<option value=\"${p.codice}\" data-coltura=\"${p.coltura}\">${p.codice} - ${p.coltura}<\/option>`\n    ).join('');\n    \n    modalBody.innerHTML = `\n        <h3>Aggiungi Concimazione<\/h3>\n        <form class=\"modal-form\" onsubmit=\"salvaConcimazione(event)\">\n            <div class=\"form-group\">\n                <label class=\"form-label\">Data Intervento *<\/label>\n                <input type=\"date\" id=\"concimazione-data\" class=\"form-control\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Parcella *<\/label>\n                <select id=\"concimazione-parcella\" class=\"form-control\" required onchange=\"updateColturaConcimazione()\">\n                    <option value=\"\">Seleziona parcella<\/option>\n                    ${parcelleOptions}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Coltura<\/label>\n                <input type=\"text\" id=\"concimazione-coltura\" class=\"form-control\" readonly>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Tipo Fertilizzante *<\/label>\n                <select id=\"concimazione-tipo\" class=\"form-control\" required>\n                    <option value=\"\">Seleziona tipo<\/option>\n                    <option value=\"Organico\">Organico<\/option>\n                    <option value=\"Chimico\">Chimico<\/option>\n                    <option value=\"Organo-minerale\">Organo-minerale<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Prodotto *<\/label>\n                <select id=\"concimazione-prodotto\" class=\"form-control\" required>\n                    <option value=\"\">Seleziona prodotto<\/option>\n                    ${datiRiferimento.fertilizzanti.map(f => `<option value=\"${f}\">${f}<\/option>`).join('')}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Quantit\u00e0 (kg\/ha o L\/ha) *<\/label>\n                <input type=\"number\" id=\"concimazione-quantita\" class=\"form-control\" step=\"0.1\" min=\"0\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Modalit\u00e0 Distribuzione *<\/label>\n                <select id=\"concimazione-modalita\" class=\"form-control\" required>\n                    <option value=\"\">Seleziona modalit\u00e0<\/option>\n                    ${datiRiferimento.modalitaDistribuzione.map(m => `<option value=\"${m}\">${m}<\/option>`).join('')}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">N-P-K Contenuto<\/label>\n                <input type=\"text\" id=\"concimazione-npk\" class=\"form-control\" placeholder=\"Es: 20-10-10\">\n            <\/div>\n            <div class=\"form-group\" style=\"grid-column: 1 \/ -1;\">\n                <label class=\"form-label\">Note<\/label>\n                <textarea id=\"concimazione-note\" class=\"form-control\" rows=\"3\"><\/textarea>\n            <\/div>\n            <div class=\"modal-actions\" style=\"grid-column: 1 \/ -1;\">\n                <button type=\"button\" class=\"btn btn--secondary\" onclick=\"chiudiModal()\">Annulla<\/button>\n                <button type=\"submit\" class=\"btn btn--primary\">Salva Concimazione<\/button>\n            <\/div>\n        <\/form>\n    `;\n    apriModal();\n}\n\nfunction updateColturaConcimazione() {\n    const parcellaSelect = document.getElementById('concimazione-parcella');\n    const colturaInput = document.getElementById('concimazione-coltura');\n    const selectedOption = parcellaSelect.options[parcellaSelect.selectedIndex];\n    colturaInput.value = selectedOption.getAttribute('data-coltura') || '';\n}\n\nfunction salvaConcimazione(event) {\n    event.preventDefault();\n    \n    const concimazione = {\n        id: Date.now(),\n        data: document.getElementById('concimazione-data').value,\n        parcella: document.getElementById('concimazione-parcella').value,\n        coltura: document.getElementById('concimazione-coltura').value,\n        tipo: document.getElementById('concimazione-tipo').value,\n        prodotto: document.getElementById('concimazione-prodotto').value,\n        quantita: parseFloat(document.getElementById('concimazione-quantita').value),\n        modalita: document.getElementById('concimazione-modalita').value,\n        npk: document.getElementById('concimazione-npk').value,\n        note: document.getElementById('concimazione-note').value\n    };\n    \n    quadernoDati.concimazioni.push(concimazione);\n    saveData();\n    refreshConcimazioniTable();\n    updateDashboard();\n    chiudiModal();\n}\n\nfunction refreshConcimazioniTable() {\n    const tbody = document.getElementById('concimazioni-tbody');\n    tbody.innerHTML = '';\n    \n    quadernoDati.concimazioni.forEach(concimazione => {\n        const row = document.createElement('tr');\n        row.innerHTML = `\n            <td>${formatDate(concimazione.data)}<\/td>\n            <td>${concimazione.parcella}<\/td>\n            <td>${concimazione.coltura}<\/td>\n            <td>${concimazione.tipo}<\/td>\n            <td>${concimazione.prodotto}<\/td>\n            <td>${concimazione.quantita}<\/td>\n            <td>${concimazione.modalita}<\/td>\n            <td>${concimazione.note || '-'}<\/td>\n            <td>\n                <button class=\"action-btn action-btn--delete\" onclick=\"eliminaConcimazione(${concimazione.id})\">Elimina<\/button>\n            <\/td>\n        `;\n        tbody.appendChild(row);\n    });\n}\n\nfunction eliminaConcimazione(id) {\n    if (confirm('Sei sicuro di voler eliminare questa concimazione?')) {\n        quadernoDati.concimazioni = quadernoDati.concimazioni.filter(c => c.id !== id);\n        saveData();\n        refreshConcimazioniTable();\n        updateDashboard();\n    }\n}\n\n\/\/ Magazzino functions\nfunction aggiungiProdottoMagazzino() {\n    const modalBody = document.getElementById('modal-body');\n    modalBody.innerHTML = `\n        <h3>Aggiungi Prodotto al Magazzino<\/h3>\n        <form class=\"modal-form\" onsubmit=\"salvaProdottoMagazzino(event)\">\n            <div class=\"form-group\">\n                <label class=\"form-label\">Nome Prodotto *<\/label>\n                <input type=\"text\" id=\"magazzino-nome\" class=\"form-control\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Principio Attivo<\/label>\n                <select id=\"magazzino-principio\" class=\"form-control\">\n                    <option value=\"\">Seleziona principio attivo<\/option>\n                    ${datiRiferimento.principiAttivi.map(p => `<option value=\"${p}\">${p}<\/option>`).join('')}\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Unit\u00e0 di Misura *<\/label>\n                <select id=\"magazzino-unita\" class=\"form-control\" required>\n                    <option value=\"\">Seleziona unit\u00e0<\/option>\n                    <option value=\"L\">Litri<\/option>\n                    <option value=\"kg\">Kg<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Giacenza Iniziale *<\/label>\n                <input type=\"number\" id=\"magazzino-giacenza\" class=\"form-control\" step=\"0.1\" min=\"0\" required>\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Carichi in Entrata<\/label>\n                <input type=\"number\" id=\"magazzino-carichi\" class=\"form-control\" step=\"0.1\" min=\"0\" value=\"0\">\n            <\/div>\n            <div class=\"form-group\">\n                <label class=\"form-label\">Data di Scadenza<\/label>\n                <input type=\"date\" id=\"magazzino-scadenza\" class=\"form-control\">\n            <\/div>\n            <div class=\"modal-actions\" style=\"grid-column: 1 \/ -1;\">\n                <button type=\"button\" class=\"btn btn--secondary\" onclick=\"chiudiModal()\">Annulla<\/button>\n                <button type=\"submit\" class=\"btn btn--primary\">Salva Prodotto<\/button>\n            <\/div>\n        <\/form>\n    `;\n    apriModal();\n}\n\nfunction salvaProdottoMagazzino(event) {\n    event.preventDefault();\n    \n    const giacenzaIniziale = parseFloat(document.getElementById('magazzino-giacenza').value);\n    const carichi = parseFloat(document.getElementById('magazzino-carichi').value) || 0;\n    \n    const prodotto = {\n        id: Date.now(),\n        nomeProdotto: document.getElementById('magazzino-nome').value,\n        principioAttivo: document.getElementById('magazzino-principio').value,\n        unitaMisura: document.getElementById('magazzino-unita').value,\n        giacenzaIniziale: giacenzaIniziale,\n        carichi: carichi,\n        scarichi: 0,\n        giacenzaAttuale: giacenzaIniziale + carichi,\n        dataScadenza: document.getElementById('magazzino-scadenza').value,\n        stato: calcolaStatoProdotto(document.getElementById('magazzino-scadenza').value)\n    };\n    \n    quadernoDati.magazzino.push(prodotto);\n    saveData();\n    refreshMagazzinoTable();\n    updateDashboard();\n    chiudiModal();\n}\n\nfunction refreshMagazzinoTable() {\n    const tbody = document.getElementById('magazzino-tbody');\n    tbody.innerHTML = '';\n    \n    quadernoDati.magazzino.forEach(prodotto => {\n        const row = document.createElement('tr');\n        row.innerHTML = `\n            <td>${prodotto.nomeProdotto}<\/td>\n            <td>${prodotto.principioAttivo || '-'}<\/td>\n            <td>${prodotto.unitaMisura}<\/td>\n            <td>${prodotto.giacenzaIniziale}<\/td>\n            <td>${prodotto.carichi}<\/td>\n            <td>${prodotto.scarichi}<\/td>\n            <td>${prodotto.giacenzaAttuale}<\/td>\n            <td>${formatDate(prodotto.dataScadenza)}<\/td>\n            <td><span class=\"status-indicator status-indicator--${prodotto.stato.toLowerCase()}\">${prodotto.stato}<\/span><\/td>\n            <td>\n                <button class=\"action-btn action-btn--delete\" onclick=\"eliminaProdottoMagazzino(${prodotto.id})\">Elimina<\/button>\n            <\/td>\n        `;\n        tbody.appendChild(row);\n    });\n}\n\nfunction updateMagazzinoScarichi(nomeProdotto, quantita) {\n    const prodotto = quadernoDati.magazzino.find(p => p.nomeProdotto.includes(nomeProdotto.split(' ')[0]));\n    if (prodotto) {\n        prodotto.scarichi += quantita;\n        prodotto.giacenzaAttuale = prodotto.giacenzaIniziale + prodotto.carichi - prodotto.scarichi;\n    }\n}\n\nfunction calcolaStatoProdotto(dataScadenza) {\n    if (!dataScadenza) return 'Disponibile';\n    \n    const oggi = new Date();\n    const scadenza = new Date(dataScadenza);\n    const differenza = scadenza - oggi;\n    const giorniRimanenti = Math.ceil(differenza \/ (1000 * 60 * 60 * 24));\n    \n    if (giorniRimanenti < 0) return 'Scaduto';\n    if (giorniRimanenti <= 30) return 'Scadenza';\n    return 'Disponibile';\n}\n\nfunction eliminaProdottoMagazzino(id) {\n    if (confirm('Sei sicuro di voler eliminare questo prodotto?')) {\n        quadernoDati.magazzino = quadernoDati.magazzino.filter(p => p.id !== id);\n        saveData();\n        refreshMagazzinoTable();\n        updateDashboard();\n    }\n}\n\n\/\/ Refresh all tables\nfunction refreshAllTables() {\n    refreshParcelleTable();\n    refreshTrattamentiTable();\n    refreshConcimazioniTable();\n    refreshMagazzinoTable();\n}\n\n\/\/ Modal functions\nfunction apriModal() {\n    document.getElementById('modal').style.display = 'block';\n}\n\nfunction chiudiModal() {\n    document.getElementById('modal').style.display = 'none';\n}\n\n\/\/ Utility functions\nfunction formatDate(dateString) {\n    if (!dateString) return '-';\n    const date = new Date(dateString);\n    return date.toLocaleDateString('it-IT');\n}\n\nfunction showToast(message, type = 'success') {\n    const toast = document.createElement('div');\n    toast.className = `toast toast--${type}`;\n    toast.textContent = message;\n    document.body.appendChild(toast);\n    \n    setTimeout(() => {\n        toast.remove();\n    }, 3000);\n}\n\n\/\/ Dashboard update\nfunction updateDashboard() {\n    document.getElementById('stat-parcelle').textContent = quadernoDati.parcelle.length;\n    document.getElementById('stat-trattamenti').textContent = quadernoDati.trattamenti.length;\n    \n    const superficieTotale = quadernoDati.parcelle.reduce((sum, p) => sum + p.superficie, 0);\n    document.getElementById('stat-superficie').textContent = superficieTotale.toFixed(1);\n    \n    const prodottiInScadenza = quadernoDati.magazzino.filter(p => p.stato === 'Scadenza' || p.stato === 'Scaduto').length;\n    document.getElementById('stat-scadenze').textContent = prodottiInScadenza;\n}\n\n\/\/ Export functions\nfunction esportaCSV() {\n    const tabAttiva = document.querySelector('.tab-panel.active').id;\n    let csvContent = '';\n    let filename = '';\n    \n    switch(tabAttiva) {\n        case 'parcelle':\n            csvContent = generateParcelleCSV();\n            filename = 'parcelle.csv';\n            break;\n        case 'trattamenti':\n            csvContent = generateTrattamentiCSV();\n            filename = 'trattamenti.csv';\n            break;\n        default:\n            showToast('Esportazione non disponibile per questa sezione', 'warning');\n            return;\n    }\n    \n    downloadCSV(csvContent, filename);\n}\n\nfunction generateParcelleCSV() {\n    const headers = ['Codice', 'Superficie', 'Coltura', 'Variet\u00e0', 'Tecnica', 'Anno', 'Rotazione'];\n    const rows = quadernoDati.parcelle.map(p => [\n        p.codice, p.superficie, p.coltura, p.varieta || '', \n        p.tecnicaColturale, p.annoImpianto || '', p.rotazione || ''\n    ]);\n    \n    return [headers, ...rows].map(row => row.join(',')).join('\\n');\n}\n\nfunction generateTrattamentiCSV() {\n    const headers = ['Data', 'Parcella', 'Coltura', 'Prodotto', 'Dose', 'Operatore'];\n    const rows = quadernoDati.trattamenti.map(t => [\n        t.data, t.parcella, t.coltura, t.prodotto, t.dose, t.operatore\n    ]);\n    \n    return [headers, ...rows].map(row => row.join(',')).join('\\n');\n}\n\nfunction downloadCSV(content, filename) {\n    const blob = new Blob([content], { type: 'text\/csv;charset=utf-8;' });\n    const link = document.createElement('a');\n    const url = URL.createObjectURL(blob);\n    link.setAttribute('href', url);\n    link.setAttribute('download', filename);\n    link.style.visibility = 'hidden';\n    document.body.appendChild(link);\n    link.click();\n    document.body.removeChild(link);\n    showToast('File CSV esportato correttamente', 'success');\n}\n\nfunction stampaQuaderno() {\n    window.print();\n}\n\n\/\/ Additional functions for other sections would be implemented similarly\nfunction aggiungiIrrigazione() {\n    \/\/ Implementation similar to other add functions\n    showToast('Funzione irrigazioni in sviluppo', 'info');\n}\n\nfunction aggiungiRaccolta() {\n    \/\/ Implementation similar to other add functions\n    showToast('Funzione raccolte in sviluppo', 'info');\n}\n\nfunction aggiungiControllo() {\n    \/\/ Implementation similar to other add functions\n    showToast('Funzione controlli in sviluppo', 'info');\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Campaign Log Elektronisches Register f\u00fcr die Verwaltung landwirtschaftlicher T\u00e4tigkeiten ?? Register ?? Pakete ?? Behandlungen ?? D\u00fcngungen ?? Bew\u00e4sserungen ?? Sammlungen ?? Lager ?? Firmenregister Kontrollen Firmenname * Firmencode\/CUAA * Technische Kontaktadresse Gemeinsames Hauptquartier Provinz CAP Katastercode Telefon E-Mail-Datum Erstellung Speichern Register Kulturparzellen Paket hinzuf\u00fcgen [...]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-7315","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Quaderno di campagna - Vigneto Sicuro<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vignetosicuro.it\/de\/quaderno-di-campagna\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Quaderno di campagna - Vigneto Sicuro\" \/>\n<meta property=\"og:description\" content=\"Quaderno di Campagna Registro elettronico per la gestione delle attivit\u00e0 agricole \ud83c\udfe2 Anagrafica \ud83c\udf3e Parcelle \ud83d\ude9c Trattamenti \ud83c\udf31 Concimazioni \ud83d\udca7 Irrigazioni \ud83c\udf3d Raccolte \ud83d\udce6 Magazzino \ud83d\udccb Controlli Anagrafica Aziendale Ragione Sociale * Codice Azienda\/CUAA * Referente Tecnico Indirizzo Sede Comune Provincia CAP Codice Catastale Telefono Email Data Compilazione Salva Anagrafica Registro Parcelle Coltivate Aggiungi Parcella [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vignetosicuro.it\/de\/quaderno-di-campagna\/\" \/>\n<meta property=\"og:site_name\" content=\"Vigneto Sicuro\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-23T10:44:54+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"1\u00a0Minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/quaderno-di-campagna\\\/\",\"url\":\"https:\\\/\\\/vignetosicuro.it\\\/quaderno-di-campagna\\\/\",\"name\":\"Quaderno di campagna - Vigneto Sicuro\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/#website\"},\"datePublished\":\"2025-06-23T10:42:03+00:00\",\"dateModified\":\"2025-06-23T10:44:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/quaderno-di-campagna\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vignetosicuro.it\\\/quaderno-di-campagna\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/quaderno-di-campagna\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vignetosicuro.it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quaderno di campagna\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/#website\",\"url\":\"https:\\\/\\\/vignetosicuro.it\\\/\",\"name\":\"Vigneto Sicuro\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vignetosicuro.it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/#organization\",\"name\":\"Vigneto Sicuro\",\"url\":\"https:\\\/\\\/vignetosicuro.it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/vignetosicuro.it\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Raggruppa-376.svg\",\"contentUrl\":\"https:\\\/\\\/vignetosicuro.it\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Raggruppa-376.svg\",\"width\":239,\"height\":58,\"caption\":\"Vigneto Sicuro\"},\"image\":{\"@id\":\"https:\\\/\\\/vignetosicuro.it\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Quaderno di campagna - Vigneto Sicuro","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vignetosicuro.it\/de\/quaderno-di-campagna\/","og_locale":"de_DE","og_type":"article","og_title":"Quaderno di campagna - Vigneto Sicuro","og_description":"Quaderno di Campagna Registro elettronico per la gestione delle attivit\u00e0 agricole \ud83c\udfe2 Anagrafica \ud83c\udf3e Parcelle \ud83d\ude9c Trattamenti \ud83c\udf31 Concimazioni \ud83d\udca7 Irrigazioni \ud83c\udf3d Raccolte \ud83d\udce6 Magazzino \ud83d\udccb Controlli Anagrafica Aziendale Ragione Sociale * Codice Azienda\/CUAA * Referente Tecnico Indirizzo Sede Comune Provincia CAP Codice Catastale Telefono Email Data Compilazione Salva Anagrafica Registro Parcelle Coltivate Aggiungi Parcella [&hellip;]","og_url":"https:\/\/vignetosicuro.it\/de\/quaderno-di-campagna\/","og_site_name":"Vigneto Sicuro","article_modified_time":"2025-06-23T10:44:54+00:00","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"1\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vignetosicuro.it\/quaderno-di-campagna\/","url":"https:\/\/vignetosicuro.it\/quaderno-di-campagna\/","name":"Quaderno di campagna - Vigneto Sicuro","isPartOf":{"@id":"https:\/\/vignetosicuro.it\/#website"},"datePublished":"2025-06-23T10:42:03+00:00","dateModified":"2025-06-23T10:44:54+00:00","breadcrumb":{"@id":"https:\/\/vignetosicuro.it\/quaderno-di-campagna\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vignetosicuro.it\/quaderno-di-campagna\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vignetosicuro.it\/quaderno-di-campagna\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vignetosicuro.it\/"},{"@type":"ListItem","position":2,"name":"Quaderno di campagna"}]},{"@type":"WebSite","@id":"https:\/\/vignetosicuro.it\/#website","url":"https:\/\/vignetosicuro.it\/","name":"Vigneto Sicuro","description":"","publisher":{"@id":"https:\/\/vignetosicuro.it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vignetosicuro.it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/vignetosicuro.it\/#organization","name":"Vigneto Sicuro","url":"https:\/\/vignetosicuro.it\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/vignetosicuro.it\/#\/schema\/logo\/image\/","url":"https:\/\/vignetosicuro.it\/wp-content\/uploads\/2023\/03\/Raggruppa-376.svg","contentUrl":"https:\/\/vignetosicuro.it\/wp-content\/uploads\/2023\/03\/Raggruppa-376.svg","width":239,"height":58,"caption":"Vigneto Sicuro"},"image":{"@id":"https:\/\/vignetosicuro.it\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/vignetosicuro.it\/de\/wp-json\/wp\/v2\/pages\/7315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vignetosicuro.it\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vignetosicuro.it\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vignetosicuro.it\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vignetosicuro.it\/de\/wp-json\/wp\/v2\/comments?post=7315"}],"version-history":[{"count":7,"href":"https:\/\/vignetosicuro.it\/de\/wp-json\/wp\/v2\/pages\/7315\/revisions"}],"predecessor-version":[{"id":7323,"href":"https:\/\/vignetosicuro.it\/de\/wp-json\/wp\/v2\/pages\/7315\/revisions\/7323"}],"wp:attachment":[{"href":"https:\/\/vignetosicuro.it\/de\/wp-json\/wp\/v2\/media?parent=7315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}