:root{--bg:#f4f6f8;--card:#fff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#0f766e;--dark:#0b1b2b;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.shell{display:grid;grid-template-columns:240px 1fr;grid-template-rows:56px 1fr;min-height:100vh}.topbar{grid-column:1/3;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.brand{display:flex;gap:12px;align-items:center}.brand small{display:block;color:#94a3b8;font-size:11px}.logo{background:#16a34a;width:30px;height:30px;border-radius:6px;display:grid;place-items:center;font-weight:700}.role-chip{font-size:12px;background:#1e293b;padding:6px 10px;border-radius:6px;color:#cbd5e1}.sidebar{background:#fff;border-right:1px solid var(--line);padding:16px 10px}.nav-group{font-size:11px;color:var(--muted);letter-spacing:.05em;margin:14px 10px 6px}.nav{display:block;padding:9px 12px;border-radius:6px;font-size:14px}.nav.active{background:#e6f4f1;color:var(--brand);font-weight:600}.content{padding:20px 24px;overflow:auto}.crumb{color:var(--muted);font-size:12px;margin:0}h1{font-size:20px;margin:4px 0 2px}.ohs-provenance{color:var(--muted);font-size:12px;margin:0 0 16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:16px}.kpi{background:var(--card);border:1px solid var(--line);border-left:4px solid;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi span{font-size:12px;color:#334155}.kpi strong{font-size:28px}.kpi small{color:var(--muted);font-size:11px}.grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}@media (max-width:900px){.grid,.shell{grid-template-columns:1fr}.sidebar{display:none}}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px}.card h2{font-size:15px;margin:0 0 12px}table.zones{width:100%;border-collapse:collapse;font-size:13px}.zones th{text-align:left;color:var(--muted);font-size:11px;font-weight:600;border-bottom:1px solid var(--line);padding:6px}.zones td{border-bottom:1px solid var(--line);padding:8px 6px;vertical-align:middle}.num{text-align:right;font-variant-numeric:tabular-nums}.stack{display:flex;height:12px;border-radius:3px;overflow:hidden;background:#f1f5f9;min-width:180px}.stack span{display:block}.legend{list-style:none;padding:0;margin:0}.legend li{display:grid;grid-template-columns:14px 1fr auto 56px;gap:8px;align-items:center;padding:6px 0;font-size:13px}.legend i{width:10px;height:10px;border-radius:2px}.legend .muted{text-align:right}.muted{color:var(--muted)}.small{font-size:12px}.alert{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:10px 12px;border-radius:6px;font-size:13px}.ok{color:#166534}button{font:inherit;padding:7px 12px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}button.primary{background:#1d4ed8;color:#fff;border-color:#1d4ed8}button:disabled{opacity:.5;cursor:default}button.link{border:none;background:none;color:#1d4ed8;padding:0;font-size:12px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:grid;place-items:center;padding:16px}.modal .card{width:min(520px,100%)}.modal label{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-bottom:10px}.modal input,.modal textarea{font:inherit;padding:8px;border:1px solid var(--line);border-radius:6px}.actions{display:flex;justify-content:flex-end;gap:8px}.grid.single{grid-template-columns:1fr;margin-top:14px}.bars{display:flex;flex-direction:column;gap:8px;margin:6px 0 10px}.bar-row{display:grid;grid-template-columns:110px 1fr 56px;gap:10px;align-items:center;font-size:13px}.bar-track{position:relative;height:14px;background:#f1f5f9;border-radius:3px}.bar-fill{position:absolute;inset:0 auto 0 0;background:#0f766e;border-radius:3px}.bar-fill.below{background:#f97316}.bar-target{position:absolute;top:-3px;bottom:-3px;width:2px;background:#0f172a}.toolbar{display:flex;gap:6px;align-items:center;margin:8px 0 12px;flex-wrap:wrap}button.tab{border-radius:16px;padding:5px 12px;font-size:13px}button.tab.active{background:#0f766e;color:#fff;border-color:#0f766e}.badge{display:inline-block;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;white-space:nowrap}.grid.two{grid-template-columns:1fr 1fr}@media (max-width:1100px){.grid.two{grid-template-columns:1fr}}ul.plain{list-style:none;padding:0;margin:0}ul.plain li{padding:5px 0;border-bottom:1px solid var(--line);font-size:13px}.map{height:560px;border:1px solid var(--line);border-radius:8px;background:#eef2f5}.modal select{font:inherit;padding:8px;border:1px solid var(--line);border-radius:6px}code{background:#f1f5f9;padding:1px 4px;border-radius:3px;font-size:12px}h3{margin:12px 0 4px}a.nav{color:inherit;text-decoration:none;cursor:pointer}
