@font-face{font-family:"Golos Text";src:url("/brand/fonts/GolosText-Variable.ttf") format("truetype");font-weight:400 900;font-style:normal;font-display:swap}
:root{--sonar-navy:#102b4e;--sonar-blue:#3378b2;--sonar-sky:#80c7eb;--sonar-ice:#f3f6fa;--sonar-text:#23354b;--sonar-muted:#62738a;--sonar-line:#dce4ee;font-family:"Golos Text",Arial,sans-serif;font-synthesis:none;color:var(--sonar-text);background:var(--sonar-ice)}
body{font-family:"Golos Text",Arial,sans-serif}h1,h2{color:var(--sonar-navy)}h1{font-size:32px;line-height:1.25;font-weight:700}h2{font-size:24px;line-height:1.33;font-weight:600}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--sonar-blue);outline-offset:3px}
.topbar{background:var(--sonar-navy);border-bottom:3px solid var(--sonar-blue);color:white;padding:0 24px;height:88px}.brand{gap:16px}.brand-symbol{width:56px;height:56px;object-fit:contain;flex-shrink:0}.brand strong{font-size:20px;line-height:1.4;font-weight:600;color:white}.brand span{font-size:12px;color:#dce4ee}.top-actions{color:#dce4ee;font-size:12px}.text-button{border:1px solid #80c7eb;border-radius:6px;color:white;padding:8px 12px}.text-button:hover{background:#23354b}.demo-badge{background:#23354b;border-color:#62738a;color:#dce4ee;font-size:12px}
.workspace{height:calc(100dvh - 88px);grid-template-columns:384px 1fr}.sidebar-top{padding:24px 24px 0}.sidebar h1{font-size:28px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.2px}.heading-row{margin-bottom:24px}.count{font-size:14px;padding:4px 8px}.add-button{width:40px;height:40px}.search{margin-bottom:16px}.filter-label,label{font-size:12px;color:var(--sonar-text)}.filter-label{font-weight:600}.tabs{margin-top:16px}.tabs button{font-size:12px;padding:14px 4px}.tabs span{font-size:12px}.tabs button.active{color:var(--sonar-navy);border-bottom:3px solid var(--sonar-blue)}
input,select{border-color:#80c7eb;font-size:14px}.search input{background:var(--sonar-ice)}.worker-row{gap:12px;padding:16px 12px}.worker-name{font-size:14px;line-height:1.5;font-weight:600}.worker-brigade{font-size:12px}.row-bottom{margin-top:8px}.badge,.freshness{font-size:11px}.badge{background:#f3f6fa;color:var(--sonar-navy);padding:4px 7px}.badge.off{color:#62738a;background:var(--sonar-ice)}.sidebar-footer{font-size:11px;padding:16px 24px}
.map-title{font-size:12px}.map-title strong{font-weight:600}.map-title #map-count{font-size:12px}.map-notice{font-size:12px;line-height:1.5;padding:16px}.map-legend{font-size:12px;padding:16px}.map-legend>strong{font-size:12px;font-weight:600}.map-legend .stale-legend{font-size:11px}.brigade-legend{gap:8px 16px;max-height:88px}.map-marker.selected .marker-inner{outline-color:#80c7eb}.leaflet-tooltip{font-family:inherit;color:var(--sonar-navy)}.leaflet-control-attribution{font-size:10px!important}
.worker-card{width:328px;padding:24px;border-color:var(--sonar-line);box-shadow:0 8px 24px #102b4e}.card-name{font-size:24px;line-height:1.33;font-weight:600}.card-fields dt{font-size:12px}.card-fields dd{font-size:14px}.card-coordinates{font-size:12px;background:var(--sonar-ice);color:#62738a}.card-coordinates.stale{background:var(--sonar-ice);border-left:3px solid #62738a;color:#23354b}.card-actions button{font-size:12px}.primary,.secondary{font-size:14px;line-height:1.5;padding:12px 16px;font-weight:600;min-height:44px}.primary{background:var(--sonar-blue)}.primary:hover{background:var(--sonar-navy)}.secondary{border-color:#80c7eb;color:var(--sonar-navy)}.secondary:hover{background:var(--sonar-ice)}.empty{font-size:14px}.toast{background:var(--sonar-navy);font-size:14px;box-shadow:none}
.login-page{background-color:var(--sonar-ice);background-image:url("/brand/flow-on-light.svg");background-repeat:no-repeat;background-position:right bottom;background-size:min(800px,65vw) auto;padding:32px 24px}.login-card{width:min(448px,100%);padding:32px;border:1px solid var(--sonar-line);border-top:4px solid var(--sonar-navy);box-shadow:none}.brand-logo{display:block;object-fit:contain}.login-logo{width:184px;height:auto;margin:-8px 0 24px -12px}.login-card h1{font-size:32px;margin-bottom:8px}.login-card .muted{margin-bottom:24px}.muted{font-size:14px;line-height:1.6}.download-app{margin-top:24px;padding-top:16px;border-top:1px solid var(--sonar-line);font-size:12px;text-align:left}.download-app a,summary{color:var(--sonar-blue)}.download-app a:hover{text-decoration:underline}
dialog{width:min(480px,calc(100% - 32px));border-color:var(--sonar-line);border-top:4px solid var(--sonar-navy);padding:24px;font:inherit;box-shadow:0 16px 48px #102b4e}dialog::backdrop{background:#102b4e;backdrop-filter:none}.dialog-heading{gap:16px;margin-bottom:16px}dialog label{margin-top:16px}dialog>p:not(.muted):not(.error){font-size:14px}.dialog-actions{flex-wrap:wrap}.pair-code{font-family:inherit;font-size:32px;background:var(--sonar-ice);color:var(--sonar-navy);border:1px solid var(--sonar-line)}.error{color:#62738a}.connect-action{margin:16px 0}.connect-card .muted{margin:16px 0}.install-step{margin-top:24px;padding-top:24px}.install-step strong{color:var(--sonar-navy);font-weight:600}details{margin:24px 0}summary{font-size:14px;line-height:1.5}
.map-area:has(.worker-card:not([hidden])) .map-legend{max-width:calc(100% - 384px)}
@media(min-width:1500px){.workspace{grid-template-columns:400px 1fr}.sidebar-top{padding-left:32px;padding-right:32px}}
@media(max-width:1000px){.workspace{grid-template-columns:328px 1fr}.sidebar-top{padding:24px 16px 0}.worker-row{padding:14px 8px}.worker-card{width:296px;right:16px;padding:20px}.top-actions #refresh-state{display:none}.tabs button,.tabs span{font-size:11px}.map-area:has(.worker-card:not([hidden])) .map-legend{display:none}}
@media(max-width:640px){.topbar{height:80px;padding:0 12px;gap:8px}.brand{gap:8px}.brand-symbol{width:44px;height:44px}.brand strong{font-size:18px}.brand span{font-size:11px}.demo-badge{max-width:120px;font-size:10px;line-height:1.5;padding:6px 8px}.text-button{font-size:12px;padding:8px}.workspace{height:auto;min-height:calc(100dvh - 80px)}.sidebar-top{padding:24px 16px 0}.sidebar h1{font-size:28px}.heading-row{margin-bottom:16px}.tabs button,.tabs span{font-size:12px}.worker-list{max-height:280px}.worker-row{padding:12px 8px}.map-area{min-height:480px;height:70dvh}.map-title{font-size:11px;left:16px;top:16px;padding:12px;gap:6px}.map-fit{top:16px;right:16px}.map-title #map-count{font-size:11px}.map-legend{font-size:11px;bottom:24px;padding:12px}.map-notice{top:88px}.worker-card{width:calc(100% - 32px);right:16px;bottom:48px;padding:16px}.card-name{font-size:20px}.card-fields dt{font-size:11px}.card-fields dd{font-size:13px}.card-coordinates{font-size:11px}.card-actions button{font-size:11px}.login-page{padding:24px 16px;background-size:90vw auto}.login-card{padding:24px}.login-logo{margin-top:0}.dialog-actions button{flex:1}.dialog-heading h2{font-size:22px}}

.avatar.brigade-avatar,.map-marker .marker-inner{color:var(--brigade-ink,#ffffff)}.map-marker.stale .marker-inner{border-color:#80c7eb}.map-marker.stale::after{background:#80c7eb;color:#102b4e}.stale-swatch{border-color:#3378b2}.freshness.stale,.card-coordinates.stale,.error{color:#102b4e}.card-coordinates.stale{border-left-color:#3378b2}.leaflet-control-attribution a{color:#3378b2}
