@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&display=swap";
:root{--bg:#eef0ee;--panel:#fff;--text:#181a17;--muted:#5b6158;--line:#d8dbd6;--brand:#00483d;--brand-dark:#00332a;--nav:var(--brand);--nav2:var(--brand-dark);--action:#157a5f;--action-dark:#0e5c46;--accent:#f2a900;--accent-ink:#14171a;--danger:#c23b2c;--warning:#a3720a;--ok:#2f6b3f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;font-family:Archivo,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{overflow-x:hidden}body{background:var(--bg);color:var(--text);margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}.shell{grid-template-columns:226px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--nav);color:#fff;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;margin-bottom:26px;display:flex}.brandMark{width:34px;height:34px;color:var(--brand);background:#fff;border-radius:4px;flex-shrink:0;place-items:center;font-size:17px;font-weight:800;display:grid;overflow:hidden}.brandMark img{object-fit:contain;width:100%;height:100%}.brand strong{letter-spacing:.01em;font-size:15px;font-weight:700;display:block}.brand small{color:#9aa39c;letter-spacing:.02em;margin-top:1px;font-size:11px;display:block}.sidebar nav{gap:2px;display:grid}.sidebar nav a{color:#c3cac4;border-radius:5px;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;font-weight:600;display:flex}.sidebar nav a .navIcon{opacity:.85;flex-shrink:0;display:inline-flex}.sidebar nav a:hover{color:#fff;background:#ffffff12}.sidebar nav a:hover .navIcon{opacity:1}.navDivider{background:#ffffff1f;height:1px;margin:10px 2px}.sidebarNote{color:#8b9088;border-top:1px solid #ffffff1f;margin-top:auto;padding-top:14px;font-size:12px}.sidebarNote strong,.sidebarNote span{display:block}.content{width:100%;max-width:1400px;padding:32px}.pageHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;padding-bottom:16px;display:flex}.pageHeader h1{letter-spacing:-.01em;margin:0 0 10px;font-size:30px;font-weight:700;line-height:1.25}.pageHeader p{color:var(--muted);margin:0;font-weight:600;line-height:1.5}.pageHeader p+p{margin-top:4px}.grid{gap:16px;display:grid}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px}.card{border-left:5px solid var(--nav);padding:18px 20px}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:700}.card .value{margin-top:8px;font-size:30px;font-weight:800}.card.neutral{border-left-color:#c7ccc5}.card.attention{border-left-color:var(--accent)}.card.attention .value{color:var(--warning)}.taskActionList{gap:2px;display:grid}.taskActionRow{border-left:4px solid var(--warning);color:var(--text);background:#fdf6e6;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.taskActionRow:hover{background:#fbeecf}.taskActionText{flex-direction:column;gap:1px;display:flex}.taskActionText span{color:var(--muted);font-size:12.5px;font-weight:600}.taskActionArrow{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:16px}.panel{border-top:3px solid var(--brand);margin-top:20px;padding:22px;box-shadow:0 1px 3px #14171414}.panel h2{margin:0 0 16px;font-size:18px;font-weight:700}.panel.nested{background:var(--bg);border-top:3px dashed var(--brand);box-shadow:none;margin-top:16px;margin-left:14px;padding:18px 20px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}tr:last-child td{border-bottom:0}.status{text-transform:uppercase;letter-spacing:.02em;color:#3a423d;background:#e2e5e0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.statusIcon{font-size:10px;line-height:1}.status.Approved{background:var(--ok);color:#fff}.status.Suspended,.status.Rejected,.status.Invalid{background:var(--danger);color:#fff}.status.SdsReview,.status.RiskAssessmentRequired,.status.SubstitutionReview,.status.PhaseOut{background:var(--accent);color:var(--accent-ink)}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;color:var(--text);background:#fff;border:1px solid #c7ccc5;border-radius:8px;padding:10px 12px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);cursor:pointer;border:1px solid #8b9088;border-radius:3px;flex:none;padding:0}.checkboxRow{cursor:pointer;align-items:center;gap:9px;font-weight:600;display:flex}.checkboxRow+.checkboxRow{margin-top:10px}.checkboxRow span{line-height:1.3}.reqMark{color:var(--danger);margin-left:3px;font-weight:800}textarea.invalid,input.invalid{border:2px solid var(--danger);background:#fdf3f1}.fieldError{color:var(--danger);margin-top:3px;font-size:12px;font-weight:700}textarea.fieldPending,input.fieldPending{border:2px solid var(--warning);background:#fdf6e6}textarea.fieldOk,input.fieldOk{border:2px solid var(--ok);background:#eaf3ec}button,.button{cursor:pointer;background:var(--action);color:#fff;text-transform:uppercase;letter-spacing:.02em;border:0;border-radius:4px;padding:10px 16px;font-size:13px;font-weight:700}button:hover,.button:hover{background:var(--action-dark)}.button.secondary,button.secondary{color:#2a322c;background:#e2e5e0}.button.secondary:hover,button.secondary:hover{background:#d4d8d0}.button.danger,button.danger{background:var(--danger);color:#fff}.button.danger:hover,button.danger:hover{background:#a4301f}.searchBar{gap:8px;max-width:620px;display:flex}.iconBtn{cursor:pointer;color:#2a322c;background:#e2e5e0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.iconBtn:hover{background:#d4d8d0}.iconBtn.brand{background:var(--brand);color:#fff}.iconBtn.brand:hover{background:var(--nav2)}.iconBtn.danger{background:var(--danger);color:#fff}.iconBtn.danger:hover{background:#a4301f}.iconBtn:disabled{opacity:.5;cursor:default}.iconBtnRow{align-items:center;gap:6px;display:flex}.alert{border-left:4px solid var(--warning);background:#fdf6e6;border-radius:8px;padding:14px 16px}.alert.danger{border-left-color:var(--danger);background:#fbeeed}.alert.ok{border-left-color:var(--ok);background:#eaf3ec}.workerHero{grid-template-columns:1fr auto;align-items:start;gap:16px;display:grid}.workerHeroActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.hazardList{gap:8px;margin:12px 0;display:grid}.hazard{border-left:3px solid var(--accent);background:#fdf1de;border-radius:8px;padding:10px 12px}.actionGrid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;display:grid}.actionTile{border:1px solid var(--line);background:#f7f8f6;border-radius:8px;padding:14px}.actionTile strong{margin-bottom:5px;display:block}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:600}.loading{color:var(--muted);padding:30px 0}.empty{color:var(--muted);padding:20px 0}.sidebar nav a.active{color:#fff;box-shadow:inset 3px 0 0 var(--action);background:#ffffff17;font-weight:700}.sidebar nav a.active .navIcon{opacity:1}.sidebar nav a.navHighlight{background:var(--action);color:#fff;margin-bottom:4px;font-weight:700}.sidebar nav a.navHighlight .navIcon{opacity:1}.sidebar nav a.navHighlight:hover{background:var(--action-dark)}.sidebar nav a.navHighlight.active{background:var(--action);color:#fff;box-shadow:inset 0 0 0 2px #ffffff80}.roleSwitcher{gap:5px;margin-bottom:14px;display:grid}.roleSwitcher label{color:#8b9088;text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.roleSwitcher select{background:var(--brand-dark);color:#fff;text-transform:none;border:1px solid #34383a;padding:7px 8px;font-size:13px}.ghsRow{flex-wrap:wrap;gap:10px;margin:10px 0 16px;display:flex}.ghsIcon{display:inline-block}.emergencyGrid{grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0;display:grid}.emergencyBtn{background:var(--danger);color:#fff;cursor:pointer;text-align:center;text-transform:uppercase;letter-spacing:.01em;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;font-size:13px;font-weight:800;display:flex}.emergencyBtn .icon{font-size:26px}.emergencyBtn.fire{background:#c04a1f}.emergencyBtn.spill{background:#1f5aa0}.emergencyDetail{white-space:pre-wrap;background:#fbeeed;border:1px solid #f0c7c0;border-radius:8px;margin-top:14px;padding:16px}.provenance{color:#4a3f28;background:#fdf6e6;border:1px dashed #d9c398;border-radius:8px;margin-top:14px;padding:12px 14px;font-size:13px}.provenance strong{color:var(--warning);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;font-size:12px;display:block}.badgeDot{border-radius:8px;width:10px;height:10px;margin-right:8px;display:inline-block}.badgeDot.Critical{background:var(--danger)}.badgeDot.High{background:#c66a1f}.badgeDot.Medium{background:var(--accent)}.badgeDot.Low{background:#5f7a63}.taskRow{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.taskRow:last-child{border-bottom:0}.taskMeta{color:var(--muted);margin-top:3px;font-size:12px}.formGrid{gap:14px;max-width:720px;display:grid}.formGrid.two{grid-template-columns:1fr 1fr}.formRow{gap:6px;display:grid}.formRow label{color:#333b35;font-size:13px;font-weight:700}.formRow textarea{resize:vertical;min-height:80px;font-family:inherit}.formHint{color:var(--muted);font-size:12px}.formActions{align-items:center;gap:10px;margin-top:6px;display:flex}.qrBox{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.qrBox img{border:1px solid var(--line);background:#fff;border-radius:8px;width:180px;height:180px;padding:10px}.pill{text-transform:uppercase;letter-spacing:.02em;background:#e2e5e0;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.reqSourceOnly{color:#3a423d;background:#f5f6f4;border-left:4px solid #9aa39c;border-radius:8px;margin-top:10px;padding:12px 14px;font-size:14px}.dangerZone{border:1px solid #f0c7c0;border-top:3px solid var(--danger);background:#fdf8f7}.dangerZone h2{color:var(--danger)}.logoPreview{background:var(--nav);border-radius:4px;flex-shrink:0;place-items:center;width:72px;height:72px;display:grid;overflow:hidden}.logoPreview img{object-fit:contain;width:100%;height:100%}.logoPreview span{color:var(--accent);font-size:26px;font-weight:800}.productLayout{grid-template-columns:260px 1fr;align-items:start;gap:16px;display:grid}.locTree{padding:14px}.locTreeGroup{margin-bottom:14px}.locTreeGroup:last-child{margin-bottom:0}.locTreeGroupLabel{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:800}.locTreeItem{cursor:pointer;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:7px 8px;font-size:13px;font-weight:600;display:flex}.locTreeItem:hover{background:#f0f2ef}.locTreeItem.selected{background:var(--brand);color:#fff}.locTreeItem .count{color:var(--muted);margin-left:auto;font-size:11px;font-weight:700}.locTreeItem.selected .count{color:#ffffffbf}.locTreeChildren{margin-left:16px}.locTreeAll{margin-bottom:10px}.productRow{border-bottom:1px solid var(--line)}.productRow:last-child{border-bottom:0}.productRowMain{cursor:pointer;grid-template-columns:24px minmax(0,1fr) 150px 110px 190px 40px;align-items:center;gap:12px;padding:16px 8px;display:grid}.productRowMain:hover{background:#f7f8f6}.productRowChevron{color:#2a322c;background:#e2e5e0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.productRowMain:hover .productRowChevron{background:#d4d8d0}.productRowName{min-width:0}.productRowName strong{font-size:15.5px;font-weight:700;display:block}.productRowName span{color:var(--muted);font-size:12.5px}.productRowNameLink{color:var(--nav)}.productRowNameLink:hover strong{text-decoration:underline}.productRowPictos{flex-wrap:wrap;gap:6px;display:flex}.productRowMeta{display:contents}.productRowMeta .metaCol{text-align:left;color:var(--muted);font-size:12px}.productRowMeta .metaCol strong{color:var(--text);font-size:13px;display:block}.productRowMeta .status{justify-self:start}.productDetail{gap:14px;padding:6px 4px 20px 34px;display:grid}.productDetailGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.productDetailBlock h4{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 6px;font-size:11px}.productDetailBlock ul{margin:0;padding-left:18px}.productDetailBlock li{margin-bottom:2px}.reviewDueBadge{background:var(--warning);color:#fff}.hintBanner{border-left:4px solid var(--brand);color:#333b35;background:#f0f2ef;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.pictoPicker{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.pictoPickerItem{border:2px solid var(--line);cursor:pointer;width:64px;color:var(--muted);background:#fff;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;font-size:10px;font-weight:700;display:flex}.pictoPickerItem:hover{border-color:#b7bdb4}.pictoPickerItem.selected{border-color:var(--brand);color:var(--text);background:#eaf1ef}.locTreeGroupLabel{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;display:flex}.locTreeGroupLabel:hover{color:var(--text)}.locTreeTypeIcon{color:var(--muted);flex-shrink:0;display:inline-flex}.locTreeItem.selected .locTreeTypeIcon{color:#ffffffd9}.locTreeItem .favStar{flex-shrink:0;margin-left:auto}.locationsTable{table-layout:fixed}.locationsTable th:first-child,.locationsTable td:first-child{width:26%}.locationsTable th:nth-child(2),.locationsTable td:nth-child(2){width:20%}.locationsTable th:nth-child(3),.locationsTable td:nth-child(3),.locationsTable th:nth-child(4),.locationsTable td:nth-child(4){width:14%}.locationsTable th:nth-child(5),.locationsTable td:nth-child(5){width:26%}.locationsTable td,.locationsTable th{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.locationsTable td:nth-child(5){white-space:normal;overflow:visible}@media (max-width:700px){.respTable,.respTable thead,.respTable tbody,.respTable tr{width:100%;display:block}.respTable thead{position:absolute;left:-9999px}.respTable,.respTable td{table-layout:auto!important}.respTable tr{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:10px 12px}.respTable td{text-overflow:clip;white-space:normal;text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex;overflow:visible;width:auto!important}.respTable td.respTableTitle{text-align:left;justify-content:flex-start;font-size:15.5px}.respTable td[data-label]:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.02em;text-align:left;flex-shrink:0;font-size:11px;font-weight:700}.respTable td.respTableActions{justify-content:flex-end}}.ppePicker{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.ppePickerItem{border:2px solid var(--line);cursor:pointer;width:64px;color:var(--muted);background:#fff;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;font-size:10px;font-weight:700;display:flex}.ppePickerItem:hover{border-color:#b7bdb4}.ppePickerItem.selected{color:var(--text);background:#eaf1fa;border-color:#1f5aa0}.ppeRow{flex-wrap:wrap;gap:10px;margin:10px 0 16px;display:flex}.linkToggle{color:var(--brand);text-transform:none;letter-spacing:normal;cursor:pointer;background:0 0;border:0;margin-top:2px;padding:2px 0;font-size:12px;font-weight:700;text-decoration:underline;display:inline-block}.linkToggle:hover{color:var(--nav2);background:0 0}@media print{.sidebar,.noPrint{display:none!important}.content{max-width:none!important;padding:0!important}.shell{display:block!important}}.printSheet{text-align:center;border:2px solid var(--brand);border-radius:6px;max-width:420px;margin:0 auto;overflow:hidden}.printBrandBand{background:var(--brand);color:#fff;text-transform:uppercase;letter-spacing:.08em;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:15px;font-weight:800;display:flex}.printSheet .printBody{padding:22px 24px 28px}.printSheet .qrBox{justify-content:center}.printSheet img{width:230px;height:230px}.printSheet h1{text-transform:none;margin:4px 0;font-size:24px}.printSheet .printMeta{color:var(--muted);margin-top:16px;font-size:12px}.mobileNav{z-index:40;background:var(--nav);padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #ffffff1f;justify-content:space-around;align-items:flex-start;display:none;position:fixed;bottom:0;left:0;right:0}.mobileNav a,.mobileNav button{color:#c3cac4;text-transform:none;letter-spacing:normal;background:0 0;border:0;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;padding:4px 6px;font-size:10.5px;font-weight:700;display:flex}.mobileNav a.active,.mobileNav button.active,.mobileNav a:hover,.mobileNav button:hover{color:#fff;background:#ffffff17}.mobileNavScan{margin-top:-16px}.mobileNavScanCircle{background:var(--action);color:#fff;border-radius:999px;place-items:center;width:44px;height:44px;margin-bottom:1px;display:grid;box-shadow:0 2px 6px #00000040}.mobileNavScan:hover .mobileNavScanCircle{background:var(--action-dark)}@media (max-width:900px){.productLayout{grid-template-columns:1fr}.productRowMain{grid-template-columns:24px minmax(0,1fr);row-gap:8px}.productRowPictos{grid-column:1/-1;margin-left:36px}.productRowMeta{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;margin-left:36px;display:flex}.productRowMeta .metaCol{min-width:90px}.shell{display:block}.sidebar{height:auto;padding:12px 16px;position:relative}.sidebar nav,.sidebarNote{display:none}.brand{margin-bottom:0}.content{padding:16px 16px 88px}.cards,.actionGrid{grid-template-columns:repeat(2,1fr)}.emergencyGrid{grid-template-columns:repeat(3,1fr)}.formGrid.two{grid-template-columns:1fr}.mobileNav{display:flex}.pageHeader{flex-wrap:wrap}.workerHero{grid-template-columns:1fr}.workerHeroActions{justify-content:flex-start}}.mobileMoreOverlay{z-index:45;background:#0a0e0c73;align-items:flex-end;display:flex;position:fixed;inset:0}.mobileMoreSheet{background:var(--panel);width:100%;padding:8px 8px calc(14px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;gap:2px;max-height:70vh;display:grid;overflow-y:auto}.mobileMoreHandle{background:var(--line);border-radius:2px;width:36px;height:4px;margin:6px auto 8px}.mobileMoreItem{color:var(--text);border-radius:8px;align-items:center;gap:12px;padding:13px 14px;font-size:14.5px;font-weight:600;display:flex}.mobileMoreItem:hover{background:#f0f2ef}.stickyEmergencyBtn{display:none}@media (max-width:900px){.stickyEmergencyBtn{left:12px;right:12px;bottom:calc(70px + env(safe-area-inset-bottom));z-index:39;background:var(--danger);color:#fff;text-transform:uppercase;letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:14px;font-weight:800;display:flex;position:fixed;box-shadow:0 4px 14px #00000047}.stickyEmergencyBtn span{font-size:17px}}
