.business-mark-picker{padding:10px;border:1px solid #cbdcde;border-radius:8px;background:#f4f9f9;margin:6px 0}
.business-plan-panel{overflow:auto;min-height:0;max-height:100%;padding:16px;box-sizing:border-box;font-size:14px}
.business-plan-panel h3{margin:0 0 8px}.business-plan-panel p{line-height:1.6;margin:8px 0}
.business-plan-panel fieldset{padding:8px;border:1px solid #d7e4e3;border-radius:8px;margin:10px 0}
.business-plan-panel legend,.business-plan-panel summary{font-weight:600;padding:5px;cursor:pointer}
.business-plan-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px;border-radius:6px;min-height:38px}
.business-plan-row.selected{background:#edf6f3}.business-plan-row>label{display:flex;align-items:center;gap:8px;margin:0}
.business-plan-row input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;accent-color:var(--ui-primary)}
.business-plan-row .business-plan-count{font-size:12px;flex-shrink:0}.business-plan-count input{width:64px;min-height:30px;padding:4px;margin:0}
.business-plan-row .business-quantity{width:76px;min-height:32px;padding:4px 8px;margin:0;flex-shrink:0}
.ui-dialog:has(.business-plan-panel){width:min(580px,calc(100vw - 32px));max-height:90vh}.ui-dialog:has(.business-plan-panel)>.ui-dialog-body{padding:0;overflow:auto}.business-base-summary{display:flex;gap:8px;align-items:center;font-size:13px;padding:8px 12px;background:#edf6f3;border-radius:6px;margin:8px 0}.business-base-summary>span{flex:1}
.business-plan-door{padding:10px;border-radius:6px;background:#edf6f3;font-weight:600}.business-plan-actions{display:flex;gap:8px;position:sticky;bottom:-16px;background:white;padding:12px 0;margin-top:10px}
.business-scope-bar{display:flex;gap:6px;align-items:center;background:#edf6f3;padding:7px 10px;border-radius:6px;font-size:12px}.business-scope-bar span{flex:1}.business-scope-bar button{flex-shrink:0}
.business-position-queue{display:grid;gap:8px}.business-position-queue>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;border:1px solid #d7e4e3;border-radius:6px}.business-position-queue strong{flex:1}.business-position-queue span{font-size:12px}
.business-mark-fields,.compass-position-fields{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.business-mark-fields label{flex:1;min-width:140px;font-size:13px}.business-mark-fields select{font-size:13px;min-height:34px}
.business-job-shortcuts{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.business-job-shortcuts button{font-size:13px;padding:5px 10px;min-height:30px}.business-job-shortcuts button[aria-pressed=true]{background:var(--ui-primary);color:white;border-color:var(--ui-primary)}
.business-mark-picker small{display:block;font-size:12px;color:#5c7077}
.admin-compass-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 10px;border-bottom:1px solid #d9e4e7;background:#f6fafc;position:relative;z-index:4}
.admin-compass-tools button,.admin-compass-tools select{min-height:30px;padding:5px 8px;font-size:12px;margin:0;width:auto}
.compass-selection-tools{display:flex;align-items:center;gap:6px;max-width:100%}.compass-selection-tools label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;white-space:nowrap}.admin-compass-tools .compass-delete{color:var(--ui-danger);border-color:#e4b8b3;background:#fff7f6;white-space:nowrap}.admin-compass-tools .compass-delete:hover{background:#fbe8e5}
.admin-compass-tools small{font-size:12px;color:var(--ui-text-secondary);flex-basis:100%}.compass-position-fields select{max-width:140px}
.admin-compass-tools .compass-size-control{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;white-space:nowrap}.admin-compass-tools .compass-size-control input{width:110px;min-height:0;padding:0;margin:0;accent-color:var(--ui-primary)}.compass-size-control output{min-width:36px;text-align:right;font-variant-numeric:tabular-nums}
.business-position-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.business-position-fields label{font-size:13px}.business-position-fields p{grid-column:1/-1;margin:0;font-size:12px}
@media(min-width:851px){.model-annotation-review .model-review-categories{grid-template-columns:repeat(4,minmax(0,1fr))}.model-annotation-review .model-review-categories button{font-size:13px;padding:6px;min-height:34px}}

.admin-compass-tools .compass-position-fields{flex-basis:100%;align-items:center}
.door-clearance-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr);gap:16px}.door-clearance-image{position:relative;align-self:start}.door-clearance-image img{display:block;width:100%;height:auto}.door-clearance-image svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.door-clearance-controls{display:flex;flex-direction:column;gap:12px}.door-clearance-door-list{display:flex;flex-wrap:wrap;gap:5px}.door-clearance-door-list button[aria-pressed=true]{background:#dcefee;box-shadow:inset 0 0 0 1px var(--ui-primary)}.door-clearance-controls label{display:flex;align-items:flex-start;gap:7px;font-size:13px}.door-clearance-controls input[type=checkbox]{width:auto;margin-top:4px}@media(max-width:760px){.door-clearance-workspace{grid-template-columns:1fr}}
.door-structure-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;background:var(--ui-surface-soft);border:1px solid #d4e5e5;border-radius:8px;font-size:13px}.door-structure-status span{flex:1}.door-clearance-image svg{pointer-events:none}
.review-analysis-bar{display:flex;align-items:center;gap:10px;padding:7px 10px;background:#edf7f5;border:1px solid #c5ded9;border-radius:6px;flex-shrink:0}
.review-analysis-bar>span{flex:1;font-size:12px;color:#426b68}.review-analysis-bar>button{flex-shrink:0;min-height:32px;padding:6px 14px;font-size:13px}
.model-annotation-review .opening-edit-actions{display:flex;gap:7px;flex-wrap:wrap}.model-annotation-review .opening-edit-actions button{min-height:32px;padding:6px 10px;font-size:12px}
.model-annotation-review .opening-draw-options{display:flex;align-items:end;flex-wrap:wrap;gap:8px;background:var(--ui-surface-soft);border-radius:6px;padding:8px}
.model-annotation-review .opening-draw-options label{display:flex;align-items:center;gap:6px;margin:0}.opening-draw-options select{width:86px}.opening-draw-options small{flex-basis:100%;font-size:12px;color:var(--ui-text-secondary)}
.compact-layout .review-step-editor .opening-choice-help{line-height:1.55;color:var(--ui-text-secondary)}
.sofa-optional-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0;font-size:12px;color:var(--ui-text-secondary)}.sofa-optional-bar span{flex:1}.sofa-optional-bar button{min-height:28px;padding:4px 8px;font-size:12px}
.model-annotation-review .review-opening-editor{display:grid;gap:10px;font-size:13px;line-height:1.5}
.model-annotation-review .review-opening-editor button,.model-annotation-review .review-opening-editor select{font-size:13px;min-height:34px;padding:6px 10px;margin:0}
.model-annotation-review .opening-current{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--ui-surface-soft);border:1px solid var(--ui-border);border-radius:6px;padding:9px 10px}
.model-annotation-review .opening-current>div{flex:1;min-width:150px;display:flex;align-items:center;gap:12px}
.model-annotation-review .opening-current span,.model-annotation-review .review-opening-editor small{color:#61787c;font-size:12px}
.model-annotation-review .opening-current strong{font-size:13px}.model-annotation-review .opening-current.has-opening{border-color:#b6d4d3}
.model-annotation-review .opening-source-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.model-annotation-review .opening-source-actions label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}
.model-annotation-review .opening-source-actions select{width:90px}
.model-annotation-review .optional-opening-select{display:flex;align-items:center;gap:8px;margin:0;flex-wrap:wrap}
.model-annotation-review .optional-opening-select select{flex:1;min-width:0}
.model-annotation-review .opening-source-actions button[aria-pressed=true]{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}
.model-annotation-review .opening-source-content{display:grid;gap:6px;padding:10px;border:1px solid var(--ui-border);border-radius:6px;background:#fff}
.model-annotation-review .opening-source-content{scroll-margin-bottom:110px}
.extra-object-matches{display:flex;gap:6px;flex-wrap:wrap;max-height:150px;overflow-y:auto;padding:4px 0}.extra-object-matches button{min-height:32px;padding:5px 12px;font-size:13px}.extra-object-matches button[aria-selected=true]{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}
.review-workbench:has(.extra-object-picker) .floating-operation-guide,.review-workbench:has(.opening-map-picker) .floating-operation-guide,.review-workbench:has(.review-opening-editor):not(:has(.opening-drawing-status)) .floating-operation-guide{display:none}
.model-annotation-review .opening-source-content>label{display:grid;gap:5px;margin:0;font-size:12px}.model-annotation-review .opening-source-content>label select{width:100%;min-width:0}
.model-annotation-review .opening-draw-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.model-annotation-review .opening-draw-row label{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}.model-annotation-review .opening-draw-row select{width:110px}
.model-annotation-review .opening-drawing-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid #95c4ca;border-radius:6px;background:#edf7fa}.model-annotation-review .opening-drawing-status span{flex-basis:100%;font-size:13px}
.unified-map-stage{position:relative}.opening-map-picker{position:absolute;left:12px;top:12px;z-index:24;max-width:calc(100% - 24px);display:grid;gap:6px;padding:10px 12px;background:rgba(238,248,252,.95);backdrop-filter:blur(8px);border:1px solid #77adc4;border-radius:8px;box-shadow:0 3px 12px #1f475c20;font-size:13px}.opening-map-picker strong{font-size:13px}.opening-map-picker>div{display:flex;flex-wrap:wrap;gap:6px}.opening-map-picker button{font-size:13px;min-height:32px;padding:5px 10px}
@media(max-width:540px){.review-analysis-bar{flex-wrap:wrap}.review-analysis-bar>span{min-width:150px}}
@media(max-width:850px){
 .compact-layout .review-workbench .unified-map-panel{height:auto;min-height:320px;scroll-margin-top:8px}
 .compact-layout .review-workbench .unified-map-stage{min-height:260px}
 .compact-layout .review-workbench .unified-map-stage .canvas-stage,.compact-layout .review-workbench .unified-map-stage .canvas-viewport{min-height:260px}
 .compact-layout .review-workbench .floating-operation-guide{width:220px}
}

.review-name-editor{padding:8px 10px;border:1px solid #d7e5e7;border-radius:8px;background:#f8fbfb;display:grid;gap:6px;margin:8px 0;font-size:13px}
.review-name-fields{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.review-name-fields label{display:grid;gap:4px;flex:1;min-width:160px}
.review-name-fields input{flex:1;min-width:140px;width:100%;height:34px;font-size:13px;padding:6px 10px}
.review-name-fields button{min-height:34px;padding:6px 10px;font-size:13px}
.review-name-editor details{margin:0}.review-name-editor p{margin:0;color:var(--ui-danger)}
.opening-candidate-confirm{display:grid;gap:8px;padding:12px;border:2px solid #378795;border-radius:8px;background:#edf8fa;box-shadow:0 2px 8px rgba(var(--ui-primary-rgb), 0.0941)}.opening-candidate-confirm>strong{font-size:14px;color:var(--ui-primary)}.opening-candidate-confirm label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.opening-candidate-confirm select{flex:1;min-width:0}.opening-candidate-confirm>button{width:100%;font-weight:700}.opening-map-hint{position:absolute;right:12px;top:12px;z-index:24;max-width:calc(100% - 24px);padding:8px 12px;border:1px solid #84b6c0;border-radius:7px;background:rgba(238,248,252,.95);font-size:12px;color:var(--ui-primary);pointer-events:none}.review-workbench:has(.opening-candidate-confirm) .floating-operation-guide{display:none}
.result-mode-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.result-mode-tabs button{padding:7px 18px;font-size:14px;min-height:34px}
.result-mode-tabs button[aria-pressed="true"]{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}
.compact-layout .result-explorer-bar{grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:'title modes actions views'}
.result-explorer-bar>.result-mode-tabs{grid-area:modes}
@media(max-width:1300px){.compact-layout .result-explorer-bar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'title modes views' 'actions actions actions'}}
@media(max-width:700px){.compact-layout .result-explorer-bar{grid-template-columns:1fr;grid-template-areas:'title' 'modes' 'views' 'actions'}.result-explorer-bar>.result-view-toggle{justify-self:start}}
.opening-candidate-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.opening-candidate-confirm .opening-candidate-head button{width:auto;flex-shrink:0;white-space:nowrap}
