/* Website-only layout. Shared Android styles and Radio source stay intact. */
html body{height:100dvh;overflow:hidden}
html body>header{height:80px;min-height:80px;box-sizing:border-box;display:flex;flex-wrap:nowrap;gap:12px;padding:8px 24px;background:var(--hx-shell-bg,var(--lg-b-234f40,#234f40));color:var(--hx-shell-ink,var(--lg-t-ffffff,#fff))}
html body>header .brand{width:auto;flex:1;min-width:0;margin:0;color:var(--hx-shell-ink,var(--lg-t-ffffff,#fff));gap:12px}
html body>header .horus-logo{width:48px;height:48px;transform:none;margin:0;object-fit:contain}
html body>header .brand-title{display:block;font-size:var(--hx-text-body);letter-spacing:0;color:var(--hx-shell-ink,var(--lg-t-ffffff,#fff))}
html body>header .brand-title b{display:block;font-size:var(--hx-text-body);color:var(--hx-shell-ink,var(--lg-t-ffffff,#fff))}
html body>header .brand-title small{display:none}
html body>header #app-menu-button{display:flex!important;align-items:center;gap:8px;margin:0;min-height:52px;padding:10px 16px;color:var(--lg-t-ffffff,#fff);background:var(--hx-card);border:1px solid var(--hx-hairline);border-radius:var(--hx-radius-card);font-size:var(--hx-text-body)}
html body main{height:calc(100dvh - 80px);display:grid;grid-template-columns:340px minmax(0,1fr);position:relative;overflow:hidden}
html body:not(.driving) .sidebar{display:flex!important;position:relative;inset:auto;flex-direction:column;width:auto;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;border-right:1px solid var(--lg-l-688377,#688377);border-radius:0;box-shadow:none;background:var(--hx-page,var(--lg-b-ffffff,#fff));overflow:auto;z-index:8}
html body .sidebar-top:not(:where([data-hx], [data-hx] *)){padding:20px;display:block}
html body .sidebar #mobile-search-panel:not(:where([data-hx], [data-hx] *)){display:grid!important;gap:12px}
html body .sidebar .mobile-tools{display:flex!important;margin-bottom:16px}
html body .sidebar #mobile-search-toggle{display:none!important}
html body .sidebar .list-heading:not(:where([data-hx], [data-hx] *)){display:flex!important}
html body .sidebar #turbines:not([hidden]):not(:where([data-hx], [data-hx] *)){display:flex!important;flex-direction:column;flex-wrap:nowrap;max-height:none;overflow:visible;padding:0 20px 20px;gap:8px}
html body .sidebar #map-search-results:not([hidden]){display:block!important;max-height:none;padding:0 20px 20px}
html body .sidebar .turbine-row:not(:where([data-hx], [data-hx] *)){min-height:52px;width:100%;margin:0;font-size:var(--hx-text-body)}
html body .sidebar #mobile-farm{min-height:52px}
html body .sidebar #close-map-search:not(:where([data-hx], [data-hx] *)){display:none}
html body .map-area{position:relative;min-width:0;height:100%}

html body #startup-screen{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;border:0;border-radius:0;background:var(--lg-b-e8ede6,#e8ede6)}
.web-startup{width:min(440px,100%);margin:auto;min-height:80dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px}
.web-startup>img{width:96px;height:96px;object-fit:contain}.web-startup h1{font-size:var(--hx-text-title);margin:0}.web-startup [role=status]{font-size:var(--hx-text-body);font-weight:500;line-height:var(--hx-leading-body);letter-spacing:var(--hx-tracking-caps)}.web-startup progress{accent-color:#234f40;max-width:220px}.startup-account{width:100%}
html body input,html body select,html body textarea{font-size:var(--hx-text-body)}
html body #guide:not(:where([data-hx], [data-hx] *)){max-width:600px}
@media(min-width:901px){}
@media(max-width:900px){
 html body>header{height:76px;min-height:76px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));gap:8px}
 html body>header .horus-logo{width:38px;height:38px}
 html body>header .brand-title{font-size:var(--hx-text-label)}html body>header .brand-title b{font-size:var(--hx-text-meta)}
 html body>header #app-menu-button{padding:8px 10px;font-size:var(--hx-text-body);min-height:48px}
 html body main{height:calc(100dvh - 76px);display:block}
 html body:not(.driving) .sidebar{display:none!important}
 html body.map-search-visible:not(.driving) .sidebar{display:flex!important;position:absolute;inset:12px 12px auto;max-height:calc(100% - 24px);height:auto;border:1px solid var(--lg-l-688377,#688377);border-radius:12px;box-shadow:0 8px 28px #183d3926}
 html body .sidebar #close-map-search:not(:where([data-hx], [data-hx] *)){display:flex;margin:0 0 12px auto;min-width:44px;min-height:44px;align-items:center;justify-content:center}

 html body dialog:not(#startup-screen):not(:where([data-hx], [data-hx] *)){max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));box-sizing:border-box}

}
html body.driving main{display:block;height:calc(100dvh - 80px)}html body.driving .sidebar{display:none!important}
/* Keep website navigation below the persistent logo, weather and Menu header. */
html body.driving>header{display:flex!important}
@media(max-width:900px){html body.driving>header{display:flex!important}html body.driving main{height:calc(100dvh - 76px)}}


html body .sidebar .row-title:not(:where([data-hx], [data-hx] *)){font-size:var(--hx-text-body)!important}html body .sidebar .row-sub:not(:where([data-hx], [data-hx] *)){font-size:var(--hx-text-label)!important}
@media(max-width:900px){html body>header .header-weather{display:none!important}html body>header .brand-title b{white-space:nowrap}}
/* One ordinary button shape, including header and search actions. */
html body :is(dialog,.sidebar) button:not(.sos-handle):not(:where([data-hx], [data-hx] *)){border-radius:var(--hx-radius-card)!important}
html body>header #app-menu-button{width:auto!important;min-width:104px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex:0 0 auto;padding:0 12px!important;gap:8px!important;border-radius:var(--hx-radius-card)!important;white-space:nowrap;justify-content:center}
html body>header #app-menu-button svg{flex:0 0 24px;width:24px;height:24px}
html body>header #app-menu-button span{display:inline!important}
html body .sidebar-top:not(:where([data-hx], [data-hx] *)){display:flex!important;flex-direction:column;gap:12px}
html body .sidebar .list-heading:not(:where([data-hx], [data-hx] *)){display:flex!important;align-items:center;gap:12px;padding:0;margin:0}
html body .sidebar #result-count:not(:where([data-hx], [data-hx] *)){flex:1;min-width:0}
html body .sidebar :is(#overview,#close-map-search):not(:where([data-hx], [data-hx] *)){box-sizing:border-box;height:52px!important;min-height:52px!important;max-height:52px!important;margin:0!important;padding:0 12px!important;align-self:center;border:1px solid var(--lg-l-c8d6c3,#c8d6c3)!important;border-radius:var(--hx-radius-card)!important;background:var(--lg-b-f6f7f2,#f6f7f2)!important;display:inline-flex;align-items:center;justify-content:center}
html body .sidebar #close-map-search:not(:where([data-hx], [data-hx] *)){width:52px;min-width:52px;flex:0 0 52px;padding:0!important}
@media(min-width:901px){html body .sidebar #close-map-search:not(:where([data-hx], [data-hx] *)){display:none}}
html body .sidebar .sidebar-top:not(:where([data-hx], [data-hx] *)){align-items:stretch!important;width:100%;box-sizing:border-box;padding:16px!important}
html body .sidebar .sidebar-top>:is(.mobile-tools,#mobile-search-panel,.list-heading):not(:where([data-hx], [data-hx] *)){width:100%;min-width:0;margin:0!important;box-sizing:border-box}
/* iPhone: logo, three-part weather overview, Menu on one row. */
@media(max-width:900px){
 html body>header{display:grid;grid-template-columns:36px minmax(0,1fr) 88px;gap:8px}
 html body>header .brand{width:36px;min-width:0;display:flex;justify-content:center}
 html body>header .brand-title{display:none!important}
 html body>header .horus-logo{width:36px;height:36px;min-width:0;min-height:0;max-height:none}
 html body>header .header-weather{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;height:52px;min-height:52px;max-height:52px;box-sizing:border-box;margin:0;padding:2px;gap:0;border-radius:var(--hx-radius-card)}
 html body>header .header-weather button{display:grid;grid-template-rows:20px 22px;min-width:0;width:100%;min-height:44px;padding:0 2px;gap:0;box-sizing:border-box}
 html body>header .header-weather small{font-size:var(--hx-text-meta);line-height:22px;max-width:100%;white-space:nowrap}
 html body>header .header-weather .header-weather-label{font-size:var(--hx-text-min);line-height:20px}
 html body>header .header-weather .condition-icon{width:20px;height:20px}
 html body>header .header-weather .header-wind-badge{padding:0 2px}
 html body>header #app-menu-button{width:88px!important;min-width:88px!important;padding:0 8px!important;gap:6px!important;font-size:var(--hx-text-label)}
 html body>header #app-menu-button svg{width:20px;height:20px;flex-basis:20px}
}
@media(max-width:360px){
 html body>header{grid-template-columns:32px minmax(0,1fr) 44px}
 html body>header .brand,html body>header .horus-logo{width:32px}
 html body>header #app-menu-button{width:44px!important;min-width:44px!important}
 html body>header #app-menu-button span{display:none!important}
}
/* Approved smartphone header: icon-only Menu leaves room for weather. */
@media(max-width:900px){
 html body>header{grid-template-columns:36px minmax(0,1fr) 52px}
 html body>header #app-menu-button{width:52px!important;min-width:52px!important;padding:0!important}
 html body>header #app-menu-button span{display:none!important}
 html body>header #app-menu-button svg{width:24px;height:24px;flex-basis:24px}
}
/* Foreground sharing status remains visible without covering navigation controls. */
html body #web-sharing-status{position:absolute;left:12px;top:12px;z-index:12;max-width:calc(100% - 80px);font:inherit;font-size:var(--hx-text-meta);line-height:18px;min-height:32px;padding:6px 10px;border:1px solid var(--lg-l-c8d6c3,#c8d6c3);border-radius:var(--hx-radius-card);background:var(--lg-b-edf2e9,#edf2e9);color:var(--lg-t-183d39,#183d39);box-shadow:0 2px 6px #183d3915}
html body.driving #web-sharing-status{top:72px}
html body .operations-refresh{display:block;margin:0 0 12px auto;min-height:44px;padding:8px 16px}
html body .website-version{margin:12px 20px 20px;color:var(--lg-t-52695d,#52695d);font-size:var(--hx-text-label);text-align:center}
/* Safari must never scroll the app shell underneath a dialog. */
html{height:100%;overflow:hidden;overscroll-behavior:none}
html body{position:fixed;inset:0;width:100%;height:100dvh;margin:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none}
html body>header{flex:0 0 80px;position:relative;z-index:40}
html body main,html body.driving main{flex:1 1 0;height:auto;min-height:0;width:100%;overflow:hidden}
@media(max-width:900px){html body>header{flex-basis:76px}html body main,html body.driving main{height:auto;min-height:0}}


/* Shared Inspection Tools: one entry per purpose, ordered groups. */







/* A bounded scroll region keeps Tools heading and installed version reachable. */








html body .map-legend .legend-road{background:var(--lg-b-626970,#626970)!important}
html body .map-legend .legend-site{background:var(--lg-b-18733c,#18733c)!important}



html body.driving #driving-panel .drive-route-panel :is(.drive-duration,.drive-eta),html body.driving #driving-panel .drive-map-status .drive-speed{font-size:var(--hx-text-body)!important;font-weight:600!important;line-height:24px!important}

/* Campaign and search control consistency — 22 September 2026 */
html body .sidebar .list-heading:not(:where([data-hx], [data-hx] *)){flex-wrap:wrap}
html body .sidebar #result-count:not(:where([data-hx], [data-hx] *)){flex:1 0 100%;font-size:var(--hx-text-body);line-height:var(--hx-leading-body)}
html body .sidebar :is(#overview,#map-wtg-filters){flex:1 1 0;min-width:0}
html body .sidebar #map-wtg-filters{box-sizing:border-box;min-height:52px!important;height:52px!important;margin:0!important;padding:0 12px!important;border:1px solid var(--lg-l-c8d6c3,#c8d6c3)!important;border-radius:var(--hx-radius-card)!important;background:var(--lg-b-f6f7f2,#f6f7f2)!important;color:var(--lg-t-183d39,#183d39)!important;font-family:'Horus Avenir','Avenir Next','Segoe UI',Arial,sans-serif!important;font-size:var(--hx-text-label)!important;font-weight:600!important;line-height:var(--hx-leading-body)!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
@media(max-width:900px){html body.map-search-visible #web-sharing-status{display:none!important}html body.map-search-visible .campaign-active{display:none!important}}

/* Search close belongs in its own heading, outside the action row. */
html body .sidebar .search-panel-heading:not(:where([data-hx], [data-hx] *)){display:none}
@media(max-width:900px){
 html body .sidebar .search-panel-heading:not(:where([data-hx], [data-hx] *)){display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--lg-b-234f40,#234f40);color:var(--lg-t-ffffff,white);padding:12px 16px}
 html body .sidebar .search-panel-heading h2{margin:0;font-size:var(--hx-text-title);font-weight:600}
 html body .sidebar .search-panel-heading #close-map-search:not(:where([data-hx], [data-hx] *)){display:flex!important;width:44px!important;min-width:44px!important;flex:0 0 44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;border-radius:50%!important;background:transparent!important;border:1px solid var(--hx-hairline)!important;color:var(--lg-t-ffffff,white)!important}
 html body .sidebar .search-panel-heading #close-map-search svg{width:24px;height:24px;stroke-width:1.8}
}

/* Campaign wizard replaces the legacy farm selector and overview action. */
html body .sidebar .mobile-tools,html body .sidebar #overview{display:none!important}
html body .sidebar .list-heading:not(:where([data-hx], [data-hx] *)){display:flex!important;flex-direction:column;align-items:stretch}
html body .sidebar #map-wtg-filters{order:-1;width:100%;flex:auto}

/* Shared dialog safeguards for narrow screens and Android font scaling. */
html body .horus-tool-dialog .tool-body{min-width:0;overflow-x:hidden}
.horus-tool-dialog .tool-body :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}
.horus-tool-dialog .tool-body input[type=file]{width:100%;font-size:var(--hx-text-label);overflow:hidden}
.horus-tool-dialog .tool-body :is(p,small,dd){overflow-wrap:anywhere}
html body dialog.road-review-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 24px)}
.road-review-dialog .tool-heading{flex:none}.road-review-dialog .tool-body{overflow:auto;display:flex;flex-direction:column;gap:16px;min-height:0}
.road-review-dialog .review-toolbar{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important}
.road-review-dialog .review-toolbar select{grid-column:1/-1;width:100%}
.road-review-dialog .review-toolbar button{min-width:0;white-space:normal;padding:10px!important}
.review-transfer{border:1px solid var(--lg-l-c8d6c3,#c8d6c3);border-radius:12px;padding:12px;min-width:0}.review-transfer summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.review-transfer-body{display:grid;gap:12px;padding-top:12px;min-width:0}
.road-review-dialog .tool-body>p{margin:0}.road-review-dialog .tool-body>div{min-width:0;max-width:100%}
@media(max-width:380px){.road-review-dialog .review-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}

.review-point-row{display:grid;grid-template-columns:22px minmax(32px,auto) minmax(0,1fr);align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--lg-l-d8ded9,#d8ded9)}.review-point-row>span{overflow-wrap:anywhere}.review-point-row>a{grid-column:2;min-height:44px;display:flex;align-items:center}.review-point-row>button{grid-column:3}.road-review-dialog .tool-body input[type=checkbox]{width:22px;min-height:22px;flex:none}

/* Approved combined weather / Menu header, website only. */
html body>header{gap:0!important;padding-right:12px!important}
html body>header .brand{margin-right:auto!important}
html body>header .header-weather{order:90;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 1 auto!important;margin-left:8px!important;padding:0!important;height:54px!important;min-height:54px!important;max-height:none!important;border:1px solid var(--hx-shell-edge,var(--lg-l-688377,#688377))!important;border-right:0!important;border-radius:12px 0 0 12px!important;background:var(--hx-shell-chip,var(--lg-b-f0f6ed,#f0f6ed))!important}
html body>header .header-weather button{height:52px!important;min-height:52px!important;min-width:76px!important;padding:5px 8px!important;display:grid!important;grid-template-rows:18px 22px;gap:0!important;align-content:center;justify-items:center}
html body>header .header-weather small{font-size:var(--hx-text-body)!important;font-weight:500;line-height:22px!important}
html body>header .header-weather .header-weather-label{font-size:var(--hx-text-meta)!important;line-height:18px!important}
html body>header .header-weather .condition-icon{width:18px!important;height:18px!important}
html body>header #app-menu-button{order:91;height:54px!important;min-height:54px!important;max-height:none!important;align-self:center;display:flex!important;padding:8px 12px!important;border:1px solid var(--hx-shell-edge,var(--lg-l-688377,#688377))!important;border-left-color:var(--hx-shell-line,var(--lg-l-d8ded9,#d8ded9))!important;border-radius:0 12px 12px 0!important;background:var(--hx-shell-chip,var(--lg-b-f0f6ed,#f0f6ed))!important;color:var(--hx-shell-chip-ink,var(--lg-t-183d39,#183d39))!important;font-size:var(--hx-text-body)!important;gap:8px}
html body>header #app-menu-button:hover{background:var(--hx-shell-chip-press,var(--lg-b-e8eee4,#e8eee4))!important}
html body:has(#app-menu[open])>header #app-menu-button{background:var(--hx-shell-chip-open,var(--lg-b-dce6d7,#dce6d7))!important}
/* Header values (5 Oct 2026, user: the tint hugged the text like a highlighter): no background; the level is the text colour,
   as on the card and the Weather screen: normal plain, near limit amber, over red. */
/* .header-wind-badge added (5 Oct 2026): the chip-ink rule had the same weight and came later, so amber / red never showed */
html body>header .header-weather .header-wind-badge.wind-low{background:transparent!important;color:inherit!important}
html body>header .header-weather .header-wind-badge.wind-medium{background:transparent!important;color:var(--hx-warn)!important}
html body>header .header-weather .header-wind-badge.wind-high{background:transparent!important;color:var(--hx-danger)!important}




@media(max-width:700px){html body>header .header-weather{flex:1 1 auto!important;min-width:0!important}html body>header .header-weather button{min-width:0!important;padding:5px 3px!important}html body>header .header-weather small{font-size:var(--hx-text-label)!important}html body>header #app-menu-button{min-width:52px!important;width:52px!important;padding:0!important}html body>header #app-menu-button>span{display:none!important}}




@media(max-width:700px){html body>header{padding-left:12px!important}html body>header .brand{flex:0 0 44px!important;width:44px!important;min-width:44px!important;overflow:hidden}html body>header .horus-logo{width:44px!important;height:44px!important;min-height:44px!important}html body>header .header-weather{width:0!important;min-width:0!important}html body>header .header-weather button{width:auto!important}html body>header #app-menu-button{flex:0 0 52px!important}}

/* Header clearance and compact phone menu. */

html body>header .header-weather{flex:0 1 228px!important;width:228px!important;margin-left:12px!important}
html body>header .header-weather button{min-width:0!important}
@media(max-width:700px){
 html body>header .brand{flex:1 1 60px!important;min-width:44px!important;width:auto!important}
 html body>header .header-weather{flex:0 1 204px!important;width:204px!important;margin-left:8px!important}




}

/* All three header values use the same typography. */
html body>header .header-weather button small,html body>header .header-weather button .value{font-size:var(--hx-text-body)!important;font-weight:600!important;line-height:22px!important}
@media(max-width:700px){html body>header .header-weather button small,html body>header .header-weather button .value{font-size:var(--hx-text-label)!important}}

/* Keep the brand anchored to the shared left screen inset. */
html body>header{padding-left:12px!important}
html body>header .brand{display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;margin-left:0!important;padding-left:0!important}

/* Weather values share ink colour; speed bands affect background only. */
html body>header .header-weather button small,
html body>header .header-weather button .value,
html body>header .header-weather .header-wind-badge{color:var(--hx-shell-chip-ink,var(--lg-t-183d39,#183d39))!important}

/* Search is an on-demand overlay on every screen size. */
html body main{grid-template-columns:minmax(0,1fr)}
html body:not(.driving) .sidebar{display:none!important}
html body.map-search-visible:not(.driving) .sidebar{display:flex!important;position:absolute;inset:76px auto 12px 12px;width:380px;max-width:calc(100% - 24px);height:auto;max-height:calc(100% - 88px);border:1px solid var(--lg-l-688377,#688377);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #183d3922;z-index:35}
html body .sidebar .search-panel-heading:not(:where([data-hx], [data-hx] *)){display:flex!important;align-items:center;justify-content:space-between;flex:none;background:var(--lg-b-234f40,#234f40);color:var(--lg-t-ffffff,white);padding:12px 16px}
html body .sidebar .search-panel-heading h2{font-size:var(--hx-text-title);font-weight:600;margin:0;color:var(--lg-t-ffffff,white)}
html body .sidebar .search-panel-heading #close-map-search:not(:where([data-hx], [data-hx] *)){display:flex!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;background:transparent!important;color:var(--lg-t-ffffff,white)!important;border:0!important;padding:10px!important}
html body .sidebar .sidebar-top:not(:where([data-hx], [data-hx] *)){flex:none;padding:16px!important}
html body .sidebar #turbines:not([hidden]):not(:where([data-hx], [data-hx] *)),html body .sidebar #map-search-results:not([hidden]){overflow-y:auto!important;min-height:0;padding:0 16px 16px;gap:0}
html body .sidebar .turbine-row:not(:where([data-hx], [data-hx] *)){border:0!important;border-bottom:1px solid var(--lg-l-d8ded9,#d8ded9)!important;border-radius:0!important;background:var(--lg-b-ffffff,white)!important;padding:16px 0!important;box-shadow:none!important}
html body .sidebar .turbine-row:hover{background:var(--lg-b-e8eee4,#e8eee4)!important}
html body .sidebar #search:not(:where([data-hx], [data-hx] *)){background:var(--lg-b-edf0f2,#edf0f2);border:1px solid var(--lg-l-c8d6c3,#c8d6c3);border-radius:var(--hx-radius-card);min-height:52px;font-size:var(--hx-text-body)}
html body .sidebar .sidebar-foot{display:none}
html body .sidebar #turbines:not([hidden]):not(:where([data-hx], [data-hx] *)){display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important}
html body .sidebar #turbines .turbine-row:not(:where([data-hx], [data-hx] *)){display:flex!important;width:100%!important;flex:0 0 auto!important;min-height:76px!important;align-items:center!important;justify-content:space-between!important}
html body .sidebar .row-sub:not(:where([data-hx], [data-hx] *)){display:block!important}
html body .sidebar #turbines#turbines:not(:where([data-hx], [data-hx] *)){display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;grid-template-columns:none!important}
html body .sidebar #turbines#turbines .turbine-row:not(:where([data-hx], [data-hx] *)){width:100%!important;max-width:none!important;flex:0 0 auto!important;border-radius:0!important}

/* Search shares the approved Workers panel geometry. */
html body.map-search-visible:not(.driving) .sidebar{width:400px;border-color:var(--lg-l-c8d6c3,#c8d6c3);border-radius:12px}
html body .sidebar .search-panel-heading:not(:where([data-hx], [data-hx] *)){padding:16px 16px 12px;border-bottom:1px solid var(--lg-l-d8ded9,#d8ded9);min-height:72px;box-sizing:border-box}
html body .sidebar .search-panel-heading h2{font-weight:600;font-size:var(--hx-text-title);line-height:var(--hx-leading-tight);font-family:var(--hx-font)}
html body .sidebar #search:not(:where([data-hx], [data-hx] *)){border:0!important;border-bottom:1px solid var(--lg-l-aab8b3,#aab8b3)!important;border-radius:0!important;background:var(--lg-b-edf0f2,#edf0f2)!important;padding:12px 0!important;min-height:52px;font-weight:500;font-size:var(--hx-text-body);line-height:var(--hx-leading-body);font-family:var(--hx-font);color:var(--lg-t-243832,#243832);box-shadow:none}
html body .sidebar #search::placeholder{color:var(--lg-t-596962,#596962);opacity:1}
html body .sidebar #turbines#turbines .turbine-row:not(:where([data-hx], [data-hx] *)){min-height:84px!important;padding:12px 0!important;color:var(--lg-t-183d39,#183d39)!important;font-family:'Horus Avenir','Avenir Next',sans-serif!important}
html body .sidebar .row-title:not(:where([data-hx], [data-hx] *)){font-weight:600!important}
html body .sidebar .row-sub:not(:where([data-hx], [data-hx] *)){font-weight:500!important;color:var(--lg-t-596962,#596962)!important}
html body .sidebar .sidebar-top:not(:where([data-hx], [data-hx] *)){border-bottom:0!important}
html body .sidebar #turbines#turbines:not(:where([data-hx], [data-hx] *)){flex:1 1 auto!important;max-height:none!important}

/* Match Workers field and row treatment; retain a visible keyboard focus. */
html body .sidebar #search:focus{outline:none!important;box-shadow:none!important;border-radius:0!important;border-bottom:2px solid var(--lg-l-688377,#688377)!important}
html body .sidebar #turbines#turbines .turbine-row:not(:where([data-hx], [data-hx] *)){background:var(--lg-b-ffffff,#fff)!important;gap:12px!important;text-align:left!important}
html body .sidebar #turbines#turbines .turbine-row:hover{background:var(--lg-b-f6f7f2,#f6f7f2)!important}
html body .sidebar #turbines#turbines .turbine-row.selected{background:var(--lg-b-e8eee4,#e8eee4)!important}
html body .sidebar #turbines#turbines .row-title:not(:where([data-hx], [data-hx] *)){font-weight:600;font-size:var(--hx-text-body);line-height:var(--hx-leading-tight);font-family:var(--hx-font)!important;color:var(--lg-t-183d39,#183d39)!important;background:transparent!important}
html body .sidebar #result-count:not(:where([data-hx], [data-hx] *)){font-weight:500!important}
html body .sidebar #turbines#turbines .row-arrow:not(:where([data-hx], [data-hx] *)){display:flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;color:var(--lg-t-596962,#596962);background:transparent!important}
html body .sidebar #turbines#turbines .row-arrow svg{display:block;width:24px;height:24px}

/* Override legacy iPhone grid tracks so weather touches Menu. */
html body>header{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;column-gap:0!important}
html body>header .header-weather{margin-right:0!important}
html body>header #app-menu-button{margin-left:0!important;margin-right:0!important}

/* Shared Search surface: reset the enclosing legacy field and card borders. */
html body .sidebar #mobile-search-panel .search:not(:where([data-hx], [data-hx] *)){
 display:flex!important;align-items:center!important;gap:0!important;flex:0 0 auto!important;
 width:100%!important;min-height:52px!important;height:auto!important;margin:0!important;padding:0!important;
 background:var(--lg-b-edf0f2,#edf0f2)!important;border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important;
}
html body .sidebar #mobile-search-panel .search>span:not(:where([data-hx], [data-hx] *)){display:none!important}
html body .sidebar #mobile-search-panel .search:focus-within{outline:none!important;box-shadow:none!important}
html body .sidebar #mobile-search-panel #search:not(:where([data-hx], [data-hx] *)){flex:1;min-width:0;width:100%;margin:0!important;appearance:none;-webkit-appearance:none}
/* iPhone Safari zooms focused text fields below 16 CSS px. Text-size preferences may
   reduce the default 18px field to 15.84px; keep the entry text above that floor. */
@media(max-width:900px){
 html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):not(:where([data-hx], [data-hx] *)){font-size:max(16px,calc(18px * var(--horus-text-scale,1)))!important}
}
html body .sidebar #turbines#turbines:not(:where([data-hx], [data-hx] *)){gap:0!important;padding:0 16px 16px!important}
html body .sidebar #turbines#turbines .turbine-row:not(:where([data-hx], [data-hx] *)){
 border:0!important;border-bottom:1px solid var(--lg-l-d8ded9,#d8ded9)!important;border-radius:0!important;
 margin:0!important;box-shadow:none!important;justify-content:space-between!important;
}
html body .sidebar #turbines#turbines .turbine-row:last-child:not(:where([data-hx], [data-hx] *)){border-bottom:0!important}
html body .sidebar #turbines#turbines[hidden]{display:none!important}

/* Match the map Refresh width while retaining the joined weather height. */
html body>header #app-menu-button{width:48px!important;min-width:48px!important;max-width:48px!important;flex:0 0 48px!important;padding:0!important;justify-content:center}
html body>header #app-menu-button>span{display:none!important}

/* Shared control outlines; joined segments retain only outer corners. */
html body>header .header-weather,html body>header #app-menu-button{border-color:var(--hx-shell-edge,var(--lg-l-688377,#688377))!important;box-shadow:var(--hx-shell-glow,none)!important}
html body>header .header-weather{border-radius:12px 0 0 12px!important}
html body>header #app-menu-button{border-radius:0 12px 12px 0!important}

/* Navigation uses the approved compact trip summary and a separate turn cue. */
html body.driving #driving-panel .drive-route-panel{left:12px!important;right:auto!important;bottom:12px!important;width:min(400px,calc(100% - 84px))!important;height:auto!important;min-height:0!important;max-width:none!important;display:block!important;overflow:visible!important;border:1px solid var(--lg-l-688377,#688377)!important;border-radius:12px!important;background:var(--lg-b-fffdf8,#fffdf8)!important;box-shadow:0 3px 12px #183d3920!important}
html body.driving #driving-panel .drive-compact{display:flex!important;align-items:center!important;gap:6px!important;padding:5px 6px!important;min-height:54px!important;box-sizing:border-box;background:var(--lg-b-234f40,#234f40);color:var(--lg-t-ffffff,white);border-radius:11px}
html body.driving #driving-panel .drive-compact #drive-exit{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;flex:0 0 44px!important;display:grid!important;place-items:center!important;padding:0!important;background:#ffffff20!important;border:1px solid #ffffff55!important;border-radius:var(--hx-radius-card)!important;color:var(--lg-t-ffffff,white)!important}
html body.driving #driving-panel .drive-summary-toggle{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;gap:7px;padding:0 6px;background:transparent;border:0;color:var(--lg-t-ffffff,white);text-align:left;cursor:pointer}
html body.driving #driving-panel .drive-summary-toggle .drive-target{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--hx-text-body)!important;line-height:24px!important;font-weight:600!important;color:var(--lg-t-ffffff,white)!important;text-align:left!important}
html body.driving #driving-panel .drive-summary-toggle .drive-duration{flex:none;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--hx-text-body)!important;line-height:24px!important;font-weight:600!important;color:var(--lg-t-ffffff,white)!important;background:none!important;border-radius:0!important;padding:0!important}
html body.driving #driving-panel .drive-summary-toggle svg{width:20px;height:20px;flex:none;transition:transform .2s}
html body.driving #driving-panel .drive-summary-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
html body.driving #driving-panel .drive-extra:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 14px;border-top:1px solid var(--lg-l-d8ded9,#d8ded9)}
html body.driving #driving-panel .drive-extra>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}
html body.driving #driving-panel .drive-extra small{font-size:var(--hx-text-meta);color:var(--lg-t-596962,#596962);white-space:nowrap}
html body.driving #driving-panel .drive-extra strong{font-size:var(--hx-text-label);color:var(--lg-t-183d39,#183d39);white-space:nowrap}
html body.driving #driving-panel .drive-maneuver{position:absolute;top:72px;left:12px;width:min(400px,calc(100% - 84px));box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--lg-b-fffdf8,#fffdf8);border:1px solid var(--lg-l-688377,#688377);border-radius:12px;box-shadow:0 2px 8px #183d391a;color:var(--lg-t-243832,#243832);pointer-events:auto}
html body.driving #driving-panel .drive-maneuver>svg{flex:0 0 36px;width:36px;height:36px}
html body.driving #driving-panel .drive-maneuver-copy{min-width:0;flex:1;display:grid;gap:2px}
html body.driving #driving-panel .drive-instruction,html body.driving #driving-panel .drive-detail{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:clip;margin:0;color:var(--lg-t-243832,#243832)}
html body.driving #driving-panel .drive-instruction{font-size:var(--hx-text-body)!important;line-height:24px!important;font-weight:600!important}
html body.driving #driving-panel .drive-detail{font-size:var(--hx-text-meta)!important;line-height:18px!important;color:var(--lg-t-596962,#596962)!important}
html body.driving #driving-panel .drive-instruction[hidden],html body.driving #driving-panel .drive-detail[hidden]{display:none!important}
html body.driving #driving-panel :is(.drive-instruction,.drive-detail).is-scrolling>span{display:inline-block;min-width:max-content;animation:drive-message-scroll var(--scroll-duration,10s) ease-in-out 1s infinite alternate}
@keyframes drive-message-scroll{to{transform:translateX(calc(-1 * var(--scroll-distance,0px)))}}
@media(prefers-reduced-motion:reduce){html body.driving #driving-panel :is(.drive-instruction,.drive-detail).is-scrolling{overflow-x:auto}html body.driving #driving-panel :is(.drive-instruction,.drive-detail).is-scrolling>span{animation:none}}
html body.driving #web-sharing-status{display:none!important}
@media(max-width:380px){html body.driving #driving-panel .drive-route-panel,html body.driving #driving-panel .drive-maneuver{width:calc(100% - 74px)!important}html body.driving #driving-panel .drive-summary-toggle .drive-target{font-size:var(--hx-text-body)!important}html body.driving #driving-panel .drive-summary-toggle .drive-duration{font-size:var(--hx-text-label)!important}html body.driving #driving-panel .drive-instruction{font-size:var(--hx-text-body)!important}}
/* Keep the trip card clear of the iPhone home indicator and rounded display corners. */
@media(max-width:900px){html body.driving #driving-panel .drive-route-panel{left:calc(12px + env(safe-area-inset-left,0px))!important;bottom:calc(12px + var(--nav-safe-bottom,env(safe-area-inset-bottom,0px)))!important;width:min(400px,calc(100% - 84px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))!important}}

/* The latest driving cue keeps only the turn and its short guidance. The map's
   geographic accuracy radius carries GPS uncertainty instead of text here. */
html body.driving #driving-panel .drive-map-status{display:none!important}
html body.driving #driving-panel .drive-maneuver{top:12px!important;width:max-content!important;max-width:calc(100% - 84px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important;left:calc(12px + env(safe-area-inset-left,0px))!important;padding:12px 18px!important;gap:8px!important;background:var(--lg-b-234f40,#234f40)!important;color:var(--lg-t-ffffff,#fff)!important;box-shadow:none!important}
html body.driving #driving-panel .drive-maneuver>svg{flex:0 0 32px;width:32px;height:32px}
html body.driving #driving-panel .drive-maneuver-copy{flex:0 1 auto;max-width:100%}
html body.driving #driving-panel :is(.drive-instruction,.drive-detail){color:var(--lg-t-ffffff,#fff)!important}
html body.driving #driving-panel .drive-maneuver .drive-detail{grid-row:auto!important;grid-column:auto!important;padding:0!important;border:0!important;margin:0!important;color:var(--lg-t-e0e9df,#e0e9df)!important}
html body.driving #driving-panel .drive-compact #drive-exit svg{width:20px;height:20px}
@media(max-width:900px){html body.driving #driving-panel .drive-route-panel{right:calc(72px + env(safe-area-inset-right,0px))!important;width:auto!important;max-width:400px!important}html body.driving #driving-panel .drive-maneuver{max-width:calc(100% - 84px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important}}
@media(max-width:380px){html body.driving #driving-panel .drive-maneuver{width:max-content!important}}

/* Keep the three working map actions in one joined rail while road reporting
   and guidance audio are still being integrated. */
html body.driving #driving-panel .drive-map-buttons{position:absolute;top:100px;right:calc(12px + env(safe-area-inset-right,0px));bottom:auto;width:52px;height:auto;display:grid;gap:0;padding:0;overflow:hidden;border:1px solid var(--lg-l-688377,#688377);border-radius:0 12px 12px 0;background:var(--lg-b-fffdf8,#fffdf8);box-shadow:none;pointer-events:auto}
html body.driving #driving-panel .drive-map-buttons :is(#drive-north,#drive-recenter,#drive-overview){position:static;inset:auto;display:grid;place-items:center;width:52px;height:52px;min-width:52px;min-height:52px;margin:0;padding:0;border:0;border-radius:0;background:var(--lg-b-e0e5ce,#e0e5ce);color:var(--lg-t-183d39,#183d39);box-shadow:none}
html body.driving #driving-panel .drive-map-buttons :is(#drive-recenter,#drive-overview){border-top:1px solid var(--lg-l-688377,#688377)}
html body.driving #driving-panel .drive-map-buttons :is(#drive-north,#drive-recenter,#drive-overview) svg{width:24px;height:24px}
html body.driving #driving-panel .drive-map-buttons #drive-north[aria-pressed=true]{background:var(--lg-b-cddcbb,#cddcbb)}

/* The turn cue and map rail share one edge, like the main map's joined bar. */
html body.driving #driving-panel .drive-guidance-group{position:absolute;top:12px;left:calc(12px + env(safe-area-inset-left,0px));display:flex;align-items:flex-start;width:max-content;max-width:calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));pointer-events:auto}
html body.driving #driving-panel .drive-guidance-group .drive-maneuver{position:relative!important;top:auto!important;left:auto!important;flex:0 1 auto;min-width:0;max-width:min(400px,calc(100vw - 76px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))!important;border-right:0!important;border-radius:12px 0 0 12px!important}
html body.driving #driving-panel .drive-guidance-group .drive-map-buttons{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;flex:0 0 52px;box-sizing:border-box;width:52px;height:auto;grid-template-columns:minmax(0,1fr)!important;justify-content:stretch!important;border-radius:0 12px 12px 0}
html body.driving #driving-panel .drive-guidance-group .drive-map-buttons :is(#drive-north,#drive-recenter,#drive-overview){box-sizing:border-box;width:100%;min-width:0}
html body.driving #driving-panel .drive-guidance-group .drive-map-buttons #drive-north{height:calc(var(--drive-cue-height,68px) - 1px);min-height:calc(var(--drive-cue-height,68px) - 1px)}

/* On the map-first layout, the turn banner reaches the top-right menu rail.
   With the rail moved up, the trip row can use the full safe phone width. */
@media(max-width:900px){
 html body.driving #driving-panel .drive-guidance-group{width:calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-width:none}
 html body.driving #driving-panel .drive-guidance-group .drive-maneuver{flex:1 1 auto;width:auto!important;max-width:none!important}
 html body.driving #driving-panel .drive-route-panel{left:calc(12px + env(safe-area-inset-left,0px))!important;right:calc(12px + env(safe-area-inset-right,0px))!important;width:auto!important;max-width:none!important;box-shadow:none!important}
}
@media(min-width:901px){
 html body.driving #driving-panel .drive-guidance-group{width:calc(100% - 24px);max-width:none}
 html body.driving #driving-panel .drive-guidance-group .drive-maneuver{border-right:1px solid var(--lg-l-688377,#688377)!important;border-radius:12px!important}
 html body.driving #driving-panel .drive-guidance-group .drive-map-buttons{margin-left:auto;border-radius:0 12px 12px 0}
}

/* Give the next action and time left the emphasis of a driving display while
   keeping Horus colours, one-line guidance and the compact map overlays. */
html body.driving #driving-panel .drive-guidance-group .drive-maneuver{padding:14px 18px!important}
html body.driving #driving-panel .drive-guidance-group .drive-maneuver>svg{flex-basis:36px;width:36px;height:36px}
html body.driving #driving-panel .drive-guidance-group .drive-instruction{font-size:var(--hx-text-title)!important;line-height:28px!important;font-weight:700!important}
html body.driving #driving-panel .drive-guidance-group .drive-detail{font-size:var(--hx-text-label)!important;line-height:18px!important;font-weight:500!important}
html body.driving #driving-panel .drive-compact{min-height:62px!important;padding:7px 6px!important}
html body.driving #driving-panel .drive-compact #drive-exit{order:2;width:52px!important;min-width:52px!important;flex:0 0 52px!important;font-size:var(--hx-text-label)!important;font-weight:600!important}
html body.driving #driving-panel .drive-compact .drive-summary-toggle{order:1}
html body.driving #driving-panel .drive-summary-toggle .drive-target{font-size:var(--hx-text-body)!important;font-weight:600!important}
html body.driving #driving-panel .drive-summary-toggle .drive-duration{font-size:var(--hx-text-title)!important;font-weight:700!important}
@media(max-width:380px){html body.driving #driving-panel .drive-guidance-group .drive-instruction{font-size:var(--hx-text-title)!important;line-height:26px!important}html body.driving #driving-panel .drive-summary-toggle .drive-duration{font-size:var(--hx-text-body)!important}}

/* Four equal, compact actions for a turbine: now turbine-card.css. */











/* Turbine details: now styled by turbine-card.css (since 2 Oct 2026). */












/* Import/export is an action disclosure, not a read-only information card. */
html body .review-transfer{border:0;padding:0;border-radius:0}
html body .review-transfer>summary{box-sizing:border-box;justify-content:center;gap:12px;min-height:52px;padding:calc(12px + 0px) calc(16px + 0px);background:var(--lg-b-e8ebe8,#e8ebe8);color:var(--lg-t-183d39,#183d39);border:1px solid var(--lg-l-62765a,#62765a);border-radius:var(--hx-radius-card);font:600 calc(18px * var(--horus-text-scale,.94))/1.4 'Horus Avenir','Avenir Next',sans-serif;text-align:center}
html body .review-transfer>summary::after{content:'⌄';margin-left:auto}
html body .review-transfer[open]>summary::after{content:'⌃'}





/* Search follows the 1 October shared card header/action contract. */
html:root body .sidebar .search-panel-heading h2:not(:where([data-hx], [data-hx] *)){font:700 calc(18px * var(--horus-text-scale,.94))/1.2 'Horus Avenir','Avenir Next','Segoe UI',Arial,sans-serif!important}
html:root body .sidebar .search-panel-heading button:not(:where([data-hx], [data-hx] *)){background:var(--lg-b-e8ebe8,#e8ebe8)!important;color:var(--lg-t-183d39,#183d39)!important;border:1px solid var(--lg-l-62765a,#62765a)!important;border-radius:var(--hx-radius-card)!important}
html:root body .sidebar .search-panel-heading button svg,html:root body .sidebar .search-panel-heading button svg *{color:var(--lg-t-183d39,#183d39)!important;stroke:var(--lg-t-183d39,#183d39)!important}

html:root body .sidebar .search-panel-heading button#close-map-search:not(:where([data-hx], [data-hx] *)){background:var(--lg-b-e8ebe8,#e8ebe8)!important;color:var(--lg-t-183d39,#183d39)!important;border:1px solid var(--lg-l-62765a,#62765a)!important;border-radius:var(--hx-radius-card)!important}
html:root body .sidebar .search-panel-heading button#close-map-search svg,html:root body .sidebar .search-panel-heading button#close-map-search svg *{color:var(--lg-t-183d39,#183d39)!important;stroke:var(--lg-t-183d39,#183d39)!important}







/* Search keeps a complete input frame and avoids iPhone focus zoom. */
html:root body .sidebar input#search:not(:where([data-hx], [data-hx] *)){
 box-sizing:border-box;min-height:52px!important;padding:12px 8px!important;
 background:var(--lg-b-eeeadd,#eeeadd)!important;color:var(--lg-t-243832,#243832)!important;border:1px solid var(--lg-l-62765a,#62765a)!important;border-radius:var(--hx-radius-card)!important;
 font-family:'Horus Avenir','Avenir Next','Segoe UI',Arial,sans-serif!important;
 font-size:max(16px,calc(18px * var(--horus-text-scale,1)))!important;font-weight:500!important;
}
