:root{
  --panelW:360px;
  --ux-map:0;
  --ux-results:420;
  --ux-controls:500;
  --ux-workflow:600;
  --ux-management:700;
  --ux-help:800;
  --ux-dialog:900;
  --ux-blue:#0d6da8;
  --ux-teal:#0b8590;
  --ux-ink:#153b56;
  --ux-muted:#61798a;
  --ux-border:#c6d7e3;
  --ux-surface:#fff;
}

@media(prefers-reduced-motion:reduce){
  .s4-help-article,.s4-help-backdrop,.s4-p13-drawer,.id-btn::after,.ws-location-control button::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

.ux-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.map-wrap{z-index:var(--ux-map)}
.panel{z-index:var(--ux-workflow);padding:10px 11px 16px}
.divider{z-index:calc(var(--ux-workflow) + 1)}
.ws-result-dock,.ws-open-results{z-index:var(--ux-results)!important}
.id-toolbar,.search-wrap,.map-wrap .leaflet-top.leaflet-left,.layers-panel,.ux-account-menu{z-index:var(--ux-controls)!important}
.s4-p13-backdrop{z-index:var(--ux-management)!important}
.s4-help-backdrop{z-index:var(--ux-help)!important}
.modal-backdrop,.s4-p13-form-backdrop{z-index:var(--ux-dialog)!important}

/* Clean four-module workflow shell. */
.ws-panel-head{padding:8px 9px!important;min-height:42px!important;gap:7px!important}
.ws-panel-head>div:first-child{min-width:0}
.ws-panel-head small{font-size:.55rem!important;letter-spacing:.08em}
.ws-panel-head strong{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem!important}
.s4-p12-head-actions{gap:4px!important;flex-wrap:nowrap!important}
.s4-p12-language{flex:0 0 auto}
.s4-p12-language button,.ws-reset{min-width:30px!important;min-height:28px!important;padding:3px 7px!important;font-size:.62rem!important;border-radius:7px!important}
.ws-module-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;padding:4px!important}
.ws-module-nav button{min-height:43px!important;padding:5px 3px!important;font-size:.66rem!important}
.ws-module-nav button small{margin-top:1px;font-size:.5rem!important;line-height:1.15}
.ws-panel-summary{grid-template-columns:1.35fr 1fr .9fr!important;gap:4px!important;margin:7px 0!important;padding:5px!important}
.ws-panel-summary>span{position:relative;min-width:0;padding:5px 6px!important}
.ws-panel-summary small{font-size:.48rem!important}
.ws-panel-summary b{font-size:.62rem!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-pane{padding-top:5px!important}
.ws-pane .ws-eyebrow{display:none!important}
.ws-tool-pane>h2{margin:5px 0 7px!important;font-size:1rem!important}
.ws-tool-pane>p:not(.ws-eyebrow){display:none}
.ws-tool-pane h3{margin:.8rem 0 .35rem!important;font-size:.76rem!important}
.ws-selection-bar{margin:5px 0 8px!important;padding:6px 7px!important}
.ws-selection-bar button{min-height:28px!important;padding:3px 7px!important;font-size:.62rem!important}
.requirements-intro,.commercial-registry-copy{display:none}
.sectionTitle{margin-top:8px;margin-bottom:4px;font-size:.7rem}
label{margin:6px 0 3px;font-size:.74rem}
input,select,button,textarea{font-size:.73rem}
input,select,button{padding:.46rem .58rem;border-radius:8px}
button{min-height:34px}
.row{gap:6px}
.search-mode{margin-bottom:8px;padding:3px;border-radius:9px}
.search-mode button{min-height:35px!important;padding:.35rem!important;font-size:.69rem}
.resolution-grid{gap:4px;margin:4px 0 6px}
.resolution-choice{min-height:43px!important;padding:.3rem .2rem!important;font-size:.58rem!important}
.resolution-choice strong{font-size:.64rem}
.segmented{gap:4px}.segmented button{min-height:33px;padding:.3rem;font-size:.64rem}
.advanced-discovery,.commercial-registry,.ux-result-exports{margin-top:7px;border:1px solid var(--ux-border);border-radius:9px;background:#f8fbfd;overflow:hidden}
.advanced-discovery summary,.commercial-registry summary,.ux-result-exports summary{padding:8px 9px;cursor:pointer;color:#174d72;font-weight:800;font-size:.69rem}
.eligible-catalogs{margin:7px 0;padding:7px 8px;font-size:.65rem}
.result-summary{font-size:.67rem}

/* Account, Help, Layers and map home form one coherent top-right cluster. */
.id-toolbar{position:absolute!important;top:10px!important;right:10px!important;display:flex!important;gap:3px!important;padding:4px!important;border-radius:12px!important}
.id-btn,.ux-icon-button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;border-radius:8px!important}
.id-btn svg,.ux-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.id-btn[data-tooltip]::after,.ws-location-control button[data-tooltip]::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);right:0;width:max-content;max-width:180px;padding:5px 7px;border:1px solid var(--ux-border);border-radius:7px;background:#fff;color:var(--ux-ink);box-shadow:0 7px 18px rgba(13,55,83,.16);font:700 11px/1.2 system-ui;opacity:0;visibility:hidden;pointer-events:none;transition:.14s;z-index:10}
.id-btn[data-tooltip]:hover::after,.id-btn[data-tooltip]:focus-visible::after,.ws-location-control button[data-tooltip]:hover::after,.ws-location-control button[data-tooltip]:focus-visible::after{opacity:1;visibility:visible}
.layers-panel{position:absolute!important;top:58px!important;right:10px!important;width:230px!important;border-radius:11px!important;padding:8px!important}
.layers-panel h4{font-size:.72rem!important}.layers-panel label{margin:4px 0!important;padding:.34rem .45rem!important;font-size:.68rem!important}
.ux-account-menu{position:absolute;top:58px;right:52px;width:min(285px,calc(100% - 20px));padding:9px;border:1px solid var(--ux-border);border-radius:11px;background:rgba(255,255,255,.98);box-shadow:0 16px 34px rgba(15,58,86,.22);color:var(--ux-ink)}
.ux-account-menu[hidden]{display:none!important}
.ux-account-menu .account-status{margin:0 0 7px;padding:8px;font-size:.68rem}
.ux-account-menu .account-status strong{font-size:.72rem}
.ux-account-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ux-account-actions button{min-height:32px;padding:.35rem .45rem;font-size:.66rem}
.ux-account-actions button:last-child{grid-column:1/-1}

/* Search adapts around the four-button control group. */
.search-wrap{position:absolute!important;top:10px!important;right:190px!important;left:auto!important;transform:none!important;width:min(500px,max(210px,calc(100vw - var(--panelW) - 220px)))!important}
.app.collapsed .search-wrap{width:min(500px,calc(100vw - 220px))!important}
.search-box{height:44px!important;min-height:44px!important;border-radius:12px!important}

/* Compact, discoverable AOI actions. */
.ux-aoi-actions{display:flex;gap:2px;margin-top:4px}
.ux-quiet-icon{width:auto!important;min-width:24px!important;min-height:24px!important;padding:2px 4px!important;border:1px solid #cbdbe6!important;border-radius:6px!important;background:#fff!important;color:#175879!important;box-shadow:none!important;font-size:.52rem!important}
.ux-quiet-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ux-aoi-download-wrap{position:relative;padding:0!important;background:none!important}
.ux-aoi-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:calc(var(--ux-workflow) + 10);width:185px;padding:6px;border:1px solid var(--ux-border);border-radius:8px;background:#fff;box-shadow:0 12px 25px rgba(13,55,83,.2)}
.ux-aoi-menu[hidden]{display:none!important}
.ux-aoi-menu button{width:100%;min-height:30px;margin:2px 0;padding:4px 7px;text-align:left;background:#f1f7fb;color:#174d72;box-shadow:none;border:1px solid #d1e0e9}
.ux-aoi-menu small{display:block;margin:5px 3px 2px;white-space:normal;color:var(--ux-muted);font-size:.56rem;line-height:1.35}
.ux-result-exports{margin-bottom:7px}
.ux-export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0 8px 8px}
.ux-export-grid button{min-height:30px;padding:.3rem;font-size:.58rem}

/* Professional density: advice remains available on demand. */
.s4-phase11a-context-help{float:right!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;margin:2px 0 4px 6px!important;padding:0!important;border-radius:50%!important;font-size:.78rem!important}
.s4-phase11a-advice{position:relative;margin:6px 0!important;padding:7px 9px!important;border-left-width:3px!important;cursor:pointer}
.s4-phase11a-advice strong{display:inline!important;font-size:.68rem}
.s4-phase11a-advice strong::after{content:'  ·  ⓘ';font-weight:700}
.s4-phase11a-advice p,.s4-phase11a-advice small{display:none!important}
.s4-phase11a-advice.is-expanded p,.s4-phase11a-advice.is-expanded small{display:block!important}
.s4-phase11a-advice .s4-result-help{float:right;margin:-3px 0 -3px 5px!important;min-height:25px!important;font-size:.58rem!important}
.ws-callout,.ws-detail,.ws-job,.ws-processing-input-summary{padding:7px 8px!important;font-size:.66rem!important;line-height:1.4!important}
.ws-callout p,.ws-detail p{margin:.28rem 0!important}
.ws-index-audit{gap:4px!important}.ws-index-audit span{padding:6px 4px!important}.ws-index-audit b{font-size:.75rem!important}
.ws-actions{gap:5px!important}.ws-actions button{min-height:33px!important;padding:.38rem!important;font-size:.65rem!important}
.ws-processing-picker,.ws-geoai-picker,.ws-index-input-context{gap:5px!important}

/* Dedicated Help view. */
.s4-help-backdrop{padding:12px!important;background:rgba(8,30,45,.56)!important;backdrop-filter:blur(4px)}
.s4-help-dialog{grid-template-rows:auto auto auto minmax(0,1fr)!important;width:min(1180px,calc(100vw - 24px))!important;height:min(860px,calc(100dvh - 24px))!important;border-radius:15px!important;box-shadow:0 28px 80px rgba(7,37,57,.34)!important}
.s4-help-head{padding:10px 12px!important}.s4-help-head h2{font-size:1rem!important}.s4-help-head button,.s4-help-head select{min-height:32px!important;padding:.35rem .55rem!important;font-size:.68rem!important}
#uxHelpBack{display:none}
.s4-help-tabs{gap:3px!important;padding:6px 9px!important}.s4-help-tabs button{min-height:34px!important;padding:.35rem!important;font-size:.69rem!important}
.ux-help-breadcrumb{padding:6px 12px;border-bottom:1px solid #d6e2ea;background:#fbfdfe;color:var(--ux-muted);font-size:.65rem}
.s4-help-main{grid-template-columns:minmax(260px,33%) minmax(0,1fr)!important}
.s4-help-search-wrap{padding:9px!important}.s4-help-search-wrap input{min-height:38px!important}
.ux-help-popular{display:flex;flex-wrap:wrap;gap:4px;padding:0 9px 7px}
.ux-help-popular button{width:auto;min-height:27px;padding:3px 7px;border:1px solid #c7dbe6;background:#fff;color:#27607d;box-shadow:none;font-size:.58rem}
.s4-help-results{padding:0 7px 9px!important}.s4-help-result{margin:3px 0!important;padding:7px!important;border-radius:7px!important}.s4-help-result b{font-size:.69rem}.s4-help-result small{font-size:.59rem!important;line-height:1.3}
.s4-help-match{display:block;margin-top:4px;color:#176181;font-size:.56rem;font-weight:750;line-height:1.25}
.s4-help-article{padding:16px 19px!important}.s4-help-article h2{font-size:1.18rem!important}.s4-help-article h3{font-size:.83rem!important}.s4-help-article p,.s4-help-article li{font-size:.75rem!important}
.s4-help-section:empty{display:none}.s4-help-section{min-width:0}

/* One movable workspace manager, constrained to the map viewport. */
.s4-p13-backdrop{position:fixed!important;inset:auto!important;left:var(--ux-map-left,0)!important;top:var(--ux-map-top,0)!important;width:var(--ux-map-width,100vw)!important;height:var(--ux-map-height,100vh)!important;display:block!important;padding:0!important;background:rgba(9,35,52,.22)!important;overflow:hidden!important}
.s4-p13-backdrop[hidden]{display:none!important}
.s4-p13-drawer{box-sizing:border-box!important;position:absolute!important;inset:auto!important;width:min(760px,calc(100% - 24px))!important;height:min(690px,calc(100% - 24px))!important;max-height:calc(100% - 24px)!important;padding:13px!important;border:1px solid #b9cfdd;border-radius:13px;box-shadow:0 20px 52px rgba(10,48,72,.3)!important}
.s4-p13-drawer.is-dragging{user-select:none;transition:none!important}
.ux-drag-handle{cursor:move;padding-bottom:7px;border-bottom:1px solid #d6e2ea}
.ux-drag-handle button{cursor:pointer}
#s4P13Tabs{gap:3px!important;padding-bottom:6px!important;scroll-snap-type:x proximity}
#s4P13Tabs button{min-height:33px!important;padding:.34rem .5rem!important;font-size:.63rem!important;scroll-snap-align:start}
.s4-p13-content{min-height:180px!important;overflow:auto}
.s4-p13-row{padding:8px!important;gap:8px!important}.s4-p13-row strong{font-size:.73rem}.s4-p13-row span,.s4-p13-row small{font-size:.63rem!important}
.s4-p13-row-actions button{min-height:29px!important;padding:.28rem .42rem!important;font-size:.6rem!important}
.s4-p13-row-actions button:not(:first-child){background:#f4f8fa!important;color:#315f76!important;box-shadow:none!important}
.s4-p13-help{display:none}

/* The active result owns the detailed legend and controls; inactive results remain identifiable. */
#wsResultList>article{position:relative}
.ux-result-detail-toggle{width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;margin-left:auto!important;padding:0!important;border:1px solid #c5d7e1!important;border-radius:7px!important;background:#fff!important;color:#1c5c79!important;box-shadow:none!important;font-size:1rem!important;line-height:1!important}
.ws-result-title>[data-result-remove]{order:3}
.ws-result-title>[data-ux-result-toggle]{order:2}
#wsResultList>article.ux-result-collapsed>:not(.ws-result-title):not(.ws-result-status){display:none!important}
#wsResultList>article.ux-result-collapsed{padding-bottom:8px!important}
#wsResultList>article.ux-result-collapsed .ws-result-status{display:inline-flex!important;margin-top:4px!important}

/* Toolbar and touch targets. */
.map-wrap .leaflet-top.leaflet-left{top:10px!important;left:10px!important;padding:3px!important;gap:3px!important;border-radius:11px!important}
.map-wrap .leaflet-control-zoom a,.map-wrap .leaflet-draw-toolbar a,.map-wrap .leaflet-top.leaflet-left .aoi-upload,.map-wrap .ws-location-control button{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin-bottom:3px!important;border-radius:8px!important}
.map-wrap .leaflet-control-zoom a{font-size:19px!important;line-height:36px!important}
.map-wrap .leaflet-draw-toolbar a::before{width:17px!important;height:17px!important}
.map-wrap .leaflet-top.leaflet-left .aoi-upload svg,.ws-location-control svg{width:17px!important;height:17px!important}
.powered-badge{left:8px!important;bottom:8px!important;padding:.28rem .46rem!important;font-size:.64rem!important;border-radius:7px!important}
.collapse-btn{width:34px!important;height:48px!important;min-width:34px!important;min-height:46px!important}

/* Status language: unavailable remains visually distinct from prerequisites. */
button:disabled,.ws-badge.off{opacity:.58!important;cursor:not-allowed!important}
.ws-badge.ok{background:#def3e7!important;color:#17613f!important}
.ws-badge.off{background:#eef2f5!important;color:#5f7080!important}
.ws-empty-message,.s4-p13-empty{padding:16px!important;color:#5f7686!important;font-size:.7rem!important}

html[dir=rtl] .ux-account-menu{right:auto;left:52px}
html[dir=rtl] .ux-aoi-menu{left:auto;right:0}
html[dir=rtl] .ux-aoi-menu button{text-align:right}
html[dir=rtl] .s4-phase11a-context-help{float:left!important;margin-left:0!important;margin-right:6px!important}
html[dir=rtl] .ux-result-detail-toggle{margin-right:auto!important;margin-left:0!important}

@media(max-width:900px){
  :root{--panelW:min(88vw,380px)}
  .panel{width:min(88vw,380px)!important;padding:9px}
  .divider{left:min(88vw,380px)!important}
  .app.collapsed .divider{left:0!important}
  .app:not(.collapsed) .id-toolbar,.app:not(.collapsed) .search-wrap,.app:not(.collapsed) .ux-account-menu{display:none!important}
  .id-toolbar{top:8px!important;right:8px!important}
  .id-btn,.ux-icon-button{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .search-wrap,.app.collapsed .search-wrap{top:62px!important;left:62px!important;right:auto!important;width:calc(100vw - 70px)!important}
  .search-box{height:42px!important;min-height:42px!important}
  .layers-panel{top:58px!important;right:8px!important}
  .ux-account-menu{top:58px;right:50px}
  .map-wrap .leaflet-control-zoom a,.map-wrap .leaflet-draw-toolbar a,.map-wrap .leaflet-top.leaflet-left .aoi-upload,.map-wrap .ws-location-control button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  .map-wrap .leaflet-control-zoom a{line-height:44px!important;font-size:22px!important}
  .ws-module-nav button small{display:none}
  .ws-module-nav button{min-height:39px!important}
}

@media(max-width:700px){
  .s4-help-backdrop{padding:0!important}
  .s4-help-dialog{width:100vw!important;height:100dvh!important;border:0!important;border-radius:0!important;grid-template-rows:auto auto auto minmax(0,1fr)!important}
  .s4-help-main{display:block!important;position:relative;overflow:hidden}
  .s4-help-index,.s4-help-article{position:absolute;inset:0;min-height:0;background:#f7fbfd}
  .s4-help-article{transform:translateX(105%);transition:transform .18s ease}
  html[dir=rtl] .s4-help-article{transform:translateX(-105%)}
  .s4-help-dialog.ux-help-article-open .s4-help-article{transform:translateX(0)}
  .s4-help-dialog.ux-help-article-open #uxHelpBack{display:inline-flex}
  .s4-help-head label{margin-left:auto}
  .s4-help-tabs{overflow-x:auto;grid-template-columns:repeat(4,minmax(110px,1fr))!important}
  .ux-help-breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .s4-p13-backdrop{left:0!important;top:0!important;width:100vw!important;height:100dvh!important;background:#f7fbfe!important}
  .s4-p13-drawer{position:absolute!important;inset:0!important;transform:none!important;width:100%!important;height:100%!important;max-height:none!important;border:0!important;border-radius:0!important;padding:10px!important}
  .ux-drag-handle{cursor:default}
  .ux-export-grid{grid-template-columns:1fr 1fr}
  .ws-panel-summary{grid-template-columns:1.3fr 1fr .8fr!important}
}

@media(max-width:420px){
  .panel{width:calc(100vw - 34px)!important}
  .divider{left:calc(100vw - 34px)!important}
  .ws-panel-head strong{max-width:142px}
  .s4-p12-language button,.ws-reset{min-width:27px!important;padding:2px 5px!important}
  .ws-module-nav button{font-size:.6rem!important}
  .ux-aoi-actions{gap:1px}.ux-quiet-icon{min-width:22px!important;padding:2px 3px!important}
  .id-toolbar{gap:2px!important;padding:3px!important}
  .id-btn,.ux-icon-button{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  .search-wrap,.app.collapsed .search-wrap{top:58px!important;left:60px!important;width:calc(100vw - 68px)!important}
  .s4-help-head{gap:5px!important;padding:8px!important}.s4-help-head h2{font-size:.86rem!important}
  .s4-help-head label{font-size:.62rem!important}.s4-help-head select{max-width:84px}
}
