/* Compact, map-first SurveyTerra workspace. This layer intentionally overrides
   only shell navigation and the project map route. */
:root{--st-sidebar:204px}
.nav-more{position:relative}
.nav-more-chevron{margin-left:auto;color:#bfd3cb;font-size:16px}
.nav-more-menu{display:grid;gap:2px;margin:3px 0 6px;padding:4px;border:1px solid #ffffff20;border-radius:8px;background:#002f25}
.nav-more-menu .nav{min-height:32px;padding:5px 8px;font-size:11px}
.sidebar-collapsed .nav-more-menu{position:fixed;z-index:40;left:54px;width:190px;margin-top:-40px;padding:5px;box-shadow:var(--st-shadow)}
.sidebar-collapsed .nav-more-menu .nav span{display:block;font-size:11px}
.sidebar-collapsed .nav-more-chevron,.sidebar-collapsed .sidebar-storage,.sidebar-collapsed .sidebar-company-card{display:none}
.sidebar-collapsed .brand-copy{display:none}
.sidebar-collapsed .nav{justify-content:center;padding-inline:4px}
.sidebar-collapsed .nav i{width:24px}
.topbar-project-status{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#e6f3eb;color:var(--st-success);font-size:9px;font-weight:900;letter-spacing:.02em}

.api-status-label{display:grid;gap:1px;color:var(--st-muted);font-size:8px;font-weight:800;text-align:center}
.topbar-badge-button{position:relative}
.topbar-badge-button>b{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border:2px solid white;border-radius:999px;background:var(--st-danger);color:#fff;font-size:8px;line-height:12px}
.profile-toggle{display:flex;align-items:center;gap:7px;min-height:36px;padding:3px 6px;border-radius:9px;background:transparent;color:var(--st-text);text-align:left}
.profile-toggle:hover{background:var(--st-green-50)}
.profile-toggle .avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:10px}
.profile-toggle-copy{display:grid;min-width:0;max-width:140px}
.profile-toggle-copy b,.profile-toggle-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-toggle-copy b{font-size:11px}.profile-toggle-copy small{font-size:8px;letter-spacing:0;text-transform:none}

.message-drawer{position:fixed;z-index:60;top:0;right:0;width:min(340px,calc(100vw - 18px));height:100dvh;padding:0;background:#fff;color:var(--st-text);box-shadow:-16px 0 42px #052d2152}
.message-drawer>header{position:static;height:54px;padding:0 12px;border-bottom:1px solid var(--st-border);box-shadow:none}
.message-drawer>header div{display:grid}.message-drawer>header b{font-size:14px}.message-drawer>header small{font-size:9px;letter-spacing:0;text-transform:none}
.message-drawer>header button{margin-left:auto;width:28px;height:28px;border-radius:7px;background:var(--st-green-50);color:var(--st-green-900);font-size:18px}
.message-drawer-content{height:calc(100dvh - 100px);padding:7px;overflow:auto}
.message-drawer-row{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border-radius:8px;background:#fff;color:var(--st-text);text-align:left}
.message-drawer-row:hover{background:var(--st-green-50)}
.message-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--st-green-100);color:var(--st-green-900);font-size:9px;font-weight:900}
.message-drawer-copy{min-width:0;display:grid;gap:2px}.message-drawer-copy b,.message-drawer-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-drawer-copy b{font-size:11px}.message-drawer-copy small{color:var(--st-muted);font-size:9px}
.message-drawer-meta{display:grid;justify-items:end;gap:3px;color:var(--st-muted);font-size:8px}.message-drawer-meta em{min-width:16px;padding:2px 4px;border-radius:99px;background:var(--st-success);color:#fff;text-align:center;font-style:normal}
.message-drawer-empty{padding:24px 12px;color:var(--st-muted);text-align:center}
.message-drawer>footer{height:46px;padding:7px;border-top:1px solid var(--st-border)}.message-drawer>footer button{width:100%;height:32px;border-radius:7px;background:var(--st-green-900);color:#fff;font-size:11px;font-weight:800}

.project-map-mode main{overflow:hidden}
.project-map-mode main>header{position:relative;z-index:20}
.project-map-mode .page-heading,.project-map-mode .topbar-context{display:none}
.project-map-mode .global-project{display:grid;min-width:180px;max-width:220px;margin-left:2px}
.project-map-mode .global-project span{display:none}
.project-map-mode .global-project select{min-width:180px;height:32px;padding-block:4px;font-size:12px}
.project-map-mode #content{width:100%;max-width:none;height:calc(100dvh - var(--st-topbar));margin:0;padding:0;overflow:hidden}
.project-map-first-shell{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);width:100%;height:100%;min-height:460px;overflow:hidden;background:#e8efeb}
.project-map-first-shell:fullscreen{width:100vw;height:100vh}
.project-map-first-shell button,.project-map-first-shell select,.project-map-first-shell input{font-size:11px}

.project-tool-rail{z-index:10;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 4px;background:linear-gradient(180deg,var(--st-green-950),var(--st-green-900));overflow-y:auto}
.project-rail-button{position:relative;width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:#d6e7e0}
.project-rail-button svg{width:18px;height:18px}.project-rail-button>span{position:absolute;left:44px;z-index:30;display:none;padding:5px 7px;border-radius:5px;background:#10251e;color:#fff;font-size:10px;white-space:nowrap;box-shadow:var(--st-shadow)}
.project-rail-button:hover>span,.project-rail-button:focus-visible>span{display:block}
.project-rail-button:hover,.project-rail-button.active{border-color:#ffffff2d;background:#ffffff18;color:#fff}
.project-rail-button.active::before{content:'';position:absolute;left:-5px;width:3px;height:20px;border-radius:0 3px 3px 0;background:#51d477}
.project-rail-button.tone-purple svg{color:#bd9aff}.project-rail-button.tone-blue svg{color:#72adff}.project-rail-button.tone-orange svg{color:#ffad57}.project-rail-button.tone-cyan svg{color:#57d1df}.project-rail-button.tone-green svg{color:#56d37c}.project-rail-button.tone-amber svg{color:#ffd166}.project-rail-button.tone-slate svg{color:#c5d1cd}

.project-left-drawer{position:absolute;z-index:9;top:0;bottom:28px;left:48px;width:280px;height:auto;padding:0;background:#fff;color:var(--st-text);border-right:1px solid var(--st-border);box-shadow:8px 0 22px #0b332620;overflow:hidden}
.project-left-drawer>header,.project-right-panel>header{position:static;height:42px;padding:0 10px;display:flex;align-items:center;border-bottom:1px solid var(--st-border);box-shadow:none}
.project-left-drawer>header b,.project-right-panel>header b{font-size:13px}
.project-left-drawer>header button,.project-right-panel>header button{margin-left:auto;width:27px;height:27px;border-radius:6px;background:var(--st-green-50);color:var(--st-green-900);font-size:17px}
.project-drawer-panel{height:calc(100% - 42px);padding:9px;overflow:auto}
.project-drawer-panel>.drawer-link{width:100%;min-height:30px;margin-top:6px;padding:5px 8px;border-radius:6px;background:var(--st-green-50);color:var(--st-green-900);text-align:left;font-size:11px;font-weight:800}
.compact-field{display:grid;gap:3px;margin:7px 0;color:var(--st-muted);font-size:9px;font-weight:800}.compact-field input{height:30px;padding:0 8px;border:1px solid var(--st-border);border-radius:6px}
.project-drawer-panel .workspace-layer-row{grid-template-columns:20px minmax(0,1fr);min-height:52px}.project-drawer-panel .workspace-layer-actions{grid-column:2;display:flex;gap:1px}.project-drawer-panel .workspace-layer-controls{display:none}

.project-map-stage{position:relative;min-width:0;height:100%;overflow:hidden}
.project-map-stage>.map-canvas{position:absolute;inset:0 0 28px;min-width:0;min-height:0;overflow:hidden}
.project-map-stage>.map-canvas .map-host{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0}
.project-map-stage>.map-canvas .maplibregl-map,.project-map-stage>.map-canvas .maplibregl-canvas-container,.project-map-stage>.map-canvas .maplibregl-canvas{width:100%;height:100%}
.map-first-toolbar{position:absolute;z-index:8;top:8px;left:8px;max-width:calc(100% - 76px);height:38px;display:flex;align-items:center;gap:3px;padding:3px;border:1px solid #cbd9d2;border-radius:9px;background:#ffffffee;box-shadow:var(--st-shadow-sm);white-space:nowrap}
.map-tool-button,.map-tool-menu>summary{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--st-green-900);font-weight:800;list-style:none}
.map-tool-button svg,.map-tool-menu>summary svg{width:16px;height:16px}.map-tool-button>span,.map-tool-menu>summary>span{display:none}
.map-tool-button:hover,.map-tool-menu>summary:hover{background:var(--st-green-50)}.map-tool-button.active,.map-tool-button[aria-pressed=true]{border-color:#80bfa2;background:#def3e6;color:var(--st-green-950);box-shadow:inset 0 0 0 1px #fff}
.map-tool-button:disabled{opacity:.34;cursor:not-allowed}
.map-tool-menu{position:relative}.map-tool-menu>summary::-webkit-details-marker{display:none}.map-tool-menu[open]>summary{background:var(--st-green-900);color:#fff}
.map-tool-menu>div{position:absolute;z-index:18;top:38px;left:0;min-width:152px;display:grid;gap:2px;padding:4px;border:1px solid var(--st-border);border-radius:8px;background:#fff;box-shadow:var(--st-shadow)}
.map-tool-menu>div .map-tool-button{width:100%;justify-content:flex-start}.map-tool-menu>div .map-tool-button>span{display:inline}
.map-tool-more>div{left:auto;right:0}.map-tool-menu .map-basemap-label{display:grid;gap:3px;padding:5px 7px;color:var(--st-muted);font-size:9px;font-weight:800}.map-tool-menu select{height:28px;border:1px solid var(--st-border);border-radius:6px}
.workspace-basemap-menu{position:relative}.workspace-basemap-menu>div{position:absolute;z-index:40;right:0;top:calc(100% + 5px);width:220px;padding:5px;background:#fff;border:1px solid var(--st-border);border-radius:9px;box-shadow:0 10px 26px rgba(10,48,37,.16)}.workspace-basemap-menu>div button{display:grid;width:100%;gap:1px;padding:7px 9px;text-align:left;border:0;border-radius:6px;background:transparent;color:var(--st-ink)}.workspace-basemap-menu>div button:hover,.workspace-basemap-menu>div button:focus{background:#edf6f1}.workspace-basemap-menu>div button b{font-size:11px}.workspace-basemap-menu>div button small{font-size:9px;color:var(--st-muted)}
.map-edit-layer{display:flex;align-items:center;gap:4px;padding-left:3px;color:var(--st-muted);font-size:9px;font-weight:800}.map-edit-layer select{width:126px;height:30px;padding:0 6px;border:1px solid var(--st-border);border-radius:6px;background:#fff}
.map-session-actions{display:flex;gap:2px}
.map-edit-status{position:absolute;z-index:7;top:52px;left:8px;max-width:270px;padding:4px 7px;border-radius:5px;background:#ffffffde;color:var(--st-muted);font-size:9px;box-shadow:var(--st-shadow-sm)}

.project-right-panel{position:absolute;z-index:9;top:0;right:0;bottom:28px;width:320px;height:auto;padding:0;background:#fff;color:var(--st-text);border-left:1px solid var(--st-border);box-shadow:-8px 0 22px #0b332620}
.project-right-panel>header div{display:grid}.project-right-panel>header small{font-size:9px;letter-spacing:0;text-transform:none}
.details-tabs{display:flex;gap:2px;padding:5px 7px;border-bottom:1px solid var(--st-border);overflow-x:auto}.details-tabs button{min-height:27px;padding:3px 7px;border-radius:5px;background:transparent;color:var(--st-muted);font-size:9px;font-weight:800}.details-tabs button.active{background:var(--st-green-100);color:var(--st-green-900)}
.details-tab-panel{height:calc(100% - 116px);padding:8px;overflow:auto}.project-right-panel .workspace-feature-details{max-height:none}
.project-right-panel>.workspace-feature-actions{position:absolute;right:0;bottom:0;left:0;display:flex;padding:7px;border-top:1px solid var(--st-border);background:#fff}.workspace-feature-actions>button,.workspace-feature-actions>details{flex:1}.workspace-feature-actions summary{height:30px;display:grid;place-items:center;border:1px solid var(--st-border);border-radius:6px;color:var(--st-green-900);font-size:10px;font-weight:800;list-style:none}.workspace-feature-actions details{position:relative}.workspace-feature-actions details>div{position:absolute;right:0;bottom:34px;min-width:120px;padding:4px;border:1px solid var(--st-border);border-radius:7px;background:#fff;box-shadow:var(--st-shadow)}

.map-bottom-status{position:absolute;z-index:11;right:0;bottom:0;left:0;height:28px;display:flex;align-items:center;gap:11px;padding:0 8px;border-top:1px solid var(--st-border);background:#fbfdfcf2;color:var(--st-muted);font-size:10px;white-space:nowrap;overflow-x:auto;scrollbar-width:thin}
.map-bottom-status b{color:var(--st-text);font-weight:800}.map-bottom-status>span{display:inline-flex;gap:3px}.map-network-status{margin-left:auto;color:var(--st-success);font-weight:900}.map-network-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.map-network-status.offline{color:var(--st-warning)}
.map-status-crs{flex:0 0 auto;max-width:190px}.map-status-crs .crs-selector{display:block}.map-status-crs .crs-label-row{display:none}.map-status-crs .crs-selected-row{min-height:24px;height:24px;padding:2px 6px;border:0;border-radius:5px;background:#e8f3ed}.map-status-crs .crs-selected-copy{display:flex;gap:4px}.map-status-crs .crs-selected-copy strong{max-width:112px;font-size:10px}.map-status-crs .crs-selected-copy small{font-size:0}.map-status-crs .crs-selected-copy small::first-letter{font-size:0}.map-status-crs .crs-chevron{font-size:11px}
.map-measure-panel{position:absolute;z-index:12;top:54px;left:12px;width:min(340px,calc(100% - 24px));display:grid;gap:7px;padding:9px;border:1px solid #cbd9d2;border-radius:12px;background:#fffffff2;color:var(--st-green-950);box-shadow:var(--st-shadow);backdrop-filter:blur(8px)}
.map-measure-panel header,.map-measure-panel footer{display:flex;align-items:center;gap:7px}.map-measure-panel header>span:nth-child(2),.map-measure-panel footer>span{min-width:0;display:grid;gap:1px;flex:1}.map-measure-panel b{font-size:12px}.map-measure-panel small{color:var(--st-muted);font-size:9px}.map-measure-heading-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#e4f2e9;color:var(--st-green-800)}.map-measure-heading-icon svg{width:17px;height:17px}.map-measure-panel header button,.map-measure-panel footer button{min-height:28px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:var(--st-green-800);font-size:10px;font-weight:800}.map-measure-panel header button:last-child{width:28px;padding:0}.map-measure-panel header button svg,.map-measure-panel footer button svg{width:15px;height:15px}.map-measure-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.map-measure-modes button,.map-measure-units button{min-height:30px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 7px;border:1px solid var(--st-border);border-radius:8px;background:var(--st-green-50);color:var(--st-green-950);font-size:10px;font-weight:800}.map-measure-modes button svg{width:15px;height:15px}.map-measure-modes button[aria-pressed=true],.map-measure-units button[aria-pressed=true]{border-color:var(--st-green-900);background:var(--st-green-900);color:#fff}.map-measure-units{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.map-measure-units button{min-width:94px;flex:0 0 auto}.map-measure-panel footer{padding-top:1px}.map-measure-panel footer>button{display:flex;align-items:center;gap:4px}.map-measure-panel footer>button:disabled{opacity:.35}.project-map-stage .map-status.floating{left:8px;bottom:38px;padding:4px 6px;font-size:9px}

.project-map-first-shell:fullscreen .project-left-drawer,.project-map-first-shell:fullscreen .project-right-panel{bottom:28px}

/* Project workspace: compact three-column map-first layout. */
.project-map-first-shell{grid-template-columns:286px minmax(0,1fr);grid-template-rows:54px minmax(0,1fr);background:#f5f8f6}
.project-workspace-header{grid-column:1/-1;grid-row:1;position:relative;z-index:14;height:54px;display:grid;grid-template-columns:minmax(220px,auto) minmax(300px,1fr) auto;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--st-border);background:#fff}
.project-workspace-identity{min-width:0;display:flex;align-items:center;gap:8px}.project-workspace-identity>b{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.project-workspace-identity>em{padding:3px 7px;border-radius:999px;background:#e5f5eb;color:#258047;font-size:9px;font-style:normal;font-weight:900}
.project-browser-icon{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#e7f3ed;color:var(--st-green-900)}.project-browser-icon svg{width:16px;height:16px}
.project-workspace-tabs{height:100%;display:flex;align-items:stretch;justify-content:center;gap:12px;overflow-x:auto}.project-workspace-tabs button{position:relative;min-width:54px;padding:0 4px;background:transparent;color:var(--st-muted);font-size:10px;font-weight:800}.project-workspace-tabs button:hover,.project-workspace-tabs button.active{color:var(--st-green-900)}.project-workspace-tabs button.active::after{content:'';position:absolute;right:3px;bottom:0;left:3px;height:2px;border-radius:2px;background:var(--st-success)}
.project-workspace-actions{display:flex;align-items:center;gap:5px}.project-workspace-actions>button,.project-workspace-actions>details>summary,.project-workspace-actions>.view-mode{height:31px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:1px solid var(--st-border);border-radius:6px;background:#fff;color:var(--st-text);font-size:9px;font-weight:850;list-style:none;text-decoration:none}.project-workspace-actions svg{width:14px;height:14px}.project-workspace-actions>.view-mode{min-width:33px;padding-inline:7px}.project-workspace-actions>.view-mode.active{border-color:var(--st-green-900);background:var(--st-green-900);color:#fff}.project-workspace-actions>details{position:relative}.project-workspace-actions>details>div{position:absolute;z-index:30;top:35px;right:0;min-width:130px;display:grid;gap:2px;padding:4px;border:1px solid var(--st-border);border-radius:7px;background:#fff;box-shadow:var(--st-shadow)}.project-workspace-actions>details>div button{padding:7px;border-radius:5px;background:#fff;color:var(--st-text);text-align:left;font-size:10px}.project-workspace-actions>details>div button:hover{background:var(--st-green-50)}

.project-browser{grid-column:1;grid-row:2;min-width:0;padding:10px;border-right:1px solid var(--st-border);background:#fbfdfc;overflow:auto}.project-browser>header{position:static;height:32px;display:flex;align-items:center;padding:0;border:0;box-shadow:none}.project-browser>header>b{font-size:13px}.compact-create{margin-left:auto;height:28px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border-radius:6px;background:var(--st-green-900);color:#fff;font-size:9px;font-weight:850;text-decoration:none}.compact-create svg{width:13px;height:13px}
.project-browser-search{height:32px;display:flex;align-items:center;gap:6px;margin:5px 0 11px;padding:0 8px;border:1px solid var(--st-border);border-radius:6px;background:#fff}.project-browser-search svg{width:14px;height:14px;color:var(--st-muted)}.project-browser-search input{min-width:0;width:100%;height:28px;padding:0;border:0;outline:0;background:transparent}
.project-browser-label{display:block;margin:8px 2px 5px;color:var(--st-muted);font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.project-browser-current{padding:10px;border:1px solid var(--st-border);border-radius:8px;background:#fff;box-shadow:var(--st-shadow-sm)}.project-browser-current>header{position:static;height:auto;display:flex;align-items:center;gap:8px;padding:0;border:0;box-shadow:none}.project-browser-current>header>span:nth-child(2){min-width:0;display:grid;gap:2px}.project-browser-current>header b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.project-browser-current>header em{width:max-content;padding:2px 5px;border-radius:999px;background:#e5f5eb;color:#258047;font-size:8px;font-style:normal;font-weight:850}.project-browser-current>p{margin:8px 0;color:var(--st-muted);font-size:9px}.project-browser-current>dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:7px 0;border-block:1px solid var(--st-border)}.project-browser-current>dl div{display:grid;justify-items:center;gap:2px;border-right:1px solid var(--st-border)}.project-browser-current>dl div:last-child{border:0}.project-browser-current dt{color:var(--st-muted);font-size:7px}.project-browser-current dd{margin:0;font-size:10px;font-weight:900}.project-browser-current>footer{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px}.project-browser-current>footer a,.project-browser-current>footer button{min-width:0;height:32px;display:grid;place-items:center;gap:1px;padding:2px;border:1px solid var(--st-border);border-radius:5px;background:#fff;color:var(--st-green-900);font-size:7px;font-weight:800;text-decoration:none}.project-browser-current>footer svg{width:12px;height:12px}
.project-browser-current>header{background:transparent;color:var(--st-text)}
.project-browser-list{display:grid;border:1px solid var(--st-border);border-radius:7px;background:#fff;overflow:hidden}.project-browser-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:45px;padding:6px 7px;border-bottom:1px solid var(--st-border);color:var(--st-text);text-decoration:none}.project-browser-row:last-child{border:0}.project-browser-row:hover{background:var(--st-green-50)}.project-browser-row>span:nth-child(2){min-width:0;display:grid;gap:2px}.project-browser-row b,.project-browser-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-browser-row b{font-size:9px}.project-browser-row small{color:var(--st-muted);font-size:7px}.project-browser-row>em{padding:2px 5px;border-radius:999px;background:#edf2ef;color:var(--st-muted);font-size:7px;font-style:normal;font-weight:850}.project-browser-row>em.status-active,.project-browser-row>em.status-published,.project-browser-row>em.status-ready{background:#e5f5eb;color:#258047}.project-browser-view-all{height:32px;display:flex;align-items:center;gap:5px;padding:0 4px;color:var(--st-green-900);font-size:9px;font-weight:850;text-decoration:none}

.project-tool-rail{display:none}.project-map-stage{grid-column:2;grid-row:2}
.project-left-drawer{top:54px;left:286px;bottom:28px}
.project-map-stage>.map-canvas{right:304px}.project-map-stage:has(.project-right-panel.hidden)>.map-canvas{right:0}.project-right-panel{width:304px;box-shadow:none}.project-right-panel.hidden+.map-bottom-status{right:0}
.map-first-toolbar{top:14px;left:12px;width:48px;max-width:none;height:auto;max-height:calc(100% - 68px);flex-direction:column;align-items:stretch;padding:4px;white-space:normal}.map-tool-button,.map-tool-menu>summary{width:38px;min-width:38px;height:36px;padding:0}.map-tool-menu>div{top:0;left:46px}.map-tool-more>div{right:auto}.map-edit-layer{width:38px;padding:0}.map-edit-layer>span{display:none}.map-edit-layer select{width:38px;height:34px;padding:0;color:transparent}.map-session-actions{display:grid}.map-edit-status{top:14px;left:68px}.project-map-stage .map-status.floating{left:68px}
.project-right-panel>header{height:44px}.details-tabs{justify-content:space-between}.details-tabs button{padding-inline:4px}.workspace-feature-details dl{font-size:9px}

@media(max-width:1280px){
  .project-map-first-shell{grid-template-columns:250px minmax(0,1fr)}.project-left-drawer{left:250px}.project-workspace-header{grid-template-columns:minmax(190px,auto) 1fr auto}.project-workspace-tabs{gap:5px}.project-workspace-actions>button span,.project-workspace-actions>details>summary span{display:none}
}

@media(max-width:1180px){
  .project-map-mode .global-search{display:none}.project-map-mode .profile-toggle-copy{display:none}
  .map-edit-layer span{display:none}.map-edit-layer select{width:112px}
}
@media(max-width:900px){
  .project-map-first-shell{grid-template-columns:210px minmax(0,1fr)}
  .project-workspace-header{grid-template-columns:minmax(170px,1fr) auto}.project-workspace-tabs{display:none}.project-workspace-actions>details,.project-workspace-actions>.view-mode{display:none}
  .project-browser{padding:7px}.project-browser-current>dl{grid-template-columns:repeat(2,1fr)}.project-left-drawer{left:210px;width:min(280px,calc(100vw - 228px))}
  .project-right-panel{width:min(320px,calc(100vw - 58px))}
  .map-first-toolbar{max-width:calc(100% - 14px);overflow-x:auto}.map-edit-layer{display:none}
  .map-bottom-status{gap:8px}
}
@media(max-width:760px){
  .project-map-mode #sidebar{z-index:70}.project-map-mode main>header{height:48px;min-height:48px;padding-inline:7px}.project-map-mode #content{height:calc(100dvh - 48px)}
  .project-map-mode .global-project{display:grid;flex:1;min-width:0}.project-map-mode .global-project span{display:none}.project-map-mode .global-project select{width:100%;min-width:0;height:32px;padding-block:3px}
  .project-map-mode .topbar-project-status,.project-map-mode .api-status-label,.project-map-mode .head-actions .head-icon,.project-map-mode .profile-toggle-copy{display:none}
  .project-map-first-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(0,1fr)}.project-workspace-header{height:48px;grid-template-columns:minmax(0,1fr) auto;padding-inline:7px}.project-workspace-identity>em{display:none}.project-workspace-actions>button{width:30px;padding:0}.project-workspace-actions>button span{display:none}
  .project-browser{display:none}.project-map-stage{grid-column:1;grid-row:2}.project-left-drawer{top:48px;left:0;bottom:28px;width:calc(100vw - 18px);max-width:290px}.project-right-panel{top:auto;bottom:28px;width:calc(100vw - 18px);height:min(50dvh,360px)}
  .details-tab-panel{height:calc(100% - 116px)}
  .project-map-stage>.map-canvas{right:0}.map-first-toolbar{top:6px;left:5px;width:42px;max-width:42px;height:auto;max-height:calc(100% - 48px);padding:2px;overflow-y:auto}.map-tool-button,.map-tool-menu>summary{width:34px;height:30px;min-width:30px}
  .map-edit-status{top:6px;left:53px}.map-bottom-status{font-size:9px}.map-bottom-status>span:nth-of-type(n+5):not(.map-network-status){display:none}
}

/* Project workspace vertical rail: navigation and workspace actions only. */
.project-map-first-shell{grid-template-columns:48px minmax(0,1fr);grid-template-rows:54px minmax(0,1fr)}
.project-workspace-header{grid-column:1/-1;grid-row:1}
.project-tool-rail{grid-column:1;grid-row:2;z-index:16;display:flex;gap:3px;padding:6px 5px;border-right:1px solid var(--st-border);background:#fbfdfc;overflow:visible}
.project-tool-rail>hr{width:28px;margin:3px 0;border:0;border-top:1px solid var(--st-border)}
.project-rail-button,.project-rail-menu>summary{position:relative;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--st-green-900);list-style:none;cursor:pointer}
.project-rail-button svg,.project-rail-menu>summary svg{width:17px;height:17px}
.project-rail-button>span,.project-rail-menu>summary>span{position:absolute;left:42px;z-index:45;display:none;padding:5px 7px;border-radius:5px;background:#10251e;color:#fff;font-size:9px;white-space:nowrap;box-shadow:var(--st-shadow)}
.project-rail-button:hover>span,.project-rail-button:focus-visible>span,.project-rail-menu>summary:hover>span,.project-rail-menu>summary:focus-visible>span{display:block}
.project-rail-button:hover,.project-rail-button.active,.project-rail-menu[open]>summary{border-color:#b9d8c8;background:#e6f3eb;color:var(--st-green-950)}
.project-rail-button.active::before{left:-6px;background:var(--st-success)}
.project-rail-button.loading svg{animation:st-rail-spin .75s linear infinite}
@keyframes st-rail-spin{to{transform:rotate(360deg)}}
.project-rail-menu{position:relative}
.project-rail-menu>summary::-webkit-details-marker{display:none}
.project-rail-menu>summary>b{font-size:17px;line-height:1;letter-spacing:1px}
.project-rail-popover{position:absolute;z-index:44;top:0;left:43px;width:196px;display:grid;gap:2px;padding:6px;border:1px solid var(--st-border);border-radius:8px;background:#fff;box-shadow:var(--st-shadow)}
.project-rail-popover>b{padding:3px 6px;color:var(--st-green-950);font-size:10px}
.project-rail-popover>button,.project-rail-popover>label{min-height:29px;padding:6px;border:0;border-radius:5px;background:#fff;color:var(--st-text);font-size:10px;text-align:left}
.project-rail-popover>button:hover,.project-rail-popover>button.active{background:var(--st-green-50);color:var(--st-green-900)}
.project-rail-popover>label{display:grid;gap:4px;color:var(--st-muted);font-size:8px;font-weight:800}
.project-rail-popover select{height:28px;border:1px solid var(--st-border);border-radius:5px;background:#fff;color:var(--st-text)}
.project-rail-popover>small{display:flex;align-items:center;gap:4px;padding:5px 6px;color:var(--st-muted);font-size:8px}
.legend-dot{width:7px;height:7px;border-radius:50%;background:#9ca8a3}.legend-dot.online{background:var(--st-success)}.legend-dot.delayed{margin-left:5px;background:var(--st-warning)}

.project-workspace-drawer{position:absolute;z-index:13;top:54px;bottom:28px;left:48px;width:286px;padding:10px;border:1px solid var(--st-border);border-width:0 1px 0 0;background:#fbfdfc;box-shadow:8px 0 22px #0b332620;overflow:auto}
.project-workspace-links{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:8px 0}
.project-workspace-links button{display:grid;place-items:center;gap:2px;min-width:0;padding:6px 2px;border:1px solid var(--st-border);border-radius:7px;background:#f4f8f5;color:var(--st-green-900);font-size:11px;font-weight:700}
.project-workspace-links svg{width:15px;height:15px}
.project-left-drawer{top:54px;left:48px;width:286px}
.project-map-stage{grid-column:2;grid-row:2}
.map-first-toolbar{top:10px;left:12px;width:auto;max-width:calc(100% - 82px);height:40px;flex-direction:row;align-items:center;padding:3px;overflow:visible;white-space:nowrap}
.map-tool-button,.map-tool-menu>summary{width:auto;min-width:34px;height:32px;padding:0 7px}
.map-tool-menu>div{top:38px;left:0}.map-edit-layer{width:auto;padding-left:3px}.map-edit-layer>span{display:inline}.map-edit-layer select{width:126px;height:30px;padding:0 6px;color:inherit}.map-session-actions{display:flex}.map-edit-status{top:54px;left:12px}.project-map-stage .map-status.floating{left:12px}

.project-map-first-shell:fullscreen{grid-template-rows:minmax(0,1fr)}
.project-map-first-shell:fullscreen .project-workspace-header,.project-map-first-shell:fullscreen .project-left-drawer,.project-map-first-shell:fullscreen .project-workspace-drawer,.project-map-first-shell:fullscreen .project-right-panel{display:none!important}
.project-map-first-shell:fullscreen .project-tool-rail{grid-row:1}
.project-map-first-shell:fullscreen .project-map-stage{grid-row:1}
.project-map-first-shell:fullscreen .project-map-stage>.map-canvas{right:0}

@media(max-width:760px){
  .project-map-first-shell{grid-template-columns:42px minmax(0,1fr);grid-template-rows:48px minmax(0,1fr)}
  .project-tool-rail{grid-column:1;grid-row:2;padding-inline:3px}
  .project-rail-button,.project-rail-menu>summary{width:34px;height:34px}
  .project-rail-popover{left:39px}
  .project-workspace-drawer,.project-left-drawer{top:48px;left:42px;width:min(286px,calc(100vw - 54px))}
  .project-map-stage{grid-column:2;grid-row:2}
  .map-first-toolbar{top:6px;left:6px;width:auto;max-width:calc(100% - 12px);height:38px;max-height:none;flex-direction:row;padding:2px;overflow-x:auto;overflow-y:hidden}
  .map-tool-button,.map-tool-menu>summary{width:auto;min-width:32px;height:30px}
  .map-edit-status{top:48px;left:6px}
}
