.drawing-cursor-crosshair,.drawing-cursor-crosshair *{cursor:crosshair!important}.drawing-cursor-grab,.drawing-cursor-grab *{cursor:grab!important}.drawing-cursor-pen-ballpoint,.drawing-cursor-pen-ballpoint *{cursor:url(/cursors/pen-ballpoint.svg) 6 18,crosshair!important}.drawing-cursor-pen-highlighter,.drawing-cursor-pen-highlighter *{cursor:url(/cursors/pen-highlighter.svg) 5 15,crosshair!important}.drawing-cursor-pen-marker,.drawing-cursor-pen-marker *{cursor:url(/cursors/pen-marker.svg) 7 17,crosshair!important}.drawing-cursor-pen-pencil,.drawing-cursor-pen-pencil *{cursor:url(/cursors/pen-pencil.svg) 6 18,crosshair!important}.drawing-cursor-pointer,.drawing-cursor-pointer *{cursor:pointer!important}.canvas-container{flex:auto;width:100%;min-height:0;position:relative}.canvas-container .openseadragon-canvas:focus,.canvas-container .openseadragon-canvas:focus-visible{outline:none}.canvas-loading-overlay{z-index:5;justify-content:center;align-items:center;gap:var(--spacing-16px);background:var(--color-neutral-1);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.canvas-loading-shimmer{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite page-processing-shimmer;position:absolute;inset:0}.canvas-loading-copy{align-items:center;gap:var(--spacing-4px);padding:var(--spacing-12px) var(--spacing-16px);border-radius:var(--radius-sm);color:var(--color-neutral-5);text-align:center;background:#ffffffd9;flex-direction:column;max-width:32rem;display:flex;position:relative}.tiles-pending-badge-wrap{bottom:var(--spacing-16px);right:var(--spacing-16px);pointer-events:none;z-index:10;position:absolute}.tiles-pending-badge{height:1.5rem;padding:0 var(--spacing-8px);color:#d97706;pointer-events:auto;cursor:default;background-color:#fef3c7;border:1px solid #fde68a;border-radius:999px;align-items:center;display:inline-flex;position:relative}.tiles-pending-badge-tooltip{margin-bottom:var(--spacing-8px);padding:var(--spacing-4px) var(--spacing-8px);color:#fff;font-size:var(--text-caption);font-weight:400;line-height:var(--leading-140);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;background:#0f172a;position:absolute;bottom:100%;right:0}.tile-viewer{background:#e5e7eb;width:100%;height:100%}.pdf-detail-layer{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pdf-detail-layer--ready{opacity:1}.canvas-budget-pill,.canvas-dev-lod{display:none}@media (min-width:768px){.canvas-budget-pill{bottom:var(--spacing-16px);left:var(--spacing-16px);z-index:20;align-items:center;gap:var(--spacing-4px);padding:var(--spacing-4px) var(--spacing-8px);background:var(--color-neutral-05);border:1px solid var(--color-neutral-1);border-radius:999px;display:inline-flex;position:absolute}.canvas-dev-lod{bottom:var(--spacing-16px);right:var(--spacing-16px);z-index:20;padding:var(--spacing-4px) var(--spacing-8px);background:var(--color-neutral-6);color:var(--color-neutral-0);font-family:var(--font-mono);font-size:var(--text-caption);pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;font-weight:400;display:inline-flex;position:absolute}}.canvas-budget-pill__count{font-family:var(--font-sans);font-size:var(--text-caption);color:var(--color-neutral-7);font-weight:700}.canvas-budget-pill__label{font-family:var(--font-sans);font-size:var(--text-caption);color:var(--color-neutral-5);font-weight:400}.osd-fabric-overlay{transition:opacity .15s ease-out}@media (prefers-reduced-motion:reduce){.osd-fabric-overlay{transition-duration:0s}}.region-capture-overlay{z-index:15;cursor:crosshair;background:#0f172a0a;position:absolute;inset:0}.region-capture-overlay--pan-ready{cursor:grab}.region-capture-overlay--panning{cursor:grabbing}.region-capture-overlay--passive{cursor:auto;pointer-events:none;background:0 0}.region-capture-overlay__hint{top:var(--spacing-12px);padding:var(--spacing-4px) var(--spacing-12px);color:#fff;font-family:var(--font-sans);font-size:var(--text-caption);white-space:nowrap;pointer-events:none;background:#111827d9;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.region-capture-overlay__cursor-hint{padding:var(--spacing-4px) var(--spacing-12px);color:#fff;font-family:var(--font-sans);font-size:var(--text-caption);white-space:nowrap;pointer-events:none;z-index:1;background:#111827d9;border-radius:999px;position:fixed;transform:translate(16px,16px)}.canvas-hint-banner{top:var(--spacing-12px);z-index:60;pointer-events:none;max-width:calc(100% - 2 * var(--spacing-16px));padding:var(--spacing-8px) var(--spacing-12px);border-radius:var(--radius-sm);background:var(--color-hint-bg);color:var(--color-neutral-white);font-family:var(--font-sans);font-size:var(--text-body);box-shadow:var(--shadow-soft);text-align:center;position:absolute;left:50%;transform:translate(-50%)}.canvas-hint-banner__mode{font-weight:700}.canvas-hint-banner__keys{font-size:var(--text-caption);opacity:.7;margin-left:var(--spacing-8px);white-space:nowrap}.canvas-hint-banner--toast{align-items:center;gap:var(--spacing-8px);max-width:min(28rem,80vw);padding:var(--spacing-4px) var(--spacing-12px);font-size:var(--text-caption);display:inline-flex}.canvas-hint-banner__thumb{background:#fff;border-radius:2px;max-width:6rem;max-height:3rem}.canvas-hint-cursor{z-index:60;pointer-events:none;padding:var(--spacing-4px) var(--spacing-8px);border-radius:var(--radius-sm);background:var(--color-hint-bg);color:var(--color-neutral-white);font-family:var(--font-sans);font-size:var(--text-body);box-shadow:var(--shadow-soft);white-space:nowrap;position:fixed;transform:translate(16px,16px)}.canvas-hint-cursor--rich{gap:var(--spacing-6px);padding:var(--spacing-8px) var(--spacing-12px);flex-direction:column;align-items:center;display:flex}.region-capture-overlay__band-layer{pointer-events:none;clip-path:var(--canvas-clip,none);position:fixed;inset:0}.region-capture-overlay__rect{border:1.5px dashed var(--color-blue-6);pointer-events:none;background:#0c83ba1f;position:absolute}.region-capture-overlay__polygon{clip-path:var(--canvas-clip,none);pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:visible}.region-capture-overlay__polygon-fill{fill:#0c83ba1f;stroke:none}.region-capture-overlay__polygon-line{fill:none;stroke:var(--color-blue-6);stroke-width:1.5px;stroke-dasharray:4 3}.region-capture-overlay__polygon-line--live{stroke-dasharray:none;opacity:.7}.region-capture-overlay__polygon-vertex{fill:#fff;stroke:var(--color-blue-6);stroke-width:1.5px}.region-capture-overlay__polygon-vertex--first{fill:var(--color-blue-6)}.region-capture-overlay__snap{fill:none;stroke:var(--color-brand-5);stroke-width:2px}.region-capture-overlay__rect--erase{border-style:solid;border-color:var(--color-red-6);background:#c73e3e24}.lod-summary-badge{bottom:var(--spacing-16px);z-index:30;color:#fff;font-size:var(--text-caption);line-height:var(--leading-none);padding:var(--spacing-8px) var(--spacing-12px);pointer-events:none;white-space:nowrap;background:#1a2b28d9;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.region-selection-tooltip{z-index:1050;max-width:24rem;padding:var(--spacing-4px) var(--spacing-8px);border-radius:var(--radius-sm);background:var(--color-hint-bg);color:#fff;font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-140);white-space:pre-line;pointer-events:none;position:fixed}.detection-veil{z-index:13;pointer-events:none;--veil-blur:3.5px;animation:.24s ease-out detection-veil-in;position:absolute;inset:0}.detection-veil__bounds{pointer-events:none;clip-path:var(--canvas-clip,none);position:fixed;inset:0}.detection-veil__pane{-webkit-backdrop-filter:blur(var(--veil-blur));background:#0c83ba0d;transition:-webkit-backdrop-filter .42s,backdrop-filter .42s;position:fixed;inset:0}.detection-veil--gpu_prepare{--veil-blur:2.5px}.detection-veil__shape{pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:visible}.detection-veil__noise{fill:#fff;opacity:.16;animation:19s ease-in-out infinite alternate detection-veil-drift}.detection-veil__wall{fill:color-mix(in srgb, var(--color-brand-2) 45%, transparent);stroke:var(--color-brand-3);stroke-width:1px;stroke-linejoin:round;transition:fill .52s,stroke .52s,stroke-width .52s;animation:.26s ease-out detection-veil-wall-in}.detection-veil__wall--latest{fill:color-mix(in srgb, var(--color-brand-5) 62%, transparent);stroke:var(--color-brand-6);stroke-width:1.5px;transition:none}@keyframes detection-veil-wall-in{0%{opacity:0}to{opacity:1}}.detection-veil__ocr{fill:var(--color-brand-5);fill-opacity:.22;stroke:var(--color-brand-5);stroke-width:1.5px;vector-effect:non-scaling-stroke;animation:.62s ease-in-out 3 forwards detection-veil-ocr-blink,1.86s linear forwards detection-veil-flash-settle}@keyframes detection-veil-ocr-blink{0%,to{opacity:1;fill-opacity:.22}50%{opacity:.25;fill-opacity:.02}}.detection-veil__wall-ring{fill:var(--color-brand-5);fill-opacity:.16;stroke:var(--color-brand-5);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:.62s ease-in-out 3 forwards detection-veil-wall-ring-flash,1.86s linear forwards detection-veil-flash-settle}@keyframes detection-veil-wall-ring-flash{0%,to{opacity:1;fill-opacity:.16}50%{opacity:.3;fill-opacity:.02}}@keyframes detection-veil-flash-settle{0%,85%{fill:var(--color-orange-5);stroke:var(--color-orange-5)}to{fill:var(--color-brand-5);stroke:var(--color-brand-5)}}@media (prefers-reduced-motion:reduce){.detection-veil__ocr,.detection-veil__wall-ring{animation:none}}.detection-veil__scan-line{stroke:var(--color-blue-6);stroke-width:1.5px;opacity:.9;transition:all .9s linear}@keyframes detection-veil-in{0%{opacity:0}to{opacity:1}}@keyframes detection-veil-drift{0%{transform:translate(-1.5%,-1%)}to{transform:translate(1.5%,1%)}}@media (prefers-reduced-motion:reduce){.detection-veil,.detection-veil__noise,.detection-veil__wall{animation:none}.detection-veil__pane,.detection-veil__wall,.detection-veil__scan-line{transition:none}}.region-run-overlay{z-index:14;pointer-events:none;position:absolute;inset:0}.region-run-overlay__shape{clip-path:var(--canvas-clip,none);pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:visible}.region-run-overlay__fill{fill:#0c83ba14;stroke:none}.region-run-overlay__outline{fill:none;stroke:var(--color-blue-6);stroke-width:1.5px;animation:1.5s ease-in-out infinite region-run-pulse}@keyframes region-run-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.region-run-overlay__outline{opacity:1;animation:none}}.smart-area-overlay{cursor:crosshair;position:absolute;inset:0}.smart-area-overlay__shape{clip-path:var(--canvas-clip,none);pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.smart-area-overlay__fill{fill:#3b82f62e;stroke:#3b82f6f2;stroke-width:2px;stroke-dasharray:7 5}.smart-area-overlay__fill--staged{fill:#3b82f642;stroke-dasharray:none}.smart-area-overlay__preview{stroke-width:1.5px;stroke-dasharray:4 3}.smart-area-overlay__preview--add{stroke:var(--color-green-5)}.smart-area-overlay__preview--remove{stroke:var(--color-red-5)}.smart-area-overlay__manual-line{stroke:var(--color-neutral-9);stroke-width:2px;fill:none}.smart-area-overlay__manual-end{fill:var(--color-neutral-9);stroke:var(--color-neutral-0);stroke-width:1.5px}.smart-area-overlay__manual-end--live{fill:var(--color-neutral-0);stroke:var(--color-neutral-9)}.smart-area-overlay__hatch{stroke-width:1.5px}.smart-area-overlay__hatch--add{stroke:color-mix(in srgb, var(--color-green-5) 75%, transparent)}.smart-area-overlay__hatch--remove{stroke:color-mix(in srgb, var(--color-red-5) 75%, transparent)}.smart-area-overlay__cursor-hint{gap:var(--spacing-6px);border-radius:var(--radius-sm);padding:var(--spacing-8px) var(--spacing-12px);flex-direction:column;align-items:center;display:flex}.smart-area-overlay__dial{align-self:stretch;align-items:center;display:flex}.smart-area-overlay__dial-rail{background:#ffffff40;border-radius:999px;width:100%;height:8px;display:block;overflow:hidden}.smart-area-overlay__dial-fill{border-radius:inherit;background-image:linear-gradient(90deg, var(--color-green-5) 0%, var(--color-orange-5) 50%, var(--color-red-5) 100%);background-repeat:no-repeat;width:0;height:100%;transition:width 90ms ease-out;display:block}.smart-area-overlay__hint-text{white-space:nowrap}.action-blocked-dialog{z-index:1000;background:#11182766;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.action-blocked-dialog__card{background:var(--color-bg,#fff);width:100%;max-width:440px;padding:var(--spacing-24px);border-radius:var(--radius-lg);position:relative;box-shadow:0 10px 30px #11182733}.action-blocked-dialog__title{color:var(--color-neutral-7,#111827);margin:0 0 var(--spacing-16px)}.action-blocked-dialog__body{font-size:var(--text-body-sm,14px);color:var(--color-neutral-6,#374151);margin:0 0 var(--spacing-24px);white-space:pre-line}.action-blocked-dialog__actions{justify-content:flex-end;display:flex}.action-blocked-dialog__btn{justify-content:center;min-width:6rem}.move-object-dialog{z-index:1000;background:#11182766;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.move-object-dialog__card{background:var(--color-bg,#fff);width:100%;max-width:480px;padding:var(--spacing-24px);border-radius:var(--radius-lg);position:relative;box-shadow:0 10px 30px #11182733}.move-object-dialog__title{color:var(--color-neutral-7,#111927);margin:0 0 var(--spacing-16px)}.move-object-dialog__body{font-size:var(--text-body-sm,14px);color:var(--color-neutral-6,#1f2a37);margin:0 0 var(--spacing-16px)}.move-object-dialog__list{margin:0 0 var(--spacing-16px);max-height:240px;padding:0;list-style:none;overflow-y:auto}.move-object-dialog__row{gap:var(--spacing-4px);padding:var(--spacing-8px) 0;flex-direction:column;display:flex}.move-object-dialog__row+.move-object-dialog__row{border-top:1px solid var(--color-neutral-1,#e5e7eb)}.move-object-dialog__label{align-items:center;gap:var(--spacing-8px);cursor:pointer;display:flex}.move-object-dialog__label:has(.move-object-dialog__checkbox:disabled){cursor:default}.move-object-dialog__checkbox{accent-color:var(--color-brand-5)}.move-object-dialog__name{color:var(--color-neutral-7,#111927)}.move-object-dialog__meta{color:var(--color-neutral-5,#384250);padding-left:var(--spacing-24px)}.move-object-dialog__warning{font-size:var(--text-body-sm,14px);color:var(--color-orange-7,#9d5a24);background:var(--color-orange-05,#fff4ec);border:1px solid var(--color-orange-1,#fee9d8);border-radius:var(--radius-sm);padding:var(--spacing-8px) var(--spacing-12px);margin:0 0 var(--spacing-16px)}.move-object-dialog__note{color:var(--color-neutral-5,#384250);margin:0 0 var(--spacing-16px)}.move-object-dialog__actions{justify-content:flex-end;gap:var(--spacing-8px);display:flex}.move-object-dialog__btn{justify-content:center;min-width:6rem}
.drawing-sheet-reference-hint{background:var(--color-neutral-8);color:#fff;padding:var(--spacing-4px) var(--spacing-8px);border-radius:var(--radius-sm);pointer-events:none;z-index:1100;white-space:nowrap;position:fixed}.drawing-sheet-reference-hint__target{font-weight:600}.drawing-sheet-reference-hint__label{opacity:.75}.sheet-return-pill{top:var(--spacing-12px);z-index:61;align-items:center;gap:var(--spacing-4px);max-width:calc(100% - 2 * var(--spacing-16px));background:var(--color-hint-bg);color:var(--color-neutral-white);padding:var(--spacing-8px) var(--spacing-12px);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);cursor:pointer;white-space:nowrap;border:none;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.sheet-return-pill:hover{background:var(--color-neutral-7)}.sheet-return-pill:focus-visible{outline:2px solid var(--color-brand-5);outline-offset:2px}.drawing-measurement-tooltip{color:#fff;padding:var(--spacing-4px) var(--spacing-8px);border-radius:var(--radius-sm);pointer-events:none;z-index:1100;white-space:nowrap;background:#111827d9;font-family:system-ui,monospace;position:fixed}.drawing-snap-indicator-dot{box-sizing:border-box;pointer-events:none;z-index:1000;background-color:#fff;border:2px solid #16a34a;border-radius:999px;width:14px;height:14px;position:fixed;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #16a34a33}.drawing-popup{border-radius:var(--radius-sm);padding:var(--spacing-16px);z-index:1000;pointer-events:auto;background:#fff;border:1px solid #e5e7eb;position:fixed;box-shadow:0 4px 16px #0000001f}.drawing-popup-header{margin-bottom:var(--spacing-12px);justify-content:space-between;align-items:center;display:flex}.drawing-popup-title{color:#111827;font-size:.875rem;font-weight:600}.drawing-popup-close{cursor:pointer;background:0 0;border:none;align-items:center;padding:.125rem;display:flex}.drawing-popup-row{align-items:center;gap:var(--spacing-8px);display:flex}.drawing-popup-row--between{justify-content:space-between}.drawing-popup-label{color:#6b7280;font-size:.8125rem}.drawing-popup-value{color:#111827;font-size:.875rem;font-weight:600}.drawing-popup-value--good{color:#16a34a}.drawing-popup-value--warn{color:#d97706}.drawing-popup-value--bad{color:#dc2626}.drawing-popup-input,.drawing-popup-select{border-radius:var(--radius-sm);height:2.25rem;padding:0 var(--spacing-8px);background:#fff;border:1px solid #e5e7eb;outline:none;font-size:.875rem}.drawing-popup-input{flex:1}.drawing-popup-select{cursor:pointer;width:3.5rem}.drawing-popup-error{color:#dc2626;margin-bottom:var(--spacing-8px);font-size:.75rem}.drawing-popup-section{margin-bottom:var(--spacing-12px)}.drawing-popup-section-label{color:#6b7280;margin-bottom:var(--spacing-4px);font-size:.75rem}.drawing-popup-chip-row{gap:var(--spacing-8px);flex-wrap:wrap;display:flex}.drawing-popup-chip{padding:var(--spacing-4px) var(--spacing-12px);cursor:pointer;color:#374151;white-space:nowrap;background:#f3f4f6;border:none;border-radius:999px;font-size:.75rem}.drawing-popup-chip:hover{background:var(--color-neutral-1)}.drawing-popup-actions{justify-content:space-between;gap:var(--spacing-8px);display:flex}.drawing-popup-button{padding:var(--spacing-8px) var(--spacing-16px);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem}.drawing-popup-button--ghost{color:#6b7280;background:0 0;border:1px solid #e5e7eb;font-weight:400}.drawing-popup-button--plain{color:#6b7280;background:0 0;border:none;font-weight:400}.drawing-popup-button--primary{color:#fff;background:var(--color-brand-5);border:none;font-weight:600}.drawing-popup-button--success{color:#fff;background:#16a34a;border:none;font-weight:600}.drawing-mouse-overlay{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.drawing-overlay-backdrop{z-index:2000;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;inset:0}.drawing-overlay-backdrop--light{background:#0000004d}.drawing-overlay-backdrop--dark{background:#0006}.calibration-step-banner{top:var(--spacing-16px);z-index:1500;pointer-events:none;max-width:90vw;padding:var(--spacing-8px) var(--spacing-12px);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-body);text-align:center;background:#111827e6;position:fixed;left:50%;transform:translate(-50%)}.drawing-overlay-card{background:var(--color-neutral-white);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-1);box-shadow:var(--shadow-panel);padding:var(--spacing-24px);position:relative}.drawing-overlay-card--cutout{width:320px}.calibration-dialog--picker{width:min(var(--popup-w-s), calc(100vw - 2rem))}.calibration-popup{width:min(28rem,100vw - 2rem);max-height:calc(100vh - 2rem);position:fixed;top:50vh;left:50vw;transform:translate(-50%,-50%)}.calibration-popup__drag-header{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.calibration-popup__imperial-grid{gap:var(--spacing-8px);margin-top:var(--spacing-12px);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);display:grid}.calibration-popup__field{gap:var(--spacing-4px);min-width:0;color:var(--color-neutral-4);flex-direction:column;display:flex}.calibration-popup__field input,.calibration-popup__field select{border-radius:var(--radius-sm);width:100%;min-width:0;height:2.25rem;color:var(--color-neutral-7);letter-spacing:0;text-transform:none;padding:0 var(--spacing-8px);background:#ffffffeb;border:1px solid #d1d5dbf2;font-family:inherit}.calibration-popup__field input:focus,.calibration-popup__field select:focus{border-color:var(--color-brand-4);box-shadow:none;outline:none}.calibration-popup__imperial-grid--metric{grid-template-columns:minmax(0,1fr)}.calibration-popup .classification-popup__footer{justify-content:flex-end}.calibration-popup .classification-popup__save-btn{text-align:center;width:6rem}.calibration-axis-options{gap:var(--spacing-8px);margin:var(--spacing-8px) 0;flex-direction:column;display:flex}.calibration-axis-option{align-items:center;gap:var(--spacing-8px);color:var(--color-neutral-6);cursor:pointer;display:flex}.calibration-axis-option input{cursor:pointer;width:1rem;height:1rem;accent-color:var(--color-brand-5)}.drawing-overlay-card--warning{width:360px}.drawing-overlay-title{color:var(--color-neutral-7);margin-bottom:var(--spacing-8px)}.drawing-overlay-header{align-items:center;gap:var(--spacing-8px);margin-bottom:var(--spacing-8px);display:flex}.drawing-overlay-header .drawing-overlay-title{flex:1;margin-bottom:0}.calibration-close{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-neutral-4);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.calibration-close:hover{color:var(--color-neutral-6);background:var(--color-neutral-1)}.drawing-overlay-copy{font-size:var(--text-body-sm);color:var(--color-neutral-4);margin-bottom:var(--spacing-24px);line-height:var(--leading-150)}.drawing-overlay-actions{justify-content:flex-end;gap:var(--spacing-8px);display:flex}.drawing-overlay-button{font-family:var(--font-sans);border-radius:var(--radius-sm);align-items:center;gap:var(--spacing-4px);height:32px;padding:0 var(--spacing-16px);cursor:pointer;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.drawing-overlay-button--secondary{color:var(--color-neutral-6);background:var(--color-neutral-white);border:1px solid var(--color-neutral-15)}.drawing-overlay-button--secondary:hover{color:var(--color-brand-6);border-color:var(--color-brand-5)}.drawing-overlay-button--primary{color:var(--color-neutral-white);background:var(--color-brand-5);border:none}.drawing-overlay-button--primary:hover{background:var(--color-brand-6)}.drawing-overlay-button:focus-visible{outline:2px solid var(--color-brand-5);outline-offset:2px}.drawing-overlay-button:disabled{opacity:.72;cursor:not-allowed}.drawing-overlay-button--accept{color:var(--color-neutral-white);background:var(--color-brand-5);border:none}.drawing-overlay-button--accept:hover{background:var(--color-brand-6)}.drawing-overlay-button--danger{color:var(--color-neutral-white);background:var(--color-red-6);border:none}.guided-popup{z-index:2000;gap:var(--spacing-12px);flex-direction:column;width:min(28rem,100vw - 2rem);max-height:calc(100vh - 2rem);display:flex;position:fixed;top:50vh;left:50vw;transform:translate(-50%,-50%)}.guided-popup__drag-header{align-items:center;gap:var(--spacing-8px);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;display:flex}.guided-popup__body{gap:var(--spacing-8px);flex-direction:column;display:flex;overflow:auto}.guided-popup__footer{justify-content:flex-end;gap:var(--spacing-8px);display:flex}.classification-popup__thickness-menu.joist-dialog__thickness-menu{z-index:var(--z-menu)}.joist-dialog.guided-popup{width:min(var(--popup-w-m), calc(100vw - 2rem));gap:0;padding:0}.joist-dialog .classification-popup-header{padding:var(--spacing-16px) var(--spacing-16px) 0;background:0 0;border-bottom:0;flex-shrink:0}.joist-dialog .classification-popup-title{font-weight:inherit;margin-top:0}.joist-dialog .classification-popup__rows{flex:1;min-height:0;overflow:auto}.joist-dialog .classification-popup__row{flex-shrink:0}.joist-dialog .classification-popup__opacity-value,.joist-dialog .classification-popup__thickness-value{color:var(--color-neutral-6);font-family:inherit}.joist-dialog select.classification-popup__name-input{padding-right:var(--spacing-24px)}.joist-dialog__unit-group{box-sizing:border-box;border:1px solid var(--color-neutral-15);border-radius:var(--radius-sm);background:var(--color-neutral-white);flex:1;align-items:stretch;min-width:0;height:32px;display:flex}.joist-dialog__unit-group:focus-within{border-color:var(--color-brand-4)}.joist-dialog__unit-group .classification-popup__name-input{background:0 0;border:0;flex:1;min-width:0;height:100%}.joist-dialog .joist-dialog__unit-group .joist-dialog__unit-select{width:6rem;height:100%;min-height:0;padding:0 var(--spacing-8px) 0 var(--spacing-12px);border-left:1px solid var(--color-neutral-1);border-radius:0;flex:0 0 6rem}.joist-dialog .to-prop-color-palette .classification-popup__color-swatch,.joist-dialog .to-prop-color-palette .classification-popup__color-action{flex-basis:26px;width:26px;height:26px}.joist-dialog .to-prop-color-palette .classification-popup__color-grid{grid-template-columns:repeat(9,26px)}.joist-dialog__toggle{gap:var(--spacing-8px);color:var(--color-neutral-6);cursor:pointer}.joist-dialog .classification-popup-footer{padding:var(--spacing-12px) var(--spacing-16px) var(--spacing-16px);border-top:1px solid var(--color-neutral-1);background:0 0;flex-shrink:0}.joist-preview{pointer-events:none;z-index:6;width:100%;height:100%;position:fixed;inset:0}.joist-preview__line{stroke:var(--color-brand-5);stroke-width:1.5px;stroke-dasharray:4 3}.joist-direction__rubber{stroke:var(--color-neutral-5);stroke-width:1.5px;stroke-dasharray:5 4}.joist-direction__point{fill:var(--color-brand-5);stroke:var(--color-neutral-white);stroke-width:1.5px}.joist-area-outline{fill:var(--color-neutral-5);fill-opacity:.1;stroke:var(--color-neutral-5);stroke-width:2px;stroke-dasharray:8 5;pointer-events:none}.joist-area-move-band{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:move}.joist-area-move-band:active{cursor:grabbing}.joist-area-casing{fill:none;stroke:var(--color-neutral-white);stroke-width:4px;opacity:.6;pointer-events:none}.joist-area-overlay{clip-path:var(--canvas-clip,none);pointer-events:none;z-index:6;width:100%;height:100%;position:fixed;inset:0}.joist-area-handle{fill:var(--color-neutral-white);stroke:var(--color-neutral-5);stroke-width:2px;pointer-events:auto;cursor:grab}.joist-area-handle:active{cursor:grabbing}.joist-area-preview-line{stroke:var(--color-neutral-5);stroke-width:1.5px;stroke-dasharray:4 3}.joist-preview__summary{gap:var(--spacing-8px);color:var(--color-neutral-7);flex-direction:column;display:flex}.joist-preview__buckets{padding-left:var(--spacing-16px);max-height:12rem;margin:0;overflow:auto}
.trace-loupe{pointer-events:none;z-index:9999;will-change:transform;border:2px solid #ffffffe6;border-radius:50%;outline:1px solid #00000059;width:180px;height:180px;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 2px 12px #00000059}.trace-loupe__canvas{width:100%;height:100%;display:block}
.chat-widget-launcher{bottom:var(--spacing-16px);background:linear-gradient(180deg, var(--color-brand-5), var(--color-brand-7));width:3.5rem;height:3.5rem;color:var(--color-neutral-white);cursor:pointer;z-index:22;border:1px solid #21837933;border-radius:999px;justify-content:center;align-items:center;transition:transform .14s,box-shadow .14s,opacity .14s;display:flex;position:absolute;box-shadow:0 16px 40px #144f4947}.chat-widget-launcher:before{content:"";inset:var(--spacing-4px);pointer-events:none;border:1px solid #ffffff38;border-radius:999px;position:absolute}.chat-widget-launcher:hover{transform:translateY(-2px);box-shadow:0 20px 44px #144f4957}.chat-widget-panel{bottom:calc(var(--spacing-16px) + 4.25rem);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:21;background:#fffffff7;border:1px solid #e5e7ebeb;flex-direction:column;width:min(24rem,100vw - 3rem);height:min(42rem,100vh - 8rem);display:flex;position:absolute;overflow:hidden;box-shadow:0 30px 80px #020b0a29}.chat-widget-header{justify-content:space-between;align-items:center;gap:var(--spacing-16px);padding:var(--spacing-16px);background:linear-gradient(#fffffffa,#f8fafceb);border-bottom:1px solid #e5e7ebeb;display:flex}.chat-widget-header--draggable{cursor:grab;-webkit-user-select:none;user-select:none}.chat-widget-header--draggable:active{cursor:grabbing}.chat-widget-header-copy{gap:var(--spacing-4px);flex-direction:column;display:flex}.chat-widget-title{color:var(--color-neutral-7);font-weight:700}.chat-widget-header-actions{align-items:center;gap:var(--spacing-8px);display:flex}.chat-widget-messages{padding:var(--spacing-24px);gap:var(--spacing-16px);background:radial-gradient(circle at 0 0,#d7fdf252,#0000 22%),linear-gradient(#fffffffa,#f8fafceb);flex-direction:column;flex:1;display:flex;overflow:auto}.chat-widget-empty-state{padding:var(--spacing-32px) var(--spacing-24px);gap:var(--spacing-16px);text-align:center;flex-direction:column;margin:auto 0;display:flex}.chat-widget-empty-title{font-size:var(--text-body-lg);color:var(--color-neutral-7)}.chat-widget-empty-copy{color:var(--color-neutral-4)}.chat-message{gap:var(--spacing-12px);align-items:flex-start;display:flex}.chat-message--user{flex-direction:row-reverse}.chat-message-avatar{width:1.75rem;height:1.75rem;color:var(--color-brand-7);background:#2183791f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:700;display:inline-flex}.chat-message--user .chat-message-avatar{color:var(--color-neutral-6);background:#11182714}.chat-message-bubble{min-width:60px;max-width:82%;padding:var(--spacing-12px) var(--spacing-16px);border-radius:var(--radius-sm);color:var(--color-neutral-7);white-space:pre-wrap;background:#fffffffa;border:1px solid #e5e7ebeb;box-shadow:0 8px 22px #1118270a}.chat-message-bubble p{margin:.25em 0}.chat-message-bubble p:first-child{margin-top:0}.chat-message-bubble p:last-child{margin-bottom:0}.chat-message-bubble strong{font-weight:700}.chat-message-bubble em{font-style:italic}.chat-message-bubble ul,.chat-message-bubble ol{margin:.25em 0;padding-left:1.25em}.chat-message-bubble li{margin:.15em 0}.chat-message-bubble code{border-radius:var(--radius-sm);font-size:var(--text-caption);background:#0000000f;padding:.1em .3em}.chat-message--user .chat-message-bubble{color:var(--color-neutral-white);background:linear-gradient(#218379f5,#144f49fa);border-color:#144f4933}.chat-message-bubble--typing{align-items:center;gap:var(--spacing-4px);display:inline-flex}.chat-typing-dot{background:var(--color-neutral-3);border-radius:999px;width:.375rem;height:.375rem;animation:.9s ease-in-out infinite chat-typing-bounce}.chat-typing-dot:nth-child(2){animation-delay:.12s}.chat-typing-dot:nth-child(3){animation-delay:.24s}.chat-widget-error{margin:0 var(--spacing-24px);padding:var(--spacing-8px) var(--spacing-12px);border-radius:var(--radius-sm);color:var(--color-red-6);background:#ffeaeaeb;border:1px solid #ffaaade6}.chat-widget-composer{padding:var(--spacing-16px);background:#fffffffa;border-top:1px solid #e5e7ebeb}.chat-widget-textarea{resize:none;border:1px solid var(--color-neutral-15);border-radius:var(--radius-sm);width:100%;padding:var(--spacing-12px) var(--spacing-16px);color:var(--color-neutral-7);font:inherit;background:#f8fafceb;outline:none}.chat-widget-textarea:focus{border-color:var(--color-brand-4)}.chat-widget-composer-footer{margin-top:var(--spacing-8px);justify-content:space-between;align-items:center;gap:var(--spacing-16px);display:flex}.chat-widget-footer-note{color:var(--color-neutral-3)}.chat-agent-tab{flex-direction:column;height:100%;display:flex}.chat-agent-tab-header{padding:var(--spacing-4px) var(--spacing-8px);border-bottom:1px solid var(--color-neutral-1);flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.chat-agent-tab-messages{flex:1;overflow-y:auto}.chat-agent-empty-icon{color:var(--color-brand-5);font-size:24px}.chat-agent-empty-copy{font-size:var(--text-body-sm);color:var(--color-neutral-5)}.ai-agent-empty-hero{align-items:center;gap:var(--spacing-16px);padding-block:var(--spacing-16px);flex-direction:column;display:flex}.ai-agent-empty-icon{width:3.5rem;height:3.5rem;color:var(--color-brand-6);background:#8ae5c547;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.ai-agent-empty-copy{color:var(--color-neutral-7)}.ai-agent-prompt-list{gap:var(--spacing-8px);flex-direction:column;width:100%;display:flex}.ai-agent-prompt-example{font-size:var(--text-body-sm);color:var(--color-neutral-5);text-align:center;margin:0}.chat-widget-panel--free,.chat-widget-launcher--free{bottom:auto;right:auto}.chat-widget-composer-actions{align-items:center;gap:var(--spacing-8px);display:flex}.chat-message-content{min-width:0;max-width:82%}.chat-agent-tab-messages .chat-message--assistant .chat-message-content{flex:auto;max-width:100%}.chat-agent-tab-messages .chat-message--assistant .chat-message-bubble{max-width:100%}.chat-shape-list{margin:var(--spacing-8px) 0 0;border-radius:var(--radius-sm);font-size:var(--text-body);background:#fffffffa;border:1px solid #e5e7ebeb;overflow:hidden;box-shadow:0 4px 12px #1118270a}.chat-shape-row{align-items:center;gap:var(--spacing-8px);padding:var(--spacing-8px);border-bottom:1px solid #e5e7eb99;display:flex}.chat-shape-row:last-child{border-bottom:none}.chat-shape-icon{font-size:var(--text-body-sm);opacity:.5;text-align:center;flex-shrink:0;width:1.125rem}.chat-shape-info{flex:1;min-width:0}.chat-shape-name{white-space:nowrap;text-overflow:ellipsis;color:var(--color-neutral-7);font-weight:500;display:block;overflow:hidden}.chat-shape-meta{color:var(--color-neutral-4);display:block}.chat-shape-more{padding:var(--spacing-8px);font-size:var(--text-caption);color:var(--color-neutral-3);font-style:italic}@media (max-width:720px){.dashboard-hero,.dashboard-create-row{flex-direction:column;align-items:stretch}.chat-widget-panel{width:calc(100vw - 2rem);height:min(34rem,100vh - 8rem)}}.chat-agent-tab-messages--selectable,.chat-message-bubble--selectable{-webkit-user-select:text;user-select:text}.chat-message-markdown-wrap{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;word-break:break-word}.chat-inline-link{color:#3b82f6;cursor:pointer;overflow-wrap:anywhere;word-break:break-word;text-decoration:underline}
.ai-detection-banner{align-items:center;gap:var(--spacing-12px);width:100%;padding:var(--spacing-8px) var(--spacing-8px) var(--spacing-8px) var(--spacing-16px);background:var(--color-brand-9);color:var(--color-neutral-white);border-top:1px solid #ffffff14;animation:.22s ease-out ai-overlay-in;display:flex}.ai-detection-banner--done{background:var(--color-brand-7)}.ai-detection-banner--error{background:var(--color-red-8)}.ai-detection-banner__icon{width:1.5rem;height:1.5rem;color:var(--color-brand-3);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ai-detection-banner__label{color:var(--color-neutral-white);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;overflow:hidden}.ai-detection-banner__text{flex-direction:column;flex-shrink:0;min-width:0;display:flex}.ai-detection-banner__hint{color:#ffffffb8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ai-detection-banner__progress{background:#ffffff1f;border-radius:999px;flex:1;min-width:6rem;height:.5rem;overflow:hidden}.ai-detection-banner__progress-fill{background:var(--color-brand-4);border-radius:999px;width:0%;height:100%;transition:width .26s}.ai-detection-banner--detecting .ai-detection-banner__progress-fill{transition:width 1.2s linear}.ai-detection-banner--done .ai-detection-banner__progress-fill{background:var(--color-brand-3)}.ai-detection-banner--error .ai-detection-banner__progress-fill{background:var(--color-red-4)}.ai-detection-banner__meta,.ai-detection-banner__percent{font-size:var(--text-caption);color:#ffffffc7;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.ai-detection-banner__view{align-items:center;gap:var(--spacing-4px);height:1.75rem;padding:0 var(--spacing-12px);border-radius:var(--radius-sm);color:var(--color-neutral-white);cursor:pointer;background:#ffffff14;border:1px solid #fff3;flex-shrink:0;transition:background-color .12s;display:inline-flex}.ai-detection-banner__view:hover{background:#ffffff29}.ai-detection-banner__close{color:#ffffffb3;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;transition:background-color .12s,color .12s;display:inline-flex}.ai-detection-banner__close:hover{color:var(--color-neutral-white);background:#ffffff1f}.ai-detection-overlay{z-index:1000;padding:var(--spacing-32px);-webkit-backdrop-filter:blur(8px);background:#11182752;justify-content:center;align-items:center;animation:.22s ease-out ai-overlay-in;display:flex;position:fixed;inset:0}.ai-detection-overlay-card{width:min(28rem, calc(100vw - var(--spacing-32px)));background:var(--color-neutral-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);max-height:calc(100vh - var(--spacing-48px));border:1px solid #e5e7ebe6;flex-direction:column;display:flex;overflow:hidden}.ai-detection-overlay-header{padding:var(--spacing-24px) var(--spacing-32px) var(--spacing-16px)}.ai-detection-overlay-header__top{align-items:flex-start;gap:var(--spacing-16px);display:flex}.ai-detection-overlay-header__icon{border-radius:var(--radius-sm);background:var(--color-brand-0);width:36px;height:36px;color:var(--color-brand-5);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-detection-overlay-header__text{flex:1;min-width:0}.ai-detection-overlay__close{width:32px;height:32px;color:var(--color-neutral-3);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.ai-detection-overlay__close:hover{background:var(--color-neutral-1);color:var(--color-neutral-7)}.ai-detection-overlay__close:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-detection-progress-bar{background:var(--color-neutral-0);height:4px;margin-top:var(--spacing-16px);border-radius:999px;overflow:hidden}.ai-detection-progress-bar__fill{background:var(--color-brand-5);border-radius:999px;height:100%;transition:width .4s ease-out}.ai-detection-progress-bar__fill--done{background:var(--color-green-6)}.ai-detection-progress-bar__fill--error{background:var(--color-red-5)}.ai-detection-overlay-alert--warning{background:var(--color-orange-05);color:var(--color-orange-6);border-color:#cc793333}.ai-detection-overlay-alert--error{background:var(--color-red-05);color:var(--color-red-7);border-color:var(--color-red-1)}.ai-detection-overlay-footer{padding:var(--spacing-16px) var(--spacing-32px) var(--spacing-24px);border-top:1px solid var(--color-neutral-15);justify-content:space-between;align-items:center;gap:var(--spacing-16px);display:flex}.ai-detection-overlay-footer__actions{gap:var(--spacing-8px);display:flex}.ai-detection-btn:active{transform:translateY(1px)}.ai-detection-btn:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-detection-btn--primary{background:var(--color-brand-5);border-color:var(--color-brand-6);color:var(--color-neutral-white)}.ai-detection-btn--primary:hover{background:var(--color-brand-6)}.ai-detection-btn--secondary{background:var(--color-neutral-white);border-color:var(--color-neutral-15);color:var(--color-neutral-5)}.ai-detection-btn--secondary:hover{background:var(--color-neutral-05);color:var(--color-neutral-7)}.ai-status-row{align-items:center;gap:var(--spacing-16px);padding:var(--spacing-8px) var(--spacing-16px);background:var(--color-neutral-white);border:1px solid var(--color-neutral-15);border-radius:var(--radius-sm);min-height:48px;display:flex}.ai-status-row__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.ai-status-row__icon--pending{color:var(--color-neutral-3)}.ai-status-row__icon--running{color:var(--color-orange-6);animation:1s linear infinite ai-spin}.ai-status-row__icon--done{color:var(--color-green-6)}.ai-status-row__icon--error{color:var(--color-red-5)}.ai-status-row__state{font-size:var(--text-caption);color:var(--color-neutral-3);font-family:var(--font-mono)}.ai-status-row__retry:hover{background:var(--color-red-05)}.ai-status-row__retry:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-rerun-dialog{width:min(28rem, calc(100vw - var(--spacing-32px)));background:var(--color-neutral-white);border:1px solid var(--color-neutral-1);border-radius:var(--radius-lg);padding:var(--spacing-24px);gap:var(--spacing-16px);flex-direction:column;display:flex;position:relative;box-shadow:0 24px 60px #0f172a3d}.ai-rerun-dialog h2{padding-right:var(--spacing-32px)}.ai-rerun-dialog__close{top:var(--spacing-12px);right:var(--spacing-12px);width:1.75rem;height:1.75rem;color:var(--color-neutral-5);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex;position:absolute}.ai-rerun-dialog__close:hover{background:var(--color-neutral-1);color:var(--color-neutral-6)}.ai-rerun-dialog__close:focus-visible{outline:2px solid var(--color-brand-4);outline-offset:2px}.ai-rerun-dialog__actions{justify-content:flex-end;gap:var(--spacing-8px);margin-top:var(--spacing-8px);display:flex}.ai-rerun-dialog__btn{height:2.5rem;padding:0 var(--spacing-16px);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.ai-rerun-dialog__btn:focus-visible{outline:2px solid var(--color-brand-4);outline-offset:2px}.ai-rerun-dialog__btn--ghost{background:var(--color-neutral-white);color:var(--color-neutral-5);border:1px solid var(--color-neutral-15)}.ai-rerun-dialog__btn--ghost:hover{background:var(--color-neutral-05);color:var(--color-neutral-7)}.ai-rerun-dialog__btn--danger{background:var(--color-red-6);color:var(--color-neutral-white);border:1px solid var(--color-red-6);box-shadow:0 6px 16px #cc222b38}.ai-rerun-dialog__btn--danger:hover{background:var(--color-red-7);border-color:var(--color-red-7)}.ai-rerun-dialog__btn--danger:focus-visible{outline-color:var(--color-red-4)}.ai-rerun-dialog-backdropless{z-index:1100;padding:var(--spacing-32px);-webkit-backdrop-filter:blur(6px);background:#1118276b;justify-content:center;align-items:center;animation:.18s ease-out ai-overlay-in;display:flex;position:fixed;inset:0}.ai-canvas-badge{align-items:center;gap:var(--spacing-4px);padding:var(--spacing-4px) var(--spacing-8px);background:var(--color-neutral-white);border:1px solid var(--color-neutral-15);min-height:22px;box-shadow:var(--shadow-soft);font-family:var(--font-mono);pointer-events:auto;cursor:pointer;transform-origin:0 0;border-radius:999px;display:inline-flex;position:absolute}.ai-canvas-badge__sparkle{width:14px;height:14px;color:var(--color-brand-5);flex-shrink:0}.ai-canvas-badge--pending{border-color:var(--color-brand-3);color:var(--color-brand-7);background:#2183791f}.ai-canvas-badge--accepted{background:var(--color-brand-5);border-color:var(--color-brand-5);color:var(--color-neutral-white)}.ai-canvas-badge--accepted .ai-canvas-badge__sparkle{color:var(--color-neutral-white)}.ai-canvas-badge--high-conf{color:var(--color-green-6);background:var(--color-green-05);border-color:var(--color-green-3)}.ai-canvas-badge--med-conf{color:var(--color-orange-7);background:var(--color-orange-1);border-color:var(--color-orange-3)}.ai-canvas-badge--low-conf{color:var(--color-neutral-4);background:var(--color-neutral-05);border-color:var(--color-neutral-15)}.ai-canvas-badge:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-badge-tooltip code{font-family:var(--font-mono);font-size:var(--text-caption);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ai-accept-reject{gap:var(--spacing-4px);display:inline-flex}.ai-accept-reject__accept,.ai-accept-reject__reject{background:var(--color-neutral-white);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .12s;display:inline-flex}.ai-accept-reject__accept{border:1px solid var(--color-brand-5);color:var(--color-brand-5)}.ai-accept-reject__accept:hover{background:var(--color-brand-5);color:var(--color-neutral-white)}.ai-accept-reject__reject{border:1px solid var(--color-red-5);color:var(--color-red-5)}.ai-accept-reject__reject:hover{background:var(--color-red-5);color:var(--color-neutral-white)}.ai-accept-reject__accept:active,.ai-accept-reject__reject:active{transform:translateY(1px)}.ai-accept-reject__accept:focus-visible,.ai-accept-reject__reject:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-accept-reject__accept:disabled,.ai-accept-reject__reject:disabled{opacity:.42;cursor:not-allowed}.ai-selection-popover{bottom:var(--spacing-32px,32px);z-index:40;position:absolute;left:50%;transform:translate(-50%)}.ai-selection-overlay{z-index:800;pointer-events:auto;position:absolute}.ai-selection-overlay__trade-preview{margin-top:var(--spacing-8px);padding:var(--spacing-4px) var(--spacing-8px);background:var(--color-neutral-05);border-radius:var(--radius-sm);gap:var(--spacing-4px);flex-direction:column;display:flex}.ai-selection-overlay__trade-preview--unmapped{border-left:2px solid var(--color-neutral-2)}.ai-selection-overlay__trade-preview-line{font-size:var(--text-caption);color:var(--color-neutral-4);font-family:var(--font-sans);line-height:1.4}.ai-detected-section{background:var(--color-neutral-05);border-bottom:1px solid var(--color-neutral-15);flex-direction:column;display:flex}.ai-detected-section__header{gap:var(--spacing-8px);padding:var(--spacing-16px);border-bottom:1px solid var(--color-neutral-15);flex-direction:column;display:flex}.ai-detected-section__eyebrow{color:var(--color-brand-5)}.ai-detected-section__count{min-width:1.5rem;padding:0 var(--spacing-4px);background:var(--color-brand-5);height:1.25rem;color:var(--color-neutral-white);font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.ai-detected-section__title{border-radius:var(--radius-sm);align-items:center;gap:var(--spacing-8px);cursor:pointer;text-align:left;width:100%;color:inherit;font-family:var(--font-sans);background:0 0;border:none;padding:0;display:flex}.ai-detected-section__title:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-detected-section__group{gap:var(--spacing-4px);flex-direction:column;display:flex}.ai-detected-section__group-header{color:var(--color-neutral-4);padding:var(--spacing-8px) 0 var(--spacing-4px);border-bottom:1px solid var(--color-neutral-15);margin-bottom:var(--spacing-4px)}.ai-detected-section__group-header--toggle{align-items:center;gap:var(--spacing-4px);cursor:pointer;text-align:left;width:100%;padding:var(--spacing-8px) 0 var(--spacing-4px);color:inherit;background:0 0;border:none;font-family:inherit;display:flex}.ai-detected-section__empty{padding:var(--spacing-24px) var(--spacing-16px);text-align:center;border-radius:var(--radius-sm);background:var(--color-neutral-0);border:1px dashed var(--color-neutral-15)}.ai-detected-section__empty p{font-size:var(--text-caption);line-height:var(--leading-150);color:var(--color-neutral-3);margin:0}.ai-confidence-slider{align-items:center;gap:var(--spacing-16px);display:flex}.ai-confidence-slider__value{font-family:var(--font-mono);color:var(--color-brand-7);text-align:right;min-width:3ch}.ai-tree-row{align-items:center;gap:var(--spacing-8px);padding:var(--spacing-8px) var(--spacing-16px);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);display:flex}.ai-tree-row:hover{background:var(--color-neutral-05)}.ai-tree-row__sparkle{width:14px;height:14px;color:var(--color-brand-5);flex-shrink:0}.ai-tree-row__label{font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-neutral-9);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.ai-tree-row__conf{font-family:var(--font-mono);margin-left:auto}.ai-tree-row__conf--high-conf{color:var(--color-green-6)}.ai-tree-row__conf--med-conf{color:var(--color-orange-7)}.ai-tree-row__conf--low-conf{color:var(--color-neutral-4)}.ai-tree-row__actions{margin-left:var(--spacing-8px);display:none}.ai-tree-row:hover .ai-tree-row__actions,.ai-tree-row:focus-within .ai-tree-row__actions{display:inline-flex}.ai-bulk-bar{gap:var(--spacing-8px);padding:var(--spacing-8px) var(--spacing-16px) var(--spacing-16px);display:flex}.ai-bulk-bar__btn--accept{border:1px solid var(--color-brand-5);color:var(--color-brand-7)}.ai-bulk-bar__btn--accept:hover{background:var(--color-brand-5);color:var(--color-neutral-white)}.ai-bulk-bar__btn--reject{border:1px solid var(--color-red-5);color:var(--color-red-7)}.ai-bulk-bar__btn--reject:hover{background:var(--color-red-5);color:var(--color-neutral-white)}.ai-bulk-bar__btn:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-rejected-toggle:hover{color:var(--color-neutral-7)}.ai-rejected-toggle:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-history-list,.ai-history-empty{gap:var(--spacing-8px);padding:var(--spacing-16px);background:var(--color-neutral-05);border-top:1px solid var(--color-neutral-15);flex-direction:column;display:flex}.ai-history-list{max-height:16rem;overflow-y:auto}.ai-history-list>.ai-detected-section__eyebrow,.ai-history-empty>.ai-detected-section__eyebrow{margin-bottom:var(--spacing-4px)}.ai-history-empty p{font-size:var(--text-caption);line-height:var(--leading-150);color:var(--color-neutral-3);text-align:center;margin:0}.ai-history-item:hover{background:var(--color-neutral-05);border-color:var(--color-brand-5)}.ai-history-item:focus-visible{outline-offset:2px;outline:2px solid #2183798c}.ai-history-item__time{color:var(--color-neutral-7);font-weight:500}.ai-history-item__count{color:var(--color-neutral-3);font-family:var(--font-mono)}.ai-history-item__status{text-transform:capitalize;margin-left:auto}.ai-history-item__status--completed{color:var(--color-green-6)}.ai-history-item__status--partial{color:var(--color-orange-7)}.ai-history-item__status--failed{color:var(--color-red-7)}@media (prefers-reduced-motion:reduce){.ai-detection-overlay,.ai-status-row__icon--running{animation:none}.ai-detection-banner__progress-fill,.ai-detection-banner--detecting .ai-detection-banner__progress-fill{transition:none}}.ai-agent-empty{padding:var(--spacing-32px) var(--spacing-16px);align-items:stretch;gap:var(--spacing-16px);text-align:center;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}
