.historical-result{background:#fff;border:1px solid #dde1de;border-radius:10px;max-width:1180px;margin:26px auto 0;padding:20px}.historical-result-heading{justify-content:space-between;gap:20px;display:flex}.historical-result h2{margin:5px 0;font-size:18px}.historical-result-heading p:last-child{color:#78817c;margin:0;font-size:10px}.historical-result-heading em{color:#8a6226;background:#f5ebd9;border-radius:12px;height:fit-content;padding:6px 9px;font-size:10px;font-style:normal}.historical-stats{color:#78817c;gap:28px;margin:18px 0;font-size:10px;display:flex}.historical-stats b{color:#222b27;font-size:18px;display:block}.historical-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.historical-grid figure{background:#f8f9f7;border:1px solid #e0e4e1;border-radius:7px;margin:0;overflow:hidden}.historical-grid img{object-fit:cover;width:100%;height:130px;display:block}.historical-grid figcaption{color:#69726d;justify-content:space-between;gap:5px;padding:7px;font-size:9px;display:flex}.historical-grid a{color:var(--green);white-space:nowrap;text-decoration:none}@media (width<=760px){.historical-result{padding:14px}.historical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.historical-grid img{height:100px}.historical-stats{gap:12px}.historical-stats b{font-size:15px}}.history-toolbar label{white-space:nowrap;color:#69726d;align-items:center;gap:6px;font-size:11px;display:flex}.history-toolbar select{color:#222b27;background:#fff;border:1px solid #d6dbd7;border-radius:6px;padding:7px}.history-message{max-width:1180px;color:var(--green-dark);margin:10px auto;font-size:12px}.history-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.robot-pose-panel .field-label{color:#52655a;flex-direction:column;gap:6px;min-width:0;margin:12px 0;font-size:11px;font-weight:600;display:flex}.robot-pose-panel .field-row{gap:10px}.robot-pose-panel .field-row .field-label{margin-top:4px}.robot-pose-panel .field-label input,.robot-pose-panel .field-label select{box-sizing:border-box;color:#263d31;width:100%;min-width:0;min-height:34px;font:inherit;background:#fff;border:1px solid #d7dcd8;border-radius:6px;margin:0;padding:7px 9px;font-weight:400}.robot-pose-panel input[type=file]{padding:6px;font-size:10px;overflow:hidden}.robot-pose-panel input::file-selector-button{color:#285e48;cursor:pointer;background:#e0eee7;border:0;border-radius:4px;margin-right:6px;padding:5px 7px}.robot-pose-panel .toggle-row{gap:12px;margin:14px 0;font-size:11px;line-height:1.6}.robot-pose-panel .toggle-row input{flex-shrink:0}.robot-pose-panel .source-note{overflow-wrap:anywhere;line-height:1.7}.robot-pose-panel details{margin:12px 0;font-size:11px}.robot-pose-panel summary{cursor:pointer;color:#376b53}.robot-pose-panel .field-error{color:#a23e35;font-size:11px}.robot-pose-panel fieldset:disabled{opacity:.65}:root{color:#19201d;font-synthesis:none;--green:#126b52;--green-dark:#0b4f3c;--mint:#dcebe4;--ink:#19201d;--muted:#707975;--line:#d9ddda;--paper:#fafbf9;background:#eceeeb;font-family:Inter,Microsoft YaHei UI,PingFang SC,system-ui,sans-serif}.login-page{background:#eff1ee;place-items:center;min-height:100vh;display:grid}.login-form{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;width:min(360px,100vw - 32px);padding:28px;box-shadow:0 12px 32px #19201d14}.login-form h1{margin:7px 0 24px;font-size:24px}.login-form label{color:#5f6964;gap:6px;margin:14px 0;font-size:12px;display:grid}.login-form input{border:1px solid var(--line);background:#fff;border-radius:5px;padding:10px}.login-form .primary{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:6px;width:100%;margin-top:10px;padding:11px}.login-error{color:#943f31;background:#f8e9e6;padding:8px;font-size:11px}.share-task{color:var(--green-dark);cursor:pointer;background:#f5faf7;border:1px solid #c9d9d1;border-radius:5px;padding:6px 9px;font-size:10px}.runtime-status{color:#375847;background:#eef4f0;border-bottom:1px solid #d9e4dc;padding:7px max(4vw,40px);font-size:11px}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,input{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.58}.view-tabs button:disabled,.frames-strip button:disabled{opacity:1}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #126b5238}.app-shell{background:#eff1ee;min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fbfcfa;align-items:center;height:64px;padding:0 22px;display:flex;position:relative}.brand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;width:292px;padding:0;display:flex}.brand-mark{background:var(--green);border-radius:9px;justify-content:center;align-items:flex-end;gap:2px;width:31px;height:31px;padding-bottom:8px;display:flex;box-shadow:0 4px 10px #126b5233}.brand-mark i{background:#fff;border-radius:3px;width:4px;transform:rotate(9deg)}.brand-mark i:first-child{height:10px}.brand-mark i:nth-child(2){height:16px}.brand-mark i:nth-child(3){height:12px}.brand b{letter-spacing:.04em;font-size:15px;display:block}.brand small{color:#86908b;letter-spacing:.16em;font-size:10px}.main-nav{align-self:stretch;gap:3px;display:flex}.main-nav button{color:#66706b;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 18px;font-size:13px;font-weight:600;display:flex;position:relative}.main-nav svg{width:17px}.main-nav button.active{color:var(--green)}.main-nav button.active:after{content:"";background:var(--green);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:15px;right:15px}.top-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.demo-pill{color:#77643d;background:#f2eee3;border:1px solid #e7ddc5;border-radius:20px;align-items:center;gap:7px;padding:6px 11px;font-size:11px;font-weight:600;display:flex}.demo-pill>span{background:#b68b36;border-radius:50%;width:7px;height:7px}.target-picker{color:#77817b;align-items:center;gap:5px;font-size:9px;font-weight:600;display:flex}.target-picker select{color:#43514a;background:#fff;border:1px solid #ced7d1;border-radius:6px;padding:5px 7px;font-size:10px}.target-picker select:disabled{color:#9a6a5f;background:#f8ece9}.icon-button{cursor:pointer;background:0 0;border:0;padding:6px}.icon-button svg{width:19px}.avatar{width:31px;height:31px;color:var(--green-dark);background:#dce7e1;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.agent-connect{align-items:center;gap:5px;display:flex;position:relative}.agent-connect input{border:1px solid #ced7d1;border-radius:5px;width:112px;padding:5px 7px;font-size:10px}.agent-connect button{color:var(--green-dark);cursor:pointer;background:#e9f4ed;border:1px solid #b9d3c4;border-radius:5px;padding:5px 8px;font-size:10px}.agent-connect [role=alert]{color:#914737;white-space:normal;z-index:12;background:#fff1ed;border:1px solid #e9c3b7;border-radius:5px;max-width:230px;padding:6px 8px;font-size:10px;position:absolute;top:30px;right:0}.backend-picker{color:#77817b;align-items:center;gap:5px;font-size:9px;font-weight:600;display:flex}.backend-picker select{color:#43514a;background:#fff;border:1px solid #ced7d1;border-radius:6px;padding:5px 7px;font-size:10px}.workbench{grid-template-columns:304px minmax(520px,1fr) 286px;height:calc(100vh - 64px);min-height:690px;transition:grid-template-columns .2s;display:grid;overflow:hidden}.side-panel{background:#f9faf8;min-width:0;overflow:auto}.source-panel{border-right:1px solid var(--line)}.task-panel{border-left:1px solid var(--line)}.panel-heading{border-bottom:1px solid #e2e5e2;justify-content:space-between;align-items:center;height:78px;padding:18px 18px 13px;display:flex}.panel-heading h2{margin:2px 0 0;font-size:17px}.eyebrow{text-transform:uppercase;color:#8b938f;letter-spacing:.14em;margin:0;font-size:9px;font-weight:700}.collapse-button{cursor:pointer;background:#fff;border:1px solid #dfe3df;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.collapse-button svg{width:15px}.collapse-button.reverse{order:-1}.collapse-button.reverse svg{transform:rotate(180deg)}.panel-section{border-bottom:1px solid #e3e6e3;padding:15px 18px}.panel-section.first{padding-top:17px}.section-title{align-items:center;gap:8px;margin-bottom:11px;display:flex}.section-title>span{color:var(--green);background:#e0eee7;border-radius:4px;padding:3px 5px;font-size:9px;font-weight:700}.section-title h3{letter-spacing:.01em;margin:0;font-size:12px}.source-card{background:#fff;border:1px solid #d9dfdb;border-radius:8px;grid-template-columns:54px 1fr 18px;gap:10px;padding:8px;display:grid}.source-thumb{background:url(/demo/workbench_sample_contact.jpg) 50% 23%/210px;border-radius:5px;height:48px}.source-meta{flex-direction:column;justify-content:center;min-width:0;display:flex}.source-meta b{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.source-meta span{color:#7e8783;margin-top:2px;font-size:9px}.source-card>button{color:#8d9691;cursor:pointer;background:0 0;border:0;align-self:start;padding:1px}.source-card svg{width:14px}.split-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;display:grid}.secondary{cursor:pointer;background:#fff;border:1px solid #ced4d0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:8px 11px;font-size:11px;font-weight:600;display:flex}.secondary:hover{background:#f8faf8;border-color:#9eaaa4}.secondary svg{width:15px;height:15px}.source-note{color:#87908b;align-items:center;gap:5px;margin:9px 0 0;font-size:8px;display:flex}.source-note svg{flex:none;width:12px}.field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-row label,.select-label{color:#737c77;font-size:9px;font-weight:600}.field-row input{color:#333;background:#fff;border:1px solid #d7dcd8;border-radius:6px;width:100%;margin-top:5px;padding:8px 7px;font-size:10px;display:block}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:8px 0 0;font-size:9px;font-weight:600}.select-label{margin-bottom:10px;display:block}.select-control{cursor:pointer;background:#fff;border:1px solid #d7dcd8;border-radius:6px;justify-content:space-between;align-items:center;width:100%;margin-top:5px;padding:8px 9px;font-size:10px;display:flex}.select-control svg{width:12px;transform:rotate(90deg)}.toggle-row{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.toggle-row b,.toggle-row small{font-size:10px;display:block}.toggle-row small{color:#87908b;margin-top:2px;font-size:8px}.toggle-row input{appearance:none;cursor:pointer;background:#ccd1ce;border-radius:10px;width:30px;height:17px;position:relative}.toggle-row input:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #777}.toggle-row input:checked{background:var(--green)}.toggle-row input:checked:after{left:15px}.advanced-button{cursor:pointer;background:#fff;border:1px solid #d7dcd8;border-radius:7px;align-items:center;gap:7px;width:calc(100% - 36px);margin:13px 18px;padding:10px;font-size:10px;font-weight:600;display:flex}.advanced-button svg{width:14px}.advanced-button span{color:#89918d;margin-left:auto;font-size:8px}.advanced-button svg:last-child{width:11px}.collapsed-rail{color:#68716d;cursor:pointer;writing-mode:vertical-rl;letter-spacing:.1em;background:#f9faf8;border:0;flex-direction:column;align-items:center;gap:12px;padding-top:20px;font-size:10px;font-weight:600;display:flex}.collapsed-rail.left{border-right:1px solid var(--line)}.collapsed-rail.right{border-left:1px solid var(--line)}.collapsed-rail svg{writing-mode:horizontal-tb;width:18px;height:18px;color:var(--green)}.workspace{background:#eef0ed;grid-template-rows:50px minmax(260px,1fr) 159px 59px;gap:10px;padding:15px 18px;display:grid;overflow:hidden}.workspace-heading{justify-content:space-between;align-items:flex-start;display:flex}.workspace-heading h1{letter-spacing:-.02em;margin:3px 0 0;font-size:19px}.heading-summary{gap:18px;padding-top:6px;display:flex}.heading-summary span{text-transform:uppercase;color:#8a938e;letter-spacing:.08em;font-size:8px}.heading-summary b{color:#313a36;letter-spacing:0;margin-bottom:2px;font-size:11px;display:block}.preview-card,.timeline-card{background:#fff;border:1px solid #dfe3df;border-radius:9px;min-width:0;overflow:hidden;box-shadow:0 2px 5px #222c2708}.preview-card{grid-template-rows:42px 1fr;display:grid}.preview-toolbar{border-bottom:1px solid #e3e6e3;justify-content:space-between;align-items:center;padding:0 11px;display:flex}.view-tabs{align-items:stretch;height:100%;display:flex}.view-tabs button{color:#818984;cursor:pointer;background:0 0;border:0;padding:0 13px;font-size:10px;position:relative}.view-tabs button.active{color:var(--green);font-weight:700}.view-tabs button.active:after{content:"";background:var(--green);height:2px;position:absolute;bottom:0;left:10px;right:10px}.view-tabs button span{color:#a2aaa6;background:#eff1ef;border-radius:4px;padding:2px 4px;font-size:7px}.canvas-tools{border:1px solid #e0e4e1;border-radius:6px;align-items:center;display:flex}.canvas-tools button{cursor:pointer;background:#fff;border:0;place-items:center;padding:5px 6px;display:grid}.canvas-tools svg{width:13px}.canvas-tools span{color:#707874;padding:0 3px;font-size:9px}.preview-canvas{background:#222a27;place-items:center;display:grid;position:relative;overflow:hidden}.canvas-grid{background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.wall-frame{background:url(/demo/workbench_sample_contact.jpg) 50% 24%/cover no-repeat;width:min(82%,800px);height:79%;min-height:200px;position:relative;box-shadow:0 10px 40px #00000047}.wall-frame:after{content:"";mix-blend-mode:multiply;background:linear-gradient(110deg,#ffffff1f,#0000 45%,#1141380f);position:absolute;inset:0}.roi-outline{z-index:2;border:1px solid #8decc7e6;position:absolute;inset:8%}.roi-outline:before,.roi-outline:after{content:"";background:#aae7d052;position:absolute}.roi-outline:before{height:1px;top:50%;left:0;right:0}.roi-outline:after{width:1px;top:0;bottom:0;left:50%}.roi-outline>span{color:#c8e9dc;background:#0a3228d9;padding:3px 6px;font-size:8px;position:absolute;top:-19px;left:-1px}.corner{border-color:#b7ffe3;width:9px;height:9px;position:absolute}.corner.tl{border-top:2px solid;border-left:2px solid;top:-2px;left:-2px}.corner.tr{border-top:2px solid;border-right:2px solid;top:-2px;right:-2px}.corner.bl{border-bottom:2px solid;border-left:2px solid;bottom:-2px;left:-2px}.corner.br{border-bottom:2px solid;border-right:2px solid;bottom:-2px;right:-2px}.canvas-badge{color:#e9efeb;background:#19201dc2;border:1px solid #ffffff1f;border-radius:5px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;display:flex;position:absolute;top:10px;left:10px}.canvas-badge span{background:#d3a24c;border-radius:50%;width:5px;height:5px}.canvas-info{color:#cbd1ce;background:#121715c7;border-radius:4px;padding:5px 7px;font-size:8px;position:absolute;bottom:8px;right:9px}.canvas-info i{background:#89938e;border-radius:50%;width:2px;height:2px;margin:0 5px 2px;display:inline-block}.timeline-card{padding:10px 12px}.timeline-heading{justify-content:space-between;align-items:flex-start;height:25px;display:flex}.timeline-heading h3{margin:0;font-size:11px;display:inline}.timeline-heading>div>span{color:#8a938e;margin-left:8px;font-size:8px}.timeline-legend{gap:10px;display:flex}.timeline-legend span{align-items:center;display:flex;gap:4px!important;margin:0!important}.timeline-legend i{border-radius:50%;width:6px;height:6px}.timeline-legend i.selected{background:var(--green)}.timeline-legend i.excluded{background:#f4dcd7;border:1px solid #c26c5c}.frames-strip button{cursor:pointer;background:#f8f9f7;border:1px solid #d8ddda;border-radius:5px;min-width:0;height:75px;padding:0;position:relative;overflow:hidden}.frame-image{filter:saturate(.72);background-image:url(/demo/workbench_sample_contact.jpg);background-size:520px;height:54px;display:block}.frames-strip small{color:#6f7873;font-size:7px;line-height:18px;display:block}.frames-strip button.current{border:2px solid var(--green);box-shadow:0 0 0 2px #126b521f}.frames-strip button.current:after{content:"";border-top:9px solid var(--green);border-right:9px solid #0000;width:0;height:0;position:absolute;top:0;left:0}.frames-strip button.excluded-frame .frame-image{filter:grayscale();opacity:.45}.frames-strip button.excluded-frame b{color:#fff;white-space:nowrap;background:#7a5149;border-radius:3px;padding:3px 4px;font-size:7px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.timeline-track{background:#dfe3e0;height:3px;margin-top:7px;position:relative}.timeline-track span{background:#7eada0;height:100%;display:block}.timeline-track i{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 1px var(--green);border:2px solid #fff;border-radius:50%;position:absolute;top:-2px}.timeline-scale{color:#9aa19d;justify-content:space-between;margin-top:3px;font-size:6px;display:flex}.action-bar{background:#fafbf9;border:1px solid #dfe3df;border-radius:9px;align-items:center;gap:8px;padding:9px 11px;display:flex;box-shadow:0 2px 5px #222c2708}.action-bar p{margin:0 auto 0 2px}.action-bar p b,.action-bar p span{font-size:10px;display:block}.action-bar p span{color:#7d8681;margin-top:2px;font-size:8px}.action-bar button{height:34px}.primary{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:11px;font-weight:700;display:flex;box-shadow:0 3px 7px #126b522e}.primary:hover{background:var(--green-dark)}.primary svg{width:14px}.action-preview{display:none}.task-panel .panel-heading{justify-content:flex-start;gap:10px}.task-name{padding:15px 17px 12px}.task-name span,.task-name small{display:block}.task-name span{font-size:12px;font-weight:700}.task-name small{color:#8a938e;margin-top:3px;font-size:8px}.status-illustration{text-align:center;background:linear-gradient(160deg,#eaf2ed,#f4f6f3);border:1px solid #dce5df;border-radius:9px;margin:0 16px;padding:19px 12px}.status-illustration>span{width:38px;height:38px;color:var(--green);background:#fff;border-radius:50%;place-items:center;margin:0 auto 9px;display:grid;box-shadow:0 3px 10px #22413214}.status-illustration svg{width:19px}.status-illustration h3{margin:0;font-size:12px}.status-illustration p{color:#737c77;margin:6px 0 0;font-size:8px;line-height:1.6}.readiness-list{padding:14px 18px}.readiness-list>div{align-items:center;gap:10px;margin-bottom:12px;display:flex;position:relative}.readiness-list>div:not(:last-child):after{content:"";border-left:1px dashed #cbd2ce;height:14px;position:absolute;top:22px;left:10px}.readiness-list i{color:#89918d;border:1px solid #cfd5d1;border-radius:50%;place-items:center;width:21px;height:21px;font-size:8px;font-style:normal;display:grid}.readiness-list i.ready{background:var(--green);border-color:var(--green);color:#fff}.readiness-list span b,.readiness-list span small{font-size:9px;display:block}.readiness-list span small{color:#8a938e;margin-top:2px;font-size:7px}.notice{color:#6f603e;background:#f5f0e5;border:1px solid #e9dec5;border-radius:7px;gap:8px;margin:0 16px;padding:10px;display:flex}.notice svg{flex:none;width:14px}.notice p{margin:0;font-size:8px;line-height:1.5}.notice b{margin-bottom:2px;font-size:9px;display:block}.result-placeholder{border-top:1px solid #e1e5e2;margin:13px 16px;padding-top:12px}.result-top{justify-content:space-between;display:flex}.result-top span{font-size:10px;font-weight:700}.result-top small{color:#999;font-size:7px}.result-placeholder p{color:#818a85;font-size:8px;line-height:1.5}.result-placeholder button{color:#a2a9a5;background:#eef0ee;border:1px solid #d8ddda;border-radius:6px;justify-content:center;align-items:center;gap:5px;width:100%;padding:8px;font-size:9px;display:flex}.result-placeholder button svg{width:12px}.history-page{background:#f2f3f1;min-height:calc(100vh - 64px);padding:50px max(4vw,40px)}.history-hero{justify-content:space-between;align-items:flex-end;max-width:1180px;margin:0 auto 30px;display:flex}.history-hero h1{margin:6px 0;font-size:30px}.history-hero p:last-child{color:#78817c;font-size:12px}.history-toolbar{align-items:center;gap:7px;max-width:1180px;margin:0 auto 13px;display:flex}.search{width:310px;margin-right:auto;position:relative}.search span{color:#7e8782;position:absolute;top:8px;left:12px}.search input{background:#fff;border:1px solid #d9deda;border-radius:7px;width:100%;padding:9px 12px 9px 34px;font-size:11px}.filter{cursor:pointer;background:#fff;border:1px solid #d6dbd7;border-radius:18px;padding:7px 12px;font-size:10px}.filter.active{color:var(--green);background:#e9f1ed;border-color:#9ab9ad}.filter b{margin-left:4px}.task-table{background:#fff;border:1px solid #dde1de;border-radius:10px;max-width:1180px;margin:auto;overflow:hidden}.task-row{color:#69726d;border-bottom:1px solid #e8eae8;grid-template-columns:2fr 1.35fr 1fr .8fr 35px;align-items:center;min-height:70px;padding:0 20px;font-size:11px;display:grid}.task-row:last-child{border:0}.task-header{color:#89918d;text-transform:uppercase;letter-spacing:.08em;background:#f8f9f7;min-height:40px;font-size:8px;font-weight:700}.task-identity{color:#222b27;align-items:center;gap:11px;display:flex}.task-identity>i{width:34px;height:34px;color:var(--green);background:#e7efeb;border-radius:8px;place-items:center;font-style:normal;font-weight:700;display:grid}.task-identity b small{color:#929a96;margin-top:4px;font-size:8px;font-weight:500;display:block}.task-row>button{cursor:pointer;background:0 0;border:0}.task-row>button svg{width:14px}.status-tag{border-radius:12px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:600;display:inline-block}.status-tag.draft{color:#68716c;background:#eef0ee}.status-tag.partial{color:#8a6226;background:#f5ebd9}.status-tag.complete{color:var(--green);background:#e0eee7}.history-note{color:#858d89;gap:8px;max-width:1180px;margin:13px auto;font-size:9px;display:flex}.history-note svg{width:14px}.history-note b{color:#626b66;margin-right:5px}.empty-source{text-align:center;color:#74807a;background:#f2f6f3;border:1px dashed #bdc9c2;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:88px;display:flex}.empty-source svg{width:19px;color:var(--green);margin-bottom:5px}.empty-source b{font-size:10px}.empty-source span{margin-top:3px;font-size:8px}.empty-preview{z-index:2;color:#b9c4be;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.empty-preview svg{width:34px;margin-bottom:9px}.empty-preview b{color:#d6ddd9;font-size:12px}.empty-preview span{margin-top:5px;font-size:8px}.empty-timeline{text-align:center;place-items:center;display:grid}.empty-timeline b,.empty-timeline span{display:block}.empty-timeline span{color:#87908b;margin-top:5px;font-size:8px}.demo-result{background:#f5f8f6;border:1px solid #d7e2dc;border-radius:9px;margin:0 16px;padding:13px}.demo-result-heading{justify-content:space-between;align-items:center;display:flex}.demo-result-heading span{font-size:11px;font-weight:700}.demo-result-heading em{color:#8a6226;background:#f5e8d1;border-radius:10px;padding:4px 6px;font-size:7px;font-style:normal}.demo-result-image{filter:saturate(.75);background:url(/demo/workbench_sample_contact.jpg) 50% 62%/cover;border-radius:6px;height:128px;margin:10px 0}.demo-result dl{grid-template-columns:repeat(3,1fr);gap:4px;margin:0;display:grid}.demo-result dl div{background:#fff;border-radius:5px;padding:6px}.demo-result dt{color:#8a938e;font-size:7px}.demo-result dd{margin:2px 0 0;font-size:10px;font-weight:700}.demo-result p{color:#7c8580;gap:5px;font-size:7px;line-height:1.5;display:flex}.demo-result p svg{flex:none;width:11px}.demo-result button{background:#eef0ee;border:1px solid #d8ddda;border-radius:6px;justify-content:center;align-items:center;gap:5px;width:100%;padding:7px;font-size:8px;display:flex}.demo-result button svg{width:12px}.demo-result-image.real-result{filter:none;background:#e5e9e7;overflow:hidden}.demo-result-image.real-result img{object-fit:contain;width:100%;height:100%;display:block}.stream-controls{background:#f3f7f4;border:1px solid #d8e3dc;border-radius:8px;margin-top:12px;padding:10px}.stream-controls .camera-grid{margin:8px 0}.stream-controls .source-note{overflow-wrap:anywhere;margin:8px 0 0}.crop-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.crop-control{background:#f7f9f7;border:1px solid #dce4df;border-radius:8px;min-width:0;padding:9px}.crop-control label{color:#53615a;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.crop-control .numeric-control{text-align:right;width:72px;min-height:30px;margin:0;padding:5px 7px;font-size:11px}.crop-slider{width:100%;height:18px;accent-color:var(--green);cursor:pointer;margin:7px 0 1px;display:block}.crop-slider:disabled{cursor:not-allowed;opacity:.5}.crop-scale{color:#929b96;font-variant-numeric:tabular-nums;justify-content:space-between;font-size:8px;display:flex}@media (width<=1100px){.brand{width:220px}.workbench{grid-template-columns:270px minmax(470px,1fr) 44px}.task-panel{display:none}.workspace{padding:12px}.heading-summary span:nth-child(2),.action-preview{display:none}}@media (width<=760px){html,body,#root{width:100%;overflow-x:hidden}.topbar{padding:0 12px}.brand{width:auto}.brand>span:last-child{display:none}.main-nav{margin-left:8px}.main-nav button{padding:0 9px;font-size:0}.main-nav button svg{width:19px}.demo-pill{padding:8px;font-size:0}.target-picker{font-size:0}.target-picker select{max-width:92px;padding:5px 3px;font-size:9px}.avatar{display:none}.workbench,.workbench.left-collapsed,.workbench.right-collapsed,.workbench.left-collapsed.right-collapsed{grid-template-columns:minmax(0,1fr);width:100%;height:auto;min-height:calc(100vh - 64px);overflow:visible}.source-panel,.task-panel,.collapsed-rail{display:none}.workspace{grid-template-rows:54px 410px 155px;width:100%;min-width:0;min-height:calc(100vh - 64px);padding:10px 10px 74px;overflow:hidden}.workspace-heading h1{font-size:16px}.heading-summary{gap:8px}.heading-summary span:nth-child(2),.heading-summary span:nth-child(3){display:none}.preview-card,.timeline-card{width:100%;min-width:0}.preview-toolbar{min-width:0;padding:0 8px}.canvas-tools{display:none}.view-tabs{min-width:0}.view-tabs button{white-space:nowrap;padding:0 8px}.view-tabs button span{display:none}.wall-frame{width:92%;height:77%}.canvas-info{white-space:nowrap;text-overflow:ellipsis;max-width:76%;overflow:hidden}.frames-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.frames-strip button:nth-child(n+5){display:none}.action-bar{z-index:20;width:auto;min-width:0;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 5px 20px #19201d2e}.action-bar p{display:none}.action-bar button{flex:1;min-width:0;padding-left:5px;padding-right:5px}.action-preview{display:none}.history-page{width:100%;padding:28px 14px;overflow:hidden}.history-hero{align-items:flex-start}.history-hero h1{font-size:24px}.history-hero p:last-child{max-width:240px}.history-toolbar{overflow:auto}.search{min-width:210px}.task-row{grid-template-columns:minmax(0,1fr) 90px 25px;padding:0 12px}.task-row>span:nth-child(2),.task-row>span:nth-child(3){display:none}.task-header span:nth-child(4){grid-column:2}.history-hero .primary{padding:10px;font-size:0}.history-hero .primary span{font-size:18px}}.mask-panel{background:var(--panel,#fff);border:1px solid #dce3e9;border-radius:12px;margin:12px 0;padding:14px}.mask-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mask-settings{gap:12px;margin-top:12px;display:grid}.mask-settings label{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mask-settings select{max-width:100%}.mask-panel input,.mask-panel select{border:1px solid #ccd5df;border-radius:6px;padding:6px 8px}.mask-panel input[type=number]{width:100px}.mask-panel p{overflow-wrap:anywhere}.crack-analysis{border-top:1px solid #dce3e9;gap:10px;margin-top:12px;padding-top:12px;display:grid}.crack-analysis>small{color:#64748b;line-height:1.7}.crack-filters label{align-items:center;gap:6px;display:inline-flex}.crack-summary,.crack-source-info{color:#64748b;margin:0}.crack-table-scroll{border:1px solid #dce3e9;border-radius:8px;max-height:320px;overflow:auto}.crack-table{border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%}.crack-table th,.crack-table td{text-align:right;border-bottom:1px solid #e2e8f0;padding:7px 10px}.crack-table th{background:var(--panel,#fff);z-index:1;position:sticky;top:0}.crack-table th:first-child,.crack-table td:first-child{text-align:left}.crack-table tr.selected{background:#e0f2fe}.crack-id{align-items:center;gap:8px;display:inline-flex}.crack-id i{border-radius:3px;width:12px;height:12px;display:inline-block}.crack-region-backdrop{z-index:220;background:#000b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.crack-region{background:var(--panel,#fff);border-radius:12px;max-width:95vw;max-height:95vh;padding:16px;overflow:auto}.crack-region header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.crack-region img{object-fit:contain;background:#000;max-width:88vw;max-height:75vh;display:block}.workspace.with-mask-panel{grid-template-rows:54px minmax(360px,1fr) auto 172px max-content;align-content:start;overflow-y:auto}.workspace.with-mask-panel .mask-panel{min-width:0;margin:0;font-size:12px}.mask-panel .view-tabs{min-height:32px}.crack-history-workspace{max-width:1800px;margin:auto;padding:24px}.crack-history-workspace>header{justify-content:space-between;align-items:center;gap:20px;display:flex}.crack-history-workspace p{overflow-wrap:anywhere}.crack-history-workspace button,.crack-history-workspace input,.crack-history-workspace select,.crack-calibration button{background:#fff;border:1px solid #cbd5d1;border-radius:6px;padding:7px 10px}.crack-history-workspace input[type=number],.crack-filters input[type=number]{width:100px}.archive-canvas{background:#17211d;border-radius:10px;height:48vh;min-height:280px;overflow:auto}.archive-canvas>div{align-items:center;min-height:100%;display:flex}.archive-canvas img{cursor:crosshair;width:100%;display:block}.archive-canvas-info{color:#596d62;font-size:13px}.crack-calibration{border:1px solid #d5dfd9;border-radius:8px;padding:12px}.crack-calibration summary{cursor:pointer;font-weight:600}.crack-calibration label{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.crack-calibration textarea{width:min(100%,620px);min-height:54px;font-family:monospace}.crack-coordinate-entry{color:#126b52;background:#e7f4ed;font-weight:700}.crack-coordinate-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.crack-coordinate-heading span{color:#126b52;background:#e7f4ed;border-radius:5px;padding:3px 8px}.crack-calibration fieldset{border:0;min-width:0;margin:0;padding:0}.crack-coordinate-equations,.crack-coordinate-example{font-variant-numeric:tabular-nums;background:#eef5f0;border-radius:6px;padding:9px 12px}.crack-coordinate-advanced{margin:10px 0}.crack-coordinate-pending{color:#596d62}.crack-archive-list{margin:20px 0}.crack-archive-list article{background:#fff;border-bottom:1px solid #dce3de;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.crack-archive-list small{color:#6b7c72;overflow-wrap:anywhere;margin-top:5px;display:block}.crack-archive-list button{flex-shrink:0;padding:8px 14px}.crack-region{width:min(1200px,95vw)}.crack-crop-scroll{max-height:66vh;overflow:auto}.crack-crop-scroll img{object-fit:initial;max-height:none;display:block}.crack-position small{color:#6b7c72}@media (width<=760px){.workspace.with-mask-panel{grid-template-rows:54px 360px auto 172px max-content}}.full-button{width:100%;margin-top:8px}.numeric-control{background:#fff;border:1px solid #d7dcd8;border-radius:6px;width:100%;margin-top:5px;padding:8px;font-size:10px;display:block}.validation-error{color:#943f31;background:#f9e6e2;border-radius:6px;margin:10px 18px;padding:8px;font-size:9px}.config-actions{grid-template-columns:1fr 1fr;gap:6px;padding:10px 18px;display:grid}.config-actions button,.config-actions label{text-align:center;cursor:pointer;background:#fff;border:1px solid #d5dad6;border-radius:6px;padding:7px;font-size:8px}.config-actions label{grid-column:1/-1}.config-actions input{display:none}.roi-editor{z-index:4;background:#121715d1;border-radius:5px;gap:3px;padding:5px;display:flex;position:absolute;bottom:9px;left:10px}.roi-editor label{color:#dbe3df;font-size:7px}.roi-editor input{color:#fff;background:#26302c;border:1px solid #53615a;border-radius:3px;width:48px;margin-left:2px;padding:3px;font-size:7px}.scenario-select{color:#77807b;font-size:8px}.scenario-select select{border:1px solid #d4dad6;border-radius:5px;padding:4px;font-size:8px;display:block}.danger{color:#fff;background:#a44d3f;border:1px solid #a44d3f;border-radius:7px;padding:8px 12px;font-size:10px}.state-buttons{grid-template-columns:repeat(2,1fr);gap:5px;margin:12px 16px;display:grid}.state-buttons button{background:#fff;border:1px solid #d5dad6;border-radius:5px;padding:6px;font-size:8px}.state-buttons button:last-child{grid-column:1/-1}.state-failed,.state-disconnected{background:#f8e9e6}.state-cancelled{background:#eef0ee}.empty-history{text-align:center;color:#89918d;padding:40px;font-size:11px}.demo-pill.offline{color:#8a463a;background:#f4e5e2}.u2-actions{gap:6px}.u2-actions p{min-width:130px}.tab-original{filter:saturate(.5)}.tab-result{filter:saturate(1.1)contrast(1.04)}@media (width<=1100px){.scenario-select{display:none}.u2-actions p{max-width:180px}}.file-button input{display:none}.file-button.disabled{opacity:.55;cursor:not-allowed}.source-thumb.real-source{background:#dfe8e3}.real-frames .frame-image{background-color:#dce6e1;background-image:none}.wall-frame.real-preview{background:#18201d}.wall-frame.real-preview img{object-fit:contain;width:100%;height:100%;display:block}.wall-frame.real-preview .real-preview-placeholder{color:#dbe7e1;text-align:center;place-items:center;padding:20px;font-size:14px;display:grid;position:absolute;inset:0}.wall-frame.real-preview:after,.wall-frame.real-preview .roi-outline{pointer-events:none}.wall-frame.real-preview:after{display:none}.wall-frame.real-preview{filter:none}.measured-preview{touch-action:none}.pixel-roi-outline{outline-offset:-2px;pointer-events:none;z-index:2;outline:2px solid #9ff4ca;position:absolute;box-shadow:0 0 0 100vmax #06151080}.pixel-roi-outline>span{color:#ddffed;white-space:nowrap;background:#103e2ed9;padding:3px 6px;font-size:11px;position:absolute;top:2px;left:2px}.crop-position-toggle{z-index:5;color:#e5fff2;cursor:pointer;background:#234938ed;border:1px solid #83b39d;border-radius:5px;padding:6px 10px;font-size:11px;position:absolute;top:43px;left:10px}.crop-position-toggle[aria-pressed=true]{background:#206048ed}.measured-preview .roi-size-label{z-index:3;max-width:calc(100% - 108px)}.roi-size-label small{color:#b7c7be;margin-top:3px;display:block}.measured-preview .canvas-info{bottom:44px}.real-preview-placeholder button{color:#174e37;cursor:pointer;background:#e5f3eb;border:1px solid #8ba89a;border-radius:6px;padding:8px 14px}.real-preview-placeholder button:disabled{opacity:.55;cursor:wait}.wall-frame.real-preview.is-stale img{opacity:.72;filter:saturate(.65)}.roi-size-label{color:#d7e8df;font-variant-numeric:tabular-nums;pointer-events:auto;background:#19201dc2;border:1px solid #ffffff20;border-radius:5px;padding:5px 8px;font-size:10px;position:absolute;top:10px;right:10px}.preview-stale-note{z-index:5;color:#fff;white-space:nowrap;background:#17221dd9;border:1px solid #ffffff32;border-radius:7px;padding:8px 12px;font-size:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0005}.result-image-button{z-index:3;cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.result-image-button>span{color:#fff;opacity:0;background:#101814c9;border:1px solid #ffffff30;border-radius:6px;align-items:center;gap:5px;padding:6px 9px;font-size:9px;transition:all .16s;display:flex;position:absolute;bottom:10px;right:10px;transform:translateY(4px)}.result-image-button>span svg{width:13px}.result-image-button:hover>span,.result-image-button:focus-visible>span{opacity:1;transform:none}.image-lightbox{z-index:100;color:#eff5f1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#09100ded;grid-template-rows:58px minmax(0,1fr);display:grid;position:fixed;inset:0}.image-lightbox>header{background:#101814e6;border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;padding:0 18px 0 22px;display:flex}.image-lightbox>header b,.image-lightbox>header span{display:block}.image-lightbox>header b{font-size:13px}.image-lightbox>header div>span{color:#9fafa7;margin-top:3px;font-size:9px}.lightbox-tools{border:1px solid #ffffff20;border-radius:7px;align-items:center;display:flex;overflow:hidden}.lightbox-tools button{color:#e8f0ec;cursor:pointer;background:0 0;border:0;border-left:1px solid #ffffff18;place-items:center;width:34px;height:32px;display:grid}.lightbox-tools button:first-child{border-left:0}.lightbox-tools button:hover{background:#ffffff13}.lightbox-tools button svg{width:15px}.lightbox-tools>span{text-align:center;width:48px;color:#cdd8d2!important;margin:0!important;font-size:9px!important}.lightbox-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.lightbox-stage:active{cursor:grabbing}.lightbox-stage img{object-fit:contain;transform-origin:50%;pointer-events:none;max-width:calc(100vw - 48px);max-height:calc(100dvh - 106px);transition:transform 80ms ease-out;display:block;box-shadow:0 18px 70px #0009}.lightbox-stage p{color:#aebbb4;pointer-events:none;background:#0c120fbf;border-radius:12px;margin:0;padding:5px 9px;font-size:9px;position:absolute;bottom:12px}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.camera-grid label{color:#53615a;min-width:0;font-size:11px}.camera-grid .numeric-control{box-sizing:border-box;width:100%;font-size:12px}.task-progress{background:#f5faf6;border:1px solid #d9e8df;border-radius:10px;margin:12px 0;padding:14px}.task-progress-heading{color:#254533;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.task-progress-heading strong{font-variant-numeric:tabular-nums;color:#237747}.task-progress-track{background:#dbe9df;border-radius:999px;height:9px;margin:10px 0 8px;overflow:hidden}.task-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#50aa71,#258d54);height:100%;transition:width .4s;display:block}.task-progress p{color:#40574a;margin:0;font-size:11px;line-height:1.5}.task-progress small{color:#718277;margin-top:5px;font-size:10px;line-height:1.5;display:block}.calibration-section .file-button{margin-top:10px}.calibration-result{color:#245535;background:#edf8f0;border:1px solid #bad9c5;border-radius:7px;margin:8px 0;padding:9px 10px;font-size:12px;line-height:1.5}.calibration-diagnostics{margin-top:8px;font-size:11px;line-height:1.5}.calibration-diagnostics summary{cursor:pointer}.calibration-diagnostics ul{max-height:280px;padding:0;list-style:none;overflow-y:auto}.calibration-diagnostics li{overflow-wrap:anywhere;border-bottom:1px solid #d9dfdb;gap:3px;padding:8px 0;display:grid}.demo-result-image.real-result{background:#dfe8e3}.compute-summary{color:#536575;border:1px solid #dce5ec;border-radius:10px;margin:0 16px 12px;padding:12px 16px;font-size:12px;line-height:1.7}.compute-summary p{margin:4px 0}.compute-summary summary{cursor:pointer;color:#243d51}.backend-control{align-items:center;gap:5px;display:flex}.backend-picker select{width:104px}.backend-help{display:flex;position:relative}.backend-help>button{color:#536c5e;cursor:help;background:#fff;border:1px solid #ced7d1;border-radius:6px;place-items:center;width:26px;height:28px;padding:4px;display:grid}.backend-help>button svg{width:16px;height:16px}.backend-explanation{z-index:25;color:#365749;visibility:hidden;opacity:0;pointer-events:none;background:#f1f8f3;border:1px solid #c8dacd;border-radius:8px;width:min(320px,100vw - 32px);margin:0;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.6;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 6px 20px #18382b1a}.backend-help:hover .backend-explanation,.backend-help:focus-within .backend-explanation{visibility:visible;opacity:1}.ultra-dialog-backdrop{z-index:150;background:#071410dd;padding:clamp(8px,2vw,28px);display:flex;position:fixed;inset:0}.ultra-dialog{color:#e6efe9;background:#16251f;border:1px solid #557463;border-radius:16px;flex-direction:column;width:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 24px 80px #0008}.ultra-dialog header{border-bottom:1px solid #375044;align-items:center;gap:16px;padding:14px 18px;display:flex}.ultra-dialog header>div{gap:5px;margin-right:auto;display:grid}.ultra-dialog small,.ultra-dialog footer{color:#becdc3;font-size:12px}.ultra-dialog select{color:#e6efe9;background:#21372c;border:1px solid #587764;border-radius:6px;max-width:min(38vw,340px);padding:7px}.ultra-dialog button{color:#e6efe9;cursor:pointer;background:#294536;border:1px solid #587764;border-radius:7px;padding:7px 12px}.ultra-dialog button:hover{background:#3b614c}.ultra-dialog button:disabled{opacity:.5;cursor:wait}.ultra-dialog nav{flex-wrap:wrap;gap:8px;padding:10px 18px;display:flex}.ultra-viewport{touch-action:none;cursor:grab;background:#0d1410;flex:1;min-height:100px;position:relative;overflow:hidden}.ultra-viewport:active{cursor:grabbing}.manual-mask-editor{position:relative}.manual-mask-editor nav{align-items:center}.manual-mask-editor label{align-items:center;gap:6px;font-size:12px;display:inline-flex}.manual-mask-editor input{color:#eef6f1;background:#21372c;border:1px solid #587764;border-radius:5px;padding:5px}.manual-mask-editor button.primary,.manual-mask-editor button[aria-pressed=true]{background:#19684b;border-color:#72cfa8}.mask-edit-location{flex-wrap:wrap;align-items:center;gap:10px;padding:0 18px 10px;font-size:12px;display:flex}.mask-edit-location img{object-fit:contain;cursor:crosshair;border:1px solid #638773;width:auto;max-width:110px;height:58px}.mask-edit-location input{width:75px}.mask-brush-cursor{pointer-events:none;z-index:6;border:1px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #111}.mask-edit-close{z-index:10;background:#21372c;border:1px solid #91b9a4;border-radius:12px;padding:24px;position:absolute;inset:30% 20% auto;box-shadow:0 8px 40px #0009}.mask-edit-close button{margin:5px}.ultra-overview{pointer-events:none;position:absolute;inset:0}.ultra-tile{pointer-events:none;position:absolute}.ultra-load-status{color:#d4e9dd;pointer-events:none;background:#0d201bcc;border-radius:6px;padding:6px 10px;font-size:12px;position:absolute;top:12px;right:12px}.ultra-tile img{-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;display:block}.ultra-dialog footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:20px;padding:11px 18px;display:flex}.ultra-loading{text-align:center;position:absolute;inset:40% 0 auto}.ultra-mode-control label{gap:8px;font-weight:600;display:grid}@media (width<=600px){.ultra-dialog header{flex-wrap:wrap;gap:8px;padding:10px}.ultra-dialog select{max-width:60vw}.ultra-dialog nav{gap:5px;padding:8px}.ultra-dialog button{padding:7px 9px;font-size:12px}}:root{--muted:#596b63;--line:#dce5df;--paper:#fbfdfb}button,input,select{font:inherit}button,input,select,.file-button{transition:background-color .14s,border-color .14s,box-shadow .14s}button:focus-visible,input:focus-visible,select:focus-visible,.file-button:focus-within{outline-offset:3px;outline:3px solid #76b8a1}button:enabled:active{filter:brightness(.96)}.app-shell{flex-direction:column;height:100dvh;display:flex}.workbench-host{flex-direction:column;flex:1;min-height:0;display:flex}.workbench-host[hidden]{display:none}.topbar{flex:0 0 64px;box-shadow:0 1px 12px #18382b05}.runtime-status{flex:none;padding:7px 22px}.workbench{flex:1;grid-template-columns:304px minmax(0,1fr) 286px;height:auto;min-height:0;transition:none}.workbench.left-collapsed{grid-template-columns:44px minmax(0,1fr) 286px}.workbench.right-collapsed{grid-template-columns:304px minmax(0,1fr) 44px}.workbench.left-collapsed.right-collapsed{grid-template-columns:44px minmax(0,1fr) 44px}.side-panel{scrollbar-width:thin;scrollbar-color:#bdcec4 transparent;overscroll-behavior:contain}.panel-heading{z-index:5;background:#fafcf9;height:74px;position:sticky;top:0}.panel-heading h2{font-size:18px}.eyebrow{color:#65796d;font-size:10px}.panel-section{padding-top:18px;padding-bottom:18px}.section-title h3{font-size:13px}.section-title>span{font-size:10px}.field-row label,.select-label,.toggle-row b{color:#52655a;font-size:11px}.field-row input,.numeric-control,.select-control{min-height:34px;font-size:12px}.source-meta b{font-size:12px}.upload-recovery{background:#fffaf0;border:1px solid #d7ba79;border-radius:8px;margin-top:12px;padding:12px;font-size:11px}.upload-recovery details{margin:10px 0}.upload-recovery summary{cursor:pointer}.upload-recovery ul{max-height:220px;padding-left:16px;overflow:auto}.upload-recovery li{overflow-wrap:anywhere;margin-bottom:8px}.upload-recovery li b,.upload-recovery li span{display:block}.upload-recovery li span{color:#76613e;font-size:10px}.damaged-timeline{border-color:#d7ba79}.damaged-timeline .timeline-heading button{flex-shrink:0;padding:7px 10px;font-size:11px}.damaged-frames-strip{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.damaged-frame{background:#fffaf0;border:1px solid #dbc490;border-radius:6px;flex:0 0 170px;padding:9px;font-size:10px}.damaged-frame b{color:#9b532b;margin-bottom:5px;display:block}.damaged-frame span{overflow-wrap:anywhere;display:block}.damaged-timeline .source-note{margin:4px 0 0}.source-meta span,.source-note,.toggle-row small{color:#627368;font-size:10px;line-height:1.6}.toggle-row{gap:12px}.toggle-row>span{flex:1;min-width:0}.toggle-row>input[type=checkbox]{border:0;flex:0 0 36px;width:36px;height:20px;margin:0;padding:0}.toggle-row>input[type=checkbox]:after{width:16px;height:16px;transition:transform .14s;top:2px;left:2px;transform:translate(0)}.toggle-row>input[type=checkbox]:checked:after{left:2px;transform:translate(16px)}@media (prefers-reduced-motion:reduce){.toggle-row>input[type=checkbox]:after{transition:none}}.config-actions button,.config-actions label,.advanced-button,.text-button{font-size:11px}.workspace{background:radial-gradient(at top,#f8faf6,#edf2ed);grid-template-rows:54px minmax(180px,1fr) 172px max-content;gap:12px;min-width:0;min-height:0;padding:18px}.workspace-heading h1{font-size:21px;font-weight:650}.heading-summary span,.backend-picker{font-size:10px}.heading-summary b{font-variant-numeric:tabular-nums;font-size:16px}.preview-card,.timeline-card{border-radius:12px;box-shadow:0 3px 16px #193f2b06}.preview-card{grid-template-rows:46px minmax(0,1fr);min-height:0}.preview-canvas{background:#202d28}.preview-toolbar{padding:0 12px}.view-tabs button{padding:0 12px;font-size:12px}.canvas-tools button{min-width:29px;min-height:29px}.canvas-tools span{font-size:11px}.wall-frame{min-height:0}.canvas-badge,.canvas-info,.roi-editor input{font-size:10px}.empty-preview{gap:6px;padding:24px}.empty-preview svg{color:#8caf9d;width:44px}.empty-preview b{font-size:17px}.empty-preview span{color:#b2c2b9;font-size:12px}.empty-timeline b{font-size:13px}.empty-timeline span{color:#627368;font-size:11px}.timeline-heading{align-items:center;height:29px;margin-bottom:6px}.timeline-heading h3{font-size:12px}.timeline-heading>div>span{color:#61736a;font-size:10px}.frames-strip{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;display:grid}.frame-tile{border-radius:7px;min-width:0;position:relative}.frames-strip .frame-preview{border-radius:7px;width:100%;height:82px}.frames-strip .frame-preview:hover{border-color:var(--green)}.frames-strip .frame-image{height:56px}.frames-strip small{font-size:10px;line-height:23px}.frames-strip .frame-toggle{color:#314a3d;background:#ffffffec;border-color:#ffffff80;width:auto;height:22px;padding:0 5px;font-size:10px;position:absolute;top:4px;right:4px}.frame-tile.excluded-frame .frame-image{opacity:.35;filter:grayscale()}.frame-tile.excluded-frame .frame-toggle{color:#87452e;background:#fff0e8}.timeline-pagination,.timeline-pagination>div{align-items:center;gap:10px;display:flex}.timeline-pagination{color:#607268;font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:9px;font-size:10px}.timeline-pagination button{cursor:pointer;background:#f8fbf8;border:1px solid #dce5df;border-radius:5px;padding:3px 8px;font-size:10px}.action-bar{border-radius:12px;flex-wrap:wrap;gap:8px;min-height:66px;padding:10px 12px}.action-bar p{overflow-wrap:anywhere;flex:160px;min-width:0}.action-bar p b{font-size:12px;line-height:1.5}.action-bar p span{font-size:10px;line-height:1.5}.action-bar button{flex-shrink:0;height:36px}.primary,.secondary{font-size:12px}.primary{box-shadow:0 4px 12px #126b5220}.task-name small,.status-illustration p,.readiness-list span small,.notice p,.result-placeholder p{color:#627368;font-size:11px;line-height:1.65}.status-illustration h3{font-size:16px}.status-illustration{border-radius:12px;padding:24px 12px}.readiness-list span b,.notice b{font-size:12px}.readiness-list>div{margin-bottom:16px}.notice p{color:#75603d}.history-page{flex:1;overflow:auto}@media (width>=761px) and (width<=1200px){.workbench{grid-template-columns:264px minmax(0,1fr) 244px}.workbench.left-collapsed{grid-template-columns:44px minmax(0,1fr) 244px}.workbench.right-collapsed{grid-template-columns:264px minmax(0,1fr) 44px}.task-panel{display:block}.workspace{padding:12px}.timeline-legend{display:none}.heading-summary{gap:8px}}@media (width<=760px){.app-shell{height:auto;min-height:100dvh}.workbench,.workbench.left-collapsed,.workbench.right-collapsed,.workbench.left-collapsed.right-collapsed{grid-template-columns:minmax(0,1fr);overflow:visible}.workspace{grid-template-rows:54px 360px 172px max-content;padding:12px}.workspace-heading h1{font-size:17px}.timeline-legend{display:none}.frames-strip{padding-bottom:3px;display:flex;overflow-x:auto}.frame-tile{flex:0 0 78px}.frames-strip button:nth-child(n+5){display:block}.action-bar{width:100%;position:static}.action-bar p{flex-basis:100%;display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.manual-merge-dialog{border:1px solid #bbc9d2;border-radius:12px;width:min(1400px,96vw);max-height:94vh;padding:24px;overflow:auto}.landmark-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.landmark-pair label{margin:10px 0;display:block}.landmark-pair select{max-width:100%;display:block}.landmark-scroll{background:#15252b;height:55vh;overflow:auto}.landmark-scroll svg{cursor:crosshair;max-width:none;display:block}.landmark-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}@media (width<=700px){.landmark-pair{grid-template-columns:1fr}}.multi-camera-panel{border:1px solid #d4dce3;border-radius:8px;margin:12px 0;padding:10px}.multi-camera-panel h4{margin:0 0 10px;font-weight:600}.camera-mode-switch{background:#f4f7f5;border:1px solid #d4dce3;border-radius:8px;gap:6px;margin:0 0 12px;padding:4px;display:flex}.camera-mode-switch button{color:#526159;min-width:0;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;padding:9px 6px;font-weight:600}.camera-mode-switch button[aria-pressed=true]{color:#244c34;background:#e3eee6;border-color:#3d6b50}.camera-mode-switch button:focus-visible{outline-offset:2px;outline:2px solid #3d6b50}.camera-mode-switch button:disabled{opacity:.55;cursor:wait}.camera-mode-notice{background:#fff5df;border-radius:5px;padding:8px}.multi-camera-slot{border:1px solid #d4dce3;border-radius:6px;min-width:0;margin:10px 0;padding:8px}.multi-camera-slot small{overflow-wrap:anywhere;margin:5px 0;display:block}.multi-camera-summary{overflow-wrap:anywhere;font-size:12px}.camera-scale-panel{background:#f3f7f4;border:1px solid #d4ded8;border-radius:6px;margin:12px 0;padding:10px}.camera-scale-panel h4{margin:0 0 8px}.camera-scale-panel table{border-collapse:collapse;width:100%;font-size:11px}.camera-scale-panel th,.camera-scale-panel td{text-align:left;border-bottom:1px solid #dce4df;padding:5px 3px}.camera-scale-panel td small{font-size:9px;display:block}.multi-camera-preview{grid-template-rows:auto minmax(0,1fr) auto;gap:6px;min-width:0;height:100%;min-height:0;display:grid}.workspace.with-mask-panel.with-multi-preview{grid-template-rows:54px minmax(480px,1fr) auto 172px max-content}.multi-preview-controls{background:var(--surface,#fff);border:1px solid #dce3ee;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px;display:flex}.multi-preview-controls [role=group]{gap:4px;display:flex}.multi-preview-controls button{color:#334155;cursor:pointer;background:#fff;border:1px solid #b9c4d6;border-radius:6px;padding:7px 12px}.multi-preview-controls button[aria-pressed=true]{color:#1d4ed8;background:#e5efff;border-color:#2563eb}.multi-preview-controls input{width:75px;padding:5px}.multi-preview-controls span{color:#526174;font-size:12px}.multi-camera-preview .source-note{padding:0 10px}.panorama-coverage{color:#334155;border:1px solid #dce3ee;border-radius:8px;margin-top:12px;padding:12px}.panorama-coverage p{font-size:13px;line-height:1.6}.panorama-coverage summary{cursor:pointer;padding:8px;font-weight:600}.panorama-gallery{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;padding:10px 0;display:grid}.panorama-gallery button{color:#334155;cursor:pointer;text-align:left;overflow-wrap:anywhere;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.panorama-thumbnail{background:#eef2f7;justify-content:center;align-items:center;width:100%;height:100px;font-size:12px;display:flex}.panorama-thumbnail img{object-fit:contain;max-width:100%;max-height:100%}.inspection-entry{color:#126b52;cursor:pointer;background:#edf6f0;border:1px solid #c8dcd1;border-radius:6px;padding:4px 10px;font-size:11px}.inspection-dialog{color:#243b2e;background:#f5f8f4;border:1px solid #ceded3;border-radius:16px;width:min(1240px,94vw);max-height:92dvh;padding:0;box-shadow:0 24px 100px #10271a45}.inspection-dialog::backdrop{background:#10271a80}.inspection-dialog>header{z-index:2;background:#fff;border-bottom:1px solid #d9e5dc;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;position:sticky;top:0}.inspection-dialog h2{margin:4px 0 0;font-size:21px}.inspection-body{padding:20px 24px;font-size:13px}.inspection-explanation{color:#627365;margin:0 0 16px;line-height:1.8}.inspection-error{color:#87452e;background:#fff0e8;border:1px solid #e9c6b4;border-radius:8px;padding:12px}.inspection-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.inspection-controls label{align-items:center;gap:8px;display:flex}.inspection-dialog select,.inspection-dialog input{color:#243b2e;background:#fff;border:1px solid #cad9cf;border-radius:6px;padding:7px;font-size:12px}.inspection-controls input{width:80px}.quality-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.quality-grid article{background:#fff;border:1px solid #dbe5dd;border-radius:10px;min-width:0;padding:12px}.quality-grid article>img{object-fit:contain;background:#e6ece5;border-radius:6px;width:100%;height:120px;margin-bottom:10px;display:block}.quality-grid article.quality-excluded{background:#fff6f0;border-color:#c1967e}.quality-grid article>b{font-size:12px}.quality-grid article p{color:#746137;min-height:30px;font-size:11px}.quality-grid dl{margin:12px 0;font-size:11px}.quality-grid dl>div{justify-content:space-between;margin:5px 0;display:flex}.quality-grid dd{font-variant-numeric:tabular-nums;margin:0}.inspection-image-placeholder{color:#738476;background:#eaf0e8;place-items:center;min-height:90px;padding:12px;font-size:11px;display:grid}.result-inspection-layout{grid-template-columns:280px minmax(0,1fr);gap:20px;display:grid}.inspection-issues{scrollbar-width:thin;max-height:65vh;overflow:auto}.inspection-issues h3{margin-top:0;font-size:14px}.inspection-issues article{background:#fff;border:1px solid #e1e5dc;border-radius:8px;margin-bottom:12px;padding:12px}.inspection-issues article>p{overflow-wrap:anywhere;color:#748476;font-size:10px}.issue-frame-buttons{grid-template-columns:1fr 1fr;gap:7px;display:grid}.issue-frame-buttons button{cursor:pointer;background:#f8faf6;border:1px solid #d9e3db;border-radius:6px;padding:4px}.issue-frame-buttons button.selected{border-color:#126b52;box-shadow:0 0 0 1px #126b52}.issue-frame-buttons img{object-fit:contain;width:100%;height:64px}.issue-frame-buttons span{font-size:10px}.inspection-comparison{min-width:0}.inspection-comparison>label{align-items:center;gap:12px;display:flex}.inspection-comparison>label select{max-width:100%}.comparison-locator{align-items:center;gap:15px;margin-top:14px;display:flex}.comparison-locator>img{cursor:crosshair;width:auto;max-width:180px;height:auto;max-height:120px}.comparison-locator p{color:#617666;font-size:11px;line-height:1.8}.comparison-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.comparison-pair figure{min-width:0;margin:0}.comparison-pair figcaption{background:#e7eee6;border-radius:8px 8px 0 0;padding:9px;font-size:12px}.comparison-pair figure>div{background:repeating-conic-gradient(#e0e5dd 0% 25%,#f3f6f1 0% 50%) 0 0/16px 16px;height:340px;overflow:auto}.comparison-pair img{max-width:100%;height:auto;display:block}.comparison-pair.native-scale img{max-width:none}.comparison-pair+p{margin-top:12px}@media (width<=950px){.quality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-inspection-layout{grid-template-columns:210px minmax(0,1fr)}}@media (width<=650px){.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-inspection-layout{grid-template-columns:1fr}.inspection-issues{max-height:220px}.inspection-body{padding:14px}}
