/* Shared Inspection Hub palette. Loaded after platform styles by build hooks. */
@font-face{font-family:'Horus Avenir';src:url('./assets/fonts/AvenirNext-Medium.ttf');font-weight:500}
@font-face{font-family:'Horus Avenir';src:url('./assets/fonts/AvenirNext-DemiBold.ttf');font-weight:600}
@font-face{font-family:'Horus Avenir';src:url('./assets/fonts/AvenirNext-Bold.ttf');font-weight:700}
:root{--ui-cream:#eee8da;--ui-card:#fffdf6;--ui-sage:#e0e5ce;--ui-action-bg:#e0e5ce;--ui-action-ink:#183d39;--ui-action-border:#62765a;--ui-button:#e0e5ce;--ui-soft:#eeeadd;--ui-ink:#243832;--ui-space:12px}
:root{--ui-header-icon-size:44px;--ui-header-icon-radius:10px;--ui-header-icon-border:#ffffff80;--ui-header-icon-fill:#ffffff1f;--ui-header-icon-active:#ffffff33}
body{background:var(--ui-cream)}
:where(dialog[id],.team-overlay,#selected-card,#empty-card,.sidebar,.tool-body,.weather-content,.team-card,.service-result-list){background-color:var(--ui-card)!important;color:var(--ui-ink)}
:is(.team-worker-search,.search input,#search,.tool-body input,.tool-body select){background-color:#eeeadd!important;color:#243832}
/* Ordinary commands only: preserve selection, SOS, map symbols and header semantics. */
:where(dialog[id],.team-overlay,.sidebar,#selected-card,#empty-card) :is(button,a.secondary):not(:is(.sos-handle,.menu-sos,.sos-call,.sos-confirm,[aria-pressed="true"],[aria-selected="true"],.active,.selected,.contact-avatar,.team-avatar,.team-name,.team-contact,.team-worker-name,.team-expand,.icon-btn,[aria-label^="Close"],.weather-refresh,.weather-change-location)){background-color:var(--ui-sage)!important;color:#183d39!important;border:2px solid #62765a!important;box-shadow:none}
:where(dialog[id],.team-overlay,.sidebar,#selected-card) button:not(:disabled):not([aria-pressed="true"]):not([aria-selected="true"]):not(.menu-sos):not(.sos-handle):not(.sos-call):not(.sos-confirm):hover{background-color:#d2dcc0!important}
:where(dialog[id],.team-overlay,.sidebar,#selected-card) button:not(:disabled):not([aria-pressed="true"]):not([aria-selected="true"]):not(.menu-sos):not(.sos-handle):not(.sos-call):not(.sos-confirm):active{background-color:#c4d0af!important}
:is(dialog[id],.team-overlay,.sidebar) button:disabled{background:#eef0ec!important;color:#596962!important;border-color:#c8d6c3!important;opacity:1}
:is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading){box-sizing:border-box;min-height:60px!important;padding:8px 12px!important;align-items:center!important;background:#234f40!important;color:#fff!important}
:is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading) :is(h1,h2,h3){margin:0!important;color:white!important}
:is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading) button{min-height:44px!important;min-width:44px!important;background:#ffffff1f!important;border:1px solid #ffffff80!important;color:white!important}
:is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading) button svg{color:white!important;stroke:currentColor!important}
:is(.team-actions,.tool-actions,.route-buttons,.destination-actions,.account-actions){gap:12px!important}
:is(.team-worker-panel,.weather-content){padding:12px!important}
:is(.team-worker-panel,.weather-content)>p{margin:0 0 12px}
:is(#selected-card,#empty-card){padding:12px!important;gap:12px!important}
:is(#selected-card,#empty-card)>p{margin:0!important}
:is(.team-cards,.weather-workspace){gap:12px!important}
.team-ui.team-embedded .ui-facts>div{min-height:40px;padding:4px 0}
/* Named semantic states always win over ordinary commands. */
:is(dialog[id],.team-overlay,.sidebar) :is(button[aria-pressed="true"],button[aria-selected="true"],button.active){background:#234f40!important;color:white!important;border-color:#234f40!important}
:is(.menu-sos,.sos-call,.sos-confirm){background:#b92218!important;color:white!important}
@media(max-width:760px){
 body{font-weight:500}
 :where(dialog[id],.team-overlay,.sidebar,#selected-card,#empty-card) :is(p,small,label,input,select,textarea,.team-note,.team-badge){font-weight:500!important}
 :where(dialog[id],.team-overlay,.sidebar,#selected-card,#empty-card) :is(button,.team-name,.team-worker-name){font-weight:600!important}
 :where(dialog[id],.team-overlay,.sidebar,#selected-card,#empty-card) :is(h1,h2,h3){font-weight:700!important}
 .team-ui.team-embedded .team-worker-head{min-height:64px!important;padding:8px 0!important;gap:8px!important}
 .team-ui.team-embedded .team-overlay.is-workers>.team-section-head{margin-bottom:12px!important}
 .team-ui.team-embedded .team-cards>.team-card+.team-card{margin-top:12px!important;padding-top:0!important}
 .turbine-bubble{font-weight:700!important;padding:3px 6px!important}
}

/* Preserve header and emergency states on hover, and keyboard focus. */
:is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading) button:is(:hover,:active){background:#ffffff33!important;color:white!important}
:is(.menu-sos,.sos-call,.sos-confirm):is(:hover,:active){background:#941b14!important;color:white!important}
:is(dialog,.team-overlay,.sidebar) :is(button,a,input,select,textarea):focus-visible{outline:3px solid #2475e8;outline-offset:3px}
:is(dialog,.team-overlay,.sidebar) :is(button,a,input,select,textarea){box-sizing:border-box}
.tool-body{padding:12px!important;gap:12px!important}
:is(.team-card,.service-result-list article){box-sizing:border-box;min-width:0;width:100%}
@media(max-width:760px){:where(dialog[id],.team-overlay,.sidebar,#selected-card) strong{font-weight:700!important}}

/* Name + description form one message; separate actions retain a 12px gap. */
:is(.bookmark-description,.place-description){margin-top:4px!important;margin-bottom:0!important;line-height:1.35}
:is(.tool-body,.team-card)>:is(h3,h4,.name)+p{margin-top:4px!important;line-height:1.35}
/* Match dialog scope so ordinary-button rules cannot recolour header actions. */
:is(dialog[id],.team-overlay,.sidebar) :is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading) button{background:#ffffff1f!important;border:1px solid #ffffff80!important;color:white!important}
:is(dialog[id],.team-overlay,.sidebar) :is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading) button:is(:hover,:active){background:#ffffff33!important;color:white!important}
@media(max-width:760px){
.team-ui.team-embedded .team-cards>.team-card .team-worker-head{min-height:64px!important;padding:8px 0!important}
.team-ui.team-embedded .team-cards>.team-card+.team-card{margin-top:12px!important;padding-top:0!important}
}
.team-ui.team-embedded .team-overlay.is-workers>.team-section-head button{background:#ffffff1f!important;border:1px solid #ffffff80!important;color:#fff!important}
.team-ui.team-embedded .team-overlay.is-workers>.team-section-head button:is(:hover,:active){background:#ffffff33!important;color:#fff!important}
/* The Team host covers the map; only its visible panels receive a card fill. */
.team-ui.team-embedded>.tool-body{background:transparent!important;padding:0!important}
body .team-ui.team-embedded .team-overlay.is-workers>.team-section-head .team-panel-close{background:#ffffff1f!important;border:1px solid #ffffff80!important;color:#fff!important}
/* Shared search field: same inset before typed text and placeholder. */
html body input[type="search"],html body input.search,html body input.team-worker-search,html body #place-filter,
html body .sidebar #mobile-search-panel input#search,html body .sidebar input#search{
 box-sizing:border-box!important;width:100%;min-width:0;min-height:52px!important;height:auto!important;
 padding:8px!important;margin:0!important;border:0!important;border-bottom:1px solid #788477!important;border-radius:0!important;
 background:#eeeadd!important;color:#243832!important;font-family:'Horus Avenir','Avenir Next','Segoe UI',Arial,sans-serif;line-height:1.4!important;
}
html body input[type="search"]::placeholder,html body input.search::placeholder,html body input.team-worker-search::placeholder,html body #place-filter::placeholder,html body .sidebar #search::placeholder{color:#596962!important;opacity:1!important}
html body .sidebar #mobile-search-panel label.search,html body label.bookmark-search{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
body .team-ui.team-embedded .team-worker-controls{padding:0 12px 12px!important}
body .team-ui.team-embedded .team-overlay.is-workers>.team-section-head{margin-bottom:12px!important}
/* Worker rows own their spacing: no added grid gap or sibling margin. */
body .team-ui.team-embedded .team-cards{gap:0!important;padding:0 12px 12px!important}
body .team-ui.team-embedded .team-cards>.team-card,
body .team-ui.team-embedded .team-cards>.team-card+.team-card{margin:0!important;padding:0!important}
body .team-ui.team-embedded .team-cards>.team-card .team-worker-head{box-sizing:border-box;min-height:68px!important;padding:8px 0!important}
/* Right-side map bars: square left edge, retain the original right curves. */
html body:not(.driving) .map-actions{border-radius:0 12px 12px 0!important}
html body .team-map-menu{border-radius:12px!important}
html body .team-map-menu .team-campaign-trigger{border-radius:11px 0 0 11px!important}
html body .team-map-menu>button{border-radius:0 11px 11px 0!important}
html body:not(.driving) .map-actions>button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}
html body:not(.driving) .map-actions>button:first-child{border-top-right-radius:11px!important}
html body:not(.driving) .map-actions>button:last-child{border-bottom-right-radius:11px!important}
/* Search and submit form one square-ended field with a continuous baseline. */
html body .sidebar #mobile-search-panel label.search{
 display:flex!important;align-items:stretch!important;gap:0!important;
 background:#eeeadd!important;border-bottom:1px solid #788477!important;min-height:52px!important;
}
html body .sidebar #mobile-search-panel label.search input#search{
 flex:1 1 0!important;min-width:0!important;min-height:51px!important;border-bottom:0!important;
}
html body .sidebar #mobile-search-panel label.search button#search-submit{
 flex:0 0 52px!important;width:52px!important;min-width:52px!important;min-height:51px!important;height:auto!important;align-self:stretch!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 margin:0!important;padding:0!important;border:0!important;border-left:1px solid #788477!important;border-radius:0!important;
 background:#e0e5ce!important;color:#183d39!important;box-shadow:none!important;line-height:1!important;
}
html body .sidebar #mobile-search-panel label.search button#search-submit:hover{background:#d2dcc0!important}
html body .sidebar #mobile-search-panel label.search button#search-submit:active{background:#c4d0af!important}
html body .sidebar #mobile-search-panel label.search:focus-within{outline:3px solid #2475e8!important;outline-offset:2px!important}
/* Legacy dialog shells must share the same flush header geometry. */
html body dialog[id]:has(>:is(.ui-dialog-heading,.menu-heading,.picker-heading)){
 box-sizing:border-box;padding:12px!important;border:1px solid #688377!important;border-radius:12px!important;
 clip-path:none!important;overflow-x:clip;
}
html body dialog[id]>:is(.ui-dialog-heading,.menu-heading,.picker-heading){
 display:flex!important;box-sizing:border-box;align-items:center!important;justify-content:space-between;
 min-height:60px!important;height:auto!important;padding:8px 12px!important;margin:-12px -12px 12px!important;
 width:auto!important;max-width:none!important;border:0!important;border-radius:11px 11px 0 0!important;
 background:#234f40!important;color:#fff!important;gap:12px;
}
html body dialog[id]>:is(.ui-dialog-heading,.menu-heading,.picker-heading) :is(h1,h2,h3){
 padding:0!important;margin:0!important;border:0!important;background:transparent!important;
 font-size:24px!important;font-weight:600!important;line-height:1.2!important;color:#fff!important;letter-spacing:normal!important;
}
@media(max-width:760px){html body dialog[id]>:is(.ui-dialog-heading,.menu-heading,.picker-heading) :is(h1,h2,h3){font-weight:700!important}}

/* Standalone map/editor toolbars share the same shell as the main map. */
html body:not(.driving) .map-actions{border:1px solid #688377!important;box-shadow:none!important;background:#fffdf6!important;overflow:hidden}
html body:not(.driving) .map-actions>button{box-sizing:border-box;border:0!important;box-shadow:none!important}
html body:not(.driving) .map-actions>button+button{border-top:1px solid #688377!important}
/* All standard header variants, including contact, service and editor panels. */
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.tool-heading,.destination-head,.service-page-head,.dialog-header,.map-edit-heading,.search-panel-heading){
 box-sizing:border-box;display:flex;align-items:center!important;justify-content:space-between;gap:12px;
 min-height:60px!important;height:auto!important;padding:8px 12px!important;background:#234f40!important;color:#fff!important;
}
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.tool-heading,.destination-head,.service-page-head,.dialog-header,.map-edit-heading,.search-panel-heading) :is(h1,h2,h3,.eyebrow){margin:0!important;padding:0!important;font-size:24px!important;line-height:1.2!important;font-weight:600!important;color:#fff!important;letter-spacing:normal!important}
html:root body :is(.tool-heading,.dialog-header,.service-page-head,.destination-head,.map-edit-heading)>button{box-sizing:border-box;min-height:44px!important;height:44px!important;margin:0!important;padding:8px!important;color:#fff!important;background:#ffffff1f!important;border:1px solid #ffffff80!important}
html:root body dialog:is(#places-dialog,#weather-panel,#guide,#sos-dialog,#farm-picker,#account-dialog,#compass-help,#map-tools,#app-menu,#gps-status-dialog,#app-update-review):has(>:is(.ui-dialog-heading,.menu-heading,.picker-heading)){padding:12px!important;border-radius:12px!important;clip-path:none!important}
html:root body #selected-card{overflow:hidden;border-radius:12px!important}
html:root body #selected-card>.destination-head{margin:-12px -12px 0!important;border-radius:11px 11px 0 0!important;width:auto!important;max-width:none!important;flex:none}
html:root body #places-dialog.service-page{padding:0!important}
html:root body #places-dialog .service-page-head{margin:0 0 12px!important;padding:8px 12px!important;min-height:60px!important;border-radius:0!important}
html:root body #weather-panel .weather-location-step{box-sizing:border-box;min-width:0;max-width:100%;padding:12px!important}
html:root body #weather-panel .weather-content{background:#fffdf6!important}
html:root body .sidebar :is(.sidebar-top,#turbines,.turbine-row){background-color:#fffdf6!important}
html:root body .account-actions>a{background:#e0e5ce!important;border:2px solid #62765a!important;color:#183d39!important;border-radius:10px}
html:root body .map-edit-panel{padding:12px;border-radius:12px;background:#fffdf6}
html:root body .map-edit-panel>.map-edit-heading{margin:-12px -12px 12px;border-radius:11px 11px 0 0}
@media(max-width:760px){html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.tool-heading,.destination-head,.service-page-head,.dialog-header,.map-edit-heading,.search-panel-heading) :is(h1,h2,h3,.eyebrow){font-weight:700!important}}
/* Tool dialogs may have no id; style their commands without recolouring map pins. */
html:root body dialog.horus-tool-dialog .tool-body button:not(:is([aria-pressed="true"],[aria-selected="true"],.active,.selected,.team-name,.team-avatar,.team-expand,.team-pin,.maplibregl-marker,.maplibregl-ctrl button)),
html:root body dialog .dialog-body button:not(:is(.contact-photo,.contact-avatar,[aria-pressed="true"])),
html:root body .map-edit-panel .map-edit-tools button:not([aria-pressed="true"]){background:#e0e5ce!important;color:#183d39!important;border:2px solid #62765a!important;border-radius:10px;min-height:52px}
html:root body dialog.horus-tool-dialog .tool-body button[aria-pressed="true"]{background:#234f40!important;color:#fff!important;border:2px solid #234f40!important}
html:root body dialog.horus-tool-dialog .tool-body input[type=search],html:root body dialog.horus-tool-dialog .tool-body input[placeholder^="Search"]{padding:8px!important;border:0!important;border-bottom:1px solid #788477!important;border-radius:0!important;background:#eeeadd!important;min-height:52px!important}
html:root body dialog .dialog-body{background:#fffdf6!important;padding:12px!important}
html:root body dialog .dialog-header{border-radius:11px 11px 0 0!important}
/* Explicit ids outrank the legacy per-feature padding rules. */
html:root body dialog:is(#places-dialog,#weather-panel,#guide,#sos-dialog,#farm-picker,#account-dialog,#compass-help,#map-tools,#app-menu,#gps-status-dialog,#app-update-review)>:is(.ui-dialog-heading,.menu-heading,.picker-heading){margin:-12px -12px 12px!important;padding:8px 12px!important;min-height:60px!important}
html:root body dialog#places-dialog.service-page:has(>.ui-dialog-heading){padding:0!important}
html:root body #places-dialog.service-page .service-results{padding:12px!important}
html:root body #places-dialog.service-page .service-page-head{margin:-12px -12px 12px!important;border-radius:11px 11px 0 0!important}
html:root body #weather-panel:has(.weather-location-step){width:min(560px,calc(100% - 24px))!important;max-width:560px!important}
html:root body #app-menu .menu-items{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
html:root body #app-menu .menu-items>button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:88px!important;height:auto!important;padding:8px!important}
@media(max-width:700px){html:root body #app-menu .menu-items{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.tool-heading,.dialog-header,.destination-head,.service-page-head,.map-edit-heading){flex-wrap:nowrap!important}
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.tool-heading,.dialog-header,.destination-head,.service-page-head,.map-edit-heading)>:is(h1,h2,h3){flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
html:root body dialog:is(#places-dialog,#weather-panel,#guide,#sos-dialog,#farm-picker,#account-dialog,#compass-help,#map-tools,#app-menu,#gps-status-dialog,#app-update-review)>:is(.ui-dialog-heading,.menu-heading,.picker-heading){position:sticky!important;top:-12px!important;z-index:2}
html:root body .map-edit-panel>.map-edit-heading{top:-12px!important}

/* Keep disabled commands distinct after feature-specific overrides. */
html:root body dialog.horus-tool-dialog .tool-body button:disabled,
html:root body dialog .dialog-body button:disabled,
html:root body .map-edit-panel .map-edit-tools button:disabled{background:#eef0ec!important;color:#596962!important;border-color:#c8d6c3!important;opacity:1;cursor:default}
html:root body #weather-panel .weather-location-step{background:#fffdf6!important}
/* Shared icon control for app-owned panel, card and dialog headers. */
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading,.destination-head,.service-page-head,.dialog-header,.map-edit-heading) button:is([aria-label],:has(svg)){
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;
 height:44px!important;min-height:44px!important;max-height:44px!important;
 margin:0!important;padding:0!important;border:1px solid #ffffff80!important;border-radius:10px!important;
 background:#ffffff1f!important;color:#fff!important;box-shadow:none!important;line-height:1!important;
}
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading,.destination-head,.service-page-head,.dialog-header,.map-edit-heading) button:is([aria-label],:has(svg)) svg{
 display:block!important;flex:0 0 24px!important;width:24px!important;height:24px!important;
 color:inherit!important;stroke:currentColor!important;stroke-linecap:round;stroke-linejoin:round;
}
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading,.destination-head,.service-page-head,.dialog-header,.map-edit-heading) button:is([aria-label],:has(svg)):is(:hover,:active){background:#ffffff33!important}
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading,.destination-head,.service-page-head,.dialog-header,.map-edit-heading) button:is([aria-label],:has(svg))[aria-pressed="true"]{background:#ffffff33!important;border-color:#fff!important}
html:root body :is(.ui-dialog-heading,.menu-heading,.picker-heading,.team-section-head,.search-panel-heading,.tool-heading,.destination-head,.service-page-head,.dialog-header,.map-edit-heading) button:is([aria-label],:has(svg)):focus-visible{outline:3px solid #78b7ff!important;outline-offset:2px!important}
/* The production Menu has an older id-specific bare-icon rule. */
html:root body #app-menu>.menu-heading>button:is(.rearrange-menu,:last-child){border:1px solid #ffffff80!important;background:#ffffff1f!important;border-radius:10px!important}
html:root body #app-menu>.menu-heading>button:is(.rearrange-menu,:last-child):is(:hover,:active),
html:root body #app-menu>.menu-heading>button.rearrange-menu[aria-pressed="true"]{border-color:#fff!important;background:#ffffff33!important}
/* Weather places its header actions in a nested wrapper with a legacy bare-icon rule. */
html:root body #weather-panel .weather-heading-actions>button{
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;
 height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:0!important;
 border:1px solid #ffffff80!important;border-radius:10px!important;background:#ffffff1f!important;color:#fff!important;box-shadow:none!important;
}
html:root body #weather-panel .weather-heading-actions>button svg{display:block!important;width:24px!important;height:24px!important;flex:0 0 24px!important;color:inherit!important;stroke:currentColor!important}
html:root body #weather-panel .weather-heading-actions>button:is(:hover,:active,[aria-pressed="true"]){background:#ffffff33!important}
html:root body #weather-panel .weather-heading-actions>button:focus-visible{outline:3px solid #78b7ff!important;outline-offset:2px!important}
/* Website Search has an id-specific borderless rule. */
html:root body .sidebar .search-panel-heading #close-map-search{border:1px solid #ffffff80!important;background:#ffffff1f!important;border-radius:10px!important;padding:0!important}
html:root body .sidebar .search-panel-heading #close-map-search:is(:hover,:active){background:#ffffff33!important}
html:root body .sidebar .search-panel-heading #close-map-search:focus-visible{outline:3px solid #78b7ff!important;outline-offset:2px!important}
/* New panel header actions use this class; legacy selectors above keep older screens aligned. */
html:root body button.ui-header-icon{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 var(--ui-header-icon-size)!important;width:var(--ui-header-icon-size)!important;min-width:var(--ui-header-icon-size)!important;max-width:var(--ui-header-icon-size)!important;height:var(--ui-header-icon-size)!important;min-height:var(--ui-header-icon-size)!important;max-height:var(--ui-header-icon-size)!important;margin:0!important;padding:0!important;border:1px solid var(--ui-header-icon-border)!important;border-radius:var(--ui-header-icon-radius)!important;background:var(--ui-header-icon-fill)!important;color:#fff!important;box-shadow:none!important}
html:root body button.ui-header-icon svg{display:block!important;flex:0 0 24px!important;width:24px!important;height:24px!important;color:inherit!important;stroke:currentColor!important}
html:root body button.ui-header-icon:is(:hover,:active,[aria-pressed="true"]){background:var(--ui-header-icon-active)!important}
html:root body button.ui-header-icon[aria-pressed="true"]{border-color:#fff!important}
html:root body button.ui-header-icon:focus-visible{outline:3px solid #78b7ff!important;outline-offset:2px!important}

/* Text-size choices also compact artwork while leaving safe tap areas intact. */
html:root body button.ui-header-icon svg{width:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important;height:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important;flex-basis:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important}
html:root body :is(dialog[id],#app-menu,#map-tools,.sidebar,#selected-card) .ui-header-icon svg{width:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important;height:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important;flex-basis:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important}
html:root body #app-menu .menu-items button svg{width:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important;height:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important;flex-basis:clamp(20px,calc(24px * var(--horus-text-scale,1)),24px)!important}
html:root body .wtg-marker:not(.wtg-dot){min-height:max(20px,calc(25px * var(--horus-text-scale,1)))}
html:root body .wtg-marker:not(.wtg-dot){font-size:max(10px,calc(11px * var(--horus-text-scale,1)))!important}
html:root body .wtg-marker.wtg-dot{width:max(10px,calc(10px * var(--horus-text-scale,1)))!important;height:max(10px,calc(10px * var(--horus-text-scale,1)))!important;min-height:max(10px,calc(10px * var(--horus-text-scale,1)))!important}
html:root body .wtg-marker::after{content:"";position:absolute;inset:-18px}
html:root body .gps-marker,html:root body .gps-marker .gps-arrow{width:calc(32px * var(--horus-text-scale,1))!important;height:calc(40px * var(--horus-text-scale,1))!important}
/* Without a heading, the location dot must stay square at every text size. */
html:root body .gps-marker.heading-unknown{width:calc(32px * var(--horus-text-scale,1))!important;height:calc(32px * var(--horus-text-scale,1))!important;display:grid;place-items:center}
html:root body .gps-marker.heading-unknown .gps-arrow{width:calc(28px * var(--horus-text-scale,1))!important;height:calc(28px * var(--horus-text-scale,1))!important}
html:root body .maplibregl-marker:not(.wtg-marker):not(.gps-marker)>svg{transform:scale(var(--horus-text-scale,1));transform-origin:center bottom}
