/* VVGov owns its visual system; organisation-console and old Scale skins are not loaded. */
body.vv-gov{font-family:'DM Sans',Arial,sans-serif;background:#f7f7f5;color:#282824;overflow:auto;font-size:14px}
.vv-gov button,.vv-gov input{font-family:inherit}.vv-gov :focus-visible{outline:2px solid #6a756e;outline-offset:3px}.vv-gov button:disabled{opacity:.45;cursor:not-allowed}
.vv-gov #loginPage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;max-width:1500px;margin:auto;padding:55px 6vw;min-height:100svh}.vv-gov #loginPage::before{display:none}
.gov-intro{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:35px;min-width:0}.gov-intro>a{align-self:flex-start}.gov-eyebrow{font-size:10px;letter-spacing:.12em;color:#777}.gov-intro h2{font-size:clamp(36px,4vw,62px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:24px 0}.gov-intro p{max-width:450px;font-size:16px;line-height:1.7;color:#7a7a73}
.vv-gov .login-box{width:100%;max-width:470px;padding:38px;border-radius:8px;background:#fff;border:1px solid #e3e3dd;box-shadow:none;margin:auto}.vv-gov .login-brand{text-align:left;margin-bottom:30px}.vv-gov .login-brand .logo{font-size:28px;font-weight:500;letter-spacing:-1px;color:#242424}.vv-gov .logo span{color:#6c6c64}.vv-gov .login-brand .sub{font-size:9px;color:#888;letter-spacing:.08em}.vv-gov .login-box h1{font-size:34px;line-height:1.1;letter-spacing:-1.2px;font-weight:400;color:#292924;margin:28px 0 18px}.vv-gov .login-box p{color:#828279;font-size:14px;line-height:1.7;margin-bottom:22px}.vv-gov .workspace-link{font-size:12px;color:#777;text-decoration:none}.vv-gov .workspace-link:hover{color:#222;text-decoration:underline}.vv-gov label{display:block;font-size:12px;margin:17px 0 8px;color:#666}.vv-gov .login-input,.vv-gov .ps-modal-input{border:1px solid #ddd;background:#fff;color:#333;border-radius:5px;font-size:14px;min-height:46px}.vv-gov .login-btn{border-radius:5px;color:white;background:#282824;font-weight:500;font-size:13px;padding:14px}.vv-gov .login-btn:hover{background:#494940}.vv-gov .station-provision{border-top:1px solid #e6e6e1;padding-top:18px;margin-top:25px}.vv-gov summary{cursor:pointer;font-size:12px;color:#777}.vv-gov .station-provision p{margin-top:15px;font-size:12px}.vv-gov .login-info{background:#f5f5f2;border:0;border-radius:5px;color:#85857d;font-size:11px;line-height:1.7}.vv-gov #psGeoStatus{color:#777!important;background:#f5f5f2!important;border-color:#e5e5df!important}.vv-gov #psDetectBtn{color:#555!important;background:#f2f2ef!important;border-color:#ddd!important}
.vv-gov #consolePage{height:100dvh;overflow:hidden}.vv-gov .ps-topbar{flex-shrink:0;background:#fff;border-bottom:1px solid #e1e1db;padding:19px 26px;min-height:78px;backdrop-filter:none;z-index:10}.vv-gov .ps-topbar .logo{font-weight:500;font-size:23px;color:#222}.vv-gov .ps-topbar .logo span{color:#777}.vv-gov .ps-topbar .divider{background:#ddd}.vv-gov .ps-topbar .station-name{font-size:14px;font-weight:500;color:#333}.vv-gov .ps-topbar .station-zone,.vv-gov #psLastUpdate{font-size:11px;color:#8a8a80!important}.vv-gov .ps-live-indicator{color:#54705e;font-size:10px;letter-spacing:.07em}.vv-gov .ps-live-dot{background:#698672;box-shadow:none;animation:none;width:6px;height:6px}.vv-gov .ps-btn{border:1px solid #ddd;border-radius:5px;background:#fff;color:#555;font-weight:400}.vv-gov .ps-btn:hover{background:#f3f3ef}.vv-gov .ps-btn.danger{color:#974c43;border-color:#e6d7d3}
.vv-gov .ps-body{min-height:0}.vv-gov .ps-map-panel{background:#e8e5de}.vv-gov .ps-map-overlay{top:22px;left:22px;gap:8px}.vv-gov .ps-map-stat{background:#fafaf7;border:1px solid #d9d8d0;border-radius:5px;backdrop-filter:none;box-shadow:none;padding:15px 20px}.vv-gov .ps-map-stat small{color:#85857c;font-size:9px;letter-spacing:.08em}.vv-gov .ps-map-stat strong{color:#333;font-weight:400;font-size:26px}.vv-gov .ps-map-stat.ok strong{color:#526e5c}.vv-gov .ps-map-stat.warn strong{color:#92783b}.vv-gov .ps-map-stat.alert strong{color:#a35348}.vv-gov .ps-map-legend{background:#fafaf7eb;border:1px solid #d9d8d0;border-radius:5px;backdrop-filter:none;padding:16px 20px}.vv-gov .ps-map-legend-title{color:#888;font-size:9px}.vv-gov .ps-map-legend-item{color:#777;font-size:11px}.vv-gov .ps-map-legend-dot.green{background:#698672}.vv-gov .ps-map-legend-dot.yellow{background:#b89c53}.vv-gov .ps-map-legend-dot.red{background:#b96a5e}.vv-gov .ps-map-legend-dot.gray{background:#b2afa5}
.vv-gov .ps-sidebar{background:#fff;border-left:1px solid #dddcd5;width:365px;min-height:0}.vv-gov .ps-sidebar-tabs{border-color:#e4e4de;flex-shrink:0}.vv-gov .ps-sidebar-tab{font-weight:400;color:#999;font-size:13px;padding:18px 12px}.vv-gov .ps-sidebar-tab.active{background:#f7f7f4;border-color:#555;color:#333}.vv-gov .ps-sidebar-tab:hover{color:#333}.vv-gov .ps-sidebar-content{padding:22px;overscroll-behavior:contain}.vv-gov .ps-empty{font-size:13px;line-height:1.8;color:#999;padding:35px 12px}.vv-gov .ps-vehicle-card,.vv-gov .ps-handoff-entry,.vv-gov .ps-stat-box{background:#fafaf8;border:1px solid #e5e5de;border-radius:5px;padding:18px;box-shadow:none}.vv-gov .ps-vehicle-card.emergency{border-color:#d8aaa1;background:#fbf3f0}.vv-gov .ps-vehicle-id,.vv-gov .ps-handoff-vehicle{font-weight:500;color:#444}.vv-gov .ps-vehicle-meta strong{color:#666!important;font-weight:400}.vv-gov .ps-vehicle-meta small,.vv-gov .ps-handoff-detail,.vv-gov .ps-stat-box small{color:#999}.vv-gov .ps-vehicle-status{font-weight:500;font-size:9px;letter-spacing:.04em}.vv-gov .ps-vehicle-status.normal{background:#e9efea;color:#587060}.vv-gov .ps-vehicle-status.alert{background:#f2ebd9;color:#947b43}.vv-gov .ps-vehicle-status.emergency{background:#f4e3df;color:#a05c50}.vv-gov .ps-vehicle-btn{background:#eeeee9;border:1px solid #deded5;color:#666;border-radius:4px;font-weight:400}.vv-gov .ps-stat-box strong{color:#444;font-weight:400}.vv-gov .ps-modal-card{background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;box-shadow:0 20px 80px #0002}.vv-gov .ps-modal-card h2{color:#333;font-size:28px;font-weight:400;letter-spacing:-.7px}.vv-gov .ps-modal-card p{color:#888;line-height:1.7}.vv-gov .ps-decrypt-coords{color:#74564b}.vv-gov .ps-modal-backdrop{backdrop-filter:none;background:#0005}
@media(max-width:1000px){.vv-gov #loginPage{gap:35px;padding:35px}.gov-intro h2{font-size:40px}.vv-gov .ps-topbar{flex-wrap:wrap;gap:14px}.vv-gov .ps-sidebar{width:320px}}
@media(max-width:720px){.vv-gov #loginPage{display:flex;flex-direction:column;padding:25px 18px;gap:30px}.gov-intro{gap:24px}.gov-intro .signal-study{display:none}.gov-intro h2{font-size:36px}.vv-gov .login-box{max-width:100%;padding:26px}.vv-gov .ps-body{overflow:auto;flex-direction:column}.vv-gov .ps-map-panel{min-height:440px;flex:none}.vv-gov .ps-sidebar{width:100%;overflow:visible;flex:none}.vv-gov .ps-sidebar-content{overflow:visible}.vv-gov .ps-topbar-right{gap:8px;flex-wrap:wrap}.vv-gov .ps-map-stat{padding:12px}.vv-gov .ps-map-overlay{left:14px;top:14px}}
.vv-gov .ps-modal-btn{border-radius:5px;font-weight:500}.vv-gov .ps-modal-btn.cancel{background:#f1f1ed;color:#666;border:1px solid #deded7}.vv-gov .ps-modal-btn.confirm{background:#98584d;color:#fff}.vv-gov .ps-modal-btn.confirm:hover{background:#7e493f}.vv-gov .ps-modal-warning{background:#f7ede8;border-color:#e5cec4;color:#9a7568;font-size:12px;line-height:1.6}.vv-gov .ps-decrypt-result{background:#f6f3ed;border-color:#e2d9c9}.vv-gov .ps-decrypt-result h3{color:#8a6c52}.vv-gov .ps-decrypt-coords small{color:#999}.vv-gov .ps-handoff-icon{color:#666;background:#ecece5}.vv-gov .login-error{color:#a35d51}

/* Explicit, shared workspace navigation. */
.workspace-switch{display:inline-flex;gap:4px;padding:4px;background:#f1f0ed;border:1px solid #dddcd6;border-radius:8px;flex-shrink:0}
.workspace-switch a{padding:9px 14px;color:#66645e;text-decoration:none;font:500 13px/1.2 "DM Sans",sans-serif;border-radius:5px;white-space:nowrap;transition:background .18s,color .18s}
.workspace-switch a:hover{background:#e5e4df;color:#171916}.workspace-switch a[aria-current="page"]{background:#fff;color:#171916;box-shadow:0 1px 3px #0000000d}.workspace-switch a:focus-visible{outline:2px solid #496d59;outline-offset:2px}
