:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172033;background:#eef3f6;line-height:1.5;--navy:#102a43;--blue:#0077b6;--cyan:#48cae4;--green:#168f67;--red:#b42318;--line:#d9e2ec}*{box-sizing:border-box}body{margin:0}a{color:#006a8e}button,input,select{font:inherit}.eyebrow{margin:0;color:#0086a8;font-size:.73rem;font-weight:900;letter-spacing:.15em}.login-body{min-height:100vh;background:linear-gradient(135deg,#071f35 0,#102a43 48%,#0b5a78 100%)}.login-shell{max-width:1120px;margin:auto;padding:6vh 2rem;display:grid;grid-template-columns:1.15fr .85fr;gap:2rem}.login-intro{color:#fff;padding:2rem 1rem}.login-intro .eyebrow{color:var(--cyan)}h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1;margin:.5rem 0 1.25rem;letter-spacing:-.045em}.login-intro>p{font-size:1.1rem;color:#d9e2ec;max-width:45rem}.warning{margin-top:2rem;border-left:4px solid #ffcc00;background:#ffffff12;padding:1rem 1.2rem}.warning strong{display:block;color:#fff}.login-card,.panel,.case-card,.metric{background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 12px 40px #071f3510}.login-card{padding:2rem}.login-card h2{margin-top:0}.login-card form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-size:.85rem;font-weight:800}label small{color:#627d98;font-weight:400}input,select{width:100%;padding:.8rem;border:1px solid #9fb3c8;border-radius:.55rem;background:#fff}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:.55rem;padding:.78rem 1rem;background:var(--blue);color:#fff;font-weight:850;text-decoration:none;cursor:pointer}.button:hover,button:hover{filter:brightness(.9)}.button.secondary{background:#e3f8ff;color:#006a8e}.button.danger{background:#ffe8e6;color:var(--red)}.persona-list{grid-column:1/-1;background:#fff;border-radius:1rem;padding:2rem}.persona-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}.persona-grid article{border:1px solid var(--line);border-radius:.7rem;padding:1rem}.persona-grid strong,.persona-grid span{display:block}.persona-grid span{color:#0077b6;font-size:.78rem;font-weight:800;text-transform:uppercase}.persona-grid p{margin:.4rem 0 0;color:#627d98;font-size:.84rem}.app-header{background:var(--navy);color:#fff;padding:2.6rem max(4vw,2rem);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.app-header h1{font-size:clamp(2rem,4vw,3.7rem);margin:.4rem 0}.app-header p{color:#d9e2ec;margin:0}.identity{min-width:230px;background:#ffffff0d;border:1px solid #ffffff24;border-radius:1rem;padding:1rem;display:grid;gap:.25rem}.identity small{color:#bcccdc}.identity form{margin-top:.65rem}.role-pill,.type-pill,.state-pill{display:inline-block;border-radius:2rem;padding:.25rem .65rem;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.role-pill{color:#071f35;background:var(--cyan);justify-self:start}.app-shell{max-width:1240px;margin:auto;padding:2.5rem 2rem 5rem}.alert{border-radius:.7rem;padding:.9rem 1rem;font-weight:700}.alert.success{background:#e6fffa;color:#087f5b}.alert.error{background:#ffe8e6;color:var(--red)}.notice-band{display:flex;align-items:center;gap:2rem;padding:1rem 1.2rem;border:1px solid #f0c36a;background:#fff8df;border-radius:.8rem}.notice-band div{display:grid}.notice-band span{font-size:.82rem;color:#6b5a2c}.notice-band form{margin-left:auto}.section-title{margin:3rem 0 1rem}.section-title h2{font-size:1.7rem;margin:.25rem 0}.section-title.compact{margin:0 0 1rem}.journey{list-style:none;margin:1rem 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:.7rem}.journey li{position:relative;background:#fff;border:1px solid var(--line);border-radius:.7rem;padding:1rem}.journey li:not(:last-child):after{content:'›';position:absolute;right:-.58rem;top:1.1rem;color:#829ab1;font-size:1.5rem;z-index:2}.journey b,.journey span{display:block}.journey span{font-size:.76rem;color:#627d98}.muted{color:#627d98}.metric-grid{display:flex;flex-wrap:wrap;gap:.75rem}.metric{padding:.8rem 1rem;min-width:135px}.metric span,.metric strong{display:block}.metric span{font-size:.75rem;color:#627d98}.metric strong{font-size:1.6rem}.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem;margin-top:1rem}.case-card{padding:1.25rem}.case-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.type-pill{background:#e3f8ff;color:#006a8e}.type-pill.reconnection{background:#e6fffa;color:#087f5b}.state-pill{background:#f0f4f8;color:#334e68}.case-card h3{font-size:1.25rem;margin:1rem 0 .5rem}.case-card h3 a{text-decoration:none}.case-card>p{color:#486581}.case-card dl,.case-detail dl{display:grid;gap:.35rem}.case-card dl div,.case-detail dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #edf2f7;padding-top:.35rem}.case-card dt,.case-detail dt{color:#627d98;font-size:.8rem}.case-card dd,.case-detail dd{margin:0;text-align:right;font-weight:700}.action-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.role-note{font-size:.82rem;margin-bottom:0}.download{display:inline-block;margin-top:1rem;font-weight:800}.two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;margin-top:3rem}.panel{padding:1.5rem}.finding-list,.gap-list{padding-left:1.2rem}.finding-list li{margin:.7rem 0}.finding-list span{margin-left:.5rem;border-radius:1rem;padding:.15rem .5rem;background:#fff4e5;color:#9a6700;font-size:.7rem;font-weight:800}.finding-list p{margin:.2rem 0;color:#627d98}.gap-list li{margin:.55rem 0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:.8rem}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:.8rem;border-bottom:1px solid #e8eef3;vertical-align:top}th{font-size:.72rem;text-transform:uppercase;color:#486581;background:#f8fafc}td small{display:block;color:#829ab1}.empty{text-align:center;color:#829ab1;padding:1.4rem}.compact-header h1{font-size:2.5rem}.detail-shell{max-width:980px}.case-detail{margin-top:-1rem}.case-detail h2{font-size:2rem;margin-bottom:.2rem}.case-detail dl{grid-template-columns:1fr 1fr;gap:.7rem 2rem;margin-top:1.5rem}.timeline{list-style:none;padding:0;margin:0}.timeline li{position:relative;background:#fff;border-left:4px solid var(--blue);border-radius:.4rem;margin:.7rem 0;padding:1rem 1.2rem}.timeline time,.timeline span{display:block;color:#627d98;font-size:.8rem}.timeline p{margin:.3rem 0 0}@media(max-width:900px){.journey{grid-template-columns:repeat(2,1fr)}.journey li:after{display:none}.two-column{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.persona-list{grid-column:auto}}@media(max-width:640px){.app-header{align-items:flex-start;flex-direction:column}.identity{width:100%}.app-shell{padding:1.5rem 1rem}.notice-band{align-items:flex-start;flex-direction:column;gap:.7rem}.notice-band form{margin:0}.journey{grid-template-columns:1fr}.case-detail dl{grid-template-columns:1fr}}
.import-panel{margin-top:3rem;display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:start;border-top:5px solid var(--cyan)}.import-copy h2{font-size:1.8rem;margin:.35rem 0}.privacy-note{border-left:4px solid #f0c36a;background:#fff8df;padding:.8rem 1rem}.import-actions{display:grid;gap:.65rem}.import-actions>a{justify-self:start}.import-actions>small{color:#627d98}.import-actions form{display:grid;gap:.8rem;padding-top:.4rem}.import-table td:nth-child(5),.import-table td:nth-child(6),.import-table td:nth-child(7){text-align:right}.complete-label{color:var(--green);white-space:nowrap}.validation-errors{margin-top:1rem;padding:1rem;border:1px solid #f0c36a;background:#fff8df;border-radius:.8rem}.validation-errors h3,.validation-errors p{margin-top:0}.error-table{min-width:700px}.error-table td:nth-child(3){font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.queue-filter{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:.8rem;padding:1rem}.queue-filter label:first-child{min-width:280px;flex:1}.queue-filter label:nth-child(2){min-width:180px}.queue-count{font-size:.86rem;margin:.6rem 0 1rem}@media(max-width:900px){.import-panel{grid-template-columns:1fr}}@media(max-width:640px){.queue-filter{align-items:stretch;flex-direction:column}.queue-filter label:first-child,.queue-filter label:nth-child(2){min-width:0}.queue-filter .button{width:100%}}
.quick-switch{display:grid;gap:.45rem;margin-top:.75rem}.quick-switch label{color:#d9e2ec}.quick-switch select{padding:.55rem}.identity>form:last-child{margin-top:.35rem}.next-step{display:grid;gap:.15rem;margin-top:1rem;padding:.7rem .8rem;border-left:4px solid var(--blue);background:#f0f9ff;border-radius:.35rem}.next-step>span{font-size:.68rem;color:#006a8e;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.next-step small{color:#486581}.next-step.terminal{border-left-color:#829ab1;background:#f0f4f8}.next-role-form{margin-top:.8rem}.case-header-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.workflow-control{margin-top:-1rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:5px solid var(--cyan)}.workflow-control h2{font-size:1.55rem;margin:.25rem 0}.workflow-control p{margin:.3rem 0;color:#486581}.terminal-badge{display:inline-block;padding:.5rem .8rem;border-radius:2rem;background:#f0f4f8;color:#486581;font-size:.78rem;font-weight:900;text-transform:uppercase}.decision-panel{margin-top:1.4rem;padding:1rem;border-left:4px solid var(--green);background:#e6fffa;border-radius:.4rem}.decision-panel span,.decision-panel strong{display:block}.decision-panel span{font-size:.72rem;color:#087f5b;font-weight:900;text-transform:uppercase}.decision-panel p{margin:.3rem 0 0}.action-lab{margin-top:1.4rem;padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:#f8fafc}.action-lab h3{margin:0}.attempt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1rem}.attempt-card>div:first-child{display:flex;align-items:center;justify-content:space-between}.attempt-card dl{display:grid;gap:.35rem;margin-top:1rem}.attempt-card dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #edf2f7;padding-top:.35rem}.attempt-card dt{color:#627d98;font-size:.8rem}.attempt-card dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}.attempt-card p{color:#486581}@media(max-width:640px){.workflow-control{align-items:flex-start;flex-direction:column}.case-header-actions{align-items:stretch;flex-direction:column}.case-header-actions .button{width:100%}}
.batch-workflow-table{min-width:1320px}.batch-workflow-table td:first-child{min-width:230px}.batch-workflow-table td:nth-child(3){min-width:190px}.batch-workflow-table td:nth-child(5),.batch-workflow-table td:nth-child(6){min-width:270px}.batch-state-list{display:flex;flex-wrap:wrap;gap:.35rem}.batch-actions{margin-top:0}.batch-actions form{margin:0}.batch-actions .button{padding:.6rem .75rem;font-size:.8rem}.exception-count{margin-top:.45rem;color:var(--red);font-weight:800}.process-errors{border-color:#e58b83;background:#fff3f2}.process-errors .error-table td:nth-child(3){font-family:inherit}.delivery-links{display:grid;gap:.4rem;margin-top:.65rem}.delivery-links .button{padding:.55rem .7rem;font-size:.78rem}@media(max-width:640px){.batch-actions{align-items:stretch;flex-direction:column}.batch-actions .button{width:100%}}
.source-import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:1rem;margin:1rem 0 2rem}.source-import-card{padding:1.1rem;border:1px solid var(--line);border-left:6px solid var(--green);border-radius:.8rem;background:#fff;box-shadow:0 8px 26px #071f350a}.source-import-card.has-exceptions{border-left-color:#b42318}.source-import-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.source-import-heading>div span,.source-import-heading>div strong,.source-import-heading>div small{display:block}.source-import-heading>div span{color:#627d98;font-size:.7rem;font-weight:900;text-transform:uppercase}.source-import-heading>div strong{overflow-wrap:anywhere}.source-import-heading>div small{color:#829ab1}.source-import-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0}.source-import-card dl div{padding:.55rem;border-radius:.45rem;background:#f5f8fa}.source-import-card dt{color:#627d98;font-size:.68rem;font-weight:850;text-transform:uppercase}.source-import-card dd{margin:0;font-size:1.05rem;font-weight:900}.source-import-warning{padding:.7rem;border-left:4px solid #b42318;background:#fff3f2;color:#7a271a;font-size:.8rem}.import-exception-shell{max-width:1600px}.source-import-overview{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(600px,1.2fr);gap:2rem;margin-bottom:1rem;border-top:5px solid #0086a8}.source-import-overview h2{margin:.25rem 0}.source-import-overview code{overflow-wrap:anywhere}.import-exception-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}.import-exception-metrics article{display:grid;align-content:center;padding:.8rem;border:1px solid var(--line);border-radius:.65rem;background:#f8fafc}.import-exception-metrics article.needs-review{border-color:#f1aaa2;background:#fff3f2}.import-exception-metrics span{color:#627d98;font-size:.68rem;font-weight:850;text-transform:uppercase}.import-exception-metrics strong{font-size:1.45rem}.import-exception-register{margin-top:1rem}.import-exception-register .queue-filter label:first-child{min-width:320px}.exception-register-summary{display:flex;justify-content:space-between;gap:1rem;color:#486581;font-size:.82rem}.import-exception-table{min-width:1280px}.import-exception-table th:nth-child(1){width:7%}.import-exception-table th:nth-child(2){width:11%}.import-exception-table th:nth-child(3){width:12%}.import-exception-table th:nth-child(4){width:14%}.import-exception-table th:nth-child(5){width:13%}.import-exception-table th:nth-child(6){width:13%}.import-exception-table td code{white-space:normal;color:#7a271a}.exception-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.exception-pagination span{font-weight:850;color:#486581}@media(max-width:1050px){.source-import-overview{grid-template-columns:1fr}.import-exception-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.source-import-grid{grid-template-columns:1fr}.source-import-card dl,.import-exception-metrics{grid-template-columns:1fr 1fr}.source-import-heading,.exception-register-summary{align-items:flex-start;flex-direction:column}.source-import-card .action-row{align-items:stretch;flex-direction:column}.source-import-card .button{width:100%}}
.sla-panel{margin-top:1rem;display:grid;grid-template-columns:1.4fr .6fr;gap:2rem;border-top:5px solid #7c3aed}.sla-panel h2{margin:.3rem 0}.sla-panel p{margin:.45rem 0}.sla-actions{display:grid;gap:.35rem;padding:1rem;background:#f5f3ff;border-radius:.7rem}.sla-actions span{font-size:.8rem;color:#627d98}.sla-actions form{display:grid;gap:.65rem}.priority-pill{display:inline-block;margin-left:.35rem;padding:.25rem .55rem;border-radius:2rem;font-size:.68rem;font-weight:900;text-transform:uppercase}.priority-pill.special{background:#f3e8ff;color:#6b21a8}.priority-pill.emergency{background:#ffe8e6;color:#b42318}.special-control{margin-top:1.2rem;padding:1rem;border:1px solid #d8b4fe;background:#faf5ff;border-radius:.7rem}.special-control h3,.special-control p{margin-top:0}.special-control p{color:#627d98}.special-control form{display:inline-block}@media(max-width:800px){.sla-panel{grid-template-columns:1fr}}

.queue-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.queue-title-row .section-title{margin-bottom:1rem}.view-toggle{display:flex;align-items:center;gap:.35rem;margin-bottom:1rem;padding:.3rem;border:1px solid var(--line);border-radius:.7rem;background:#fff}.view-toggle>span{padding:0 .45rem;color:#627d98;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.view-toggle-button{padding:.5rem .75rem;border:1px solid transparent;border-radius:.45rem;background:#f0f4f8;color:#334e68;font-size:.82rem}.view-toggle-button.active{background:var(--blue);color:#fff}.case-list-wrap{margin-top:1rem}.case-list-table{min-width:1160px}.case-list-table th:nth-child(1){width:18%}.case-list-table th:nth-child(2){width:20%}.case-list-table th:nth-child(3){width:21%}.case-list-table th:nth-child(4){width:23%}.case-list-table th:nth-child(5){width:18%}.case-list-table td{vertical-align:middle}.case-list-identity h3{margin:.65rem 0 .45rem;font-size:1rem}.case-list-identity h3 a{text-decoration:none}.case-list-address{display:block;margin:.25rem 0;color:#486581}.case-list-facts{display:grid;gap:.3rem;margin:0}.case-list-facts div{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px solid #edf2f7;padding-bottom:.25rem}.case-list-facts div:last-child{border-bottom:0}.case-list-facts dt{color:#627d98;font-size:.74rem}.case-list-facts dd{margin:0;text-align:right;font-size:.82rem;font-weight:800}.case-list-facts dd small{font-weight:400}.list-next-step{margin-top:0}.case-action-stack.compact{min-width:165px}.case-action-stack.compact .action-row{margin-top:0}.case-action-stack.compact .button{padding:.52rem .7rem;font-size:.78rem}.case-action-stack.compact .download{margin-top:.55rem;font-size:.78rem}.case-action-stack>.button,.case-action-stack>.next-role-form{margin-top:.8rem}.case-action-stack.compact>.button,.case-action-stack.compact>.next-role-form{margin-top:0}.case-action-stack.compact .next-role-form .button{width:100%}@media(max-width:700px){.queue-title-row{align-items:stretch;flex-direction:column}.queue-title-row .section-title{margin-bottom:0}.view-toggle{align-self:flex-start;margin-bottom:1rem}.view-toggle-button{min-width:72px}}

/* Dispatch spatial planning */
.dispatch-launch-panel,.dispatch-batch-picker,.allocation-confirm{display:flex;align-items:center;justify-content:space-between;gap:28px}.dispatch-launch-panel>div,.dispatch-batch-picker>div,.allocation-confirm>div{max-width:850px}.dispatch-launch-panel p,.dispatch-batch-picker p,.allocation-confirm p{margin:.35rem 0}.dispatch-batch-picker form{display:flex;align-items:end;gap:12px;min-width:min(440px,100%)}.dispatch-batch-picker label{flex:1}.spatial-notice{grid-template-columns:1fr 1fr}.dispatch-map-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(300px,.9fr);gap:18px;align-items:start}.dispatch-map-panel{padding:20px}.map-title-row{display:flex;justify-content:space-between;gap:16px;align-items:start}.coordinate-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:.82rem;color:#627d98}.coordinate-legend span{display:flex;align-items:center;gap:7px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#1187a9}.dot.selected{background:#ef8354;box-shadow:0 0 0 4px rgba(239,131,84,.2)}.dispatch-map-figure{margin:12px 0 0}.dispatch-map{width:100%;min-height:430px;background:#f6fafc;border:1px solid #cbdbe4;border-radius:22px;touch-action:none}.dispatch-map.drawing{cursor:crosshair}.dispatch-map-figure figcaption{margin-top:8px;color:#627d98;font-size:.78rem}.map-background{fill:#eef5f8;stroke:#bfd1dc;stroke-width:2}.schematic-roads path{fill:none;stroke:#fff;stroke-width:18;stroke-linecap:round;opacity:.95}.schematic-roads path:nth-child(even){stroke-width:11}.map-axis-label{font-size:13px;fill:#587288}.map-unit circle{fill:#8ea7b7;stroke:#fff;stroke-width:3;filter:drop-shadow(0 3px 4px rgba(25,46,64,.24))}.map-unit text{font-size:11px;text-anchor:middle;fill:#fff;font-weight:800;pointer-events:none}.map-unit.selectable circle{fill:#0785aa}.map-unit.selected circle{fill:#ef8354;stroke:#fff;stroke-width:5}.map-unit:not(.selectable){opacity:.62}.drawn-dispatch-polygon,.saved-dispatch-polygon{fill:rgba(0,133,170,.14);stroke:#007f9e;stroke-width:4;stroke-dasharray:10 8}.saved-dispatch-polygon{fill:rgba(239,131,84,.1);stroke:#ef8354}.drawn-dispatch-vertex{fill:#fff;stroke:#007f9e;stroke-width:4}.drawn-dispatch-vertex-label{font-size:14px;fill:#17324a;font-weight:800}.route-lines polyline{fill:none;stroke:var(--route-colour);stroke-width:8;stroke-linejoin:round;stroke-linecap:round;opacity:.78}.route-stop{fill:#fff;stroke:var(--route-colour);stroke-width:6}.route-stop-number{fill:#15263b;font-size:14px;text-anchor:middle;font-weight:900;pointer-events:none}.dispatch-controls{position:sticky;top:16px}.compact-instructions{padding-left:20px;color:#627d98}.compact-instructions li{margin:.55rem 0}.draw-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.draw-actions .button{width:100%}.selection-status{padding:12px 14px;border-left:5px solid #007f9e;background:#edf7fb;font-weight:700}.route-submit{width:100%;margin-top:10px}.source-summary{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.source-summary h3{margin:.1rem 0 .75rem}.source-summary p{font-size:.8rem;color:#627d98}.map-case-register tr.selected{background:#fff4ed}.map-case-register td:first-child{font-weight:900;color:#007f9e}.route-plan-section{margin-top:12px}.route-plan-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.route-plan-status{font-size:1rem}.route-plan-status.preview{background:#fff1d7;color:#764500}.route-plan-status.allocated{background:#dbf5ea;color:#006746}.route-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}.route-card{border-top:7px solid var(--route-colour)}.route-card-title{display:flex;gap:12px;align-items:start}.route-card-title h3,.route-card-title p{margin:.1rem 0}.route-swatch{width:18px;height:18px;border-radius:6px;background:var(--route-colour);margin-top:4px}.route-card ol{list-style:none;padding:0;margin:18px 0 0}.route-card li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.route-card li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--route-colour);color:#fff;font-weight:900}.route-card li div{display:flex;flex-direction:column;gap:2px}.route-card li small{color:#627d98}@media(max-width:1050px){.dispatch-map-layout{grid-template-columns:1fr}.dispatch-controls{position:static}.dispatch-launch-panel,.dispatch-batch-picker,.allocation-confirm{align-items:flex-start;flex-direction:column}.dispatch-batch-picker form{width:100%}.spatial-notice{grid-template-columns:1fr}}@media(max-width:640px){.dispatch-map{min-height:300px}.map-title-row,.route-plan-heading{flex-direction:column}.draw-actions{grid-template-columns:1fr}.route-card-grid{grid-template-columns:1fr}.dispatch-batch-picker form{flex-direction:column;align-items:stretch}}

/* Managed Android field-work UAT */
.field-app-body{background:#eaf0f4}.field-app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.4rem max(4vw,1rem);background:#092f49;color:#fff}.field-app-header h1{margin:.25rem 0;font-size:clamp(2rem,7vw,3.3rem)}.field-app-header p{margin:0;color:#c9d9e4}.field-app-shell{max-width:820px;margin:auto;padding:1rem 1rem 5rem}.field-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin:1rem 0}.field-status-grid article{padding:.8rem;background:#fff;border:1px solid var(--line);border-radius:.8rem}.field-status-grid span,.field-status-grid strong{display:block}.field-status-grid span{color:#627d98;font-size:.7rem;font-weight:800;text-transform:uppercase}.field-status-grid strong{font-size:1.35rem}.field-privacy-panel{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;border-top:5px solid var(--green)}.field-privacy-panel h2{margin:.25rem 0}.field-privacy-panel p{margin:.25rem 0;color:#486581}.field-sync-badge{display:flex;align-items:center;gap:.5rem;white-space:nowrap;color:#087f5b;font-size:.8rem;font-weight:850}.field-sync-badge span{width:.7rem;height:.7rem;border-radius:50%;background:#27ae7a;box-shadow:0 0 0 .25rem #dff8ee}.field-task-list .section-title{margin-top:2rem}.field-task-card{margin:1rem 0;padding:1.15rem;border-left:5px solid var(--blue);box-shadow:0 8px 24px #071f350d}.field-task-card.emergency-task{border-left-color:var(--red)}.field-task-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.field-task-main{display:grid;grid-template-columns:1.4fr .6fr;gap:1.2rem;margin-top:1rem}.field-task-main h3{margin:.2rem 0;font-size:1.35rem}.field-task-main p{margin:.25rem 0;color:#486581}.field-stop{color:#0077b6!important;font-size:.76rem;font-weight:900;text-transform:uppercase}.field-task-facts{margin:0;display:grid;gap:.3rem}.field-task-facts div{display:flex;justify-content:space-between;gap:.6rem;border-bottom:1px solid #edf2f7}.field-task-facts dt{color:#627d98;font-size:.73rem}.field-task-facts dd{margin:0;text-align:right;font-size:.78rem;font-weight:800}.field-evidence-contract{margin-top:1rem;padding:.8rem;background:#f4f9fc;border-radius:.65rem}.field-evidence-contract>span{display:block;margin-bottom:.45rem;font-size:.7rem;color:#486581;font-weight:900;text-transform:uppercase}.field-evidence-contract>div{display:flex;flex-wrap:wrap;gap:.4rem}.field-evidence-contract code{padding:.25rem .45rem;border-radius:1rem;background:#e3f8ff;color:#006a8e;font-family:inherit;font-size:.72rem;font-weight:800}.field-evidence-contract small{display:block;margin-top:.5rem;color:#627d98}.field-tracking-note{padding:.55rem .7rem;border-left:4px solid var(--green);background:#e6fffa;color:#087f5b;font-size:.8rem;font-weight:700}.field-task-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.field-task-actions form{margin:0}.field-sync-result{display:grid;gap:.15rem;margin-top:1rem;padding:.7rem;border:1px solid #b7ead7;background:#effbf6;border-radius:.65rem}.field-sync-result strong{color:#087f5b}.field-sync-result span{font-size:.75rem;color:#486581}.type-pill.warning{background:#fff8df;color:#7a5b00}.type-pill.inspection{background:#f3e8ff;color:#6b21a8}.type-pill.meter_reading{background:#e8f1ff;color:#244c91}.field-launch-panel{border-top:5px solid var(--green)}@media(max-width:640px){.field-app-header{align-items:flex-start;flex-direction:column}.field-app-header .button{width:100%}.field-status-grid{grid-template-columns:1fr 1fr}.field-privacy-panel{align-items:flex-start;flex-direction:column}.field-task-main{grid-template-columns:1fr}.field-task-heading{align-items:flex-start;flex-direction:column}.field-task-actions{align-items:stretch;flex-direction:column}.field-task-actions form,.field-task-actions .button,.field-task-actions button{width:100%}}

/* Private Project Sobukwe CEO demonstration */
.sobukwe-body{background:radial-gradient(circle at 85% 0,#c8f3ed 0,transparent 28%),#eef3f6}.sobukwe-header{background:linear-gradient(125deg,#071f35 0,#102a43 58%,#006a72 100%)}.sobukwe-header .eyebrow{color:#64e4d2}.sobukwe-header h1{max-width:850px}.sobukwe-shell{max-width:1380px}.sobukwe-launch-panel{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:5px solid #00a896}.sobukwe-launch-panel h2{margin:.25rem 0}.sobukwe-guardrail{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 1.2rem;border:1px solid #e2bd62;border-radius:.8rem;background:#fff8df}.sobukwe-guardrail div{display:grid}.sobukwe-guardrail span{color:#6b5a2c;font-size:.82rem}.sobukwe-hero{margin-top:1rem;display:grid;grid-template-columns:1.45fr .55fr;gap:2rem;align-items:center;border-top:6px solid #00a896}.sobukwe-hero h2{margin:.3rem 0;font-size:clamp(1.9rem,3vw,3.2rem);line-height:1.08}.sobukwe-hero p{max-width:850px;color:#486581}.sobukwe-progress-card{padding:1.3rem;border-radius:1rem;background:#071f35;color:#fff}.sobukwe-progress-card span,.sobukwe-progress-card strong,.sobukwe-progress-card small{display:block}.sobukwe-progress-card span{color:#b9d8e6;font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.sobukwe-progress-card strong{font-size:3.2rem}.sobukwe-progress-card small{margin-top:.45rem;color:#b9d8e6}.sobukwe-progress-track{height:.65rem;overflow:hidden;border-radius:1rem;background:#ffffff1c}.sobukwe-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#48cae4,#64e4d2)}.sobukwe-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1rem}.sobukwe-kpis article{display:grid;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff}.sobukwe-kpis span{font-size:.72rem;color:#627d98;text-transform:uppercase;font-weight:900}.sobukwe-kpis strong{font-size:1.25rem}.sobukwe-kpis small{color:#829ab1}.sobukwe-prepare-panel{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-left:6px solid #0077b6}.sobukwe-prepare-panel h2{margin:.25rem 0}.sobukwe-stage-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.65rem}.sobukwe-stage-grid article{min-height:155px;padding:1rem;border:1px solid var(--line);border-top:5px solid #bcccdc;border-radius:.75rem;background:#fff}.sobukwe-stage-grid article.active{border-top-color:#f0ad38}.sobukwe-stage-grid article.complete{border-top-color:#168f67;background:#f0fff9}.sobukwe-stage-grid article>span{color:#829ab1;font-size:.7rem;font-weight:900}.sobukwe-stage-grid h3{margin:.3rem 0 1.1rem;font-size:1rem}.sobukwe-stage-grid strong,.sobukwe-stage-grid small{display:block}.sobukwe-stage-grid strong{font-size:1.3rem}.sobukwe-stage-grid small{color:#627d98}.sobukwe-capabilities{margin-top:2rem}.sobukwe-capabilities h2{margin:.25rem 0}.sobukwe-source-list{display:grid;gap:.45rem}.sobukwe-source-list div{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid #e8eef3}.sobukwe-source-list dt{color:#486581}.sobukwe-source-list dd{margin:0;font-weight:900}.sobukwe-batch-panel{margin-top:1rem;border-top:5px solid #0077b6}.sobukwe-batch-panel h2{margin:.25rem 0}.sobukwe-batch-panel p{overflow-wrap:anywhere;color:#627d98}.sobukwe-disclosure{margin-top:2rem;padding:1rem 1.2rem;border-left:5px solid #7c3aed;background:#f5f3ff;border-radius:.6rem}.sobukwe-disclosure p{margin:.3rem 0;color:#486581}@media(max-width:1050px){.sobukwe-kpis{grid-template-columns:1fr 1fr}.sobukwe-stage-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.sobukwe-guardrail,.sobukwe-hero{grid-template-columns:1fr}.sobukwe-stage-grid{grid-template-columns:1fr 1fr}.sobukwe-prepare-panel,.sobukwe-launch-panel{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.sobukwe-kpis,.sobukwe-stage-grid{grid-template-columns:1fr}}

/* Dispatch map usability and visible agent-route overlay */
.route-colour-1{--route-colour:#007f9e}.route-colour-2{--route-colour:#ef8354}.route-colour-3{--route-colour:#5d4e9e}.route-colour-4{--route-colour:#198754}.route-colour-5{--route-colour:#c43d56}.route-colour-6{--route-colour:#a45a00}.route-colour-7{--route-colour:#2f6fdd}.route-colour-8{--route-colour:#8b5e3c}.route-colour-9{--route-colour:#6b7280}.route-colour-10{--route-colour:#008a83}.route-colour-11{--route-colour:#a23e8c}.route-colour-12{--route-colour:#466b1f}
.managed-agent-selector{margin:1rem 0;padding:1rem;border:1px solid #b8d8e5;border-radius:.8rem;background:#f5fbfd}.managed-agent-selector legend{padding:0 .35rem;color:#173b52;font-weight:900}.managed-agent-selector>p{margin:.15rem 0 .8rem}.managed-agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.6rem}.managed-agent-grid label{display:flex;align-items:center;gap:.7rem;padding:.75rem;border:1px solid #c8d9e2;border-radius:.65rem;background:#fff;cursor:pointer}.managed-agent-grid label:has(input:checked){border-color:#007f9e;background:#e8f8fc;box-shadow:0 0 0 2px rgba(0,127,158,.12)}.managed-agent-grid input{width:1.1rem;height:1.1rem;margin:0;flex:0 0 auto}.managed-agent-grid span,.managed-agent-grid strong,.managed-agent-grid small{display:block}.managed-agent-grid small{color:#627d98;font-weight:500}
.routing-strategy-selector{margin:1rem 0;padding:1rem;border:1px solid #b8d8e5;border-radius:.8rem;background:#f5fbfd}.routing-strategy-selector legend{padding:0 .35rem;color:#173b52;font-weight:900}.routing-strategy-selector>p{margin:.15rem 0 .8rem}.routing-strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.routing-strategy-grid label{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border:1px solid #c8d9e2;border-radius:.65rem;background:#fff;cursor:pointer}.routing-strategy-grid label:has(input:checked){border-color:#007f9e;background:#e8f8fc;box-shadow:0 0 0 2px rgba(0,127,158,.12)}.routing-strategy-grid label.disabled{cursor:not-allowed;opacity:.55}.routing-strategy-grid input{width:1.1rem;height:1.1rem;margin:.15rem 0 0;flex:0 0 auto}.routing-strategy-grid span,.routing-strategy-grid strong,.routing-strategy-grid small{display:block}.routing-strategy-grid small{margin-top:.2rem;color:#627d98;font-weight:500}.routing-comparison{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.routing-comparison h3,.routing-comparison p{margin:.15rem 0}.routing-comparison>div{display:grid;gap:.45rem;margin-top:.7rem}.routing-comparison-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem .75rem;border:1px solid #c8d9e2;border-radius:.55rem;background:#fff;color:#17324a;text-decoration:none}.routing-comparison-row:hover,.routing-comparison-row.selected{border-color:#007f9e;background:#e8f8fc}.routing-comparison-row span,.routing-comparison-row strong,.routing-comparison-row small{display:block}.routing-comparison-row small{color:#627d98}.routing-comparison-row b{white-space:nowrap}@media(max-width:640px){.routing-strategy-grid{grid-template-columns:1fr}}
.dispatch-map-layout{grid-template-columns:minmax(0,2.6fr) minmax(300px,.8fr)}.map-subtitle{margin:.25rem 0;color:#627d98}.dispatch-map-toolbar{display:grid;grid-template-columns:auto auto minmax(250px,1fr) auto;gap:.65rem;align-items:end;margin:1rem 0;padding:.75rem;border:1px solid var(--line);border-radius:.8rem;background:#f8fbfd}.map-tool-group{display:flex;gap:.35rem;align-items:center}.map-tool-button{min-width:42px;padding:.55rem .65rem;border:1px solid #b8cad6;border-radius:.5rem;background:#fff;color:#24425b;font-weight:900;box-shadow:none}.map-tool-button.wide{min-width:auto}.map-tool-button:hover,.map-tool-button.active{background:#dff5fb;color:#006a8e}.map-tool-button.route-tool{border-color:#80cddd;color:#006a8e}.map-search{display:grid;gap:.25rem}.map-search>label{font-size:.68rem;color:#486581;text-transform:uppercase;letter-spacing:.06em}.map-search>div{display:flex}.map-search input{min-width:0;padding:.55rem;border-radius:.5rem 0 0 .5rem}.map-search button{border-radius:0 .5rem .5rem 0}.map-live-status{display:grid;justify-items:end;min-width:150px}.map-live-status strong{font-size:1rem;color:#006a8e}.map-live-status span{font-size:.7rem;color:#627d98}.route-map-banner{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1rem 0;padding:1rem;border-left:6px solid var(--green);border-radius:.75rem;background:#effbf6}.route-map-banner strong,.route-map-banner span{display:block}.route-map-banner span{font-size:.78rem;color:#486581}.route-focus-tools{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.route-focus-button{display:flex;align-items:center;gap:.4rem;padding:.5rem .65rem;border:1px solid #bdd1dc;background:#fff;color:#334e68;font-size:.76rem}.route-focus-button i{display:inline-block;width:.75rem;height:.75rem;border-radius:.25rem;background:var(--route-colour,#486581)}.route-focus-button.active{background:#173b52;color:#fff;border-color:#173b52}.route-legend-line{display:inline-block;width:22px;height:4px;border-radius:4px;background:linear-gradient(90deg,#007f9e 0 33%,#ef8354 33% 66%,#5d4e9e 66%)}.dispatch-map-frame{position:relative;border-radius:22px;background:#f6fafc}.dispatch-map-frame:fullscreen{display:block;padding:0;background:#eaf1f5}.dispatch-map-frame:fullscreen .dispatch-map{width:100%;height:100vh;max-height:none}.dispatch-map-frame:fullscreen>.dispatch-map-toolbar{position:absolute;z-index:20;top:1rem;right:1rem;left:6.75rem;margin:0;border-color:#b8cad6;background:rgba(248,251,253,.94);box-shadow:0 12px 32px rgba(16,42,67,.22);backdrop-filter:blur(8px)}.dispatch-map-frame:fullscreen>.dispatcher-tool-rail{position:absolute;z-index:21;top:1rem;bottom:1rem;left:1rem;width:76px;max-height:calc(100vh - 2rem);overflow-y:auto;border:1px solid #293d52;border-radius:.75rem;box-shadow:0 12px 32px rgba(16,42,67,.3)}.dispatch-map-frame:fullscreen>.map-mode-indicator{top:auto;bottom:1rem;left:6.75rem;z-index:22}.dispatch-map-frame:fullscreen>.map-attribution{z-index:22}.dispatch-map{min-height:520px;cursor:default;user-select:none}.dispatch-map.panning{cursor:grab}.dispatch-map.pan-dragging{cursor:grabbing}.dispatch-map.drawing{cursor:crosshair}.map-mode-indicator{position:absolute;left:1rem;top:1rem;z-index:2;padding:.38rem .65rem;border-radius:2rem;background:#102a43e8;color:#fff;font-size:.72rem;font-weight:800;pointer-events:none}.map-unit{opacity:.8}.map-unit circle{r:var(--unit-radius);stroke-width:2;vector-effect:non-scaling-stroke}.map-unit:not(.selectable) circle{r:var(--context-unit-radius)}.map-unit text{display:none;font-size:var(--unit-font-size);dominant-baseline:middle}.dispatch-map.zoom-labels .map-unit text,.map-unit.focused text{display:block}.map-unit.selected{opacity:1}.map-unit.selected circle{fill:#ef8354;stroke-width:3}.map-unit.focused{opacity:1}.map-unit.focused circle{fill:#ffcc00;stroke:#172033;stroke-width:5;filter:drop-shadow(0 0 8px #ffcc00)}.route-preview-active .map-unit:not(.selected){opacity:.12}.route-preview-active .map-unit.selected{opacity:.42}.route-lines{pointer-events:none}.route-overlay{opacity:1;transition:opacity .15s}.route-overlay.route-muted{opacity:.08}.route-path-halo,.route-path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route-path-halo{stroke:#fff;stroke-width:12;opacity:.95}.route-path{stroke:var(--route-colour);stroke-width:6;opacity:.98}.route-overlay.active-route .route-path-halo{stroke-width:16}.route-overlay.active-route .route-path{stroke-width:9}.route-map-stop circle{r:var(--route-stop-radius);fill:#fff;stroke:var(--route-colour);stroke-width:5;vector-effect:non-scaling-stroke}.route-map-stop text{fill:#132f43;font-size:var(--route-font-size);dominant-baseline:middle;text-anchor:middle;font-weight:950;paint-order:stroke;stroke:#fff;stroke-width:var(--route-label-stroke);stroke-linejoin:round}.saved-dispatch-polygon,.drawn-dispatch-polygon{vector-effect:non-scaling-stroke}.drawn-dispatch-vertex{r:var(--vertex-radius);vector-effect:non-scaling-stroke}.dispatch-map-figure figcaption{padding:.7rem .2rem 0}.dispatch-map-figure figcaption strong{color:#334e68}@media(max-width:1250px){.dispatch-map-toolbar{grid-template-columns:1fr 1fr}.map-search{grid-column:1/-1}.map-live-status{justify-items:start}.dispatch-map-frame:fullscreen>.dispatch-map-toolbar{grid-template-columns:auto minmax(240px,1fr) auto}.dispatch-map-frame:fullscreen>.map-search{grid-column:auto}}@media(max-width:900px){.dispatch-map-toolbar{grid-template-columns:1fr}.map-search{grid-column:auto}.map-live-status{justify-items:start}.route-map-banner{align-items:flex-start;flex-direction:column}.route-focus-tools{justify-content:flex-start}.dispatch-map{min-height:420px}.dispatch-map-frame:fullscreen>.dispatch-map-toolbar{right:.75rem;left:5.5rem;grid-template-columns:1fr}.dispatch-map-frame:fullscreen>.dispatcher-tool-rail{top:.75rem;bottom:.75rem;left:.75rem;width:64px;max-height:calc(100vh - 1.5rem)}.dispatch-map-frame:fullscreen>.map-mode-indicator{left:5.5rem}.dispatch-map-frame:fullscreen>.map-live-status{display:none}}@media(max-width:640px){.map-tool-group{display:grid;grid-template-columns:repeat(2,1fr)}.map-tool-button{width:100%}.map-live-status{min-width:0}.dispatch-map{min-height:340px}.route-focus-button{width:100%}.route-focus-tools{width:100%}.dispatch-map-frame:fullscreen>.dispatch-map-toolbar{top:.5rem;right:.5rem;left:4.5rem;max-height:42vh;overflow:auto}.dispatch-map-frame:fullscreen>.dispatcher-tool-rail{top:.5rem;bottom:.5rem;left:.5rem;width:56px;max-height:calc(100vh - 1rem);display:flex}.dispatch-map-frame:fullscreen>.dispatcher-tool-rail button{min-height:54px}.dispatch-map-frame:fullscreen>.map-mode-indicator{left:4.5rem;bottom:.5rem}}

/* Real basemap tiles and attribution */
.real-map-tiles{pointer-events:none}.real-map-tile{opacity:.96}.map-attribution{position:absolute;right:.65rem;bottom:.65rem;z-index:3;padding:.18rem .42rem;border-radius:.25rem;background:rgba(255,255,255,.9);box-shadow:0 1px 4px rgba(16,42,67,.18);font-size:.62rem;line-height:1.2}.map-attribution a{color:#24425b;text-decoration:none}.map-attribution a:hover{text-decoration:underline}.map-unit{opacity:.88}.route-preview-active .map-unit:not(.selected){opacity:.18}.route-preview-active .map-unit.selected{opacity:.56}

/* Managed field administration */
.admin-body{background:#edf3f6}.admin-shell{max-width:1540px}.admin-shell>.panel{margin-top:1rem}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0}.admin-metrics article{display:grid;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:.8rem;background:#fff}.admin-metrics span{color:#627d98;font-size:.72rem;font-weight:900;text-transform:uppercase}.admin-metrics strong{font-size:1.8rem}.admin-create-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:2rem;align-items:end;border-top:5px solid #0086a8}.admin-create-grid h2{margin:.25rem 0}.admin-create-grid p{margin:.35rem 0;color:#486581}.admin-inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.7rem;align-items:end}.admin-inline-form .wide-field{grid-column:1/-1}.admin-table{min-width:1180px}.admin-table td{vertical-align:middle}.admin-table td>strong,.admin-table td>small{display:block}.state-pill.active{background:#ddf7eb;color:#087f5b}.state-pill.failed{background:#ffe4df;color:#b42318}.compact-admin-action{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:.45rem;align-items:end}.compact-admin-action .button{padding:.65rem .75rem}.binding-action{grid-template-columns:1fr .7fr 1.2fr auto;min-width:520px}.pairing-code-result{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:1rem 0;padding:1.25rem 1.4rem;border:2px solid #00a896;border-radius:1rem;background:#effbf6;box-shadow:0 12px 35px rgba(0,97,70,.12)}.pairing-code-result h2{margin:.2rem 0;font-size:clamp(2.8rem,7vw,5rem);line-height:1;letter-spacing:.16em;color:#087f5b}.pairing-code-result p{max-width:850px;margin:.35rem 0;color:#486581}.assignment-admin-table{min-width:1450px}.assignment-admin-table th:nth-child(1){width:17%}.assignment-admin-table th:nth-child(2){width:17%}.assignment-admin-table th:nth-child(3){width:20%}.retract-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:.45rem;align-items:end;min-width:760px}.retract-form label{font-size:.7rem}.retract-form .button{padding:.65rem .75rem}@media(max-width:1050px){.admin-create-grid{grid-template-columns:1fr}.admin-inline-form{grid-template-columns:1fr 1fr}.admin-inline-form .button{grid-column:1/-1}.admin-metrics{grid-template-columns:1fr 1fr}}@media(max-width:640px){.admin-metrics,.admin-inline-form{grid-template-columns:1fr}.admin-inline-form .wide-field,.admin-inline-form .button{grid-column:auto}.pairing-code-result{align-items:flex-start;flex-direction:column}.pairing-code-result h2{font-size:2.6rem}.compact-header .action-row{margin:0}.compact-header .action-row .button{width:100%}}
.admin-tabs{display:flex;gap:.45rem;padding:.4rem;border:1px solid var(--line);border-radius:.9rem;background:#fff;overflow-x:auto}.admin-tabs a{flex:1;min-width:220px;padding:.85rem 1rem;border-radius:.65rem;color:#486581;font-weight:900;text-align:center;text-decoration:none}.admin-tabs a:hover{background:#edf7fb}.admin-tabs a.active{background:#006f91;color:#fff;box-shadow:0 6px 18px rgba(0,111,145,.2)}.friendly-name-form{display:flex;gap:.35rem;margin-top:.55rem}.friendly-name-form input{min-width:180px}.friendly-name-form .button{padding:.55rem .7rem}.sync-caveat{padding:1rem 1.1rem;border-left:5px solid #f59e0b;background:#fff7df;color:#614b13}.sync-admin-table{min-width:1400px}.sync-admin-table th:nth-child(1){width:18%}.sync-admin-table th:nth-child(2){width:20%}.sync-admin-table th:nth-child(3){width:23%}.sync-admin-table th:nth-child(4){width:18%}@media(max-width:640px){.admin-tabs{display:grid}.admin-tabs a{min-width:0}.friendly-name-form{align-items:stretch;flex-direction:column}}
.metric-filter{color:inherit;text-decoration:none;position:relative;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.metric-filter:hover{filter:none;transform:translateY(-2px);border-color:#48cae4;box-shadow:0 14px 34px #0077b61c}.metric-filter small{margin-top:.25rem;color:#0086a8;font-size:.67rem;font-weight:850;text-transform:uppercase}.metric-filter.active{border:2px solid #0077b6;background:#eaf8fd;box-shadow:0 0 0 3px #48cae433}.reports-shell{max-width:1500px}.report-hero-grid,.transmission-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:.8rem;margin-bottom:1rem}.report-hero-grid article,.transmission-grid article{background:#fff;border:1px solid var(--line);border-radius:.9rem;padding:1rem;box-shadow:0 10px 30px #071f350b}.report-hero-grid span,.report-hero-grid strong,.report-hero-grid small,.transmission-grid span,.transmission-grid strong,.transmission-grid small{display:block}.report-hero-grid span,.transmission-grid span{color:#627d98;font-size:.72rem;font-weight:850;text-transform:uppercase}.report-hero-grid strong,.transmission-grid strong{font-size:1.65rem}.report-hero-grid small,.transmission-grid small{color:#829ab1}.report-tabs{margin:1.2rem 0}.report-tabs a{min-width:150px}.report-trend{height:170px;display:flex;align-items:flex-end;gap:.55rem;padding:1rem;margin:1rem 0;background:#f8fbfd;border:1px solid var(--line);border-radius:.8rem;overflow-x:auto}.report-trend article{height:100%;min-width:58px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.trend-bars{height:120px;width:42px;display:flex;align-items:flex-end;gap:4px}.trend-bars span{display:block;width:19px;min-height:2px;border-radius:4px 4px 0 0}.trend-published{background:#48cae4}.trend-returned{background:#168f67}.report-trend small{font-size:.62rem;color:#627d98;white-space:nowrap}.report-table{min-width:1350px}.report-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.report-agent-card{border:1px solid var(--line);border-radius:.8rem;padding:1rem;background:#fff}.report-agent-card h3{margin:0}.report-agent-card>div>span,.report-agent-card>small{color:#627d98;font-size:.75rem}.report-agent-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem}.report-agent-card dl div{display:flex;justify-content:space-between;border-bottom:1px solid #edf2f7}.report-agent-card dd{margin:0;font-weight:850}.agent-progress{height:7px;margin:.8rem 0;background:#e7eef3;border-radius:1rem;overflow:hidden}.agent-progress span{display:block;height:100%;background:#168f67}.evidence-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:1rem}.evidence-card{overflow:hidden;border:1px solid var(--line);border-radius:.85rem;background:#fff}.evidence-card>a{display:block;height:220px;background:#0f2f43}.evidence-card img{width:100%;height:100%;object-fit:cover}.evidence-card>div{padding:1rem}.evidence-card h3{margin:.7rem 0 .25rem}.evidence-card p{min-height:2.5rem;color:#627d98}.evidence-card dl{display:grid;gap:.25rem}.evidence-card dl div{display:flex;justify-content:space-between;gap:.75rem;border-top:1px solid #edf2f7;padding-top:.25rem}.evidence-card dd{margin:0;text-align:right;font-weight:750}.evidence-placeholder{height:220px!important;display:grid;place-items:center;background:#edf2f7;color:#627d98;font-weight:900}.report-generated{text-align:right;color:#829ab1;font-size:.75rem}.state-pill.active{background:#e6fffa;color:#087f5b}.state-pill.failed{background:#ffe8e6;color:#b42318}@media(max-width:1050px){.report-hero-grid,.transmission-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.report-hero-grid,.transmission-grid{grid-template-columns:1fr 1fr}.report-card-grid,.evidence-gallery{grid-template-columns:1fr}}

.report-field-map-section{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:#f8fbfd}.report-field-map-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.report-field-map-heading h3,.report-field-map-heading p{margin:.15rem 0}.report-field-map-heading>div:first-child>p:last-child{color:#627d98}.report-field-map-tools{display:flex;gap:.35rem;flex-wrap:wrap}.report-field-map-tools button{min-width:42px;padding:.5rem .65rem;border:1px solid #b8cad6;border-radius:.45rem;background:#fff;color:#24425b;font-weight:900}.report-field-map-tools button:hover{background:#dff5fb;color:#006a8e}.report-field-map-legend{display:flex;gap:1rem;flex-wrap:wrap;margin:.8rem 0;color:#486581;font-size:.78rem;font-weight:800}.report-field-map-legend span{display:inline-flex;align-items:center;gap:.38rem}.report-field-map-legend i{display:inline-block;width:.85rem;height:.85rem;border:2px solid transparent;border-radius:50%}.report-field-map-legend .complete{background:#168f67;border-color:#075d44}.report-field-map-legend .active{background:#ffb020;border-color:#a66200}.report-field-map-legend .unstarted{background:#a8b8c5;border-color:#6f7c88}.report-field-map-frame{position:relative;overflow:hidden;border:1px solid #c9d9e3;border-radius:22px;background:#f6fafc}.report-field-map-frame:fullscreen{display:grid;place-items:center;padding:1rem;background:#eaf1f5}.report-field-map-frame:fullscreen .report-field-map{width:100%;height:calc(100vh - 2rem)}.report-field-map{display:block;width:100%;min-height:410px}.report-field-map-unit{cursor:pointer}.report-field-map-unit circle{stroke-width:var(--report-marker-stroke,1.35);vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(16,42,67,.22))}.report-field-map-unit.complete circle{fill:#168f67;stroke:#075d44}.report-field-map-unit.active circle{fill:#ffb020;stroke:#a66200}.report-field-map-unit.unstarted circle{fill:#a8b8c5;stroke:#6f7c88}.report-field-map-unit:hover circle,.report-field-map-unit:focus circle,.report-field-map-unit.selected circle{stroke:#102a43;stroke-width:var(--report-marker-selected-stroke,2.6);filter:drop-shadow(0 0 4px #ffcc00)}.report-field-map-empty{display:grid;min-height:260px;place-items:center;border:1px dashed #b8cad6;border-radius:.75rem;background:#fff;color:#627d98}.report-field-map-note{margin:.7rem 0 0;color:#627d98;font-size:.75rem}.report-table tr:target,.report-table tr.map-target{background:#fff7d6;outline:2px solid #d69e00;outline-offset:-2px}@media(max-width:700px){.report-field-map-heading{flex-direction:column}.report-field-map{min-height:320px}.report-field-map-tools{width:100%}.report-field-map-tools button{flex:1}}
.collapsible-register{margin-top:1rem;padding:0;overflow:hidden}.collapsible-register-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem;cursor:pointer;list-style:none}.collapsible-register-summary::-webkit-details-marker,.route-stop-disclosure>summary::-webkit-details-marker{display:none}.collapsible-register-summary>span:first-child{display:grid;gap:.2rem}.collapsible-register-summary strong{font-size:1.45rem}.collapse-summary-meta{display:flex;align-items:center;gap:.75rem;color:#486581}.collapse-summary-meta:after{content:'+';display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#e3f8ff;color:#006a8e;font-size:1.35rem;font-weight:900}.collapsible-register[open] .collapse-summary-meta:after{content:'−'}.collapsible-register-content{padding:0 1.5rem 1.5rem}.when-open{display:none}.collapsible-register[open]>.collapsible-register-summary .when-open,.route-stop-disclosure[open]>summary .when-open{display:inline}.collapsible-register[open]>.collapsible-register-summary .when-closed,.route-stop-disclosure[open]>summary .when-closed{display:none}.route-stop-disclosure{margin-top:1rem}.route-stop-disclosure>summary{padding:.7rem .9rem;border-radius:.55rem;background:#edf7fb;color:#006a8e;cursor:pointer;font-weight:900;text-align:center;list-style:none}.route-stop-disclosure>summary:hover,.collapsible-register-summary:hover{background:#f2f8fb}.route-stop-disclosure ol{margin-top:.5rem}@media(max-width:640px){.collapsible-register-summary{align-items:flex-start;flex-direction:column}.collapse-summary-meta{width:100%;justify-content:space-between}.collapsible-register-content{padding:0 .75rem .75rem}}
:root{--municipality-tab-bg:#dff6fc}
.sla-panel>.municipality-stage{align-self:start;justify-self:start}
.municipality-stage.uat{background:#e0f2fe;color:#03617e}.elm-readiness-panel{display:grid;gap:1.25rem}.elm-readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.elm-readiness-grid article{display:grid;align-content:start;gap:.45rem;min-height:9rem;padding:1rem;border:1px solid #c9dceb;border-radius:.85rem;background:#f4f9fc}.elm-readiness-grid article strong{color:#006f8f;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:1050px){.elm-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.elm-readiness-grid{grid-template-columns:1fr}}
.municipality-context{max-width:1500px;margin:1rem auto 0;padding:0 2rem}.municipality-context-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:.9rem .9rem 0 0;background:#fff}.municipality-context-heading h2{margin:.15rem 0;font-size:1.35rem}.municipality-context-heading p:last-child{margin:.2rem 0;color:#486581;font-size:.82rem}.municipality-stage{flex:0 0 auto;padding:.35rem .7rem;border-radius:2rem;background:#edf2f7;color:#486581;font-size:.72rem;font-weight:900;text-transform:uppercase}.municipality-stage.pilot{background:#ddf7eb;color:#087f5b}.municipality-stage.configuration{background:#fff3cd;color:#7a5600}.municipality-tabs{display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));gap:.35rem;padding:.45rem;border:1px solid var(--line);border-top:0;border-radius:0 0 .9rem .9rem;background:#f7fafc;overflow-x:auto}.municipality-tabs form{min-width:0}.municipality-tab{width:100%;min-height:86px;display:grid;align-content:center;justify-items:start;gap:.05rem;padding:.65rem .75rem;border:1px solid transparent;border-radius:.65rem;background:transparent;color:#334e68;text-align:left;box-shadow:none}.municipality-tab strong,.municipality-tab span,.municipality-tab small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.municipality-tab strong{font-size:1rem}.municipality-tab span{font-size:.68rem;font-weight:700}.municipality-tab small{color:#829ab1;font-size:.62rem;text-transform:uppercase}.municipality-tab:hover{filter:none;background:#eaf7fb}.municipality-tab.active{border-color:#48cae4;background:var(--municipality-tab-bg);color:#005f7f;box-shadow:0 4px 14px rgba(0,119,182,.12)}.municipality-tab.active small{color:#007796}@media(max-width:900px){.municipality-tabs{grid-template-columns:repeat(7,minmax(135px,1fr))}.municipality-context-heading{flex-direction:column}}@media(max-width:640px){.municipality-context{padding:0 1rem}.municipality-context-heading{padding:.85rem}.municipality-tabs{display:flex}.municipality-tabs form{min-width:135px}}
.allocate-form{grid-template-columns:1fr 1.2fr auto;min-width:600px}
.retract-form>small{grid-column:1/-1;color:#627d98}
.bulk-assignment-recall{display:grid;grid-template-columns:auto minmax(280px,1fr) auto auto;gap:.75rem;align-items:end;margin:1rem 0;padding:1rem;border:1px solid #f2c7c1;border-radius:.8rem;background:#fff8f6}.bulk-assignment-recall label{margin:0}.bulk-recall-select-all{display:flex;align-items:center;gap:.5rem;align-self:center;font-weight:850}.bulk-recall-select-all input,[data-bulk-recall-batch]{width:1.1rem;height:1.1rem}.bulk-assignment-recall>strong{align-self:center;color:#627d98;white-space:nowrap}.assignment-admin-table th:nth-child(1){width:5%}.assignment-admin-table th:nth-child(2){width:16%}.assignment-admin-table th:nth-child(3){width:16%}.assignment-admin-table th:nth-child(4){width:18%}@media(max-width:1050px){.bulk-assignment-recall{grid-template-columns:1fr 1fr}.bulk-assignment-recall>strong{justify-self:end}}@media(max-width:640px){.bulk-assignment-recall{grid-template-columns:1fr}.bulk-assignment-recall>strong{justify-self:start}}
/* ELM source-defined task contract and simulator submission controls. */
.elm-task-contract{margin-top:.8rem;border:1px solid #b8d9e5;border-radius:.65rem;background:#f5fbfd}.elm-task-contract summary{padding:.7rem .8rem;color:#006a8e;font-weight:900;cursor:pointer}.elm-task-contract ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin:0;padding:0 .8rem .8rem 2.4rem}.elm-task-contract li{padding:.35rem .45rem;border-radius:.35rem;background:#fff}.elm-task-contract li b,.elm-task-contract li span{display:block}.elm-task-contract li span{color:#627d98;font-size:.72rem}.elm-task-contract li.optional{border-left:4px solid #a8b8c5}.elm-task-contract li.mandatory{border-left:4px solid #168f67}.elm-field-actions{display:block}.elm-field-submission{width:100%;padding:.85rem;border:1px solid #b8d9e5;border-radius:.7rem;background:#f8fcfe}.elm-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.elm-field-grid label{display:grid;gap:.25rem;color:#486581;font-size:.75rem;font-weight:850}.elm-field-grid input,.elm-field-grid select{width:100%}.elm-field-help{color:#486581;font-size:.75rem}.elm-field-submission>div:last-child{display:flex;gap:.5rem;flex-wrap:wrap}.elm-field-submission .button{margin:0}@media(max-width:760px){.elm-task-contract ol,.elm-field-grid{grid-template-columns:1fr}}
/* Evidence reports stay list-first; binary photos load only inside the selected modal. */
.evidence-records{min-width:1050px}.evidence-records tr.selected{background:#eaf8fd}.record-account{appearance:none;padding:0;border:0;background:transparent;color:#006f91;font:inherit;text-decoration:none;cursor:pointer}.record-account:hover{text-decoration:underline}.evidence-detail{position:relative}.evidence-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.evidence-summary-grid article{padding:.85rem 1rem;border:1px solid var(--line);border-radius:.75rem;background:#f8fbfd}.evidence-summary-grid span,.evidence-summary-grid strong,.evidence-summary-grid small{display:block}.evidence-summary-grid span{color:#627d98;font-size:.68rem;font-weight:900;text-transform:uppercase}.evidence-summary-grid strong{overflow-wrap:anywhere}.evidence-summary-grid small{color:#829ab1}.evidence-photo-heading{margin-top:1.4rem}.selected-evidence-gallery{grid-template-columns:repeat(auto-fit,minmax(250px,360px))}.evidence-modal{width:min(1400px,calc(100vw - 2rem));max-width:none;height:min(92vh,1050px);max-height:none;margin:auto;padding:0;border:0;border-radius:1rem;background:#fff;box-shadow:0 30px 90px #071f3566;overflow:hidden}.evidence-modal::backdrop{background:#0b2738b8;backdrop-filter:blur(3px)}.evidence-modal-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}.evidence-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:#f8fbfd}.evidence-modal-toolbar h2,.evidence-modal-toolbar p{margin:0}.evidence-modal-close{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid #b8cad6;border-radius:50%;background:#fff;color:#173b52;font-size:2rem;line-height:1;cursor:pointer}.evidence-modal-close:hover{background:#eaf8fd}.evidence-modal-content{min-height:0;padding:1.25rem;overflow:auto;overscroll-behavior:contain}.evidence-modal-loading{display:grid;place-items:center;min-height:50vh;color:#486581;font-weight:850}.evidence-modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.evidence-modal-heading .button{flex:0 0 auto}.evidence-response-table table{min-width:650px}.profile-shell{max-width:1400px}.account-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:5px solid #0086a8}.account-profile-hero h2{margin:.2rem 0}.profile-balance{min-width:280px;padding:1rem 1.2rem;border-radius:.8rem;background:#eaf8fd}.profile-balance span,.profile-balance strong,.profile-balance small{display:block}.profile-balance span{color:#486581;font-size:.72rem;font-weight:900;text-transform:uppercase}.profile-balance strong{font-size:1.65rem}.profile-balance small{color:#627d98}.profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}.profile-facts div{min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:.65rem;background:#f8fbfd}.profile-facts dt{color:#627d98;font-size:.7rem;font-weight:900;text-transform:uppercase}.profile-facts dd{margin:.2rem 0 0;font-weight:800;overflow-wrap:anywhere}.profile-facts.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-two-column{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.historical-context-section{border-top:5px solid #5b7186}.historical-context-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.75rem 1rem;border-left:4px solid #5b7186;background:#f2f6f8;color:#36516a}.historical-context-status.available{border-color:#00856a;background:#e6fbf4;color:#086247}.historical-context-status.no_match{border-color:#b7791f;background:#fff8e5;color:#805b13}.historical-count-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}.historical-count-card{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:#f8fbfd}.historical-count-card span,.historical-count-card strong{display:block}.historical-count-card span{min-height:2.4em;color:#486581;font-size:.72rem;font-weight:900;text-transform:uppercase}.historical-count-card strong{margin-top:.35rem;font-size:1.75rem}.historical-evidence-note{display:flex;gap:.6rem;align-items:flex-start;margin-top:1rem;padding:1rem;border-radius:.75rem;background:#f8fbfd;color:#486581}.historical-evidence-note strong{color:#173b52;white-space:nowrap}@media(max-width:800px){.evidence-summary-grid{grid-template-columns:1fr 1fr}.evidence-modal{width:calc(100vw - 1rem);height:calc(100vh - 1rem)}.evidence-modal-toolbar,.evidence-modal-content{padding:.8rem}.evidence-modal-heading,.account-profile-hero{align-items:stretch;flex-direction:column}.evidence-modal-heading .button{align-self:flex-start}.profile-facts,.profile-two-column{grid-template-columns:1fr 1fr}.historical-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.historical-context-status,.historical-evidence-note{align-items:stretch;flex-direction:column}}@media(max-width:520px){.evidence-summary-grid,.profile-facts,.profile-facts.compact,.profile-two-column,.historical-count-grid{grid-template-columns:1fr}.selected-evidence-gallery{grid-template-columns:1fr}}
.access-denied-body{margin:0;min-height:100vh;background:linear-gradient(145deg,#eaf3f7,#f8fbfc);color:#14213d;display:grid;place-items:center;font-family:var(--font-body,Arial,sans-serif)}
.access-denied-shell{width:min(92vw,760px);padding:32px}
.access-denied-dialog{background:#fff;border:1px solid #cadce6;border-top:6px solid #0587aa;border-radius:24px;box-shadow:0 24px 64px rgba(20,48,68,.16);padding:clamp(32px,6vw,64px);text-align:center}
.access-denied-dialog h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;margin:12px 0 20px}
.access-denied-dialog>p:not(.eyebrow){font-size:1.15rem;line-height:1.6;max-width:600px;margin:0 auto;color:#49657a}
.access-denied-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:#e6f6fb;color:#007f9f;font-size:2rem;font-weight:900;border:2px solid #72cce1}
.access-denied-actions{justify-content:center;margin:28px 0 20px}
.access-denied-dialog small{display:block;color:#607b8e;line-height:1.5}

/* Compact, version-safe municipal field-template workspace. */
.template-admin-shell{max-width:1500px}.template-command-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:1.35rem 1.5rem;border:1px solid var(--line);border-top:5px solid #0086a8;border-radius:1rem;background:#fff;box-shadow:0 12px 40px #071f3510}.template-command-panel h2{margin:.2rem 0;font-size:1.8rem}.template-command-panel p{max-width:780px;margin:.3rem 0;color:#486581}.template-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:.6rem}.template-stat-grid article{min-width:105px;padding:.75rem .9rem;border:1px solid #d9e6ed;border-radius:.75rem;background:#f7fbfd}.template-stat-grid span,.template-stat-grid strong{display:block}.template-stat-grid span{color:#627d98;font-size:.66rem;font-weight:900;text-transform:uppercase}.template-stat-grid strong{font-size:1.45rem}.template-family-tabs{display:flex;gap:.45rem;margin:1rem 0;padding:.4rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;overflow-x:auto}.template-family-tabs a{display:flex;align-items:center;justify-content:center;gap:.45rem;min-width:145px;flex:1;padding:.72rem .85rem;border-radius:.6rem;color:#486581;font-size:.8rem;font-weight:900;text-decoration:none;white-space:nowrap}.template-family-tabs a:hover{background:#edf7fb}.template-family-tabs a.active{background:#006f91;color:#fff}.template-family-tabs a span{display:grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:1rem;background:#e3f8ff;color:#006a8e;font-size:.68rem}.template-family-tabs a.active span{background:#fff;color:#006f91}.template-library{display:grid;gap:.75rem}.template-workbench{overflow:hidden;border:1px solid #cbdbe5;border-radius:1rem;background:#fff;box-shadow:0 8px 24px #071f3509}.template-workbench.selected{border-color:#75c9dc;box-shadow:0 12px 34px rgba(0,119,182,.12)}.template-workbench-summary{display:grid;grid-template-columns:auto minmax(260px,1fr) auto auto auto;gap:1rem;align-items:center;padding:1rem 1.2rem;cursor:pointer;list-style:none}.template-workbench-summary::-webkit-details-marker,.template-step-editor>summary::-webkit-details-marker,.template-add-step>summary::-webkit-details-marker{display:none}.template-workbench-summary:hover{background:#f7fbfd}.template-family-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.75rem;background:#dff6fc;color:#006f91;font-size:1.05rem;font-weight:950}.template-summary-title{display:grid;min-width:0}.template-summary-title strong{overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.template-summary-title small{color:#829ab1}.template-summary-kicker{color:#0086a8;font-size:.64rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.template-summary-metrics{display:flex;gap:.5rem}.template-summary-metrics>span{min-width:72px;padding:.45rem .6rem;border-radius:.55rem;background:#f0f4f8;color:#627d98;font-size:.66rem;text-align:center}.template-summary-metrics b{display:block;color:#243b53;font-size:.9rem}.state-pill.draft{background:#fff3cd;color:#7a5600}.template-disclosure{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:#edf7fb;color:#006f91}.template-disclosure:after{content:'+';font-size:1.2rem;font-weight:900}.template-workbench[open]>.template-workbench-summary .template-disclosure:after,.template-step-editor[open]>summary .template-disclosure:after{content:'−'}.template-workbench-body{padding:0 1.2rem 1.2rem;border-top:1px solid #e5edf2}.template-workbench-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0}.template-workbench-toolbar p{margin:0;color:#486581}.template-source-line{margin-top:.3rem!important;font-size:.72rem!important;color:#829ab1!important}.template-mode-toggle{display:flex;flex:0 0 auto;padding:.25rem;border:1px solid #b8cad6;border-radius:.65rem;background:#f3f7f9}.template-mode-toggle a{min-width:76px;padding:.5rem .7rem;border-radius:.45rem;color:#486581;font-size:.75rem;font-weight:900;text-align:center;text-decoration:none}.template-mode-toggle a.active{background:#0077b6;color:#fff;box-shadow:0 4px 12px #0077b62b}.template-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.template-step-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.85rem;border:1px solid #dbe6ec;border-radius:.75rem;background:#fbfdfe}.template-step-number{display:grid;place-items:center;align-self:start;width:2rem;height:2rem;border-radius:.55rem;background:#006f91;color:#fff;font-size:.78rem;font-weight:950}.template-step-card h3{margin:0;font-size:.95rem}.template-step-card p{margin:.08rem 0;color:#829ab1;font-size:.68rem;overflow-wrap:anywhere}.template-step-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.template-step-badges i{padding:.2rem .45rem;border-radius:1rem;background:#edf2f7;color:#486581;font-size:.61rem;font-style:normal;font-weight:850;text-transform:uppercase}.template-step-badges i.required{background:#fff3cd;color:#7a5600}.template-step-badges i.evidence{background:#e3f8ff;color:#006a8e}.template-option-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.45rem}.template-option-chips span{padding:.2rem .45rem;border:1px solid #c9d9e3;border-radius:1rem;color:#486581;font-size:.62rem}.template-branch-note{margin-top:.45rem!important;padding:.45rem .55rem;border-left:3px solid #f0ad00;background:#fff9e6;color:#6b5a2c!important;font-size:.66rem!important}.template-live-note,.template-draft-note{margin:1rem 0 0;padding:.75rem .9rem;border-left:4px solid #168f67;border-radius:.45rem;background:#e6fffa;color:#087f5b;font-size:.78rem;font-weight:800}.template-draft-note{border-left-color:#d69e00;background:#fff8df;color:#6b5a2c}.template-edit-section{margin-bottom:1rem;padding:1rem;border:1px solid #d9e6ed;border-radius:.85rem;background:#f8fbfd}.template-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.template-section-heading h3{margin:.15rem 0}.template-section-heading small{color:#627d98}.template-safe-badge{padding:.3rem .6rem;border-radius:1rem;background:#fff3cd;color:#7a5600;font-size:.68rem;font-weight:900}.template-metadata-form{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:.65rem;align-items:end}.template-metadata-form .wide-field{grid-column:1/-1}.template-metadata-form textarea,.template-step-edit-form textarea{width:100%;padding:.75rem;border:1px solid #9fb3c8;border-radius:.55rem;background:#fff;font:inherit;resize:vertical}.template-step-editors{display:grid;gap:.45rem}.template-step-editor{overflow:hidden;border:1px solid #d7e3ea;border-radius:.65rem;background:#fff}.template-step-editor>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.75rem;align-items:center;padding:.7rem .8rem;cursor:pointer;list-style:none}.template-step-editor>summary:hover{background:#f2f8fb}.template-step-editor>summary>span:nth-child(2){display:grid}.template-step-editor>summary small{color:#829ab1;font-size:.66rem}.template-step-editor-body{padding:.8rem;border-top:1px solid #e5edf2;background:#fbfdfe}.template-step-edit-form{display:grid;grid-template-columns:1.5fr 1fr .65fr 1fr auto;gap:.6rem;align-items:end}.template-step-edit-form .wide-field{grid-column:1/-1}.template-step-edit-form .template-branch-note{grid-column:1/-1}.template-step-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.65rem}.template-step-actions button{padding:.55rem .7rem}.template-step-actions button:disabled{opacity:.35;cursor:not-allowed}.template-add-step{margin:1rem 0;border:2px dashed #9dc7d7;border-radius:.8rem;background:#f7fcfe}.template-add-step>summary{display:grid;grid-template-columns:auto auto 1fr;gap:.65rem;align-items:center;padding:.9rem 1rem;color:#006f91;cursor:pointer;list-style:none}.template-add-step>summary>span{font-size:1.35rem}.template-add-step>summary small{color:#627d98;text-align:right}.template-add-step .template-step-edit-form{padding:0 1rem 1rem}.template-publish-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(270px,auto);gap:.7rem;align-items:end;padding:1rem;border-radius:.85rem;background:#102a43;color:#fff}.template-publish-bar>div{display:grid}.template-publish-bar span{color:#bcccdc;font-size:.72rem}.template-retire-form{display:flex;gap:.4rem}.template-retire-form input{min-width:160px}.template-version-callout{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem;border:1px solid #f0c36a;border-radius:.85rem;background:#fff8df}.template-version-callout h3,.template-version-callout p{margin:.2rem 0}.template-version-callout p{color:#6b5a2c}.template-empty{text-align:center;color:#627d98}.template-tools{margin-top:1rem!important}.template-onboard-form{margin-bottom:1rem}.template-tools .collapsible-register-content>p{color:#486581}.template-tools .admin-table{min-width:1050px}@media(max-width:1100px){.template-command-panel{grid-template-columns:1fr}.template-stat-grid{width:100%}.template-workbench-summary{grid-template-columns:auto minmax(220px,1fr) auto auto}.template-summary-metrics{display:none}.template-metadata-form,.template-step-edit-form{grid-template-columns:1fr 1fr}.template-metadata-form .button,.template-step-edit-form .button{grid-column:1/-1}.template-publish-bar{grid-template-columns:1fr 1fr}.template-publish-bar>div{grid-column:1/-1}}@media(max-width:760px){.template-stat-grid{grid-template-columns:1fr 1fr}.template-family-tabs a{min-width:130px}.template-workbench-summary{grid-template-columns:auto minmax(0,1fr) auto}.template-workbench-summary>.state-pill{display:none}.template-step-grid{grid-template-columns:1fr}.template-workbench-toolbar,.template-section-heading,.template-version-callout{align-items:stretch;flex-direction:column}.template-mode-toggle{align-self:stretch}.template-mode-toggle a{flex:1}.template-step-editor>summary{grid-template-columns:auto minmax(0,1fr) auto}.template-step-editor>summary>.template-step-badges{display:none}.template-publish-bar{grid-template-columns:1fr}.template-retire-form{flex-direction:column}.template-add-step>summary{grid-template-columns:auto 1fr}.template-add-step>summary small{grid-column:1/-1;text-align:left}}@media(max-width:520px){.template-command-panel,.template-workbench-body{padding-left:.75rem;padding-right:.75rem}.template-workbench-summary{gap:.6rem;padding:.8rem}.template-family-icon{width:2.2rem;height:2.2rem}.template-summary-title strong{font-size:.9rem}.template-stat-grid,.template-metadata-form,.template-step-edit-form{grid-template-columns:1fr}.template-step-actions{display:grid;grid-template-columns:1fr 1fr}.template-step-actions form:last-child{grid-column:1/-1}.template-step-actions button{width:100%}}

/* Dispatcher decision workspace: compare both algorithms before choosing one plan. */
.dispatch-workbench{grid-template-columns:minmax(0,1.85fr) minmax(330px,.85fr);align-items:start}.dispatch-workbench .dispatch-controls{position:static}.comparison-brief{margin:1rem 0;padding:1rem;border:1px solid #9bd6e5;border-radius:.8rem;background:linear-gradient(135deg,#e9f9fc,#f4fffa)}.comparison-brief p{margin:.25rem 0;color:#486581}.comparison-brief .eyebrow{color:#007f9e}.comparison-brief strong{font-size:1.05rem;color:#173b52}.route-comparison-workspace{margin-top:1.5rem;padding:1.25rem;border:1px solid #b8d9e5;border-top:6px solid #007f9e;border-radius:1rem;background:#f8fcfe;box-shadow:0 14px 36px #072f4810}.route-comparison-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.route-comparison-heading h2{margin:.15rem 0 .35rem}.route-comparison-heading p{max-width:830px;margin:0;color:#486581}.comparison-decision-rule{display:grid;gap:.2rem;min-width:280px;padding:.85rem 1rem;border-left:5px solid #168f67;border-radius:.55rem;background:#e8fbf3}.comparison-decision-rule strong{color:#076347}.comparison-decision-rule span{color:#397262;font-size:.78rem;line-height:1.4}.algorithm-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.algorithm-comparison-card{overflow:hidden;border:1px solid #bfd4df;border-radius:.9rem;background:#fff;box-shadow:0 5px 14px #071f350a}.algorithm-comparison-card.kmeans{border-top:6px solid #007f9e}.algorithm-comparison-card.vroom{border-top:6px solid #5b5cc7}.algorithm-comparison-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .75rem}.algorithm-comparison-card h3{margin:.15rem 0;font-size:1.45rem}.algorithm-comparison-card header p:not(.eyebrow){margin:0;color:#627d98;font-size:.78rem;overflow-wrap:anywhere}.comparison-metrics{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:.75rem 1rem;gap:.6rem;border-top:1px solid #e1ebf0;border-bottom:1px solid #e1ebf0;background:#f8fbfd}.comparison-metrics div{min-width:0}.comparison-metrics dt{color:#627d98;font-size:.65rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.comparison-metrics dd{margin:.2rem 0 0;color:#173b52;font-size:1.1rem;font-weight:950}.comparison-metrics small{display:block;color:#627d98;font-size:.68rem;line-height:1.3}.comparison-map-figure{margin:0;padding:1rem}.comparison-route-map{display:block;width:100%;min-height:330px;border:1px solid #bfd4df;border-radius:.75rem;background:#eef5f8}.comparison-route-map .route-path-halo{stroke-width:10}.comparison-route-map .route-path{stroke-width:5}.comparison-route-map .route-map-stop circle{stroke-width:4}.comparison-route-map .route-map-stop text{font-size:11px}.comparison-map-figure figcaption{display:flex;align-items:center;gap:.45rem;margin-top:.55rem;color:#627d98;font-size:.72rem}.comparison-map-figure .route-swatch{width:.7rem;height:.7rem;margin:0;background:#007f9e}.comparison-route-summary{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem 1rem}.comparison-route-summary span{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border:1px solid #d5e2e9;border-radius:2rem;color:#486581;font-size:.7rem;font-weight:800}.comparison-route-summary i{display:block;width:.65rem;height:.65rem;border-radius:50%;background:var(--route-colour)}.algorithm-comparison-card>footer{display:flex;justify-content:space-between;gap:.6rem;padding:1rem;border-top:1px solid #e1ebf0;background:#fbfdfe}.algorithm-comparison-card>footer form{margin:0}.algorithm-comparison-card>footer .button{padding:.65rem .8rem;font-size:.78rem}.algorithm-comparison-card.vroom>footer .button:not(.secondary){background:#5b5cc7}.algorithm-comparison-card.vroom>footer .button:not(.secondary):hover{background:#4446a9}@media(max-width:1150px){.dispatch-workbench{grid-template-columns:1fr}.route-comparison-heading{flex-direction:column}.comparison-decision-rule{min-width:0;width:100%}.algorithm-comparison-grid{grid-template-columns:1fr}.comparison-route-map{min-height:390px}}@media(max-width:640px){.route-comparison-workspace{margin-left:-.3rem;margin-right:-.3rem;padding:.75rem}.comparison-metrics{padding:.65rem}.comparison-map-figure{padding:.7rem}.comparison-route-map{min-height:270px}.algorithm-comparison-card>footer{align-items:stretch;flex-direction:column}.algorithm-comparison-card>footer .button{width:100%}}
.map-coordinate-warning,.map-coordinate-summary{margin:.75rem 1rem 0;padding:.75rem .9rem;border-radius:.65rem;font-size:.78rem;line-height:1.45}.map-coordinate-warning{border-left:5px solid #d97706;background:#fff6df;color:#6f4600}.map-coordinate-summary{border-left:5px solid #0b829b;background:#eaf8fb;color:#24425b}.map-coordinate-warning strong,.map-coordinate-summary strong{display:block;color:#173b52}.cluster-legend{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .25rem;border-radius:999px;background:#087f9e;color:#fff;font-size:.62rem;font-style:normal;font-weight:950}.map-unit.clustered circle,.map-unit.clustered text{visibility:hidden}.map-location-clusters{pointer-events:none}.map-location-cluster{opacity:.96}.map-location-cluster circle{fill:#087f9e;stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 5px rgba(16,42,67,.42))}.map-location-cluster text{fill:#fff;font-weight:950;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#087f9e;stroke-width:2}.map-location-cluster.selected circle{fill:#ef8354;stroke:#fff}.map-location-cluster.selected text{stroke:#ef8354}.map-location-cluster.focused circle{fill:#ffcc00;stroke:#172033;stroke-width:5;filter:drop-shadow(0 0 8px #ffcc00)}.map-location-cluster.focused text{fill:#172033;stroke:#ffcc00}.route-preview-active .map-location-cluster:not(.selected){opacity:.18}
.coordinate-inferred-notice{margin:.75rem 0;padding:.85rem 1rem;border:2px solid #b42318;border-left-width:7px;border-radius:.65rem;background:#fff0ee;color:#8f1d14;font-size:.82rem;line-height:1.45}.coordinate-inferred-notice strong{display:block;color:#b42318;letter-spacing:.05em}.coordinate-inferred-label{color:#b42318!important;font-weight:950!important}.state-pill.inferred{background:#ffe4df;color:#b42318}

/* Governed area selection for account recall and reassignment. */
.recall-map-panel{border-top:5px solid #087f9e}.recall-map-summary{display:flex;flex-wrap:wrap;gap:.55rem;margin:.8rem 0 1rem}.recall-map-summary span{padding:.45rem .65rem;border-radius:2rem;background:#edf5f8;color:#486581;font-size:.75rem}.recall-map-summary span.warning{background:#fff2e6;color:#9a4d00}.recall-map-summary b{color:#173b52}.recall-map-layout{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(300px,.75fr);gap:1rem;align-items:start}.recall-map-workspace{min-width:0}.recall-map-toolbar{grid-template-columns:auto auto minmax(230px,1fr) auto;margin-top:0}.recall-map-frame{position:relative;border-radius:22px;background:#f6fafc}.recall-area-map{min-height:480px}.recall-map-draw-tools{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.7rem}.recall-map-action{position:sticky;top:1rem;display:grid;gap:.85rem;padding:1rem;border:1px solid #cadce6;border-radius:.8rem;background:#f8fbfd}.recall-map-action label{display:grid;gap:.35rem}.recall-map-action textarea{resize:vertical}.recall-map-action small{color:#627d98;line-height:1.45}.recall-map-unit{opacity:.88}.recall-map-unit circle{fill:#8ea7b7;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px rgba(25,46,64,.25))}.recall-map-unit.state-accepted circle{fill:#f0a51a}.recall-map-unit.state-in_progress circle{fill:#ca6b14}.recall-map-unit.selected{opacity:1}.recall-map-unit.selected circle{fill:#e0453a;stroke:#fff;stroke-width:3}.recall-map-unit.focused circle{fill:#ffdc35;stroke:#172033;stroke-width:4;filter:drop-shadow(0 0 6px #ffdc35)}.recall-map-unit.clustered circle{visibility:hidden}.recall-map-clusters{pointer-events:none}.recall-map-cluster circle{fill:#334e68;stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(16,42,67,.4))}.recall-map-cluster text{fill:#fff;font-weight:950;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#334e68;stroke-width:2}.recall-map-cluster.selected circle{fill:#e0453a}.recall-map-cluster.selected text{stroke:#e0453a}.recall-map-cluster.focused circle{fill:#ffdc35;stroke:#172033}.recall-map-cluster.focused text{fill:#172033;stroke:#ffdc35}.recall-map-workspace:fullscreen{padding:1rem;background:#eaf1f5;overflow:auto}.recall-map-workspace:fullscreen .recall-map-frame{height:calc(100vh - 11rem)}.recall-map-workspace:fullscreen .recall-area-map{height:100%;min-height:0}.recall-map-workspace:fullscreen .recall-map-toolbar{margin:0 0 .75rem;background:rgba(248,251,253,.96)}.recall-map-workspace:fullscreen .recall-map-draw-tools{padding-bottom:.5rem}@media(max-width:1100px){.recall-map-layout{grid-template-columns:1fr}.recall-map-action{position:static}}@media(max-width:760px){.recall-map-toolbar{grid-template-columns:1fr}.recall-area-map{min-height:360px}.recall-map-draw-tools .button{flex:1 1 45%}}@media(max-width:520px){.recall-map-draw-tools .button{flex-basis:100%}}

/* User-controlled, privacy-safe mobile diagnostic reports. */
.diagnostic-register-title{margin-top:2rem}.diagnostic-register{display:grid;gap:.55rem;margin-top:1rem}.diagnostic-bundle{overflow:hidden;border:1px solid #cadce6;border-radius:.75rem;background:#fff}.diagnostic-bundle>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.85rem 1rem;cursor:pointer;list-style:none}.diagnostic-bundle>summary::-webkit-details-marker{display:none}.diagnostic-bundle>summary:hover{background:#f3fafc}.diagnostic-bundle>summary span{display:grid}.diagnostic-bundle>summary span:last-child{text-align:right}.diagnostic-bundle>summary small{color:#627d98}.diagnostic-entry-table{min-width:900px}.diagnostic-entry-table td{vertical-align:top}@media(max-width:700px){.diagnostic-bundle>summary{grid-template-columns:1fr}.diagnostic-bundle>summary span:last-child{text-align:left}}

/* Batch and account reporting workbench. */
.report-account-search{margin-bottom:1rem;border-top:5px solid #007fa3}.report-search-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:.75rem;align-items:end}.report-search-form label span{color:#486581}.account-search-results{margin-top:1rem}.report-search-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.35rem 0 .75rem}.report-search-summary p{margin:0}.batch-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1rem}.batch-report-card{padding:1rem;border:1px solid #cadce6;border-radius:.85rem;background:#fbfdfe}.batch-report-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.batch-report-card-heading h3{margin:.15rem 0}.batch-report-card-heading small{color:#627d98}.batch-report-card-heading>strong{font-size:2rem;color:#087f5b}.batch-report-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:1rem 0}.batch-report-card dl div{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;border-radius:.4rem;background:#fff}.batch-report-card dt{color:#627d98;font-size:.75rem}.batch-report-card dd{margin:0;font-weight:900}.batch-progress-panel{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(300px,1fr);gap:1.5rem;align-items:center;margin:1rem 0}.batch-progress-panel h2{margin:.15rem 0}.agent-progress.large{height:1rem}.batch-detail-summary{margin-bottom:0}@media(max-width:700px){.report-search-form,.batch-progress-panel{grid-template-columns:1fr}.batch-report-card dl{grid-template-columns:1fr}}

/* Governed batch definition: chosen once, validated server-side and locked to the batch. */
.batch-definition-fieldset{margin:0;padding:1rem;border:1px solid #9fcbd8;border-radius:.85rem;background:#f7fcfe}.batch-definition-fieldset legend{padding:0 .45rem;color:#006f91;font-size:.75rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.batch-definition-help{margin:0 0 .9rem;color:#486581;font-size:.8rem}.batch-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.batch-definition-grid label{min-width:0}.template-version-field{grid-column:1/-1}.template-version-field input[readonly]{background:#edf5f8;color:#173b52;font-weight:850;cursor:not-allowed}.effective-priority{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,.35fr) minmax(110px,.2fr) minmax(260px,1fr);gap:.65rem;align-items:center;padding:.7rem .8rem;border-left:4px solid #168f67;border-radius:.45rem;background:#e9fbf4}.effective-priority span{color:#087f5b;font-size:.7rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.effective-priority strong{text-transform:uppercase}.effective-priority small{color:#397262}@media(max-width:700px){.batch-definition-grid{grid-template-columns:1fr}.template-version-field,.effective-priority{grid-column:auto}.effective-priority{grid-template-columns:1fr;gap:.2rem}}

/* Evidence review: preserve every captured fact and make GPS comparison readable. */
.evidence-card>div{min-width:0}.evidence-card dl{gap:.4rem}.evidence-card dl div{display:grid;grid-template-columns:minmax(72px,.8fr) minmax(0,1.5fr);align-items:start;gap:.75rem;padding-top:.42rem}.evidence-card dt{color:#486581;font-size:.76rem;font-weight:850}.evidence-card dd{min-width:0;overflow-wrap:anywhere;text-align:right;line-height:1.35}.evidence-card .evidence-proximity{display:grid;justify-items:end;gap:.22rem}.proximity-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.16rem .48rem;border:1px solid transparent;border-radius:999px;font-size:.7rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.proximity-green{border-color:#85d9b5;background:#e0f8ed;color:#08744d}.proximity-orange{border-color:#f5bd79;background:#fff0dc;color:#a24c00}.proximity-red{border-color:#f3a4a0;background:#ffebe9;color:#b42318}.proximity-unavailable{border-color:#c8d2dc;background:#f2f5f7;color:#52677a}.evidence-proximity strong{color:#173b52}.evidence-proximity small{color:#627d98;font-size:.72rem;font-weight:750}@media(max-width:640px){.evidence-card dl div{grid-template-columns:minmax(68px,.75fr) minmax(0,1.25fr);gap:.5rem}}

/* Auditable pre-allocation route alternatives. */
.comparison-decision-actions{display:grid;gap:.65rem;min-width:300px;max-width:390px}.comparison-decision-actions .comparison-decision-rule{min-width:0}.route-regenerate-form{display:grid;gap:.35rem;margin:0}.route-regenerate-button{width:100%;border-color:#007f9e;background:#fff;color:#006a8e}.route-regenerate-button:hover{background:#dff5fb;color:#005a78}.route-regenerate-form small{color:#627d98;font-size:.7rem;line-height:1.4}.previous-comparison-link{color:#006a8e;font-size:.72rem;font-weight:900;text-align:center}.previous-comparison-link:hover{text-decoration:underline}@media(max-width:1150px){.comparison-decision-actions{min-width:0;max-width:none;width:100%}}
/* Editorial operations system — approved Concept C. */
:root{
  color:#0b1324;
  background:#f8f7f4;
  font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  --ink:#0b1324;
  --canvas:#f8f7f4;
  --surface:#ffffff;
  --surface-muted:#f1f2ef;
  --slate:#566579;
  --teal:#1a7c7a;
  --blue:#2f6fad;
  --green:#2f7d5c;
  --amber:#b7791f;
  --brick:#a83b32;
  --line:#d9ddd9;
  --radius-sm:10px;
  --radius-lg:14px;
  --shadow-sm:0 1px 2px rgba(11,19,36,.05),0 8px 24px rgba(11,19,36,.04);
  --space-1:8px;
  --space-2:12px;
  --space-3:16px;
  --space-4:24px;
  --space-5:32px;
}
body{color:var(--ink);background:var(--canvas);font-size:.875rem;line-height:1.55}
a{color:var(--blue);text-underline-offset:2px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(47,111,173,.32);outline-offset:2px}
.eyebrow{color:var(--teal);font-size:.75rem;font-weight:800;letter-spacing:.12em}
h1,h2,h3,strong{color:var(--ink)}
.app-header{padding:var(--space-5) max(4vw,var(--space-4));background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
.app-header h1{margin:.25rem 0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;line-height:1.15;letter-spacing:-.035em}
.app-header p{max-width:760px;color:var(--slate)}
.compact-header h1{font-size:clamp(1.75rem,3vw,2.25rem)}
.app-shell{padding-top:var(--space-4)}
.panel,.case-card,.metric,.login-card,.table-wrap{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.panel{padding:var(--space-4)}
.section-title{margin:var(--space-5) 0 var(--space-3)}
.section-title h2{margin:.15rem 0;font-size:1.25rem;letter-spacing:-.02em}
.button,button{min-height:40px;padding:.65rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--ink);font-size:.8125rem;font-weight:700;box-shadow:none}
.button:hover,button:hover{filter:none;background:#1a263b}
.button.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}
.button.secondary:hover{border-color:#b6c0c9;background:var(--surface-muted)}
.button.danger{border-color:#ead0cd;background:#fff6f5;color:var(--brick)}
.batch-delete{margin-top:.8rem;border-top:1px solid #e8eef3;padding-top:.7rem}.batch-delete summary{color:var(--red);cursor:pointer;font-size:.8rem;font-weight:850}.batch-delete form{display:grid;gap:.65rem;margin-top:.7rem;min-width:18rem}.batch-delete p{max-width:24rem;margin:0;color:#627d98;font-size:.78rem}.batch-delete label{font-size:.78rem}.batch-delete input{padding:.6rem}
input,select,textarea{min-height:40px;border-color:#b9c2c8;border-radius:var(--radius-sm);color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,173,.12)}
.role-pill,.type-pill,.state-pill,.priority-pill,.terminal-badge{border-radius:999px;font-size:.6875rem;letter-spacing:.04em}
.role-pill{background:#dcecea;color:#155f5d}
.type-pill{background:#e7eef5;color:#285f91}
.state-pill{background:#eceeec;color:#46566a}
.notice-band{border-color:#e2d4b8;background:#fffbf2;border-radius:var(--radius-lg)}
.notice-band span,.muted{color:var(--slate)}
.alert{border-radius:var(--radius-sm)}
.alert.success{background:#edf7f2;color:var(--green)}
.alert.error{background:#fff2f0;color:var(--brick)}
.metric-grid{gap:var(--space-2)}
.metric{min-width:145px;padding:var(--space-3)}
.metric span{color:var(--slate);font-size:.75rem}
.metric strong{font-size:1.75rem;font-weight:700}
.metric-filter{border-left:3px solid transparent}
.metric-filter:hover{transform:none;border-color:var(--teal);box-shadow:var(--shadow-sm)}
.metric-filter.active{border:1px solid var(--teal);border-left-width:3px;background:#f1f8f7;box-shadow:none}
.metric-filter small{color:var(--teal)}
.table-wrap{overflow:auto;background:var(--surface)}
th{padding:.75rem 1rem;background:#f1f2ef;color:var(--slate);font-size:.6875rem;letter-spacing:.06em}
td{padding:.85rem 1rem;border-bottom-color:#e7e9e6}
tbody tr:hover{background:#fbfbf9}
.empty{color:var(--slate)}
.operations-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.operations-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}
.operations-overview>.notice-band{margin-bottom:var(--space-4)}
.operations-overview>.panel,.operations-overview>section>.panel{margin-top:var(--space-3)}
.dispatch-launch-panel,.dispatch-batch-picker,.allocation-confirm{border-top:0}
.dispatch-launch-panel{position:relative;overflow:hidden}
.dispatch-launch-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--teal)}
.sla-panel{border-top:0;border-left:4px solid var(--amber)}
.journey{gap:var(--space-2)}
.journey li{border-color:var(--line);border-radius:var(--radius-sm);box-shadow:none}
.queue-filter{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.admin-body,.qa-body,.reports-body,.dispatch-board-body{background:var(--canvas)}
@media(max-width:760px){.operations-header{align-items:flex-start;flex-direction:column}.operations-header-actions{justify-content:flex-start}.operations-header-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Governed import progress: upload bytes are determinate; server processing is explicitly indeterminate. */
.import-progress{display:grid;gap:.55rem;padding:1rem;border:1px solid #b8d9e5;border-radius:.75rem;background:#f7fbfd}.import-progress[hidden]{display:none}.import-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.import-progress-heading strong{color:#173b52}.import-progress-heading span{color:#627d98;font-size:.75rem;font-weight:800}.import-progress-track{height:.8rem;overflow:hidden;border-radius:1rem;background:#dfe9ee}.import-progress-bar{display:block;width:0;height:100%;border-radius:inherit;background:#007fa3;transition:width .2s ease}.import-progress-track.processing .import-progress-bar{width:30%!important;animation:import-processing 1.25s ease-in-out infinite;background:linear-gradient(90deg,#007fa3,#48cae4)}.import-progress-track.failed .import-progress-bar{width:100%!important;background:#b42318;animation:none}.import-progress p{margin:0;color:#486581;font-size:.78rem}@keyframes import-processing{from{transform:translateX(-120%)}to{transform:translateX(340%)}}@media(prefers-reduced-motion:reduce){.import-progress-track.processing .import-progress-bar{animation-duration:2.5s}}

/* Route solving is a synchronous server operation, so show an honest indeterminate state. */
.route-processing-active{overflow:hidden}.route-processing-overlay[hidden]{display:none}.route-processing-overlay{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:1.5rem;background:rgba(8,30,45,.72);backdrop-filter:blur(4px)}.route-processing-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.2rem;align-items:center;width:min(620px,100%);padding:1.5rem;border:1px solid #9bd6e5;border-radius:1rem;background:#fff;box-shadow:0 24px 70px rgba(7,31,53,.35)}.route-processing-card h2,.route-processing-card p{margin:.15rem 0}.route-processing-card>div>p:not(.eyebrow){color:#334e68}.route-processing-card small{display:block;margin-top:.65rem;color:#627d98;line-height:1.45}.route-processing-spinner{width:3.25rem;height:3.25rem;border:.42rem solid #ccebf2;border-top-color:#007f9e;border-radius:50%;animation:route-processing-spin .85s linear infinite}@keyframes route-processing-spin{to{transform:rotate(360deg)}}@media(max-width:560px){.route-processing-card{grid-template-columns:1fr}.route-processing-spinner{width:2.75rem;height:2.75rem}}@media(prefers-reduced-motion:reduce){.route-processing-spinner{animation-duration:1.8s}}
.workflow-processing-active{overflow:hidden}.workflow-processing-overlay[hidden]{display:none}.workflow-processing-overlay{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:1.5rem;background:rgba(8,30,45,.72);backdrop-filter:blur(4px)}.workflow-processing-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.2rem;align-items:center;width:min(620px,100%);padding:1.5rem;border:1px solid #9bd6e5;border-radius:1rem;background:#fff;box-shadow:0 24px 70px rgba(7,31,53,.35)}.workflow-processing-card h2,.workflow-processing-card p{margin:.15rem 0}.workflow-processing-card>div>p:not(.eyebrow){color:#334e68;font-weight:750}.workflow-processing-card small{display:block;margin-top:.65rem;color:#627d98;line-height:1.45}.workflow-processing-spinner{width:3.25rem;height:3.25rem;border:.42rem solid #ccebf2;border-top-color:#007f9e;border-radius:50%;animation:workflow-processing-spin .85s linear infinite}.workflow-processing-track{height:.55rem;margin-top:.85rem;overflow:hidden;border-radius:1rem;background:#dfe9ee}.workflow-processing-track span{display:block;width:32%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#007fa3,#48cae4);animation:workflow-processing-slide 1.25s ease-in-out infinite}@keyframes workflow-processing-spin{to{transform:rotate(360deg)}}@keyframes workflow-processing-slide{from{transform:translateX(-120%)}to{transform:translateX(340%)}}@media(max-width:560px){.workflow-processing-card{grid-template-columns:1fr}.workflow-processing-spinner{width:2.75rem;height:2.75rem}}@media(prefers-reduced-motion:reduce){.workflow-processing-spinner{animation-duration:1.8s}.workflow-processing-track span{animation-duration:2.5s}}

/* Reporting performance summary and workflow map. */
.report-performance-summary{margin:1rem 0;padding:1rem;border:1px solid #c9d9e3;border-radius:.9rem;background:#f8fbfd}.report-performance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.report-performance-heading h3,.report-performance-heading p{margin:.1rem 0}.report-performance-heading small{color:#627d98}.report-performance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.report-performance-metrics article{padding:.9rem;border:1px solid #d7e4ea;border-bottom:4px solid #168f67;border-radius:.75rem;background:#fff}.report-performance-metrics span,.report-performance-metrics strong,.report-performance-metrics small{display:block}.report-performance-metrics span{color:#627d98;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.report-performance-metrics strong{margin:.2rem 0;color:#173b52;font-size:1.65rem}.report-performance-metrics small{color:#627d98}.report-performance-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.report-performance-detail>div,.report-performance-detail>aside{padding:1rem;border:1px solid #d7e4ea;border-radius:.75rem;background:#fff}.report-performance-detail h4{margin:0 0 .2rem}.report-performance-detail p{margin:.2rem 0 .8rem;color:#627d98}.audit-requirement-progress{display:grid;gap:.75rem}.audit-requirement-progress article>div:first-child{display:flex;justify-content:space-between;gap:1rem}.audit-requirement-progress article span{color:#486581}.audit-requirement-progress article small{color:#627d98}.audit-progress-track{height:8px;margin:.3rem 0;border-radius:999px;background:#e4edf1;overflow:hidden}.audit-progress-track span{display:block;height:100%;border-radius:inherit;background:#0d8c84}.report-performance-detail dl{display:grid;gap:.55rem;margin:.7rem 0}.report-performance-detail dl div{display:grid;grid-template-columns:90px 1fr;gap:.6rem}.report-performance-detail dt{display:flex;align-items:center;gap:.4rem;font-weight:900}.report-performance-detail dd{margin:0;color:#486581}@media(max-width:1000px){.report-performance-metrics{grid-template-columns:repeat(2,1fr)}.report-performance-detail{grid-template-columns:1fr}}@media(max-width:640px){.report-performance-heading{flex-direction:column}.report-performance-metrics{grid-template-columns:1fr}.report-performance-detail dl div{grid-template-columns:1fr}}
