.project-workspace{position:relative;display:grid;grid-template-columns:minmax(250px,280px) minmax(0,1fr) minmax(300px,330px);height:calc(100vh - 154px);min-height:600px;border:1px solid var(--st-border);border-radius:var(--st-radius);overflow:hidden;background:#fff;box-shadow:var(--st-shadow)}
.workspace-panel{min-width:0;background:#fff;overflow:auto}
.workspace-panel+*{border-left:1px solid var(--st-border)}
.workspace-panel>summary{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 12px;background:#f7faf8;border-bottom:1px solid var(--st-border);font-size:.9rem;font-weight:800;cursor:pointer;list-style:none}
.workspace-panel>summary::-webkit-details-marker{display:none}
.workspace-panel>summary::after{content:'−';color:var(--st-muted);font-size:1rem}
.workspace-panel:not([open])>summary::after{content:'+'}
.workspace-panel>summary span{margin-left:auto;margin-right:8px;padding:2px 7px;border-radius:999px;background:#e6f2eb;color:var(--st-green);font-size:.72rem}
.workspace-panel-body{display:grid;gap:12px;padding:12px}
.workspace-panel label{display:grid;gap:4px;font-size:.76rem;font-weight:700;color:var(--st-muted)}
.workspace-panel input,.workspace-panel select,.workspace-map-toolbar select{min-height:36px;border:1px solid var(--st-border);border-radius:var(--st-button-radius);background:#fff;padding:0 9px;color:var(--st-text);font:inherit}
.workspace-layer-list{display:grid;gap:3px;margin:0;padding:0;list-style:none}
.workspace-layer-row{display:grid;grid-template-columns:28px minmax(0,1fr) 62px;align-items:start;gap:8px;min-height:58px;padding:6px 2px;border-bottom:1px solid #edf1ee}
.workspace-layer-row b,.workspace-layer-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-layer-row b{font-size:.8rem}
.workspace-layer-row small{margin-top:2px;color:var(--st-muted);font-size:.68rem}
.workspace-layer-main{min-width:0}
.workspace-layer-title{display:flex;align-items:center;gap:5px;min-width:0}
.workspace-layer-title b{min-width:0;flex:1}
.compact-badge{padding:1px 5px;border-radius:999px;background:#eef2ef;color:var(--st-muted);font-size:.6rem;font-weight:800}
.workspace-layer-controls{display:flex;align-items:center;gap:7px;min-width:0;margin-top:4px;overflow-x:auto;scrollbar-width:thin}
.workspace-layer-controls label{display:flex!important;align-items:center;gap:3px!important;min-height:20px;white-space:nowrap;font-size:.62rem!important;font-weight:600!important}
.workspace-layer-controls input[type=checkbox]{width:13px;height:13px;margin:0}
.workspace-layer-controls input[type=range]{width:54px;height:14px}
.workspace-layer-controls select{width:82px;min-height:24px!important;height:24px;padding:0 4px!important;font-size:.62rem}
.workspace-layer-actions{display:grid;grid-template-columns:repeat(2,30px);gap:1px}
.workspace-layer-symbol{justify-self:center;display:block}
.workspace-layer-symbol.point{width:10px;height:10px;border-radius:50%;background:#11a862;border:2px solid #fff;box-shadow:0 0 0 1px #6e8177}
.workspace-layer-symbol.line{width:22px;border-top:3px solid #0969da;transform:rotate(-24deg)}
.workspace-layer-symbol.polygon{width:19px;height:15px;background:rgba(46,157,99,.3);border:2px solid #00513f;clip-path:polygon(50% 0,100% 100%,0 100%)}
.workspace-layer-row .icon-button{min-width:30px;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--st-green);font-size:1.05rem}
.workspace-layer-row .icon-button:hover{border-color:var(--st-border);background:#eef6f1}
.workspace-layer-row .icon-button:disabled{opacity:.28;cursor:not-allowed}
.workspace-layer-toolbar{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.workspace-layer-toolbar button{min-height:32px;border:1px solid var(--st-border);border-radius:6px;background:#fff;color:var(--st-green);font-size:.68rem;font-weight:800}
.workspace-group-list{display:grid;gap:3px;margin:0;padding:0;list-style:none}
.workspace-group-list li{display:grid;grid-template-columns:20px minmax(0,1fr) auto 30px;align-items:center;gap:5px;padding:5px 4px;border-radius:6px;background:#eef5f1;font-size:.72rem}
.workspace-group-list small{color:var(--st-muted)}
.workspace-empty{padding:12px 4px;font-size:.72rem}
.workspace-attribute-table{max-width:min(760px,78vw);max-height:52vh}
.notice.compact{margin:0;padding:7px 9px;font-size:.7rem}
.workspace-filters{border-top:1px solid var(--st-border);padding-top:8px}
.workspace-filters summary{margin-bottom:9px;color:var(--st-green);font-size:.78rem;font-weight:800;cursor:pointer}
.workspace-filters label+label{margin-top:8px}
.workspace-map-column{display:grid;grid-template-rows:46px 43px minmax(0,1fr);min-width:0;background:#e9efeb}
.workspace-map-toolbar{z-index:2;display:flex;align-items:center;gap:8px;padding:5px 8px;border-bottom:1px solid var(--st-border);background:#fff;overflow-x:auto;white-space:nowrap}
.workspace-map-toolbar button,.workspace-toolbar-link{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--st-border);border-radius:6px;background:#fff;color:var(--st-green);font-size:.76rem;font-weight:800;text-decoration:none}
.workspace-map-toolbar label{display:flex;align-items:center;gap:6px;color:var(--st-muted);font-size:.72rem;font-weight:700}
.workspace-map-toolbar select{min-height:34px;max-width:160px}
.workspace-edit-toolbar{z-index:2;display:flex;align-items:center;gap:4px;min-width:0;padding:4px 7px;border-bottom:1px solid var(--st-border);background:#f7faf8;overflow-x:auto;white-space:nowrap}
.workspace-edit-toolbar label{display:flex;align-items:center;gap:5px;color:var(--st-muted);font-size:.68rem;font-weight:800}
.workspace-edit-toolbar select{width:155px;min-height:32px;border:1px solid var(--st-border);border-radius:6px;background:#fff;padding:0 7px;color:var(--st-text);font:inherit}
.workspace-edit-toolbar button,.workspace-feature-actions button{min-height:30px;padding:0 8px;border:1px solid var(--st-border);border-radius:6px;background:#fff;color:var(--st-green);font-size:.7rem;font-weight:800}
.workspace-edit-toolbar button.active,.workspace-edit-toolbar button[aria-pressed=true]{border-color:var(--st-green);background:#e2f3e9;box-shadow:inset 0 0 0 1px var(--st-green)}
.workspace-edit-toolbar button:disabled,.workspace-feature-actions button:disabled{opacity:.4;cursor:not-allowed}
#mapEditStatus{max-width:210px;overflow:hidden;text-overflow:ellipsis;color:var(--st-muted);font-size:.66rem}
#mapCoordinateReadout{margin-left:auto;color:var(--st-muted);font-variant-numeric:tabular-nums;font-size:.72rem}
.map-control-group{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}
.map-control-group .button{min-height:34px;padding:0 8px;font-size:.75rem}
.map-canvas{position:relative;min-width:0;min-height:0;background:#e9efeb}
.map-host{position:absolute;inset:0}
.map-status{margin:0;color:var(--st-muted);font-size:.76rem}
.map-status.floating{position:absolute;z-index:2;left:10px;bottom:8px;max-width:calc(100% - 20px);padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.92);box-shadow:var(--st-shadow)}
.workspace-project-meta,.workspace-feature-properties{display:grid;gap:0;margin:0}
.workspace-project-meta div,.workspace-feature-properties div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid #edf1ee}
.workspace-project-meta dt,.workspace-feature-properties dt{color:var(--st-muted);font-size:.7rem;font-weight:700}
.workspace-project-meta dd,.workspace-feature-properties dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:.75rem}
.workspace-feature-details{max-height:270px;overflow:auto}
.workspace-feature-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.workspace-feature-actions .danger-text{color:#a72b1e}
.workspace-vertex-marker{width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#ff9f1c;box-shadow:0 1px 4px rgba(0,0,0,.45);cursor:move}
.workspace-panel h3{margin:2px 0 0;font-size:.8rem}
.map-legend{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.map-legend li{display:flex;align-items:center;gap:8px;font-size:.75rem}
.legend-point{width:11px;height:11px;border-radius:50%;background:#11a862;border:2px solid white;box-shadow:0 0 0 1px #999}
.legend-line{width:22px;border-top:3px solid #0969da}
.legend-polygon{width:19px;height:13px;background:rgba(46,157,99,.35);border:1px solid #00513f}
.maplibregl-popup-content{border-radius:8px;box-shadow:var(--st-shadow)}
.project-workspace:fullscreen{width:100vw;height:100vh;min-height:0;border:0;border-radius:0}
.project-workspace:fullscreen .workspace-map-column{height:100vh}

@media(max-width:1100px){
  .project-workspace{grid-template-columns:minmax(220px,250px) minmax(0,1fr);height:calc(100vh - 145px)}
  .workspace-context{position:absolute;z-index:6;right:0;top:0;bottom:0;width:min(330px,80vw);border-left:1px solid var(--st-border);box-shadow:-5px 0 18px rgba(0,0,0,.12)}
  .workspace-context:not([open]){bottom:auto;width:112px;overflow:hidden}
  .workspace-context:not([open]) .workspace-panel-body{display:none}
}
@media(max-width:800px){
  .project-workspace{display:block;height:calc(100vh - 136px);min-height:520px}
  .workspace-map-column{height:100%}
  .workspace-layers,.workspace-context{position:absolute;z-index:7;top:0;bottom:auto;width:min(290px,84vw);max-height:calc(100% - 46px);border:1px solid var(--st-border);box-shadow:0 5px 18px rgba(0,0,0,.14)}
  .workspace-layers{left:0}
  .workspace-context{right:0}
  .workspace-layers:not([open]),.workspace-context:not([open]){width:104px;overflow:hidden}
  .workspace-layers:not([open]) .workspace-panel-body,.workspace-context:not([open]) .workspace-panel-body{display:none}
  .workspace-map-toolbar{padding-left:108px}
  .workspace-edit-toolbar{padding-left:8px}
  #mapCoordinateReadout{display:none}
}
@media(max-width:480px){
  .project-workspace{height:calc(100vh - 128px);min-height:500px}
  .workspace-map-toolbar{padding-left:102px}
  .workspace-map-toolbar label{font-size:0}
  .workspace-map-toolbar select{max-width:118px;font-size:.72rem}
}
