#safety{--safety-blue:#1a6074;--safety-aqua:#dff3f4;--safety-amber:#f3a629;--safety-slate:#34534a;scroll-margin-top:86px}
.safety-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;background:linear-gradient(118deg,#0d3527 0%,#154734 54%,#1a6074 100%);color:#fff;margin-bottom:12px}
.safety-hero h2{margin:3px 0 6px;font-size:23px}.safety-hero p{max-width:850px;margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.55}.safety-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#f9cb67;font-weight:900}.safety-hero .secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff}.safety-hero .secondary:hover{background:#fff;color:var(--forest)}
.safety-metrics{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;margin-bottom:12px}.safety-metric{position:relative;overflow:hidden;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(13,53,39,.06)}.safety-metric::after{content:"";position:absolute;inset:auto -18px -26px auto;width:68px;height:68px;border-radius:50%;background:color-mix(in srgb,var(--metric-color,var(--forest)) 18%,transparent)}.safety-metric strong{display:block;color:var(--metric-color,var(--forest));font-size:24px}.safety-metric span{display:block;margin-top:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.safety-flow{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px solid #cfe1d4;border-radius:12px;background:linear-gradient(90deg,#eef7ef,#edf7f8);font-size:10px;font-weight:900;color:var(--forest);margin-bottom:12px}.safety-flow span{padding:6px 9px;border-radius:99px;background:#fff;box-shadow:0 3px 10px rgba(13,53,39,.06)}.safety-flow i{font-size:18px;color:var(--safety-amber);font-style:normal}
.safety-nav{display:flex;gap:7px;margin:0 0 12px;padding:4px;width:max-content;max-width:100%;overflow:auto;border-radius:12px;background:#dce7df}.safety-nav-button{border:0;border-radius:9px;padding:9px 13px;background:transparent;color:var(--forest);font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}.safety-nav-button.active{background:#fff;color:var(--safety-blue);box-shadow:0 5px 14px rgba(13,53,39,.11)}
.safety-view{display:none}.safety-view.active{display:block}.safety-workspace{display:grid;grid-template-columns:minmax(620px,1fr) minmax(440px,510px);gap:16px}.journey-workspace{grid-template-columns:minmax(620px,.9fr) minmax(520px,1.1fr)}.safety-form-card{align-self:start}.safety-form-card .card-body{max-height:74vh;overflow:auto}.safety-register{max-height:720px;margin-top:0}.safety-register table{min-width:820px}.safety-search{width:min(330px,42vw);margin:0}.safety-search label{color:var(--forest)}
.safety-form-grid{display:grid;gap:9px}.safety-form-grid.two{grid-template-columns:1fr 1fr}.safety-extension{margin:12px -2px;padding:12px;border:1px dashed #b6d1be;border-radius:12px;background:#f5faf6}.safety-extension>strong{display:block;margin-bottom:10px;color:var(--forest);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.safety-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.inline-save{width:auto;min-width:170px}.safety-actions .secondary{min-width:110px;padding:11px}
.safety-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fbf8}.safety-checks legend{padding:0 5px;color:var(--forest);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.safety-checks label{display:flex;align-items:flex-start;gap:7px;font-size:10px;line-height:1.35}.safety-checks input{width:auto;margin-top:1px}.safety-checks.closeout{grid-template-columns:1fr}.safety-rule{padding:10px 11px;border-left:4px solid var(--safety-amber);border-radius:8px;background:#fff4d7;color:#6d4b00;font-size:10px;line-height:1.5}
.safety-followup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.safety-followup-grid .card-body{padding:14px}.checkpoint-list{max-height:250px}.safety-audit-table{max-height:690px;margin-top:0}.safety-audit-table table{min-width:900px}.safety-status{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border-radius:99px;background:color-mix(in srgb,var(--status-color,#84948b) 14%,white);color:color-mix(in srgb,var(--status-color,#84948b) 72%,#132c24);font-size:9px;font-weight:900;white-space:nowrap}.safety-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--status-color,#84948b)}.safety-priority{display:inline-block;padding:4px 6px;border-radius:7px;font-size:9px;font-weight:900;background:color-mix(in srgb,var(--priority-color,#84948b) 16%,white);color:color-mix(in srgb,var(--priority-color,#84948b) 75%,#1b2d27)}.safety-empty{padding:22px!important;text-align:center;color:var(--muted)}
body.print-safety .panel{display:none!important}body.print-safety #safety.panel{display:block!important}body.print-safety .safety-workspace,body.print-safety .safety-followup-grid{display:none!important}body.print-safety .safety-view{display:none!important}body.print-safety #safety-audit{display:block!important}body.print-safety .safety-hero{color:#173129;background:#fff;border:1px solid var(--line)}body.print-safety .safety-hero p{color:var(--muted)}
@media(max-width:1250px){.safety-metrics{grid-template-columns:repeat(3,1fr)}.safety-workspace,.journey-workspace{grid-template-columns:1fr}.safety-form-card .card-body{max-height:none;overflow:visible}}
@media(max-width:760px){.safety-hero{display:block}.safety-hero .report-actions{margin-top:12px}.safety-metrics{grid-template-columns:1fr 1fr}.safety-flow{justify-content:flex-start;overflow:auto}.safety-form-grid.two,.safety-followup-grid,.safety-checks{grid-template-columns:1fr}.safety-search{width:100%}.safety-form-card .card-head{align-items:flex-start}.inline-save{min-width:0}}
.safety-location-picker{border:1px solid #d5e0d7;border-radius:12px;padding:12px;margin:12px 0;background:#f8fbf8}.safety-location-picker legend{padding:0 6px;color:#154734;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.safety-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.safety-location-path{margin:8px 0 0;color:#5e7268;font-size:10px;line-height:1.4}.safety-location-path:not(:empty):before{content:'Selected: ';font-weight:800;color:#154734}.safety-location-details{border:1px solid #d5e0d7;border-radius:13px;margin:12px 0;background:#fff}.safety-location-details>summary{cursor:pointer;padding:12px 14px;color:#154734;font-size:11px;font-weight:800}.safety-route-locations{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 12px 12px}.safety-route-locations .safety-location-picker{margin:0}.safety-location-picker.compact .safety-location-grid{grid-template-columns:1fr 1fr}
@media(max-width:760px){.safety-route-locations,.safety-location-grid{grid-template-columns:1fr}}
.journey-route-planner{margin-bottom:16px;overflow:visible}.route-planner-head{flex-wrap:wrap}.route-planner-actions{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto}.route-planner-actions .secondary.active{background:var(--safety-blue);border-color:var(--safety-blue);color:#fff}.route-planner-body{display:grid;gap:11px}.route-planner-controls{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(150px,.55fr) minmax(165px,.6fr) minmax(260px,1.4fr);gap:10px;align-items:end}.route-planner-controls .field{margin:0}.route-speed{display:flex;align-items:center;border:1px solid #cddbd1;border-radius:9px;background:#fff;overflow:hidden}.route-speed input{border:0!important;border-radius:0!important}.route-speed span{padding:0 10px;color:var(--muted);font-size:10px;white-space:nowrap}.route-calculate{width:100%;height:40px}.route-click-status{min-height:40px;display:flex;align-items:center;padding:8px 10px;border-radius:9px;background:#eef4ef;color:var(--muted);font-size:10px;line-height:1.35}.route-click-status.active{background:#fff1cc;color:#715000;font-weight:800}.journey-map{height:500px;border:1px solid #cddbd1;border-radius:14px;overflow:hidden;background:#dce9e0}.route-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.route-summary article{padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,#fbfdfb,#edf5ef)}.route-summary strong{display:block;color:var(--forest);font-size:18px}.route-summary span{display:block;margin-top:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.route-summary article.route-warning{border-color:#efbe78;background:#fff6e8}.route-summary article.route-warning strong{color:#a85b00;font-size:13px}.route-leg-list{display:grid;gap:6px}.route-leg{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fafcfa;font-size:10px}.route-leg i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--forest);color:#fff;font-style:normal;font-weight:900}.route-leg strong{display:block;color:var(--forest)}.route-leg small{color:var(--muted)}.route-leg b{color:var(--forest);white-space:nowrap}.route-leg.unresolved{border-color:#efb0a9;background:#fff1ef}.route-leg.unresolved i{background:#c94b40}.route-disclaimer{margin:0;padding:9px 11px;border-left:4px solid var(--safety-amber);border-radius:8px;background:#fff7e3;color:#705100;font-size:9px;line-height:1.5}.jmp-marker{width:28px;height:28px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:var(--marker,#154734);color:#fff;font:900 11px Arial;box-shadow:0 3px 11px rgba(13,53,39,.35);cursor:pointer}.jmp-marker.checkpoint{background:#e09900}.jmp-marker.destination{background:#c94b40}.maplibregl-popup-content{border-radius:9px!important;padding:9px 11px!important;font:10px Arial;color:#173129}.maplibregl-ctrl-attrib{font-size:9px!important}
@media(max-width:1100px){.route-planner-controls{grid-template-columns:1fr 1fr}.route-summary{grid-template-columns:1fr 1fr}.journey-map{height:440px}}
@media(max-width:650px){.route-planner-controls{grid-template-columns:1fr}.route-summary{grid-template-columns:1fr 1fr}.journey-map{height:390px}.route-planner-actions{margin-left:0}.route-leg{grid-template-columns:28px 1fr}.route-leg b{grid-column:2}.route-summary strong{font-size:15px}}
.spot-tracker-card{margin-bottom:16px}.spot-tracker-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:16px;align-items:start}.spot-sync-time{margin:0 0 9px;color:var(--muted);font-size:10px}.spot-register{max-height:300px}.spot-assignment-form{padding:14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,#fbfdfb,#edf5ef)}.spot-assignment-form h3{margin:0 0 12px;color:var(--forest);font-size:15px}.spot-assignment-form textarea{min-height:80px}.spot-assignment-form .save{width:100%}.maplibregl-map .maplibregl-popup-content strong{color:#154734}@media(max-width:900px){.spot-tracker-layout{grid-template-columns:1fr}}
