.recognition-dialog{width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--panel);font:400 13px/1.5 var(--font-ui)}
.recognition-dialog::backdrop{background:#202a3066}.recognition-dialog[open]{display:flex;flex-direction:column}
.recognition-dialog>header,.recognition-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.recognition-dialog h2{font-size:18px;font-weight:500;margin:0}.recognition-dialog h3{font-size:13px;font-weight:500;margin:0 0 8px}.recognition-dialog p{margin:6px 0;font-size:12px;color:var(--ink-soft)}
.recognition-dialog button,.recognition-dialog input,.recognition-dialog textarea,.recognition-dialog select{font:inherit;color:inherit;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel);padding:6px 9px;min-width:0;box-sizing:border-box}
.recognition-dialog button{cursor:pointer;min-height:32px}.recognition-dialog button:hover{background:var(--menu-hover)}.recognition-dialog button:disabled{opacity:.45;cursor:default}.recognition-dialog button[aria-pressed=true]{background:var(--green-light);border-color:var(--green)}
.recognition-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0;overflow:auto}.recognition-inputs{padding:14px;border-right:1px solid var(--line)}
.recognition-inputs>label{display:grid;gap:5px;margin:12px 0}.recognition-inputs input:not([type=checkbox]),.recognition-inputs textarea,.recognition-inputs select{width:100%}.recognition-connect-help label{display:grid;gap:5px;margin:10px 0}.recognition-inputs textarea{resize:vertical;min-height:60px}.recognition-mode{display:flex;gap:6px}.recognition-mode button{flex:1}.recognition-dialog small{font-size:11px;color:var(--muted)}
.recognition-preview{padding:14px;min-width:0}.recognition-source{max-height:160px;max-width:100%;object-fit:contain;display:block;margin-bottom:10px;border-radius:6px}.recognition-result-art{width:100%;height:270px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.recognition-result-art text{font:12px var(--font-ui)}
.recognition-result-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin:10px 0}.recognition-result-fields label{display:grid;gap:4px}.recognition-result-fields input{width:100%}.recognition-room-row{display:flex;align-items:center;gap:7px;margin:6px 0}.recognition-room-row input[type=text]{flex:1}.recognition-room-row span{font-size:11px;color:var(--muted);white-space:nowrap}
.recognition-check{display:flex!important;align-items:flex-start;gap:7px}.recognition-check input{width:16px!important;height:16px;margin-top:2px;flex:none}.recognition-warning{background:#fff8e7;border:1px solid #ead8aa;border-radius:6px;padding:8px;font-size:11px;color:#755622;margin:8px 0}.recognition-dialog>footer{border-bottom:0;border-top:1px solid var(--line);flex-wrap:wrap}.recognition-dialog .recognition-primary{background:var(--lime);color:var(--ink);font-weight:500}.recognition-dialog [hidden]{display:none!important}#recognitionStatus{white-space:pre-wrap;overflow-wrap:anywhere}#recognitionApply{margin-left:auto}.recognition-connect-help{padding:8px;background:var(--paper);border-radius:6px;margin:10px 0}.recognition-connect-help summary{cursor:pointer;font-size:12px}
@media(max-width:720px){.recognition-body{grid-template-columns:minmax(0,1fr)}.recognition-inputs{border-right:0;border-bottom:1px solid var(--line)}.recognition-result-art{height:230px}}
@media print{.recognition-dialog{display:none!important}}
.recognition-routing{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr);gap:10px;width:100%}.recognition-routing label{display:grid;gap:4px;font-size:12px}.recognition-routing input,.recognition-routing select{width:100%}.recognition-routing select{overflow:hidden;text-overflow:ellipsis}@media(max-width:540px){.recognition-routing{grid-template-columns:minmax(0,1fr)}}
.recognition-issues{padding:9px 11px;border:1px solid #c7d8b0;border-radius:8px;background:#f3f8ec;color:#315b18;font-size:12px;margin:10px 0;overflow-wrap:anywhere}
.recognition-issues.has-conflicts{border-color:#ce7373;background:#fff1ef;color:#9b2727}.recognition-issues strong{display:block;margin-bottom:4px}.recognition-issues small{color:inherit}.recognition-issues button{border:0;padding:3px 5px;min-height:28px;background:transparent;color:inherit;text-decoration:underline;white-space:normal;overflow-wrap:anywhere;max-width:100%}.recognition-conflict-pair{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.recognition-edit-art{display:block;box-sizing:border-box;height:310px;touch-action:none;overflow:hidden}.recognition-room-polygon{cursor:pointer}.recognition-room-polygon:focus{outline:2px solid #315b18;outline-offset:2px}.recognition-vertex{cursor:grab}.recognition-vertex:active{cursor:grabbing}.recognition-vertex:focus{outline:2px solid #315b18;outline-offset:2px}.recognition-map-label{pointer-events:none}.recognition-result-art .recognition-map-label{font-size:14px;fill:#425738}
.recognition-review-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.recognition-room-selection{color:var(--ink)!important;font-weight:600}.recognition-room-list{max-height:320px;overflow:auto;margin-top:10px}.recognition-room-row{display:grid;grid-template-columns:18px minmax(70px,1fr) auto;gap:5px 7px;align-items:center;padding:5px;border:1px solid transparent;border-radius:7px}.recognition-room-row.has-conflicts{border-color:#ce7373;background:#fff1ef}.recognition-room-row input[type=checkbox]{margin:0;width:16px;height:16px}.recognition-room-row input[type=text]{width:100%;min-width:0}.recognition-room-row .recognition-room-flag{grid-column:2/-1;font-size:11px;color:#9b2727;white-space:normal}.recognition-room-flag:empty{display:none}
.recognition-point-details{border:1px solid var(--line);border-radius:7px;padding:8px;margin:8px 0}.recognition-point-details summary{cursor:pointer;font-size:12px}.recognition-point-fields{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:8px 0}.recognition-point-fields label{display:grid;gap:3px;min-width:75px;flex:1}.recognition-point-fields input{width:100%}.recognition-point-fields span{font-size:12px}.recognition-point-fields+small{display:block;overflow-wrap:anywhere}
.recognition-point-fields input:invalid{border-color:#b93333;background:#fff1ef}
.recognition-sofa-preview{display:grid;justify-items:center;gap:5px;padding:10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);margin:10px 0}.recognition-sofa-preview svg{display:block;max-height:170px;width:min(100%,320px)}
.recognition-measurements{border:1px solid var(--line-strong);background:var(--paper);border-radius:8px;padding:10px;margin:10px 0;overflow-wrap:anywhere}.recognition-measurements summary{font-size:12px;cursor:pointer;padding:5px 0}.recognition-measurements #recognitionScaleBasis{color:var(--ink);font-weight:500}.recognition-measurements .has-conflicts{color:#9b2727!important;border-left:3px solid #b93333;padding-left:8px}.recognition-area-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin:8px 0}.recognition-area-controls label{display:grid;gap:5px;flex:1 1 180px}.recognition-area-controls input{width:100%}.recognition-area-controls input:invalid{border-color:#b93333;background:#fff1ef}.recognition-number-list{max-height:220px;overflow:auto}.recognition-number-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line);padding:7px 0}.recognition-number-row span{font-size:12px;font-weight:500}.recognition-number-row small{flex:1 1 180px}.recognition-number-row button{font-size:11px}
.recognition-room-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}.recognition-room-actions .recognition-room-selection{flex:1 1 180px;overflow-wrap:anywhere;margin:0}.recognition-room-actions button{white-space:normal}.recognition-room-row-actions{grid-column:2/-1;display:flex;gap:6px;flex-wrap:wrap}.recognition-dialog .recognition-delete-room{color:#9b2727}.recognition-room-row.is-ignored{border:1px dashed #a7b2ba;background:#f3f5f6}.recognition-room-row.is-ignored .recognition-room-flag{color:#60717d}.recognition-dialog [data-ignore-room][aria-pressed=true],.recognition-dialog #recognitionIgnoreRoom[aria-pressed=true]{background:#e5ebee;border-color:#9eabb5;color:#465864}
@media(max-width:720px){.recognition-edit-art{height:270px}}
.recognition-dialog>header,.recognition-dialog>footer{flex:none}.recognition-body{flex:1;overflow:hidden}.recognition-inputs,.recognition-preview{overflow:auto;min-height:0}
.recognition-overlay-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}.recognition-overlay-controls label{display:flex;align-items:center;gap:5px;font-size:11px;margin-left:auto}.recognition-overlay-controls input[type=range]{padding:0;width:100px;max-width:100%}
.recognition-edit-art{height:clamp(290px,46vh,430px);background:#fff}.recognition-edit-art .recognition-map-label{paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}
.recognition-wall-scale{display:grid;grid-template-columns:minmax(130px,1fr) minmax(90px,140px);align-items:center;gap:6px 10px;background:#edf6fc;border:1px solid #9bc4df;padding:10px;border-radius:7px;margin:8px 0}.recognition-wall-scale small{grid-column:1/-1}.recognition-wall-scale button{justify-self:start}.recognition-wall-scale input:invalid{border-color:#b93333}.recognition-tool-hint{color:#175a87!important;background:#edf6fc;padding:8px;border-radius:6px}
.recognition-source-board{position:relative;display:table;max-width:100%;margin:10px auto;background:#fff;border:1px solid var(--line);line-height:0;touch-action:none}.recognition-source-board canvas{display:block;max-width:100%;max-height:390px;width:auto;height:auto}.recognition-source-board canvas.is-cropping{cursor:crosshair}.recognition-crop-selection{position:absolute;border:2px solid #1675bb;background:#1675bb22;box-sizing:border-box;pointer-events:none}.recognition-tilt{display:flex;align-items:center;gap:4px;font-size:11px}.recognition-tilt input{width:65px}.recognition-model-warnings{margin:8px 0}.recognition-model-warnings summary{font-size:12px;cursor:pointer}#recognitionSourceError{color:#9b2727}
@media(max-width:720px){.recognition-body{display:block;overflow:auto}.recognition-inputs,.recognition-preview{overflow:visible;min-height:auto}.recognition-edit-art{height:310px}.recognition-wall-scale{grid-template-columns:minmax(0,1fr)}.recognition-overlay-controls label{margin-left:0}.recognition-source-board canvas{max-height:310px}}
