.project-designer{display:grid;gap:14px;min-width:0}.designer-header{height:auto;position:static;padding:16px 18px;background:#fff;border:1px solid var(--st-border);border-radius:var(--st-radius);box-shadow:var(--st-shadow-sm);display:flex;justify-content:space-between;align-items:center;gap:18px}.designer-header h2{margin:0;font-size:22px}.designer-header p{margin:4px 0 0;color:var(--st-muted);font-size:12px}.designer-title{display:flex;align-items:center;gap:10px}.designer-back{display:inline-block;margin-bottom:8px;color:var(--st-green-800);font-size:12px;font-weight:800}.designer-header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.designer-save-state{font-size:12px;color:var(--st-success);font-weight:800}.designer-save-state.dirty{color:var(--st-warning)}
.designer-steps{display:flex;gap:6px;overflow-x:auto;padding:4px 2px;scrollbar-width:thin}.designer-steps a{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;border:1px solid var(--st-border);border-radius:10px;background:#fff;color:var(--st-muted);text-decoration:none;font-size:12px}.designer-steps a span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--st-green-50);font-size:10px}.designer-steps a.active{background:var(--st-green-900);border-color:var(--st-green-900);color:#fff}.designer-steps a.active span{background:#ffffff2e}
.designer-layout{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:14px;min-width:0}.designer-workspace,.designer-context{min-width:0;background:#fff;border:1px solid var(--st-border);border-radius:var(--st-radius);box-shadow:var(--st-shadow-sm)}.designer-workspace{padding:18px}.designer-context{padding:14px;align-self:start;position:sticky;top:calc(var(--st-topbar) + 12px)}.designer-context h3{margin:14px 0 6px}.designer-context h4{margin:10px 0 3px}.designer-context p{color:var(--st-muted);font-size:12px}.designer-context label{display:grid;gap:5px;font-size:12px;font-weight:800}.designer-context select{min-height:38px;border:1px solid var(--st-border);border-radius:8px;padding:6px}.designer-context hr{border:0;border-top:1px solid var(--st-border)}
.designer-context-map{height:178px;border-radius:10px;position:relative;overflow:hidden;background:#e8eeeb;border:1px solid var(--st-border)}.preview-grid{position:absolute;inset:0;background-image:linear-gradient(#fff8 1px,transparent 1px),linear-gradient(90deg,#fff8 1px,transparent 1px);background-size:28px 28px;transform:rotate(-7deg) scale(1.2)}.preview-north{position:absolute;right:8px;top:8px;z-index:2;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--st-green-900);font-weight:900}.preview-geometry{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%)}.preview-geometry.point{width:19px;height:19px;border:5px solid #fff;border-radius:50%;background:var(--st-green-800);box-shadow:0 1px 7px #0004}.preview-geometry.line{width:120px;height:5px;background:var(--st-green-800);transform:translate(-50%,-50%) rotate(-22deg);border-radius:8px}.preview-geometry.polygon{width:90px;height:72px;background:#2a93634a;border:3px solid var(--st-green-800);clip-path:polygon(14% 96%,2% 32%,48% 3%,98% 36%,73% 98%)}.preview-empty{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--st-muted);font-size:12px}
.designer-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.designer-section-heading h3{margin:0 0 4px}.designer-section-heading p{margin:0;color:var(--st-muted);font-size:12px}.designer-form .form-grid{margin-top:4px}.designer-form small{color:var(--st-muted);font-weight:500}.designer-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border:1px solid var(--st-border);border-radius:10px;margin-top:15px;padding:13px}.designer-policy-grid legend{font-weight:900;padding:0 6px}.designer-policy-grid label{font-size:12px}
.designer-split{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(380px,1.28fr);gap:18px}.designer-layer-list{display:grid;gap:8px}.designer-layer{border:1px solid var(--st-border);border-radius:10px;padding:9px;background:#fff}.designer-layer.active{border-color:var(--st-green-700);box-shadow:0 0 0 2px var(--st-green-100)}.designer-layer-main{display:flex;width:100%;align-items:center;gap:9px;text-align:left;background:transparent;color:var(--st-text);padding:0}.designer-layer-main span:nth-child(2){display:grid;gap:2px}.designer-layer-main small{color:var(--st-muted)}.geometry-mark{width:34px;height:34px;display:block;flex:none;background:var(--st-green-50);border:1px solid var(--st-border);position:relative}.geometry-mark.point{border-radius:50%}.geometry-mark.point::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--st-green-700);inset:0;margin:auto}.geometry-mark.line::after{content:"";position:absolute;width:28px;height:3px;background:var(--st-green-700);left:2px;top:15px;transform:rotate(-35deg)}.geometry-mark.polygon{clip-path:polygon(50% 3%,97% 96%,2% 96%);background:#6eb09555;border:2px solid var(--st-green-700)}.designer-layer-meta{display:flex;align-items:center;justify-content:space-between;margin-top:7px;color:var(--st-muted);font-size:10px}.designer-layer-actions{display:flex;gap:4px;margin-top:7px;flex-wrap:wrap}.designer-layer-actions button{background:var(--st-green-50);color:var(--st-green-900);padding:5px 7px;border-radius:6px;font-size:10px}.designer-layer-actions button:disabled{opacity:.35}.danger-text{color:var(--st-danger)!important}.designer-inline-create{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:11px;margin-bottom:10px;border:1px solid var(--st-border);border-radius:10px;background:var(--st-green-50)}.designer-inline-create button{align-self:end}
.designer-table-wrap{overflow:auto;border:1px solid var(--st-border);border-radius:10px}.designer-fields{min-width:930px;width:100%;border-collapse:collapse}.designer-fields th,.designer-fields td{padding:7px;border-bottom:1px solid var(--st-border);text-align:left}.designer-fields th{font-size:10px;text-transform:uppercase;color:var(--st-muted);background:var(--st-green-50)}.designer-fields input:not([type=checkbox]),.designer-fields select{width:100%;min-height:34px;border:1px solid var(--st-border);border-radius:6px;padding:5px;background:#fff}.designer-fields input[type=checkbox]{width:17px;height:17px}.designer-fields .system-field{background:#f8faf9}.protected-label{font-size:10px;color:var(--st-muted);font-weight:800}.designer-empty{min-height:390px;display:grid;place-content:center;text-align:center;color:var(--st-muted)}.designer-empty h3{color:var(--st-text);margin-bottom:0}.designer-empty span{font-size:30px;color:var(--st-green-700)}
.designer-domain-list,.designer-form-pages,.designer-form-section-list{display:grid;gap:12px}.designer-domain,.designer-form-page{border:1px solid var(--st-border);border-radius:11px;padding:13px;background:#fff}.designer-domain-header{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:9px;align-items:end;margin-bottom:10px}.designer-domain label,.designer-form-page label,.designer-form-section label{display:grid;gap:5px;font-size:12px;font-weight:800}.designer-domain input,.designer-domain select,.designer-form-page input,.designer-form-page select,.designer-form-section input,.designer-form-section select,.designer-conditions input,.designer-conditions select{min-height:36px;border:1px solid var(--st-border);border-radius:7px;padding:6px;background:#fff;color:var(--st-text)}.designer-domain-values,.designer-conditions{width:100%;min-width:760px;border-collapse:collapse}.designer-domain-values th,.designer-domain-values td,.designer-conditions th,.designer-conditions td{padding:7px;border-bottom:1px solid var(--st-border);text-align:left}.designer-domain-values th,.designer-conditions th{font-size:10px;text-transform:uppercase;color:var(--st-muted);background:var(--st-green-50)}.designer-domain-values input:not([type=checkbox]){width:100%}.designer-domain>.button{margin-top:9px}.designer-form-section{border:1px dashed var(--st-border);border-radius:9px;padding:10px;background:#fafcfb}.designer-inline-heading{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-bottom:9px}.designer-field-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.designer-field-picker label{display:flex;align-items:center;gap:5px;padding:6px;border-radius:6px;background:#fff;border:1px solid var(--st-border);font-weight:600}.designer-form-section fieldset{border:0;padding:0;margin:0}.designer-form-section legend{font-size:11px;color:var(--st-muted);font-weight:800;margin-bottom:6px}.form-condition-heading{margin-top:20px}.designer-attachments{border-top:1px solid var(--st-border);margin-top:20px;padding-top:18px}.designer-attachments>p{color:var(--st-muted);font-size:12px}
.portable-style-preview{display:block;width:112px;height:64px;max-width:100%}.preview-style{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);padding:5px;border-radius:9px;background:#ffffffb8}.preview-style .portable-style-preview{width:145px;height:88px}.preview-style img{width:66px;height:66px;object-fit:contain}.designer-renderer-tabs{display:flex;gap:8px;margin-bottom:14px}.designer-renderer-tabs label{display:flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid var(--st-border);border-radius:9px;font-weight:800}.designer-style-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:18px}.designer-style-controls label,.designer-unique>label{display:grid;gap:5px;font-size:12px;font-weight:800}.designer-style-controls input,.designer-unique select{min-height:38px;border:1px solid var(--st-border);border-radius:7px;padding:6px;background:#fff}.designer-symbol-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.designer-symbol-card{display:grid;grid-template-rows:82px auto auto;gap:4px;min-width:0;padding:9px;border:1px solid var(--st-border);border-radius:10px;background:#fff;color:var(--st-text);text-align:left}.designer-symbol-card.selected{border-color:var(--st-green-700);box-shadow:0 0 0 2px var(--st-green-100)}.designer-symbol-card b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.designer-symbol-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--st-muted)}.designer-symbol-preview{display:grid;place-items:center;border-radius:8px;background:var(--st-green-50);overflow:hidden}.designer-symbol-preview img{width:52px;height:52px;object-fit:contain}.designer-symbol-preview .portable-style-preview{width:100%;height:72px}.designer-unique{margin-top:20px;padding-top:16px;border-top:1px solid var(--st-border)}.designer-unique>label{max-width:360px;margin-bottom:10px}.designer-style-classes{width:100%;min-width:920px;border-collapse:collapse}.designer-style-classes th,.designer-style-classes td{padding:7px;border-bottom:1px solid var(--st-border);text-align:left}.designer-style-classes th{font-size:10px;text-transform:uppercase;color:var(--st-muted);background:var(--st-green-50)}.designer-style-classes input:not([type=checkbox]):not([type=radio]),.designer-style-classes select{width:100%;min-height:34px;border:1px solid var(--st-border);border-radius:6px;padding:5px}.designer-style-classes .portable-style-preview{width:76px;height:42px}
.designer-label-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 18px;padding:12px;border:1px solid var(--st-border);border-radius:10px;background:var(--st-green-50)}.designer-label-controls legend{padding:0 5px;font-size:12px;font-weight:900;color:var(--st-green-800)}.designer-label-controls label{display:grid;gap:5px;font-size:12px;font-weight:800}.designer-label-controls input,.designer-label-controls select{min-height:38px;border:1px solid var(--st-border);border-radius:7px;padding:6px;background:#fff}.designer-label-controls .designer-check{display:flex;align-items:center;gap:7px}.designer-label-controls .designer-check input{min-height:auto}
.designer-color-input{display:flex;align-items:center;gap:7px;min-width:0}.designer-color-input input[type=color]{width:46px;min-width:46px;padding:3px}.designer-color-input output{font:700 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--st-muted);overflow-wrap:anywhere}
#designerMapCanvas{position:absolute;inset:0}.designer-context-map .maplibregl-canvas{opacity:.72}.designer-legend{display:grid;gap:5px;margin-top:10px}.designer-legend>span{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:6px;font-size:10px}.designer-legend .portable-style-preview{width:45px;height:28px}.designer-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.designer-validation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.designer-validation-group{border:1px solid var(--st-border);border-radius:10px;padding:11px;min-width:0}.designer-validation-group h4{display:flex;justify-content:space-between;margin:0 0 8px}.designer-validation-group h4 span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--st-green-50)}.designer-validation-group ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.designer-validation-group li{display:grid;gap:2px;padding:8px;border-radius:7px;background:#f8faf9}.designer-validation-group li span,.designer-validation-group p{font-size:12px;color:var(--st-muted)}.designer-validation-group code{overflow-wrap:anywhere;font-size:10px}.designer-validation-group.errors{border-color:#e4aaa7}.designer-validation-group.warnings{border-color:#e8ca8e}.designer-template-preview,.designer-history{margin-top:18px;padding-top:15px;border-top:1px solid var(--st-border)}.designer-history ol{display:grid;gap:7px;padding:0;list-style:none}.designer-history li{display:grid;grid-template-columns:120px 1fr auto;gap:8px;padding:8px;border-radius:7px;background:var(--st-green-50);font-size:12px}.designer-history em{color:var(--st-danger);font-style:normal;font-weight:800}.project-designer :focus-visible{outline:3px solid #2b8fdc;outline-offset:2px}
.designer-publication-review,.designer-package-history{margin-top:18px;padding-top:15px;border-top:1px solid var(--st-border)}
.package-review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.package-review-metrics div{display:grid;gap:3px;padding:9px;border:1px solid var(--st-border);border-radius:8px;background:#f8faf9}.package-review-metrics dt{font-size:10px;text-transform:uppercase;color:var(--st-muted);font-weight:800}.package-review-metrics dd{margin:0;font-weight:900}
.package-change-list{display:grid;gap:7px;padding:0;list-style:none}.package-change-list li{display:grid;grid-template-columns:115px minmax(0,1fr);gap:3px 9px;padding:9px;border-radius:8px;background:var(--st-green-50)}.package-change-list li b{font-size:11px;color:var(--st-green-800)}.package-change-list li span{font-size:12px}.package-change-list li code{grid-column:2;color:var(--st-muted);overflow-wrap:anywhere}
.designer-package-history ol{display:grid;gap:7px;padding:0;list-style:none}.designer-package-history li{display:grid;grid-template-columns:42px auto 1fr auto;align-items:center;gap:8px;padding:8px;border-radius:7px;background:var(--st-green-50);font-size:12px}
.package-warning-list{display:grid;gap:7px;border:1px solid #e8ca8e;border-radius:9px;padding:10px;margin:12px 0}.package-warning-list legend{font-weight:900;padding:0 5px}.package-warning-list label{display:flex;align-items:flex-start;gap:8px;padding:7px;background:#fffaf0;border-radius:7px}.package-warning-list span{display:grid;gap:2px}.package-warning-list small{color:var(--st-muted)}
.package-dialog-copy{display:grid;gap:12px}.package-dialog-copy details{border:1px solid var(--st-border);border-radius:8px;padding:9px}.package-dialog-copy summary{cursor:pointer;font-weight:800}.package-dialog-copy .json{max-height:280px;overflow:auto}
.package-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.package-summary-grid article{display:grid;gap:4px}.package-summary-grid span,.package-summary-grid small{color:var(--st-muted)}.package-summary-grid strong{font-size:22px}
.package-table-wrap{overflow:auto}.package-table{min-width:1180px}.package-table td{vertical-align:top}.package-table td small{display:block;margin-top:4px;color:var(--st-muted)}.package-table code{font-size:10px}.package-actions{display:grid;gap:4px;justify-items:start}.package-actions .link{padding:2px 0;background:transparent;color:var(--st-green-800);text-align:left}.package-actions .link:focus-visible{outline:3px solid #2b8fdc;outline-offset:2px}
@media(max-width:1320px){.designer-symbol-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.designer-style-controls,.designer-label-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.designer-layout{grid-template-columns:1fr}.designer-context{position:static;display:grid;grid-template-columns:240px 1fr;gap:12px}.designer-context-map{grid-row:1/6}.designer-context>h3{margin-top:0}.designer-split{grid-template-columns:1fr}.designer-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-validation-summary{grid-template-columns:1fr}}
@media(max-width:760px){.designer-header{align-items:flex-start;flex-direction:column}.designer-header-actions{width:100%;justify-content:space-between}.designer-layout{display:block}.designer-context{display:block;margin-top:12px}.designer-context-map{height:145px}.designer-workspace{padding:13px}.designer-workspace .form-actions{position:sticky;z-index:5;bottom:env(safe-area-inset-bottom);margin-inline:-13px;margin-bottom:-13px;padding:10px 13px calc(10px + env(safe-area-inset-bottom));background:#fffffff2;border-top:1px solid var(--st-border);box-shadow:0 -5px 12px #002d2214}.designer-policy-grid{grid-template-columns:1fr}.designer-inline-create,.designer-domain-header{grid-template-columns:1fr}.designer-section-heading{align-items:flex-start;flex-direction:column}.designer-section-heading .button{width:100%}.designer-field-picker{grid-template-columns:1fr}.designer-style-controls,.designer-label-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-symbol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-steps{margin-inline:-12px;padding-inline:12px}.project-designer{padding-bottom:env(safe-area-inset-bottom)}.package-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-package-history li{grid-template-columns:42px 1fr}.designer-package-history li small{grid-column:1/-1}.package-summary-grid{grid-template-columns:1fr}.package-dialog-copy{max-height:62vh;overflow:auto}.package-change-list li{grid-template-columns:1fr}.package-change-list li code{grid-column:1}}
