/* Corner-anchored map furniture and a consistent, compact details tray. */
.unified-workspace{--map-inset:10px;--tray-height:114px}
.unified-workspace .glass{background:rgba(248,252,253,.68);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);border:1px solid #ffffffa6;box-shadow:0 4px 22px #16334620}
.unified-workspace .workspace-toolbar{top:var(--map-inset);left:var(--map-inset);right:auto;gap:10px;padding:6px 10px;width:max-content;max-width:calc(100% - 132px);flex-wrap:nowrap}
.unified-workspace .workspace-toolbar>b{display:none}
.unified-workspace .workspace-centre{position:absolute;top:var(--map-inset);right:var(--map-inset);z-index:550;padding:12px;font-size:11px}
.unified-workspace .history-summary{left:var(--map-inset);top:68px;width:290px;max-height:calc(100% - 260px)}
.unified-workspace .history-tree{right:var(--map-inset);top:68px;width:270px;max-height:calc(100% - 260px)}
.unified-workspace .workspace-drawer{left:104px;right:var(--map-inset);bottom:28px;padding:5px 10px!important}
.unified-workspace .workspace-drawer-tabs{height:38px;overflow-x:auto;white-space:nowrap}
.unified-workspace .workspace-drawer-body{height:var(--tray-height);max-height:none;overflow:auto;padding:6px 0 0;box-sizing:border-box}
.workspace-drawer-body>div{height:100%}
.unified-workspace #history-aircraft{height:100%;padding-bottom:4px;box-sizing:border-box}
.unified-workspace .aircraft-card{height:100%;box-sizing:border-box;overflow:auto;flex-basis:240px;background:#ffffff5c}
.unified-workspace .workspace-telemetry-grid{display:flex;height:100%;gap:10px;overflow-x:auto}
.unified-workspace .workspace-telemetry-grid article{flex:0 0 670px;display:grid;grid-template-columns:190px 1fr;grid-template-rows:30px 1fr;column-gap:14px;padding:6px 10px;box-sizing:border-box;border:1px solid #d4e1e7;border-radius:8px;background:#ffffff42;overflow:auto}
.unified-workspace .workspace-telemetry-grid h3{grid-column:1;margin:0;font-size:12px;line-height:1.3;gap:5px}
.unified-workspace .workspace-telemetry-grid small{grid-column:1;grid-row:2;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.unified-workspace .workspace-telemetry-grid dl{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));grid-template-rows:repeat(4,auto);grid-auto-flow:column;gap:1px 12px;margin:0;font-size:10px;align-content:start}
.unified-workspace .workspace-telemetry-grid dd{margin:0;font-size:13px;font-weight:600;padding-bottom:4px}
.unified-workspace .workspace-telemetry-grid p{grid-column:1/-1;margin:1px 0;font-size:10px;line-height:1.3}
.unified-workspace .workspace-records{height:100%;display:flex;gap:10px;align-items:stretch;overflow:auto;font-size:11px}
.unified-workspace .workspace-records>h3,.unified-workspace .workspace-records>p,.unified-workspace .workspace-records>article{flex:0 0 220px;box-sizing:border-box;padding:10px;margin:0;border:1px solid #d4e1e7;border-radius:8px;background:#ffffff42;overflow:auto}
.unified-workspace .workspace-records>h3{flex-basis:150px;font-size:12px;display:flex;align-items:center}
.unified-workspace .workspace-records>button{flex:0 0 160px;align-self:center;margin:0;background:#ffffff75}
.unified-workspace .project-plan-group{flex:0 0 220px;display:flex;min-width:0;border:1px solid var(--ui-line,#d4e1e7);border-radius:14px;background:color-mix(in srgb,var(--ui-surface,#fff) 38%,transparent);overflow:hidden}.unified-workspace .project-plan-group[open]{flex-basis:min(760px,85vw);border-color:var(--ui-accent,#168575)}.project-plan-group>summary{list-style:none;cursor:pointer;position:relative;box-sizing:border-box;padding:14px 26px 14px 12px;min-width:200px;display:flex;flex-direction:column;justify-content:center;gap:7px}.project-plan-group>summary::-webkit-details-marker{display:none}.project-plan-group>summary>span{position:absolute;right:12px;top:42%;font-size:20px}.project-plan-group[open]>summary>span{transform:rotate(180deg)}.project-plan-group small{display:block;font-size:10px;color:var(--ui-muted,#64798a);margin:4px 0}.project-plan-expanded{display:flex;min-width:0;gap:9px;overflow:auto;padding:7px;border-left:1px solid var(--ui-line,#d4e1e7)}.project-plan-expanded>.project-plan-actions{flex:0 0 115px;overflow:auto}.project-plan-expanded>.project-tower-card{flex:0 0 210px;border:1px solid var(--ui-line,#d4e1e7);border-radius:10px;padding:8px;overflow:auto}.project-mission-row{border-top:1px solid var(--ui-line,#d4e1e7);margin-top:6px;padding-top:6px}.project-plan-expanded button{padding:5px 7px;font-size:10px;margin:2px}.project-plan-actions button{display:block;width:100%}.inspection-project-group{display:flex;flex:0 0 220px;min-width:0;padding:0!important;border:0!important;background:transparent!important}.inspection-project-group.expanded{flex-basis:min(720px,85vw)}.inspection-project-group>.inspection-project-card{flex:0 0 215px;position:relative}.inspection-project-group>.inspection-project-card>span{position:absolute;right:10px;top:42%;font-size:20px}.inspection-project-towers{display:flex;gap:7px;overflow:auto;padding-left:8px;min-width:0}.inspection-tower-card{min-width:160px;display:flex;flex-direction:column;justify-content:center;gap:7px;border:1px solid var(--ui-line,#d4e1e7);border-radius:12px;padding:12px}.inspection-tower-card small{font-size:10px;color:var(--ui-muted,#64798a)}
.map-layers{position:absolute;left:var(--map-inset);bottom:28px;z-index:600;padding:5px}
.layers-toggle{display:grid;gap:3px;padding:0;border:0;background:transparent!important;font-size:10px;color:#193544}
.layer-preview{display:block;width:66px;height:48px;border-radius:6px;border:1px solid #ffffffc9;overflow:hidden;position:relative;background-color:var(--land,#dce8cf);background-image:linear-gradient(35deg,transparent 42%,var(--road,#fff) 43% 49%,transparent 50%),linear-gradient(115deg,transparent 38%,var(--water,#a8d8ea) 39% 61%,transparent 62%),linear-gradient(160deg,transparent 68%,var(--road,#fff) 69% 74%,transparent 75%);box-shadow:inset 0 0 0 1px #143d4912}
.preview-positron{--land:#ebedeb;--water:#cbd8df;--road:#fff}.preview-bright{--land:#d5edbd;--water:#8ecff1;--road:#ffe6a0}.preview-dark{--land:#282e36;--water:#161f2b;--road:#596370}.preview-fiord{--land:#e0e5dc;--water:#8eaab8;--road:#faf3e7}.preview-midnight-commander{--land:#08304b;--water:#021019;--road:#146474}.preview-standard{--land:#d9e9cd;--water:#aad3df;--road:#f6c874}
.layers-options{position:absolute;left:0;bottom:calc(100% + 10px);width:296px;padding:12px}
.layers-options header{position:static!important;display:flex!important;justify-content:space-between;align-items:center;height:auto!important;padding:0 0 8px!important;background:transparent!important;border:0!important;font-size:12px}
.layers-close{background:transparent;border:0;padding:2px 7px;font-size:20px}
.layers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.layers-grid button{background:transparent;padding:5px 2px;border:1px solid transparent;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#193544}
.layers-grid button[aria-pressed=true]{border-color:#168575;background:#d9fff13b;box-shadow:0 0 0 1px #168575}
.layers-grid .layer-preview{width:72px;height:48px}.unified-workspace button:focus-visible{outline:2px solid #168575;outline-offset:2px}
@media(max-width:800px){.unified-workspace .history-summary{width:230px}.unified-workspace .history-tree{width:230px}.unified-workspace .workspace-drawer-tabs button{padding:8px}.unified-workspace .workspace-drawer{left:100px}}
@media(max-width:560px){.unified-workspace{--map-inset:8px}.unified-workspace .workspace-toolbar{padding:4px;max-width:calc(100% - 98px)}.unified-workspace .workspace-centre{padding:11px 7px;font-size:10px}.unified-workspace .history-summary{top:60px;width:calc(100% - 16px);max-height:23%}.unified-workspace .history-tree{top:calc(23% + 70px);max-height:calc(77% - 275px);width:calc(100% - 16px)}.unified-workspace .workspace-drawer{left:92px;bottom:42px;right:8px;padding:4px 6px!important}.unified-workspace .workspace-drawer-tabs button{padding:8px 5px;font-size:10px}.unified-workspace .workspace-drawer-tabs #workspace-drawer-close{position:sticky;right:0;background:#f4fafacc}.map-layers{bottom:42px}.layers-options{width:min(296px,calc(100vw - 100px));padding:8px;box-sizing:border-box}.layers-grid .layer-preview{width:58px;height:40px}.layers-grid button{font-size:9px}}
.native-map-3d{position:absolute;inset:0;z-index:1;background:#dce7e9}.native-map-3d .maplibregl-ctrl-attrib{font-size:9px;max-width:100%}.native-map-3d .maplibregl-popup-content{color:var(--ui-ink,#193544);background:var(--ui-surface,#fff);font-size:12px;line-height:1.7}.native-map-3d .maplibregl-popup-tip{border-top-color:var(--ui-surface,#fff)}.preview-buildings-3d{--land:#dbe5dc;--water:#afd1e5;--road:#fff;transform:perspective(100px) rotateX(20deg)}.preview-buildings-3d:after{content:'3D';position:absolute;right:3px;bottom:2px;background:#214f68;color:#fff;padding:2px;font:700 10px sans-serif;border-radius:2px}.map-3d-settings{border-top:1px solid var(--ui-line,#ccd8df);padding-top:10px;margin-top:8px}.map-3d-settings label{font-size:11px;display:block}.map-3d-settings input{padding:0;margin:8px 0}.map-3d-settings>div{display:flex;gap:5px}.map-3d-settings button{flex:1;padding:7px;font-size:11px}.map-3d-settings p{font-size:10px;line-height:1.5;margin:8px 0 0}
.preview-liberty-3d{--land:#dce8cf;--water:#a8d8ea;--road:#fff}.preview-positron-3d{--land:#ebedeb;--water:#cbd8df;--road:#fff}.preview-dark-3d{--land:#282e36;--water:#161f2b;--road:#596370}.preview-fiord-3d{--land:#e0e5dc;--water:#8eaab8;--road:#faf3e7}.preview-midnight-3d{--land:#08304b;--water:#021019;--road:#146474}.layer-preview[class*='-3d']:after{content:'3D';position:absolute;right:3px;bottom:2px;background:#214f68;color:#fff;padding:2px;font:700 10px sans-serif;border-radius:2px}
/* The hidden Leaflet coordinate bridge has no visible 2D basemap. */
.unified-workspace #history-map{visibility:hidden}.map-render-error{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);width:min(330px,calc(100% - 32px));padding:20px;text-align:center}.map-render-error p{font-size:12px;margin:10px 0}.map-render-error button{font-size:12px;padding:9px 12px}
