:root{--ink:#213a33;--muted:#748079;--green:#28654f;--deep:#183d34;--cream:#f5f5f0;--line:#e3e7df;--white:#fff;--orange:#a96b19;--red:#bd4c36;--blue:#56738a;--shadow:0 8px 30px #173b2e06;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--cream)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b6a267;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}button svg,a svg{pointer-events:none}[hidden]{display:none!important}
.sidebar{width:216px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column;z-index:50}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 48px;font-size:24px;font-weight:750;letter-spacing:-.9px}.brand small{font-size:10px;display:block;letter-spacing:2px;margin-top:3px;font-weight:600;color:var(--muted)}.brand-icon{position:relative;width:40px;height:44px;display:grid;place-content:center;background:var(--deep);border-radius:11px;color:white;font-size:26px}.brand-icon span{position:absolute;background:#d3b66a;border:2px solid white;border-radius:50%;width:10px;height:10px;right:-3px;top:0}.nav-label{font-size:10px;letter-spacing:1.6px;color:#98a19b;font-weight:700;padding:0 12px 14px}.nav-item{display:flex;gap:11px;align-items:center;margin-bottom:7px;padding:13px 12px;border-radius:8px;font-weight:550;color:#79857d;font-size:12px;white-space:nowrap}.nav-item.active{background:#eaf1e9;color:#285743}.nav-item:hover{background:#f2f5ef}.nav-item svg{width:18px;height:18px}.nav-count{margin-left:auto;background:#d7e6d6;font-size:11px;min-width:23px;text-align:center;padding:3px;border-radius:5px}.sidebar-bottom{margin-top:auto;padding:24px 10px 0;border-top:1px solid var(--line)}.private-badge{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:650;color:#597462}.private-badge svg{width:14px}.sidebar-bottom p{font-size:11px;color:#919990;line-height:1.7}.owner{display:flex;align-items:center;gap:8px;font-size:11px;margin-top:25px;font-weight:600}.owner i{display:grid;place-content:center;font-style:normal;background:#eceee7;color:#66725e;border-radius:50%;width:29px;height:29px;font-size:10px}.shell{margin-left:216px}.topbar{height:68px;background:#ffffffaa;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;font-size:11px;color:var(--muted)}.breadcrumb span{padding:0 13px;color:#b1b8b0}.topbar-right{display:flex;align-items:center;gap:9px}.sync-dot{width:6px;height:6px;border-radius:50%;background:#6a9668}.icon-btn{border:1px solid var(--line);border-radius:7px;background:white;display:inline-grid;place-content:center;width:33px;height:33px;color:#6b7b70}.icon-btn:hover{background:#edf2e9}.icon-btn svg{width:16px;height:16px}main{max-width:1690px;margin:auto;padding:34px 36px 20px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;color:#718572;margin:0 0 9px}.page-head h1{font-size:30px;font-weight:680;letter-spacing:-1.1px;line-height:1.2;margin:0 0 10px}.subtitle{margin:0;color:var(--muted);font-size:12px}.head-actions{display:flex;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:11px 15px;font-weight:600;font-size:11px;line-height:1.3;min-height:39px;border:1px solid transparent;white-space:nowrap}.button svg{width:16px;height:16px}.primary{background:var(--deep);color:white;border-color:var(--deep)}.primary:hover{background:#2b5847}.secondary{background:#fff;border-color:#dce2d8;color:#4e6555}.secondary:hover{background:#f0f4ed}.text-link{display:inline-flex;align-items:center;gap:13px;color:#39735a;font-weight:600;font-size:11px}.text-link:hover{text-decoration:underline}.text-link span{font-size:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:33px}.stat{position:relative;border:1px solid var(--line);border-radius:11px;padding:18px 19px;background:#fff;text-align:left;box-shadow:var(--shadow);color:var(--ink)}.stat:hover{border-color:#adc0aa}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;color:#7c867d}.stat-icon{width:27px;height:27px;border-radius:8px;display:grid;place-content:center;background:var(--tone-bg);color:var(--tone)}.stat-icon svg{width:15px;height:15px}.stat-number{display:block;font-size:31px;font-weight:650;letter-spacing:-1px;line-height:1.3;margin:7px 0 2px}.stat-note{font-size:10px;color:#8c948c}.absence{--tone:#bd4c36;--tone-bg:#fbeee8}.internal{--tone:#a96b19;--tone-bg:#fbf2e4}.unverified{--tone:#56738a;--tone-bg:#eef2f4}.ok{--tone:#26745d;--tone-bg:#eaf4ec}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-heading h2,.route-intro h2{font-size:19px;letter-spacing:-.5px;margin:0 0 6px;font-weight:650}.section-heading p,.route-intro p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}.count-pill{border:1px solid #dce3d8;border-radius:20px;background:#ecf0e8;color:#647a60;padding:6px 11px;font-size:10px;font-weight:600}.filters{display:flex;gap:10px;margin-bottom:20px}.search-wrap{flex:1;position:relative;min-width:120px}.search-wrap svg{position:absolute;left:12px;top:12px;width:16px;height:16px;color:#8b968c}.search-wrap input{width:100%;padding:11px 13px 11px 37px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:12px;outline-offset:0}select{color:#59705e;border:1px solid var(--line);border-radius:8px;padding:10px 30px 10px 12px;background:#fff;font-size:11px;min-height:39px;max-width:100%}.cases-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.case-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:17px 18px 14px;display:flex;flex-direction:column;min-width:0}.case-card:before{content:"";position:absolute;top:19px;left:-1px;width:3px;height:29px;background:var(--tone);border-radius:0 4px 4px 0}.case-meta{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:10px;font-size:9px;letter-spacing:1px;color:#8e998d;text-transform:uppercase;font-weight:700}.case-card h3{font-size:15px;font-weight:650;letter-spacing:-.3px;line-height:1.4;margin:0 0 9px}.badge{display:inline-flex;align-items:center;gap:5px;background:var(--tone-bg);color:var(--tone);font-size:9px;font-weight:650;border-radius:5px;padding:5px 7px;width:fit-content;line-height:1.25}.badge:before{content:"";background:currentColor;width:4px;height:4px;border-radius:50%}.equipment-short{font-size:10px;color:#7d887e;line-height:1.7;word-break:break-word;margin:12px 0 0}.equipment-short strong{color:#62725f;font-weight:600}.action-short{font-size:11px;line-height:1.65;margin:11px 0 16px;color:#485d4e;flex:1}.card-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e9;padding-top:11px;gap:5px}.detail-button{border:none;background:transparent;font-size:10px;font-weight:650;color:#316a51;display:flex;gap:8px;align-items:center;padding:5px 0}.detail-button svg{width:14px;height:14px}.map-link{display:flex;gap:4px;align-items:center;color:#7a8c7b;font-size:10px;padding:4px}.map-link svg{width:13px;height:13px}.map-link:hover{color:#285c45}.no-map{font-size:9px;color:#a47e40;display:flex;align-items:center;gap:4px}.no-map svg{width:13px;height:13px}.admin-tag{font-size:9px;margin-top:10px;color:#90703e;display:flex;align-items:center;gap:4px}.admin-tag svg{width:12px;height:12px}.map-column{position:sticky;top:22px;min-width:0}.map-card{border:1px solid var(--line);border-radius:11px;background:white;overflow:hidden;box-shadow:var(--shadow)}.map-card-head{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 14px}.map-card-head .eyebrow{font-size:8px;margin-bottom:5px;letter-spacing:1.5px}.map-card-head h3{margin:0;font-size:14px;letter-spacing:-.2px;font-weight:650}.map{height:320px;background:#e9ede3;background-image:linear-gradient(#dce2d555 1px,transparent 1px),linear-gradient(90deg,#dce2d555 1px,transparent 1px);background-size:24px 24px;isolation:isolate}.leaflet-container{font-family:inherit;font-size:11px}.leaflet-control-attribution{font-size:8px!important;background:#ffffffdd!important}.leaflet-control-zoom{border:1px solid #d8dfd2!important;box-shadow:0 2px 7px #25321f11!important}.leaflet-control-zoom a{color:#4d6550!important}.pin-shell{background:transparent;border:0}.map-pin{background:var(--pin);border:2px solid white;color:white;font-weight:750;font-size:10px;display:grid;place-content:center;width:27px;height:27px;border-radius:50%;box-shadow:0 2px 7px #203c3044}.map-pin.small{width:18px;height:18px;font-size:8px}.map-footer{display:flex;align-items:center;gap:11px;font-size:9px;color:#8a9486;padding:11px 15px}.map-footer>span{display:flex;align-items:center;gap:5px}.map-footer>span:last-child{margin-left:auto}.legend-dot{display:inline-block;width:5px;height:5px;border-radius:50%}.legend-dot.pending{background:var(--orange)}.legend-dot.ok{background:var(--green)}.map-error{font-size:10px;line-height:1.6;padding:10px 15px;margin:0;background:#fbf5e8;color:#806c44}.side-note{display:flex;gap:12px;background:#ecf0e5;border:1px solid #e0e5d8;border-radius:10px;margin-top:17px;padding:20px 16px}.side-note>svg{color:#71856a;width:23px;height:23px}.side-note h3{font-size:12px;margin:0 0 7px;font-weight:650;letter-spacing:-.1px}.side-note p{font-size:11px;color:#7b8974;line-height:1.7;margin:0 0 10px}.source-note{font-size:10px;color:#919b8d;line-height:1.65;padding:15px 7px}.empty-state{text-align:center;background:white;border:1px dashed #d2dccb;border-radius:10px;padding:50px 16px}.empty-state>svg{width:30px;height:30px;color:#95a48c}.empty-state h3{font-size:16px}.empty-state p{color:var(--muted);font-size:12px}.notice{padding:15px;border-radius:8px;margin-bottom:20px;font-size:12px;line-height:1.6}.danger{background:#ffebe7;color:#a94b3e}.page-footer{display:flex;justify-content:space-between;gap:15px;color:#a0a89a;font-size:9px;border-top:1px solid var(--line);padding-top:19px;margin-top:35px}.route-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.route-intro h2{font-size:21px}.route-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:15px}.route-controls label{display:flex;flex-direction:column;gap:6px;font-size:9px;color:#7a8775}.route-controls select{min-width:145px}.route-controls label.checkbox-label{flex-direction:row;align-items:center;align-self:center;margin:13px 0 0 4px;font-size:11px;cursor:pointer;gap:7px}.checkbox-label input{accent-color:var(--green);width:15px;height:15px}.small-message{color:#71836b;font-size:11px;line-height:1.7;margin-bottom:16px;min-height:0}.small-message:empty{display:none}.route-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:22px;align-items:start}.route-map-column{position:sticky;top:22px}.route-map{height:420px}.route-map-caption{font-size:10px;color:#8a9680;display:flex;gap:8px;align-items:center;padding:14px;line-height:1.5}.dashed-key{width:23px;border-top:2px dashed #698867;flex-shrink:0}.route-guidance{padding:19px 6px}.route-guidance h3{font-size:13px;margin:0 0 9px}.route-guidance p{font-size:11px;color:#84907a;line-height:1.8;margin:0 0 9px}.mini-note{display:flex;gap:8px;background:#f0eee4;border-radius:8px;padding:12px;margin-top:16px;font-size:11px;line-height:1.6;color:#8b7856}.mini-note svg{width:16px;height:16px;margin-top:2px}.segment{margin-bottom:19px;background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.segment-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 18px;background:#edf1e8;border-bottom:1px solid #e0e6d8}.segment-head h3{font-size:13px;margin:0 0 4px;font-weight:650}.segment-head p{font-size:10px;margin:0;color:#7c8d72}.segment-head .button{padding:8px 12px;min-height:33px;font-size:10px}.route-stop{position:relative;display:flex;gap:12px;padding:16px 18px}.route-stop+.route-stop{border-top:1px solid #edf0e7}.stop-number{width:25px;height:25px;background:#eef2e9;border-radius:7px;display:grid;place-content:center;font-size:10px;font-weight:700;color:#6d8361;flex-shrink:0}.stop-info{flex:1;min-width:0}.stop-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}.stop-heading h4{font-size:12px;margin:0;line-height:1.5}.stop-heading button{font:inherit;color:inherit;font-weight:650;text-align:left;border:0;background:transparent;padding:0}.stop-sector{font-size:9px;color:#98a18f;margin-top:3px}.route-stop .badge{font-size:8px;margin-top:7px}.route-stop p{font-size:11px;color:#708066;line-height:1.7;margin:8px 0 0}.stop-links{display:flex;gap:13px;margin-top:9px}.stop-links button{background:transparent;padding:0;border:0;color:#3c7458;font-size:10px;font-weight:600}.stop-links a{font-size:10px;color:#3c7458}.unmapped-card{border:1px dashed #cdb98c;border-radius:9px;background:#fbf5e8;padding:18px;margin-bottom:15px}.unmapped-card h3{font-size:13px;color:#987735;margin:0 0 10px}.unmapped-card p{font-size:11px;color:#8b7d5f;line-height:1.8;margin:5px 0}.unmapped-card .detail-button{margin-top:6px}.help-hero{padding:29px;display:flex;gap:23px;align-items:center;background:#e9efe3;border:1px solid #dce5d2;border-radius:12px;margin-bottom:22px}.help-hero-icon{width:72px;height:72px;background:#d8e3ce;border-radius:18px;display:grid;place-content:center;color:#668553;flex-shrink:0}.help-hero-icon svg{width:34px;height:34px}.help-hero h2{font-size:22px;letter-spacing:-.6px;margin:0 0 11px;line-height:1.3}.help-hero p:last-child{font-size:12px;color:#79896d;line-height:1.8;margin:0;max-width:680px}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:25px}.help-step{background:white;border:1px solid var(--line);border-radius:10px;padding:23px}.step-number{font-size:11px;color:#a4b597;font-weight:700}.help-step h3{font-size:14px;font-weight:650;margin:13px 0 10px}.help-step p{font-size:12px;line-height:1.8;color:#89947f;margin:0}.example-card{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:25px}.example-card blockquote{font-size:14px;line-height:1.8;margin:13px 0 20px;max-width:600px;color:#4c664e}.example-result{border-left:1px solid var(--line);padding:0 0 0 25px}.example-result h3{font-size:13px;margin:4px 0 13px}.example-result ul{list-style:none;padding:0;margin:0}.example-result li{position:relative;font-size:12px;color:#849178;line-height:1.8;padding:6px 0 6px 20px}.example-result li:before{content:"✓";color:#57915c;position:absolute;left:0}.help-bottom{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:30px 8px}.help-bottom h3{font-size:14px;margin:0 0 11px}.help-bottom p{font-size:12px;color:#85917b;line-height:1.85;margin:0 0 9px}.history-card{background:white;border:1px solid var(--line);border-radius:9px;padding:22px}.history-card h3{font-size:14px;margin:0 0 17px}.history-item{display:flex;gap:20px;border-top:1px solid #eef1e9;padding:14px 0;font-size:11px}.history-item time{color:#97a18c;min-width:84px}.history-item strong{font-weight:600}.history-item p{margin:5px 0 0;color:#85917c;line-height:1.6}
dialog{position:fixed;inset:0 0 0 auto;margin:0;border:0;border-left:1px solid var(--line);padding:0;width:580px;max-width:100%;height:100dvh;max-height:100dvh;background:#fdfefa;box-shadow:-14px 0 60px #1b332c22;color:var(--ink)}dialog::backdrop{background:#1b302a66;backdrop-filter:blur(2px)}.drawer-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:#fdfefaee;backdrop-filter:blur(6px);padding:18px 27px;border-bottom:1px solid var(--line);z-index:1}.drawer-head .eyebrow{margin:0}#case-detail{padding:27px}.detail-title{font-size:26px;letter-spacing:-.7px;margin:0 0 12px;line-height:1.25}.detail-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.detail-identity .badge{font-size:11px;padding:7px 9px}.detail-action{background:#f0f3eb;border:1px solid #dfe7d7;border-radius:9px;padding:17px 19px;margin-bottom:24px}.detail-action h3{font-size:11px;color:#7f9271;text-transform:uppercase;letter-spacing:.8px;margin:0 0 10px}.detail-action p{font-size:14px;line-height:1.7;margin:0;color:#4b6648;white-space:pre-line}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:23px}.detail-columns>div{padding:15px;border:1px solid #e4e8dc;border-radius:8px;background:#fff}.detail-columns h3{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#94a087;margin:0 0 13px}.equipment-list{list-style:none;padding:0;margin:0;font-size:12px;font-weight:550;line-height:1.8}.equipment-list li{padding:3px 0;word-break:break-word}.detail-section{border-top:1px solid var(--line);padding:22px 0 0;margin-top:23px}.detail-section h3{font-size:13px;margin:0 0 12px}.detail-section p,.detail-section li{font-size:12px;color:#829175;line-height:1.8;margin:7px 0}.detail-section ul{padding-left:18px}.detail-section .evidence-note{background:#f0f3e9;border-radius:7px;padding:12px;font-size:11px}.detail-section details{margin:12px 0;font-size:11px;color:#8a977c}.detail-section summary{cursor:pointer;line-height:1.7}.photo-reference{font-size:10px;overflow-wrap:anywhere;line-height:1.6;margin:8px 0;border-bottom:1px solid #eef0e6;padding-bottom:8px}.source-excerpt{font-size:11px;border-left:2px solid #d4dfc7;padding:6px 12px;color:#7e8d70;line-height:1.7;margin:8px 0}.detail-caution{padding:12px 15px;background:#fbf3e2;border-radius:7px;margin:17px 0;font-size:11px;color:#927846;line-height:1.7}.detail-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.evidence-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px}.evidence-grid figcaption{font-size:10px;color:#869679;line-height:1.7}.evidence-grid figure{margin:0}.detail-section .muted{color:#9ca591}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:2000;background:var(--deep);color:#fff;border-radius:8px;box-shadow:0 6px 22px #193d3333;padding:13px 22px;font-size:12px;max-width:90vw;text-align:center}
@media(min-width:1500px){.cases-layout{grid-template-columns:minmax(0,1fr) 360px}.map{height:360px}.case-card{padding:20px 22px}.case-card h3{font-size:16px}.action-short{font-size:12px}.route-map{height:460px}}
@media(max-width:1250px){.sidebar{width:188px;padding:28px 13px}.shell{margin-left:188px}.brand{padding-bottom:38px}.nav-item{font-size:11px;gap:8px}.topbar{padding:0 25px}main{padding:29px 25px 20px}.page-head h1{font-size:27px}.cases-layout{grid-template-columns:minmax(0,1fr) 280px;gap:17px}.case-list{grid-template-columns:1fr}.stat{padding:15px}.route-layout{grid-template-columns:minmax(0,1fr) 300px;gap:17px}.head-actions .button{padding:10px}.map{height:300px}.route-map{height:370px}.route-controls{gap:8px}.route-controls select{min-width:125px}}
@media(max-width:1000px){.sidebar{width:70px;padding:26px 8px}.shell{margin-left:70px}.brand{justify-content:center;padding:0 0 29px}.brand>span:nth-child(2),.nav-label,.sidebar-bottom,.nav-count{display:none}.nav-item{font-size:0;justify-content:center;padding:15px 0;gap:0}.nav-item svg{width:20px;height:20px}.page-head h1{font-size:26px}.stats{gap:10px}.stat-top{font-size:10px}.stat-number{font-size:28px}.filters{flex-wrap:wrap}.search-wrap{flex-basis:100%}.filters select{flex:1}.cases-layout{grid-template-columns:minmax(0,1fr) 295px}.route-layout{grid-template-columns:1fr}.route-map-column{position:static;grid-row:1}.route-map{height:260px}.route-guidance{display:none}.help-hero{padding:23px;gap:17px}.help-hero h2{font-size:20px}.help-grid{gap:10px}.help-step{padding:18px}.example-card{gap:20px}}
@media(max-width:760px){.sidebar{width:auto;height:65px;inset:auto 0 0;background:#ffffffef;backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:0 10px;z-index:100;display:block}.sidebar .brand{display:none}.sidebar nav{display:flex;height:100%;align-items:center;justify-content:space-around}.nav-item{font-size:9px;display:flex;flex-direction:column;gap:5px;padding:8px 10px;margin:0;border-radius:8px;min-width:90px}.nav-item svg{width:19px;height:19px}.nav-item.active{background:transparent;color:var(--deep)}.nav-item:not(.active){color:#a0ac9a}.shell{margin:0;padding-bottom:65px}.topbar{height:48px;padding:0 18px;font-size:10px}.breadcrumb{font-size:10px}.breadcrumb span{padding:0 7px}.topbar-right{gap:6px;font-size:9px}.topbar .icon-btn{width:26px;height:26px}.topbar .sync-dot{display:none}main{padding:25px 18px 18px}.page-head{display:block;margin-bottom:20px}.page-head h1{font-size:28px;margin-bottom:9px}.eyebrow{font-size:9px}.subtitle{font-size:11px;line-height:1.6}.head-actions{margin-top:18px;gap:9px}.head-actions .button{font-size:11px;min-height:41px;padding:11px 13px}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:27px}.stat{padding:14px 15px}.stat-number{font-size:28px;margin-top:4px}.stat-top{font-size:10px}.stat-note{font-size:9px}.section-heading h2{font-size:18px}.section-heading p{font-size:10px;max-width:220px}.count-pill{font-size:9px;white-space:nowrap;padding:5px 8px}.filters{gap:8px;margin-bottom:15px}.filters select{font-size:10px;padding-right:23px;width:calc(50% - 4px);min-width:0}.search-wrap input{font-size:12px;min-height:42px}.search-wrap svg{top:13px}.cases-layout{grid-template-columns:1fr;gap:22px}.case-list{grid-template-columns:1fr;gap:12px}.case-card{padding:19px 19px 15px}.case-card h3{font-size:17px}.case-meta{font-size:9px}.badge{font-size:10px}.action-short{font-size:12px;margin-bottom:16px}.equipment-short{font-size:11px}.detail-button{font-size:11px;min-height:30px}.map-link{font-size:11px;min-height:30px}.card-actions{padding-top:9px}.map-column{position:static}.map{height:290px}.map-card-head h3{font-size:15px}.map-footer{font-size:10px}.source-note{font-size:11px}.side-note p{font-size:12px}.side-note h3{font-size:14px}.source-note{padding:13px 3px}.page-footer{font-size:8px;line-height:1.8;display:block;margin-top:23px}.page-footer>span{display:block}.route-intro{display:block}.route-intro h2{font-size:19px;line-height:1.5}.route-intro .button{margin-top:13px}.route-controls{padding:12px;gap:9px}.route-controls>label:not(.checkbox-label){flex:1;min-width:calc(50% - 8px)}.route-controls select{width:100%;font-size:11px}.route-controls .button{flex:1;font-size:10px;padding:11px 8px}.route-controls label.checkbox-label{flex-basis:100%;margin-top:2px;font-size:11px;min-height:31px}.route-layout{gap:18px}.route-map{height:270px}.segment-head{padding:15px 13px}.segment-head h3{font-size:13px}.segment-head .button{font-size:10px;padding:8px 9px}.route-stop{padding:16px 13px;gap:9px}.stop-heading h4{font-size:13px}.route-stop p{font-size:12px}.route-stop .badge{font-size:9px}.stop-links{margin-top:11px}.stop-links a,.stop-links button{font-size:11px;min-height:25px}.route-map-caption{font-size:10px}.help-hero{align-items:start;padding:21px 19px;gap:0}.help-hero-icon{display:none}.help-hero h2{font-size:23px}.help-hero p:last-child{font-size:12px}.help-grid{grid-template-columns:1fr;gap:12px}.help-step{padding:19px}.help-step h3{margin-top:8px;font-size:15px}.example-card{grid-template-columns:1fr;padding:21px}.example-card blockquote{font-size:13px}.example-result{border-left:0;padding:18px 0 0;border-top:1px solid var(--line)}.help-bottom{grid-template-columns:1fr;gap:23px;padding:25px 3px}.history-card{padding:19px}.history-item{gap:10px;flex-direction:column}.history-item time{font-size:10px}.toast{bottom:79px;font-size:11px}.drawer-head{padding:16px 20px}#case-detail{padding:23px 20px}.detail-title{font-size:25px}.detail-columns{gap:9px}.detail-columns>div{padding:13px 10px}.equipment-list{font-size:11px}.detail-action p{font-size:13px}.detail-section li,.detail-section p{font-size:12px}}
@media print{body{background:white!important;color:#111}.no-print,.sidebar,.topbar,.stats,.page-footer,.route-map-column,.route-controls,.route-intro .button,.stop-links,dialog,.toast,.head-actions{display:none!important}.shell{margin:0;padding:0}main{padding:0}.page-head{margin:0 0 15px}.page-head h1{font-size:24px}.subtitle{font-size:11px}.route-layout{display:block}.segment,.route-stop,.unmapped-card{break-inside:avoid}.segment{margin-bottom:13px;border:1px solid #ccc}.route-stop{padding:10px 13px}.segment-head{padding:9px 13px;background:#eee!important}.segment-head .button{display:none}.route-stop p{font-size:10px}.route-stop .badge{font-size:8px;border:1px solid #ddd}.route-intro h2{font-size:18px}.small-message{font-size:10px}.route-intro p{font-size:10px}.stop-number{border:1px solid #ddd}.view[hidden]{display:none!important}}

/* Field entry actions, integrated with the existing dashboard. */
.register-visit{width:100%;margin:0 0 11px;min-height:44px;font-size:12px}.stop-links{flex-wrap:wrap;align-items:center}.stop-links .visit-stop{background:#e5eddf;border:1px solid #d0ddc6;border-radius:7px;padding:10px 12px;min-height:44px;font-size:11px}.field-summary{list-style:none;padding:0!important}.field-summary li{padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:10px 0!important}.field-summary strong{display:block;color:var(--ink);font-size:12px}.field-summary span{display:block}.field-summary small{display:block;color:#8b977f;font-size:10px;margin-top:6px}.case-detail-photo-link{font-size:12px;display:block;padding:20px;border:1px solid var(--line);border-radius:8px;background:#eef2e9}
@media print{.register-visit,#field-pending{display:none!important}}
.field-summary article{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:10px 0}.field-summary p{margin:6px 0 0!important;overflow-wrap:anywhere}.visit-history{padding:12px 0;border-bottom:1px solid var(--line)}.visit-history summary{cursor:pointer;min-height:36px;display:list-item;font-weight:600}.detail-caution>strong{display:block;margin-bottom:8px}.unmapped-card>.visit-stop{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#e5eddf;margin:8px 8px 8px 0;font:inherit}

/* Maintenance stays distinct from field verification. */
.service-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:23px}.service-intro h2{font-size:23px;letter-spacing:-.6px;margin:0 0 8px}.service-intro p{color:#6e7c72;font-size:13px;line-height:1.7;max-width:660px;margin:0}.service-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.service-stat{background:#fff;text-align:left;border:1px solid var(--line);border-radius:11px;padding:19px;color:var(--ink);min-width:0}.service-stat span{display:block;font-size:12px;font-weight:650;line-height:1.5}.service-stat strong{display:block;font-size:34px;line-height:1.3;margin:6px 0}.service-stat small{display:block;font-size:11px;color:#758375;line-height:1.5}.service-stat.danger strong{color:#ae4533}.service-stat.warning strong{color:#a96b19}.service-stat.info strong{color:#56738a}.service-stat.quiet strong{color:#6e7b70}.service-stat:hover{border-color:#a9bca2;box-shadow:var(--shadow)}.service-explanation{display:flex;gap:11px;align-items:flex-start;padding:15px 17px;background:#eaf0e5;border:1px solid #dae4d2;border-radius:9px;margin-bottom:23px}.service-explanation svg{width:17px;height:17px;margin-top:2px;color:#618159}.service-explanation p{font-size:12px;line-height:1.8;margin:0;color:#62745d}.service-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px}.service-list-heading>span{font-size:12px;color:#73816d}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.service-card{border:1px solid var(--line);border-radius:12px;background:white;padding:22px;overflow:hidden;box-shadow:var(--shadow)}.service-card header{display:flex;flex-direction:column;gap:11px;margin-bottom:16px}.service-card h3{font-size:19px;line-height:1.35;letter-spacing:-.3px;margin:0;overflow-wrap:anywhere}.service-case{color:#71836a;font-size:11px;line-height:1.6;margin:0 0 6px!important}.service-expected{font-size:11px;color:#85917b;line-height:1.6;margin:5px 0 0!important}.service-badge{display:inline-flex;align-items:center;gap:7px;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:650;line-height:1.5;width:fit-content}.service-badge:before{content:'';height:5px;width:5px;border-radius:50%;background:currentColor;flex-shrink:0}.service-badge.danger{background:#fcebe5;color:#a44430}.service-badge.warning{background:#fbf2df;color:#93691c}.service-badge.info{background:#e9f0f4;color:#506f84}.service-badge.good{background:#e6f0e8;color:#2c7055}.service-badge.quiet{background:#eff1eb;color:#75836e}.service-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;border-top:1px solid #e8ece1;border-bottom:1px solid #e8ece1;padding:17px 0;margin:0}.service-metrics dt{font-size:11px;line-height:1.5;color:#6e7c68;margin:0 0 5px}.service-metrics dd{font-size:21px;font-weight:650;letter-spacing:-.5px;margin:0;overflow-wrap:anywhere}.service-metrics small{display:block;font-size:10px;line-height:1.6;color:#8b9681;margin-top:3px}.service-date{display:flex;flex-direction:column;gap:5px;padding:15px 0 0}.service-date span{font-size:11px;color:#74816b}.service-date strong{font-size:15px}.service-note{font-size:12px;line-height:1.8;color:#77836f;margin:12px 0!important}.service-more{border-top:1px solid #e8ece1;padding-top:10px;margin-top:14px;font-size:11px;color:#7b886f}.service-more summary{cursor:pointer;line-height:1.7;min-height:35px;display:list-item}.service-more p{font-size:11px;line-height:1.8;margin:6px 0}.service-more a{min-height:32px}.service-card footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid #e8ece1}.service-card footer button{min-height:44px}.service-card .detail-button{font-size:11px}.service-detail-list{display:grid;gap:14px}.service-card.compact{padding:17px;box-shadow:none}.service-card.compact .service-case{font-size:10px}.service-card.compact h3{font-size:17px}.service-card.compact .service-metrics dd{font-size:20px}.service-card.compact .service-more{margin:12px 0 0}.route-service-note{background:#fcf4e6;border-left:3px solid #c58d39;padding:8px 10px;margin:10px 0}.route-service-note p{font-size:11px;color:#876a34;margin:0}.service-filters input,.service-filters select{min-height:44px}.service-filters select{max-width:230px}
@media(max-width:1100px){.service-list{grid-template-columns:1fr}.service-stat{padding:15px}.service-stat span{font-size:11px}}
@media(max-width:760px){.sidebar nav .nav-item{min-width:0;flex:1;padding:8px 4px;font-size:9px}.service-intro{display:block}.service-intro h2{font-size:22px}.service-intro p{font-size:12px}.service-intro .button{margin-top:15px;min-height:44px}.service-stats{grid-template-columns:1fr 1fr;gap:10px}.service-stat{padding:15px}.service-stat strong{font-size:29px}.service-stat small{font-size:10px}.service-explanation{padding:13px;gap:9px}.service-explanation p{font-size:11px}.service-list-heading{align-items:flex-start;flex-direction:column}.service-list-heading>span{font-size:11px}.service-list-heading .button{font-size:11px;min-height:44px}.service-list{gap:14px}.service-card{padding:18px}.service-card h3{font-size:19px}.service-card footer{align-items:stretch}.service-card footer .primary{width:100%;font-size:12px}.service-card .detail-button{min-height:40px}.service-filters .search-wrap input,.service-filters select{font-size:16px}.service-filters select{max-width:none;width:100%;flex-basis:100%}.service-metrics dd{font-size:22px}.service-more summary{min-height:44px}.route-controls select{min-height:44px;font-size:14px}.service-badge{font-size:10px}.service-note{font-size:12px}}
@media print{.service-stats,.service-filters,.service-list-heading button,.service-card footer{display:none!important}.service-list{grid-template-columns:1fr 1fr}.service-card{break-inside:avoid}}

/* The persistent equipment record is the primary field-work surface. */
.nav-reference{margin-top:26px;border-top:1px solid var(--line);border-radius:0;padding-top:18px}
.equipment-filters{align-items:flex-end}.equipment-filters>label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#6b7b6c;line-height:1.4;min-width:165px}.equipment-filters>label select{width:100%;max-width:none}.equipment-filters .search-wrap{padding-bottom:0}
.equipment-card h3 button{font:inherit;color:inherit;letter-spacing:inherit;text-align:left;background:none;border:0;padding:0;overflow-wrap:anywhere;max-width:100%}.equipment-card h3 button:hover{color:#357c58;text-decoration:underline;text-underline-offset:4px}
.equipment-zone{font-size:11px;color:#6b7a63;line-height:1.5}.equipment-origin summary{font-size:12px;color:#62765b;cursor:pointer;min-height:44px;padding-top:12px}.equipment-origin[open] summary{font-weight:650}.reference-equipment-links{display:grid;gap:5px}
.reference-view-note{display:flex;align-items:center;gap:20px;padding:17px 20px;background:#eaf0e5;border:1px solid #dae4d2;border-radius:10px;margin-bottom:24px}.reference-view-note strong{font-size:13px}.reference-view-note p{font-size:12px;line-height:1.7;color:#6e7e64;margin:6px 0 0}.reference-view-note .button{flex-shrink:0}
.route-equipment-row{width:100%;padding:10px 12px!important;border:1px solid #dfe6d9!important;border-radius:8px;background:#f9fbf6}.route-equipment-row>button[data-equipment]{font-size:14px;font-weight:700;color:#285d47;text-align:left;flex:1}.route-equipment-row .visit-stop{font-size:11px}.unmapped-equipment-heading{font-size:15px;font-weight:650}.unmapped-equipment-heading button{font:inherit;background:none;border:0;padding:0;color:#315d43;text-align:left}
@media(max-width:1000px){.equipment-filters .search-wrap{flex-basis:100%}.equipment-filters>label{flex:1}}
@media(max-width:760px){.sidebar nav .nav-reference{margin-top:0;border-top:0;padding:8px 2px;border-radius:8px}.equipment-filters>label{flex-basis:100%;min-width:0;font-size:11px}.reference-view-note{flex-direction:column;align-items:stretch;padding:16px}.equipment-origin summary{font-size:12px}.route-equipment-row>button[data-equipment]{font-size:15px;min-height:38px}.equipment-zone{font-size:11px}}
.equipment-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:30px}
.equipment-stat{text-align:left;background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px;color:var(--ink);min-width:0}
.equipment-stat.selected{border-color:#7d9d7d;box-shadow:inset 0 3px 0 #326a50}
.equipment-stat span{display:block;font-size:12px;font-weight:600;line-height:1.5}.equipment-stat strong{display:block;font-size:33px;font-weight:650;margin:5px 0;color:#285d47}.equipment-stat small{display:block;font-size:11px;line-height:1.5;color:#7a8574}
.equipment-filters input,.equipment-filters select{min-height:46px}.equipment-filters select{max-width:250px}
.equipment-intro-note{display:flex;gap:11px;padding:15px 18px;border:1px solid #dbe4d5;background:#ecf1e8;border-radius:9px;margin-bottom:22px;color:#65795f}.equipment-intro-note svg{width:18px;height:18px;margin-top:2px}.equipment-intro-note p{font-size:12px;line-height:1.8;margin:0;max-width:850px}.equipment-intro-note strong{font-weight:600;color:#456a4c}
.equipment-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.equipment-card{border:1px solid #dfe5d9;background:#fff;border-radius:12px;padding:23px;display:flex;flex-direction:column;min-width:0;box-shadow:var(--shadow)}
.equipment-card header{margin-bottom:18px}.equipment-field-label{display:block;font-size:10px;line-height:1.5;letter-spacing:.4px;color:#75846c;margin:0 0 5px}.equipment-card h3{font-size:23px;letter-spacing:-.55px;line-height:1.35;overflow-wrap:anywhere;margin:0;color:#254d3d;font-weight:680}.equipment-description{font-size:12px;line-height:1.7;margin:7px 0 0;color:#70806a;overflow-wrap:anywhere}
.equipment-location{display:flex;flex-direction:column;align-items:flex-start;background:#f5f7f0;border:1px solid #e7ecdf;border-radius:8px;padding:14px 15px;gap:4px;overflow-wrap:anywhere}.equipment-location strong{font-size:16px;line-height:1.4;letter-spacing:-.2px;color:#455f43}.equipment-location .equipment-field-label{margin-bottom:2px}.location-source{font-size:10px;line-height:1.6;color:#9b7b3c}.location-source.confirmed{color:#397351}.equipment-location-date,.equipment-coordinates{font-size:10px;line-height:1.6;color:#7d8b74}.equipment-coordinates{font-variant-numeric:tabular-nums}
.equipment-followup{margin:17px 0 0;min-height:37px;flex:1}.equipment-followup p{font-size:11px;color:#7a876f;line-height:1.7;margin:10px 0 0}.equipment-no-hours{display:block;font-size:11px;line-height:1.6;color:#7d8976}.equipment-card footer{border-top:1px solid #e9ede3;margin-top:18px;padding-top:17px;display:flex;flex-direction:column;align-items:stretch;gap:5px}.equipment-card footer .button{font-size:12px;min-height:44px}.equipment-card footer .detail-button,.equipment-card footer .text-link{font-size:11px;min-height:38px}.equipment-card .no-map{min-height:38px;font-size:11px}.equipment-source-note{font-size:11px;line-height:1.8;color:#7f8b74;margin:22px 0}.equipment-source-note a{color:#37694e;font-weight:600}
.equipment-detail-note{font-size:12px;line-height:1.8;color:#71836a;margin:18px 0 0}.detail-title+.equipment-description{margin:-6px 0 19px}.detail-title+.equipment-location{margin-top:18px}.equipment-description+.equipment-location{margin-top:18px}
.route-equipment-place{display:block;font-size:12px;font-weight:400;color:#6e8162;margin:4px 0}.route-location-source{display:inline-block;font-size:9px;line-height:1.6;color:#7c8b70;background:#f0f4e9;border-radius:4px;padding:3px 6px;margin-top:7px}.stop-links.has-equipment{display:flex;flex-direction:column;gap:8px}.route-equipment-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-top:6px;border-top:1px solid #ecf0e4}.route-equipment-row button{min-height:40px}.map-equipment-links{display:flex;flex-direction:column;gap:4px;margin-top:8px}.map-equipment-links button{font:inherit;font-size:12px;min-height:40px;background:#f0f5e9;color:#326747;border:0;border-radius:5px;padding:7px 10px;text-align:left}
@media(max-width:1400px){.equipment-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.equipment-stat{padding:15px}.equipment-stat span{font-size:11px}.equipment-stat small{font-size:10px}.equipment-card{padding:20px}.equipment-card h3{font-size:21px}}
@media(max-width:760px){.equipment-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:25px}.equipment-stat{padding:15px}.equipment-stat strong{font-size:30px}.equipment-list{grid-template-columns:1fr;gap:14px}.equipment-card{padding:21px}.equipment-card h3{font-size:24px}.equipment-location strong{font-size:17px}.equipment-location .location-source,.equipment-location-date,.equipment-coordinates{font-size:11px}.equipment-card footer .detail-button,.equipment-card footer .text-link{font-size:12px;min-height:44px}.equipment-card footer .button{font-size:13px;min-height:46px}.equipment-filters input,.equipment-filters select{font-size:16px!important}.equipment-filters select{max-width:none;flex-basis:100%;width:100%}.equipment-intro-note{padding:13px;gap:9px}.equipment-intro-note p{font-size:11px}.equipment-description{font-size:12px}.equipment-followup p{font-size:12px}.equipment-source-note{font-size:11px}.sidebar nav .nav-item{font-size:8.5px;padding:8px 2px}.route-equipment-row{flex-direction:column;align-items:stretch;gap:0}.stop-links.has-equipment a{min-height:44px;display:flex;align-items:center}.route-equipment-row .visit-stop{min-height:44px;text-align:left}}
@media print{.equipment-stats,.equipment-filters,.equipment-card footer,.equipment-intro-note{display:none!important}.equipment-list{grid-template-columns:1fr 1fr}.equipment-card{break-inside:avoid}}
@media(max-width:760px){.equipment-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:22px}.equipment-stat{padding:11px 8px}.equipment-stat span{font-size:9px;line-height:1.4;min-height:25px}.equipment-stat strong{font-size:25px;margin:3px 0 0}.equipment-stat small{display:none}.equipment-intro-note{margin-bottom:16px}.equipment-intro-note p{line-height:1.65}.equipment-filters{margin-bottom:13px}#view-equipment .section-heading p{max-width:none}.equipment-card footer .detail-button{justify-content:center}}

@media(max-width:760px){.equipment-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.equipment-filters .search-wrap{grid-column:1/-1}.equipment-filters>label{min-width:0;width:100%;font-size:10px}.equipment-filters>label select{min-width:0;width:100%;padding-left:10px;padding-right:20px}.equipment-intro-note p>span{display:none}.equipment-intro-note{align-items:center}.equipment-intro-note svg{margin:0}}

/* Presence is independent of condition, GPS and service status. */
.presence-badge{display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:6px 9px;font-size:11px;font-weight:650;line-height:1.4;max-width:100%;white-space:normal}
.presence-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.presence-badge.neutral{background:#edf2f5;color:#4f6475}.presence-badge.success{background:#e7f3e9;color:#267048}.presence-badge.danger{background:#fcece7;color:#a6402d}.presence-badge.warning{background:#fcf0d9;color:#8e601c}
.equipment-card-presence{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin:0 0 14px}.equipment-card-presence small{font-size:10px;color:#76816e;line-height:1.5}
.equipment-presence{border:1px solid #dde5d8;background:#fff;border-radius:9px;padding:15px;margin:18px 0}.equipment-presence>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.equipment-presence>div>span:last-child{font-size:11px;color:#71806c}.equipment-presence p{font-size:12px;line-height:1.7;color:#5d7057;margin:9px 0 0}
.route-equipment-row>div{min-width:0}.route-equipment-row .presence-badge{font-size:9px;padding:3px 6px;margin-bottom:4px}
.supplier-source{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:24px}.supplier-source h2{font-size:22px;letter-spacing:-.5px;margin:0 0 10px}.supplier-source p{font-size:11px;color:var(--muted);line-height:1.8;margin:0;max-width:680px}
.supplier-explanation{border-left:3px solid #829b71;background:#eef3e9;padding:15px 18px;margin:0 0 22px;border-radius:0 8px 8px 0;color:#4d6547}.supplier-explanation strong{font-size:13px}.supplier-explanation p{font-size:12px;line-height:1.8;margin:5px 0 0}
.supplier-export-panel{display:grid;grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:12px 28px;border:1px solid #d3dfc9;background:#fff;border-radius:11px;padding:23px;margin-bottom:25px}.supplier-export-panel h3{font-size:16px;margin:0 0 8px;letter-spacing:-.2px}.supplier-export-panel p{font-size:11px;line-height:1.7;color:#73816a;margin:0}.supplier-export-actions{display:flex;align-items:flex-end;gap:12px}.supplier-export-actions label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#6b7b60}.supplier-export-actions select{min-width:190px;min-height:42px}.supplier-export-actions .button{min-height:42px}.supplier-export-panel .supplier-export-note{grid-column:1/-1;border-top:1px solid #e8eddf;padding-top:11px;font-size:10px;color:#869078}
.supplier-list-heading{display:flex;justify-content:space-between;gap:20px;margin:0 0 12px;font-size:11px;color:#718466;line-height:1.7}.supplier-list-heading>span:last-child{font-size:10px;color:#8b9680}
.supplier-table-wrap{overflow-x:auto;border:1px solid #dfe6d7;border-radius:10px;background:white}.supplier-table{border-collapse:collapse;width:100%;table-layout:fixed}.supplier-table th{text-align:left;background:#edf2e7;font-size:10px;font-weight:650;color:#647856;padding:14px;line-height:1.6}.supplier-table th:nth-child(1){width:19%}.supplier-table th:nth-child(2){width:23%}.supplier-table th:nth-child(3){width:18%}.supplier-table th:nth-child(4){width:22%}.supplier-table th:nth-child(5){width:18%}.supplier-table td{vertical-align:top;padding:17px 14px;border-top:1px solid #e8edde;font-size:11px;line-height:1.65;overflow-wrap:anywhere;color:#586e4e}.supplier-table td>small,.supplier-table td>a{display:block;margin-top:6px;font-size:10px;line-height:1.6;color:#829075}.supplier-table td>a{color:#39714d}.supplier-table td>strong{font-weight:600}.supplier-table td>p{font-size:11px;margin:0 0 8px}.supplier-table tbody tr:hover{background:#fcfdf9}.supplier-equipment-name{display:block;text-align:left;border:0;background:transparent;padding:0;color:#245a3d;font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.supplier-equipment-name:hover{text-decoration:underline}.supplier-table .supplier-id-pending,.supplier-table .supplier-extra{color:#946a25}.supplier-table .detail-button{font-size:10px;line-height:1.6;text-align:left}.supplier-source-notes{margin-top:12px;font-size:10px;color:#809072}.supplier-source-notes summary{cursor:pointer;line-height:1.6}.supplier-source-notes p{font-size:10px;line-height:1.7;margin:8px 0}.supplier-source-notes small{font-size:9px}
@media(max-width:1150px){.supplier-export-panel{grid-template-columns:1fr}.supplier-export-actions{justify-content:space-between}.supplier-export-actions label{flex:1}.supplier-export-actions select{width:100%}.supplier-table td,.supplier-table th{padding:13px 10px}}
@media(max-width:900px){.supplier-table-wrap{overflow:visible;border:0;background:transparent}.supplier-table,.supplier-table tbody{display:block;width:100%}.supplier-table thead{display:none}.supplier-table tr{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #dfe6d7;border-radius:10px;margin-bottom:14px;padding:8px 13px}.supplier-table td{display:block;border:0;padding:13px;min-width:0}.supplier-table td:before{content:attr(data-label);display:block;text-transform:uppercase;letter-spacing:.65px;font-size:9px;color:#89967d;margin:0 0 6px}.supplier-table td:last-child{grid-column:1/-1;border-top:1px solid #e8edde}.supplier-table td>p,.supplier-table td>small,.supplier-table td>a{font-size:11px}.supplier-equipment-name{font-size:17px}.supplier-table .detail-button{font-size:12px;min-height:42px}.supplier-source-notes summary{font-size:11px;min-height:33px}}
@media(max-width:760px){.sidebar{padding-inline:5px}.sidebar nav .nav-item{font-size:8px;padding:8px 1px}.supplier-source{display:block;margin-bottom:20px}.supplier-source h2{font-size:21px}.supplier-source p{font-size:11px}.supplier-source>.button{margin-top:13px;min-height:44px}.supplier-explanation{padding:13px 15px}.supplier-explanation strong{font-size:12px}.supplier-explanation p{font-size:11px}.supplier-export-panel{padding:18px;gap:17px}.supplier-export-panel h3{font-size:16px}.supplier-export-actions{flex-direction:column;align-items:stretch;gap:12px}.supplier-export-actions label{font-size:11px}.supplier-export-actions select,.supplier-filters input,.supplier-filters select{font-size:16px;min-height:45px;width:100%}.supplier-export-actions .button{min-height:46px;font-size:12px}.supplier-filters{flex-direction:column}.supplier-filters select{width:100%;max-width:100%}.supplier-list-heading{flex-direction:column;gap:4px}.supplier-table tr{padding:7px}.supplier-table td{padding:12px 10px}.supplier-table td:nth-child(4){grid-column:1/-1;border-top:1px solid #eef1e8}.supplier-table td:nth-child(3){grid-column:1/-1;border-top:1px solid #eef1e8}.supplier-table .presence-badge{font-size:11px}.equipment-card-presence small{font-size:11px}}
@media print{.supplier-explanation{background:transparent}.supplier-source{margin-bottom:15px}.supplier-stats{display:grid!important}.supplier-table-wrap{overflow:visible}.supplier-table tr{break-inside:avoid}.supplier-table .detail-button,.supplier-source-notes{display:none}.supplier-equipment-name{color:#000}.supplier-list-heading>span:last-child{display:none}}
/* Equipment availability and supplier follow-up. */
.equipment-stat[data-equipment-scope]{min-height:108px;position:relative}
.equipment-stat[data-equipment-scope].selected{border:2px solid #426b52;background:#eef4eb;padding:17px 18px}
.equipment-stat[data-equipment-scope="unavailable"] strong{color:#a06438}
.equipment-availability{padding:12px 14px;border:1px solid #dbe4d6;background:#f3f6ef;border-radius:8px;margin:12px 0;overflow-wrap:anywhere}
.equipment-availability strong{font-size:12px;line-height:1.5;color:#3e6548}
.equipment-availability p{font-size:11px;line-height:1.7;margin:5px 0;color:#65765d}
.equipment-availability small{display:block;font-size:10px;line-height:1.6;color:#7e8975}
.equipment-availability.unavailable{border-color:#e6d7c2;background:#fbf5eb}
.equipment-availability.unavailable strong{color:#925c2d}
.equipment-availability.unavailable p,.equipment-availability.unavailable small{color:#8b7658}
.equipment-unavailable{border-color:#e4d8c5}
.equipment-card footer .inventory-action{white-space:normal;min-height:40px;font-size:11px}
.detail-buttons .inventory-action{white-space:normal}
.inventory-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.inventory-request-panel,.supplier-location-request{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f7f1e7;border:1px solid #e6d8c2;border-radius:10px;padding:20px;margin:0 0 22px;min-width:0;grid-column:1/-1}
.inventory-request-panel h3,.supplier-location-request h3{margin:0 0 7px;font-size:15px;color:#725530}
.inventory-request-panel p,.supplier-location-request p{font-size:12px;line-height:1.7;margin:0;color:#8a7555}
.supplier-location-request{margin:0;flex-wrap:wrap}
.supplier-location-request small{display:block;font-size:10px;line-height:1.7;color:#8a7555;margin-top:5px}
.supplier-availability{margin-bottom:10px}
.supplier-availability small{display:block;font-size:10px;line-height:1.6;color:#8a7555;margin-top:5px}
.route-presence-history{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:10px;color:#7b8772}
.route-equipment-row .equipment-availability{margin:7px 0;padding:8px 10px}
.supplier-location-request .button,.inventory-request-panel .button{white-space:normal;flex-shrink:0;max-width:100%}
.inventory-service-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px 16px;background:#f0f3ec;border-radius:8px;margin-bottom:18px}
.inventory-service-controls label{display:flex;align-items:center;gap:7px;font-size:12px;color:#52664a}
.inventory-service-controls p{font-size:11px;line-height:1.6;color:#7b8772;margin:0;flex:1;min-width:200px}
@media(max-width:760px){.equipment-stat[data-equipment-scope]{min-height:104px}.equipment-availability strong{font-size:13px}.equipment-availability p,.equipment-availability small{font-size:11px}.equipment-card footer .inventory-action{font-size:12px;min-height:44px}.inventory-request-panel,.supplier-location-request{align-items:stretch;flex-direction:column;padding:17px;gap:14px}.inventory-request-panel .button,.supplier-location-request .button{width:100%;min-height:46px}.inventory-service-controls{gap:10px}.inventory-service-controls label{min-height:36px}.inventory-empty-actions .button{min-height:44px;white-space:normal}}
@media print{.inventory-action,.inventory-service-controls,.inventory-request-panel{display:none!important}}

/* Direct intake keeps an additional equipment independent of every planned unit. */
.head-actions{flex-wrap:wrap;justify-content:flex-end}
.equipment-entry-dialog{inset:0;margin:auto;height:fit-content;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:26px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff;box-shadow:0 24px 80px #17372d33;overflow:auto}
.equipment-entry-dialog::backdrop{background:#15352e66;backdrop-filter:blur(2px)}
.equipment-entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.equipment-entry-header h2{font-size:23px;line-height:1.25;letter-spacing:-.6px;margin:0}
.equipment-entry-header .icon-btn{flex-shrink:0}
.equipment-entry-intro{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 20px}
.equipment-entry-dialog label{display:block;font-weight:650;font-size:13px;margin:0 0 8px}
.equipment-entry-dialog input{width:100%;border:1px solid #ced8d1;background:#fff;color:var(--ink);border-radius:8px;min-height:46px;padding:11px 12px;font:inherit;font-size:16px}
.equipment-entry-dialog input:focus-visible{outline:3px solid #b8d5bd;outline-offset:2px}
.equipment-entry-hint{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 20px}
.equipment-entry-match{border-radius:10px;border:1px solid var(--line);background:#f2f5ef;color:#516b59;padding:14px;font-size:12px;line-height:1.65;overflow-wrap:anywhere;margin:20px 0}
.equipment-entry-match[data-kind="existing"]{background:#eaf3eb;border-color:#bbd2c0;color:#27533c}
.equipment-entry-match[data-kind="invalid"]{background:#fcf3e8;border-color:#e4d0af;color:#79582e}
.equipment-entry-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.equipment-entry-actions .button{min-height:46px;white-space:normal}
.equipment-additional-note{padding:13px 15px;background:#f6f0e5;border:1px solid #e7d9c1;border-radius:9px;color:#775b31;font-size:12px;line-height:1.65}
@media(max-width:700px){.head-actions{justify-content:flex-start}.head-actions #add-equipment{flex-basis:100%;min-height:46px}.equipment-entry-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:21px 18px}.equipment-entry-header h2{font-size:21px}.equipment-entry-actions{display:grid;grid-template-columns:1fr}.equipment-entry-actions .primary{grid-row:1}.equipment-entry-actions .button{width:100%}}
@media print{#add-equipment,.equipment-entry-dialog{display:none!important}}
.gps-help{margin:12px 0;padding:14px 18px;background:#fff7e7;border:1px solid #e7d4a8;border-radius:10px;color:#634c24;font-size:13px;line-height:1.6;max-width:720px}
.gps-help ol{padding-left:20px;margin:8px 0}.gps-help li+li{margin-top:7px}.gps-help a{color:inherit;font-weight:650;text-underline-offset:3px}
.gps-help[hidden],#gps-cancel[hidden]{display:none}

/* The individual map belongs to the selected equipment, independent of routes. */
.equipment-card{cursor:pointer}
.equipment-card:hover{border-color:#a7bca7}
.equipment-map-card{margin-top:14px;border:1px solid #d9e2d4;border-radius:10px;overflow:hidden;background:#fff}
.equipment-map-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;background:#f1f6ed}
.equipment-map-head h3,.equipment-map-empty h3{font-size:13px;line-height:1.5;margin:0;color:#365b43}
.equipment-map-head .detail-button{min-height:36px;font-size:12px;padding:4px 6px}
.equipment-map-card.reference .equipment-map-head{background:#faf5e9}
.equipment-map-card.historical .equipment-map-head{background:#f0f2f5}
.equipment-detail-map{height:280px;width:100%;isolation:isolate;z-index:0;background:#e9ede4}
.equipment-map-caption{margin:0;padding:11px 14px;color:#687964;font-size:11px;line-height:1.65}
.equipment-map-card .map-error{margin:0;padding:0 14px 12px}
.equipment-map-empty{margin-top:14px;padding:17px;border:1px dashed #bccab5;border-radius:10px;background:#f7f9f2}
.equipment-map-empty p{margin:6px 0 0;color:#728269;font-size:12px;line-height:1.7}
.equipment-map-fallback{padding:45px 24px;font-size:13px;line-height:1.8;text-align:center;color:#64765c}
.equipment-map-pin{display:block;width:34px;height:42px;color:var(--equipment-pin);filter:drop-shadow(0 2px 2px #142e2940)}
.equipment-map-pin svg{width:100%;height:100%}
.equipment-pin-label{border:1px solid #c4d2bf;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:700;color:#254d3d;width:max-content;max-width:250px;white-space:normal;overflow-wrap:anywhere;text-align:center}
@media(max-width:760px){.equipment-detail-map{height:220px}.equipment-pin-label{max-width:210px}.equipment-map-caption{font-size:11px}.equipment-map-head .detail-button{min-height:40px}}
.equipment-presentation{display:flex;align-items:center;gap:18px;justify-content:space-between;margin:0 0 18px}.equipment-presentation p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.equipment-view-toggle{display:flex;flex:none;padding:4px;background:#e9ede7;border:1px solid #d7ded3;border-radius:12px;gap:3px}.equipment-view-toggle button{display:flex;align-items:center;gap:8px;border:0;border-radius:8px;background:transparent;color:#526153;padding:10px 22px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;min-height:44px}.equipment-view-toggle button.selected{background:#fff;color:#183d34;box-shadow:0 1px 4px #263d2e16}.equipment-view-toggle svg{width:17px;height:17px}.equipment-view-toggle button:focus-visible,.equipment-overview-choice:focus-visible{outline:3px solid #597d60;outline-offset:3px}.equipment-overview-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.equipment-overview-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px}.equipment-overview-head h3{font-size:18px;margin:0 0 5px}.equipment-overview-head p{margin:0;font-size:12px;color:var(--muted);line-height:1.6}.equipment-overview-head .button{flex-shrink:0;font-size:12px}.equipment-overview-map{height:490px;min-height:300px;width:100%;background:#e7eddf;z-index:0}.equipment-map-legend{display:flex;flex-wrap:wrap;gap:8px 20px;padding:16px 22px 0;font-size:11px;color:#475648}.equipment-map-legend>span{display:flex;align-items:center;gap:7px}.equipment-map-legend .legend-dot.available{background:#226a4d}.equipment-map-legend .legend-dot.pending{background:#aa761f}.equipment-map-legend .legend-dot.unavailable{background:#6d7785}.equipment-overview-caption{font-size:12px;line-height:1.75;color:var(--muted);margin:0;padding:12px 22px 19px}.equipment-overview-pin-shell{background:transparent!important;border:0!important}.equipment-overview-pin{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--overview-pin);border:2px solid #fff;color:#fff;box-shadow:0 2px 8px #142f3445;font-size:15px;font-weight:750;transition:box-shadow .15s}.equipment-overview-pin svg{width:21px;height:21px}.equipment-overview-pin.is-group{border-width:3px}.equipment-overview-pin.is-selected{outline:3px solid #183d34;outline-offset:3px;box-shadow:0 0 0 7px #ffffffa8}.equipment-overview-tooltip{max-width:270px;white-space:normal!important;line-height:1.5!important;font-size:12px!important}.equipment-overview-popup>strong{display:block;font-size:13px;margin:0 0 10px;color:#183d34}.equipment-overview-popup-list{display:grid;gap:8px}.equipment-overview-choice{display:flex;flex-direction:column;width:100%;text-align:left;padding:12px;border:1px solid #dbe3d7;border-radius:8px;background:#f8faf6;color:#3d5145;font:inherit;cursor:pointer;min-height:56px;line-height:1.4;gap:3px}.equipment-overview-choice>strong{font-size:14px;color:#183d34}.equipment-overview-choice>span{font-size:11px}.equipment-overview-choice:hover,.equipment-overview-choice.is-selected{border-color:#52775c;background:#eef5e9}.equipment-overview-popup-container .leaflet-popup-content{margin:16px}.equipment-unmapped{margin-top:22px;padding:22px;border:1px solid #e0ded4;border-radius:12px;background:#fbfaf5}.equipment-unmapped h3{margin:0 0 8px;font-size:17px}.equipment-unmapped>p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 16px}.equipment-unmapped-list{display:grid;gap:10px}.equipment-unmapped-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #e2e4db;border-radius:8px;padding:14px 16px}.equipment-unmapped-row>div{min-width:0}.equipment-unmapped-row .detail-button{font-size:15px;text-align:left;overflow-wrap:anywhere}.equipment-unmapped-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.equipment-unmapped-row .button{font-size:12px;flex-shrink:0}.location-source.manual{color:#386b91}.equipment-map-card.manual .equipment-map-head{background:#f0f5f9}.equipment-card footer [data-manual-location]{min-height:42px}
@media(max-width:760px){.equipment-presentation{align-items:stretch;flex-direction:column;gap:9px;margin-bottom:16px}.equipment-presentation p{font-size:11px}.equipment-view-toggle{align-self:stretch}.equipment-view-toggle button{flex:1;justify-content:center;min-height:44px;font-size:14px}.equipment-overview-head{padding:16px;gap:12px;align-items:flex-start}.equipment-overview-head h3{font-size:17px}.equipment-overview-head p{font-size:11px}.equipment-overview-head .button{font-size:10px;padding:10px;min-height:44px;max-width:112px;white-space:normal}.equipment-overview-head .button svg{display:none}.equipment-overview-map{height:390px}.equipment-map-legend{padding:14px 16px 0;gap:9px 14px;font-size:10px}.equipment-overview-caption{font-size:11px;padding:11px 16px 16px}.equipment-unmapped{padding:16px}.equipment-unmapped-row{align-items:stretch;flex-direction:column;gap:12px;padding:14px}.equipment-unmapped-row .button{min-height:44px;font-size:12px}.equipment-card footer [data-manual-location]{min-height:44px}}
@media print{.equipment-map-view{display:none!important}}

.equipment-overview-empty{margin:0;padding:24px 22px;background:#f3f5ee;color:#5d6f60;font-size:13px;line-height:1.7}

.equipment-cover{width:100%;height:180px;object-fit:contain;border-radius:12px;background:#eef1ef}.equipment-cover-empty{display:grid;place-items:center;color:#68766f}.equipment-overview-choice .equipment-cover{height:90px}.equipment-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.evidence-grid button{margin:4px;font-size:12px}

.photo-frame-dialog{width:min(480px,calc(100vw - 24px));max-height:90dvh;overflow:auto;border:0;border-radius:18px;padding:22px;color:#243b32}.photo-frame-dialog::backdrop{background:#142c2480}.photo-frame-dialog label{display:grid;gap:8px;margin:16px 0;font-weight:600}.photo-frame-dialog input[type=range]{width:100%;min-height:40px;accent-color:#226a4d}.photo-frame-dialog select{padding:12px;border:1px solid #ccd7d1;border-radius:8px;max-width:100%;font-size:16px}.photo-frame-dialog p{line-height:1.5;color:#52665c}.photo-frame-preview{height:180px;width:100%;display:block}.photo-frame-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-frame-status{min-height:24px}

.evidence-grid img{object-fit:contain;background:#eef1ef}.photo-frame-dialog{inset:0;margin:auto;height:fit-content;max-height:90dvh;border:0}.photo-frame-dialog h2{margin:0 0 12px}

.equipment-card .equipment-card-heading,.equipment-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.equipment-heading-text{min-width:0;flex:1;overflow-wrap:anywhere}.equipment-card-heading .equipment-cover,.equipment-detail-heading .equipment-cover{width:104px;height:104px;aspect-ratio:1;flex:0 0 104px;border-radius:12px}.equipment-detail-heading{margin-bottom:16px}.equipment-detail-heading .equipment-cover{width:120px;height:120px;flex-basis:120px}.photo-frame-preview{height:auto;aspect-ratio:1}.equipment-overview-choice .equipment-cover{width:90px;height:90px;aspect-ratio:1;align-self:flex-end}@media(max-width:480px){.equipment-card .equipment-card-heading,.equipment-detail-heading{gap:12px}.equipment-card-heading .equipment-cover,.equipment-detail-heading .equipment-cover{width:88px;height:88px;flex-basis:88px}}

.photo-hover-preview{position:fixed;inset:auto;margin:0;padding:8px;box-sizing:border-box;border:1px solid #d5dfd8;border-radius:14px;background:#fdfefa;box-shadow:0 12px 42px #102c3450;z-index:10000;pointer-events:none!important;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.photo-hover-preview img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px;pointer-events:none}.photo-hover-preview::backdrop{background:transparent;pointer-events:none}

.equipment-work-order{display:flex;align-items:baseline;gap:9px;padding:8px 12px;margin:10px 0 4px;border:1px solid #b5cec5;border-radius:8px;background:#e9f3ee;color:#153f33;width:fit-content;max-width:100%;box-sizing:border-box}.equipment-work-order>span{font-size:12px;font-weight:800;letter-spacing:.05em;flex:none}.equipment-work-order>strong{font-size:20px;font-weight:800;line-height:1.2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.equipment-work-order.missing{background:#f3f2eb;border-color:#dfddce;color:#726c51}.equipment-work-order.missing>strong{font-size:15px}.vf-work-order input[type=text]{font-size:20px;font-weight:700}.equipment-detail-heading [data-work-order-equipment]{margin-top:8px;font-size:12px}
