/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.\!start{inset-inline-start:var(--spacing)!important}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#18202d;--ink-soft:#5e6978;--muted:#667085;--line:#dfe4eb;--line-strong:#cbd2dc;--surface:#fff;--canvas:#f4f6f8;--dark:#121923;--blue:#4f7cff;--orange:#f39a42;--green:#35b986;--red:#e25f64;--brand:#4f7cff;--accent:#73e0b3}.platform-landing{isolation:isolate;color:#edf5f7;background:#071a25;outline:none;width:100vw;height:100dvh;position:relative;overflow:hidden}.platform-landing-scene{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.platform-landing.dragging .platform-landing-scene{cursor:grabbing}.platform-scene{opacity:0;pointer-events:none;transition:opacity .72s,transform 1.05s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;overflow:hidden;transform:scale(1.035)}.platform-scene.is-active{opacity:1;transform:scale(1)}.platform-scene img{object-fit:cover;pointer-events:none;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .65s;display:block}.platform-landing.dragging .platform-scene img{transition:none}.platform-scene-photo img{object-position:center 44%;filter:brightness(.62)saturate(.78)contrast(1.06);transform:translate3d(var(--landing-x),var(--landing-y),0) scale(1.025)}.platform-scene-point-cloud img{object-position:center;filter:brightness(.96)saturate(1.05);transform:translate3d(var(--landing-x),var(--landing-y),0)}.platform-scene-bim img{object-position:center;filter:brightness(.88)saturate(.82)contrast(1.08);transform:translate3d(var(--landing-x),var(--landing-y),0) scale(1.015)}.platform-scene-flight img{object-position:center;filter:brightness(.82)saturate(1.04)contrast(1.08);transform:translate3d(var(--landing-x),var(--landing-y),0) scale(1.015)}.platform-scene-ortho>img{object-position:center 42%;filter:brightness(.2)saturate(.35)contrast(1.2);transform:translate3d(var(--landing-x),var(--landing-y),0) scale(1.045)}.platform-scene-crack img{object-position:center 42%;filter:brightness(.34)saturate(.46)contrast(1.26);transform:translate3d(var(--landing-x),var(--landing-y),0) scale(1.055)}.platform-scene-shade{z-index:2;pointer-events:none;background:linear-gradient(90deg,#03121be6 0,#03121b42 25%,#0000 56%),linear-gradient(#0000 58%,#03111985);position:absolute;inset:0}.platform-landing-header{z-index:9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#04141ee0;border-bottom:1px solid #c3dee429;justify-content:space-between;align-items:center;height:64px;padding:0 30px;display:flex;position:absolute;inset:0 0 auto}.platform-landing-header strong{letter-spacing:-.03em;font-size:18px}.platform-landing-login{color:#eef6f7;font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;font-size:12px;font-weight:800;text-decoration:none;position:relative}.platform-landing-login:after{content:"";background:#f3a51b;width:0;height:2px;transition:width .18s;position:absolute;bottom:-8px;right:0}.platform-landing-login:hover:after{width:100%}.platform-landing-login:focus-visible:after{width:100%}.platform-landing-login:focus-visible{outline-offset:7px;outline:2px solid #f3a51b}.platform-landing-stages{z-index:7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#041620bf;border:1px solid #bedce329;gap:2px;width:185px;padding:12px;display:grid;position:absolute;top:50%;left:30px;transform:translateY(-45%)}.platform-landing-stages button{color:#deebee7a;text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #c7dce12e;border-radius:0;grid-template-columns:31px 1fr;align-items:center;gap:8px;min-height:48px;padding:0 10px;transition:color .22s,border-color .22s,background .22s;display:grid}.platform-landing-stages button span{font:700 12px/1 var(--font-geist-mono),monospace}.platform-landing-stages button b{letter-spacing:.06em;font-size:12px}.platform-landing-stages button:hover{color:#dce9ec;background:#ffffff0a}.platform-landing-stages button.active{color:#ffb12d;background:linear-gradient(90deg,#f3a51b1f,#0000);border-left-color:#f3a51b}.platform-landing-stages button:focus-visible{outline-offset:-3px;outline:2px solid #f3a51b}.platform-stage-card{z-index:7;color:#e7f0f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#04151fdb;border:1px solid #c4dde333;gap:8px;width:min(355px,100vw - 60px);padding:20px 21px 18px;display:grid;position:absolute;bottom:34px;right:30px;box-shadow:0 20px 45px #00000038}.platform-stage-card>span{color:#ffb12d;font:800 12px/1.3 var(--font-geist-mono),monospace;letter-spacing:.09em}.platform-stage-card>strong{letter-spacing:-.035em;font-size:22px}.platform-stage-card>p{color:#aebfc4;white-space:nowrap;margin:0;font-size:12px;line-height:1.55}.platform-stage-card>div{color:#cad8dc;font:700 12px/1 var(--font-geist-mono),monospace;justify-content:space-between;margin-top:4px;display:flex}.platform-stage-card>div b{color:#fff}.platform-stage-card progress{accent-color:#f3a51b;border:0;width:100%;height:3px}.platform-landing-hint{z-index:7;color:#cedcdf;letter-spacing:.03em;pointer-events:none;align-items:center;gap:9px;margin:0;font-size:12px;font-weight:700;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.platform-landing-hint span{color:#ffb12d;font:800 12px/1 var(--font-geist-mono),monospace;letter-spacing:.08em;border:1px solid #d3e5e947;padding:5px 7px}.platform-photo-reticle{z-index:3;width:min(46vw,580px);height:min(58vh,560px);position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}.platform-photo-reticle:before,.platform-photo-reticle:after{content:"";background:#70e1d65c;position:absolute}.platform-photo-reticle:before{width:1px;height:100%;top:0;left:50%}.platform-photo-reticle:after{width:100%;height:1px;top:50%;left:0}.platform-photo-reticle i{border-style:solid;border-color:#7ce6dd;width:42px;height:42px;position:absolute}.platform-photo-reticle i:first-child{border-width:2px 0 0 2px;top:0;left:0}.platform-photo-reticle i:nth-child(2){border-width:2px 2px 0 0;top:0;right:0}.platform-photo-reticle i:nth-child(3){border-width:0 2px 2px 0;bottom:0;right:0}.platform-photo-reticle i:nth-child(4){border-width:0 0 2px 2px;bottom:0;left:0}.platform-scan-line{z-index:3;background:linear-gradient(90deg,#0000,#69e9e4,#0000);height:1px;animation:3.6s ease-in-out infinite alternate platform-scan;position:absolute;top:18%;left:18%;right:13%;box-shadow:0 0 18px #38d5d4}@keyframes platform-scan{0%{opacity:.25;transform:translateY(0)}to{opacity:.9;transform:translateY(58vh)}}.platform-bim-callout{z-index:3;color:#dcebed;background:#041821c7;border-left:2px solid #70e0d4;gap:3px;padding:9px 11px;display:grid;position:absolute;box-shadow:0 10px 24px #00000029}.platform-bim-callout span{color:#70e0d4;font:800 12px/1 var(--font-geist-mono),monospace}.platform-bim-callout b{font-size:12px}.platform-bim-callout.callout-a{top:28%;left:47%}.platform-bim-callout.callout-b{top:61%;left:67%}.platform-bim-spec{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#041822d1;border:1px solid #6fe3da4d;gap:1px;display:flex;position:absolute;top:92px;right:30px;box-shadow:0 14px 34px #0003}.platform-bim-spec span{color:#d7e8eb;font:800 12px/1 var(--font-geist-mono),monospace;letter-spacing:.04em;border-right:1px solid #b1d7dc24;padding:10px 12px}.platform-bim-spec span:first-child{color:#6ce5dc}.platform-bim-spec span:last-child{color:#ffb12d;border-right:0}.platform-flight-summary{z-index:4;color:#eaf7f8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#031826d1;border:1px solid #68e7e266;border-left:3px solid #66e7e2;gap:8px;width:274px;padding:15px 16px;display:grid;position:absolute;top:92px;right:30px;box-shadow:0 18px 42px #00000042}.platform-flight-summary>span{color:#6ceae4;font:800 12px/1.2 var(--font-geist-mono),monospace;letter-spacing:.08em}.platform-flight-summary>strong{font-size:19px}.platform-flight-summary>div{color:#c7dadd;border-top:1px solid #b6dde233;justify-content:space-between;padding-top:9px;font-size:12px;display:flex}.platform-flight-waypoint{z-index:4;color:#fff;width:30px;height:30px;font:800 12px/1 var(--font-geist-mono),monospace;background:#081e2adb;border:2px solid #ff9f28;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 0 0 5px #ff9f281f,0 0 24px #ff9f2861}.platform-flight-waypoint.waypoint-a{top:24%;left:44%}.platform-flight-waypoint.waypoint-b{top:51%;left:59%}.platform-flight-waypoint.waypoint-c{top:69%;left:76%}.platform-ortho-comparison{z-index:4;grid-template-columns:minmax(210px,.8fr) 92px minmax(280px,1.15fr);align-items:center;gap:18px;display:grid;position:absolute;inset:96px 30px 210px 240px}.platform-ortho-panel{color:#e7f2f4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#041620d1;border:1px solid #b8dae033;grid-template-rows:auto 1fr auto;gap:9px;min-width:0;height:100%;margin:0;padding:14px;display:grid;box-shadow:0 22px 55px #0000004d}.platform-ortho-panel>span{color:#7be2da;font:800 12px/1.2 var(--font-geist-mono),monospace;letter-spacing:.08em}.platform-ortho-panel figcaption{color:#b9cbd0;justify-content:space-between;gap:10px;font-size:12px;display:flex}.platform-ortho-panel figcaption b{color:#ffb12d;font-family:var(--font-geist-mono),monospace}.platform-ortho-photo-stack,.platform-ortho-visual{min-height:0;position:relative;overflow:hidden}.platform-ortho-photo-stack{overflow:visible}.platform-ortho-photo{background:#152b36;border:1px solid #dcecef8c;width:70%;height:72%;position:absolute;overflow:hidden;box-shadow:0 16px 35px #00000059}.platform-ortho-photo.photo-1{top:2%;left:1%;transform:rotate(-6deg)}.platform-ortho-photo.photo-2{top:14%;left:15%;transform:rotate(1deg)}.platform-ortho-photo.photo-3{top:26%;left:29%;transform:rotate(6deg)}.platform-ortho-photo img{object-fit:cover;filter:brightness(.82)saturate(.62)contrast(1.14);width:100%;height:100%;transform:scale(1.4)}.platform-ortho-photo.photo-1 img{object-position:28% center}.platform-ortho-photo.photo-2 img{object-position:51% center}.platform-ortho-photo.photo-3 img{object-position:74% center}.platform-ortho-photo b{z-index:2;color:#fff;font:700 12px/1 var(--font-geist-mono),monospace;background:#04141dc7;padding:4px 6px;position:absolute;bottom:7px;left:7px}.platform-ortho-process{color:#d5e5e8;text-align:center;justify-items:center;gap:10px;display:grid}.platform-ortho-process span,.platform-ortho-process small{font:800 12px/1.2 var(--font-geist-mono),monospace;letter-spacing:.04em}.platform-ortho-process b{color:#ffb12d;width:100%;font:400 38px/1 var(--font-geist-mono),monospace}.platform-ortho-panel.is-result{border-color:#6fe3da6b}.platform-ortho-visual{background:#101f29;border:1px solid #78e5da8c}.platform-ortho-visual>img{object-fit:cover;object-position:center 42%;filter:brightness(.72)saturate(.58)contrast(1.18);width:100%;height:100%;transform:none}.platform-ortho-grid{z-index:3;background-image:linear-gradient(#73e2d533 1px,#0000 1px),linear-gradient(90deg,#73e2d533 1px,#0000 1px);background-size:40px 40px;border:1px solid #73e2d5b8;position:absolute;inset:7%;box-shadow:inset 0 0 45px #34bdb714}.platform-scale-bar{z-index:3;color:#e6f2f3;width:44%;font:700 12px/1 var(--font-geist-mono),monospace;border-top:2px solid #e6f2f3;justify-content:space-between;padding-top:7px;display:flex;position:absolute;bottom:7%;right:7%}@media (max-width:1100px) and (min-width:761px){.platform-ortho-comparison{grid-template-columns:190px 68px minmax(240px,1fr);gap:12px;left:220px;right:20px}.platform-ortho-panel{padding:11px}.platform-ortho-process b{font-size:30px}}.platform-damage-marker{z-index:4;color:#fff;background:#6a141633;border:2px solid #ff6c64;width:112px;height:76px;padding:7px;position:absolute;box-shadow:0 0 0 1px #0003,0 0 24px #ff4c4824}.platform-damage-marker b,.platform-damage-marker span{font:800 12px/1 var(--font-geist-mono),monospace;background:#e14a45;padding:3px 5px;display:block;position:absolute;left:-2px}.platform-damage-marker b{top:-24px}.platform-damage-marker span{bottom:-21px}.platform-damage-marker.warning{background:#7e4b0e2e;border-color:#ffb12d}.platform-damage-marker.warning b,.platform-damage-marker.warning span{background:#d88b15}.platform-damage-marker.marker-a{top:25%;left:25%}.platform-damage-marker.marker-b{width:92px;height:110px;top:58%;left:43%}.platform-damage-marker.marker-c{width:82px;height:66px;top:26%;left:57%}.platform-crack-detail{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04141df0;border:1px solid #d1e3e847;width:min(460px,37vw);margin:0;position:absolute;top:92px;right:30px;overflow:hidden;box-shadow:0 24px 60px #00000057}.platform-crack-detail-image{background:#8c9499;height:min(31vh,275px);position:relative;overflow:hidden}.platform-scene-crack .platform-crack-detail-image>img{object-fit:cover;filter:brightness(.82)contrast(1.22)saturate(.45);width:100%;height:100%;transform:none}.platform-crack-detail-image:after{content:"";pointer-events:none;background:linear-gradient(#0000 66%,#041219a8);position:absolute;inset:0}.platform-crack-crosshair{z-index:2;border:1px solid #ff6158e0;width:54px;height:54px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.platform-crack-crosshair:before,.platform-crack-crosshair:after{content:"";background:#ff6158;position:absolute}.platform-crack-crosshair:before{width:1px;height:78px;top:-12px;left:50%}.platform-crack-crosshair:after{width:78px;height:1px;top:50%;left:-12px}.platform-crack-detail figcaption{gap:7px;padding:13px 15px 14px;display:grid}.platform-crack-detail figcaption>span{color:#ff7d74;font:800 12px/1.2 var(--font-geist-mono),monospace;letter-spacing:.06em}.platform-crack-detail figcaption>strong{font-size:17px}.platform-crack-detail dl{background:#cfe0e41f;grid-template-columns:repeat(3,1fr);gap:1px;margin:2px 0 0;display:grid}.platform-crack-detail dl div{background:#0a222e;gap:4px;padding:9px;display:grid}.platform-crack-detail dt{color:#8ea3aa;font-size:12px}.platform-crack-detail dd{color:#eef6f7;margin:0;font-size:13px;font-weight:800}.platform-crack-detail dd.danger{color:#ffb12d}@media (max-width:760px){.platform-landing-header{height:58px;padding:0 18px}.platform-landing-header strong{font-size:16px}.platform-landing-stages{grid-template-columns:repeat(6,1fr);gap:0;width:auto;padding:6px;inset:auto 12px 14px;transform:none}.platform-landing-stages button{text-align:center;border-bottom:2px solid #c7dce12e;border-left:0;justify-content:center;min-height:43px;padding:0 3px;display:flex}.platform-landing-stages button span{display:none}.platform-landing-stages button b{font-size:12px;line-height:1.1}.platform-landing-stages button.active{border-bottom-color:#f3a51b}.platform-stage-card{width:auto;padding:15px 16px;bottom:79px;left:18px;right:18px}.platform-stage-card>strong{font-size:18px}.platform-stage-card>p,.platform-landing-hint{display:none}.platform-scene-point-cloud img{object-position:62% center;transform:translate3d(var(--landing-x),var(--landing-y),0) scale(1.08)}.platform-scene-bim img{object-position:61% center;transform:translate3d(var(--landing-x),var(--landing-y),0) scale(1.14)}.platform-bim-spec{display:none}.platform-scene-flight img{object-position:59% center;transform:translate3d(var(--landing-x),var(--landing-y),0) scale(1.18)}.platform-flight-summary{width:auto;top:82px;left:18px;right:18px}.platform-flight-waypoint{display:none}.platform-photo-reticle{width:74vw;height:48vh}.platform-ortho-grid{inset:11% 8% 28%}.platform-bim-callout.callout-a{top:25%;left:30%}.platform-bim-callout.callout-b{top:52%;left:58%}.platform-damage-marker.marker-a{top:21%;left:17%}.platform-damage-marker.marker-b,.platform-damage-marker.marker-c{display:none}.platform-crack-detail{width:auto;top:82px;left:18px;right:18px}.platform-crack-detail-image{height:205px}.platform-crack-detail figcaption{padding:10px 12px}.platform-crack-detail figcaption>strong{font-size:15px}.platform-crack-detail dl div{padding:7px}.platform-landing.stage-5 .platform-stage-card{background:#04151ff0}.platform-ortho-comparison{grid-template-columns:minmax(0,1fr) 44px minmax(0,1.18fr);gap:7px;inset:78px 12px 225px}.platform-ortho-panel{gap:6px;padding:8px}.platform-ortho-panel>span{letter-spacing:0;font-size:12px}.platform-ortho-panel figcaption{display:none}.platform-ortho-process{gap:5px}.platform-ortho-process span,.platform-ortho-process small{font-size:12px}.platform-ortho-process b{font-size:24px}.platform-ortho-grid{background-size:24px 24px;inset:7%}.platform-scale-bar{display:none}}@media (prefers-reduced-motion:reduce){.platform-scene,.platform-scene img{transition:none}.platform-scan-line{animation:none}}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);margin:0}body{font-family:var(--font-geist-sans), "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;line-height:1.45}button,input,select{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline:3px solid var(--brand)}@supports (color:color-mix(in lab, red, red)){:is(button:focus-visible,input:focus-visible,select:focus-visible){outline:3px solid color-mix(in srgb, var(--brand), transparent 70%)}}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline-offset:2px}.auth-page{background:#17212b;place-items:center;min-height:100vh;padding:28px;display:grid;position:relative;overflow:hidden}.auth-map{opacity:.58;background-color:#202d37;background-image:linear-gradient(#98c1c014 1px,#0000 1px),linear-gradient(90deg,#98c1c014 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:-12%;transform:rotate(-4deg)scale(1.08)}.auth-map:before,.auth-map:after{content:"";border:10px double #d8e4e21f;border-radius:50%;width:130%;height:44px;position:absolute;left:-15%;transform:rotate(-12deg)}.auth-map:before{top:31%}.auth-map:after{top:68%;transform:rotate(17deg)}.auth-map i{background:#73e0b30a;border:1px solid #73e0b329;position:absolute}.auth-map i:first-child{width:280px;height:190px;top:16%;left:16%}.auth-map i:nth-child(2){width:210px;height:260px;bottom:10%;right:14%}.auth-map i:nth-child(3){width:120px;height:120px;top:18%;right:25%}.auth-map span{border:3px solid var(--accent);width:11px;height:11px;box-shadow:0 0 0 9px var(--accent);border-radius:50%;position:absolute;bottom:18%;left:23%}@supports (color:color-mix(in lab, red, red)){.auth-map span{box-shadow:0 0 0 9px color-mix(in srgb,var(--accent),transparent 87%)}}.auth-card{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff7;border:1px solid #ffffffd1;border-radius:18px;width:min(430px,100%);padding:34px 36px 31px;position:relative;box-shadow:0 28px 90px #030a1159}.auth-card h1{letter-spacing:-.045em;margin:7px 0 0;font-size:30px}.auth-brand{align-items:center;gap:11px;margin-bottom:31px;display:flex}.auth-brand>span{color:#fff;background:var(--brand);letter-spacing:-.04em;width:43px;height:43px;box-shadow:0 8px 22px var(--brand);border-radius:12px;place-items:center;font-weight:850;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-brand>span{box-shadow:0 8px 22px color-mix(in srgb,var(--brand),transparent 65%)}}.auth-brand div{gap:3px;display:grid}.auth-brand b{font-size:18px}.auth-brand small{color:var(--muted);font-size:13px}.auth-form{gap:15px;display:grid}.auth-form label{color:var(--ink-soft);gap:7px;font-size:14px;font-weight:750;display:grid}.auth-form input{border:1px solid var(--line-strong);width:100%;height:45px;color:var(--ink);background:#fff;border-radius:9px;outline:none;padding:0 12px;font-size:17px}.auth-form label small{color:var(--muted);font-size:12px;font-weight:500}.auth-submit,.auth-retry{min-height:45px;margin-top:3px}.auth-error,.auth-success{border-radius:8px;margin:0;padding:10px 11px;font-size:14px;line-height:1.45}.auth-error{color:#a83b3f;background:#fff0f0}.auth-success{color:#176c50;background:#eaf8f2;margin:-8px 0 16px}.auth-help{text-align:center;color:var(--muted);margin:19px 0 0;font-size:13px}.auth-link-button{width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-top:17px;font-size:14px;text-decoration:underline}.app-shell{background:var(--canvas);min-height:100vh;display:flex;overflow:hidden}.admin-quick-link{z-index:95;color:#f7fafb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#071d28f0;border:1px solid #f0ae2cb8;border-radius:7px;align-items:center;gap:9px;min-height:38px;padding:0 13px;font-size:13px;font-weight:800;line-height:1;text-decoration:none;transition:transform .16s,border-color .16s,background .16s;display:inline-flex;position:fixed;top:14px;right:18px;box-shadow:0 8px 24px #020c123d}.admin-quick-link span{color:#f0ae2c;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:12px;font-weight:800}.admin-quick-link:hover{background:#071d28;border-color:#f0ae2c;transform:translateY(-1px)}.admin-quick-link:focus-visible{outline-offset:2px;outline:3px solid #f0ae2c59}.utility-rail{z-index:30;background:#131b26;border-right:1px solid #ffffff14;flex-direction:column;align-items:center;width:72px;padding:16px 9px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand-mark{background:var(--brand);color:#fff;letter-spacing:-.04em;cursor:pointer;width:42px;height:42px;box-shadow:0 8px 24px var(--brand);border:0;border-radius:13px;font-weight:800}@supports (color:color-mix(in lab, red, red)){.brand-mark{box-shadow:0 8px 24px color-mix(in srgb, var(--brand), transparent 65%)}}.rail-nav{gap:8px;width:100%;margin-top:34px;display:grid}.rail-button{color:#8290a2;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;gap:2px;width:100%;min-height:51px;font-size:13px;transition:all .2s;display:grid}.rail-button.active{box-shadow:inset 2px 0 var(--brand)}.rail-button:disabled{color:#566273;cursor:not-allowed;opacity:.72}.rail-button:disabled:hover{background:0 0}.rail-icon{font-size:23px;line-height:1}.rail-spacer{flex:1}.operator-menu{margin-top:12px;position:relative}.operator-avatar{color:#dbe3ec;cursor:pointer;background:#273241;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:grid}.operator-avatar:hover{border-color:#ffffff61}.operator-popover{z-index:80;border:1px solid var(--line);background:#fff;border-radius:12px;width:210px;position:absolute;bottom:0;left:47px;overflow:hidden;box-shadow:0 18px 55px #030a1142}.operator-popover>div{border-bottom:1px solid var(--line);gap:3px;padding:14px;display:grid}.operator-popover b{font-size:16px}.operator-popover small{color:var(--muted);font-size:13px}.operator-popover span{color:#315ec8;background:#eaf0ff;border-radius:5px;width:fit-content;margin-top:4px;padding:3px 6px;font-size:12px;font-weight:800}.operator-popover button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0f4;width:100%;padding:10px 14px;font-size:14px}.operator-popover button:hover{background:#f7f9fc}.operator-error{color:#a83b3f;background:#fff0f0;margin:0;padding:10px 14px;font-size:13px;line-height:1.45}.page{width:calc(100% - 72px);min-height:100vh;margin-left:72px}.page-header{justify-content:space-between;align-items:flex-end;padding:38px 42px 26px;display:flex}.page-header h1,.workspace-header h1{letter-spacing:-.045em;margin:4px 0 0;font-size:clamp(24px,2vw,34px);line-height:1.1}.eyebrow{color:#667085;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin:0;font-size:14px;font-weight:700}.header-subtitle{color:var(--ink-soft);margin:9px 0 0;font-size:17px}.header-actions,.workspace-actions{align-items:center;gap:9px;display:flex}.search-box{border:1px solid var(--line);width:280px;height:42px;color:var(--muted);background:#fff;border-radius:10px;align-items:center;gap:9px;padding:0 13px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:16px}.primary-button,.secondary-button,.dark-button{cursor:pointer;border:0;border-radius:9px;min-height:42px;padding:0 17px;font-size:16px;font-weight:700;transition:transform .16s,box-shadow .16s}.primary-button{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.primary-button{background:color-mix(in srgb,var(--brand),#102a56 28%)}}.primary-button{color:#fff;box-shadow:0 7px 18px var(--brand)}@supports (color:color-mix(in lab, red, red)){.primary-button{box-shadow:0 7px 18px color-mix(in srgb, var(--brand), transparent 76%)}}.primary-button:hover,.dark-button:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:default;transform:none}.secondary-button{border:1px solid var(--line);background:#fff;min-height:37px;padding:0 13px}.pcd-reprocess-button{color:#355a9f;background:#f7f9ff;margin-top:9px}.dark-button{background:var(--dark);color:#fff;width:100%}.wide{width:100%}.text-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0;font-size:15px}.portfolio-header{align-items:center;padding:26px 34px 18px}.portfolio-header .header-subtitle{margin-top:6px}.portfolio-header .api-status{margin-top:6px;font-size:12px}.dashboard-summary{grid-template-columns:minmax(260px,1.45fr) repeat(4,minmax(110px,.7fr));gap:10px;padding:0 34px 16px;display:grid}.attention-summary,.summary-stat{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:13px;min-height:82px;transition:border-color .16s,box-shadow .16s,transform .16s}.attention-summary:hover,.summary-stat:hover{border-color:#bcc7d4;transform:translateY(-1px);box-shadow:0 8px 20px #18273a0f}:is(.attention-summary:focus-visible,.summary-stat:focus-visible,.project-row-main:focus-visible,.project-action-button:focus-visible,.project-delete-button:focus-visible){outline:3px solid var(--brand)}@supports (color:color-mix(in lab, red, red)){:is(.attention-summary:focus-visible,.summary-stat:focus-visible,.project-row-main:focus-visible,.project-action-button:focus-visible,.project-delete-button:focus-visible){outline:3px solid color-mix(in srgb,var(--brand),transparent 62%)}}:is(.attention-summary:focus-visible,.summary-stat:focus-visible,.project-row-main:focus-visible,.project-action-button:focus-visible,.project-delete-button:focus-visible){outline-offset:2px}.attention-summary{background:#fffaf4;border-color:#f0ca9f;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 18px;display:grid}.attention-summary.selected{border-color:var(--orange);box-shadow:inset 3px 0 var(--orange)}.attention-summary span{gap:3px;display:grid}.attention-summary b{color:#a25b12;font-size:16px}.attention-summary small{color:var(--ink-soft);font-size:13px}.attention-summary strong{color:#a25b12;letter-spacing:-.06em;font-size:36px}.summary-stat{align-content:center;gap:4px;padding:13px 16px;display:grid}.summary-stat.selected{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.summary-stat.selected{border-color:color-mix(in srgb,var(--brand),#102a56 28%)}}.summary-stat.selected{box-shadow:inset 3px 0 var(--brand)}@supports (color:color-mix(in lab, red, red)){.summary-stat.selected{box-shadow:inset 3px 0 color-mix(in srgb,var(--brand),#102a56 28%)}}.summary-stat span{color:var(--ink-soft);font-size:14px;font-weight:700}.summary-stat strong{letter-spacing:-.05em;font-size:27px}.summary-stat.running strong{color:#315ec8}.summary-stat.waiting strong{color:#5c6675}.summary-stat.complete strong{color:#168661}.portfolio-grid{grid-template-columns:minmax(520px,3fr) minmax(340px,2fr);gap:12px;height:calc(100vh - 206px);min-height:510px;padding:0 34px 28px;display:grid}.portfolio-grid.map-hidden{grid-template-columns:minmax(0,1fr)}.portfolio-grid.map-hidden .portfolio-map{display:none}.project-list-panel{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 18px 12px;display:flex}.panel-heading h2{letter-spacing:-.03em;margin:3px 0 0;font-size:20px}.panel-heading-actions{align-items:center;gap:10px;display:flex}.project-list{overflow:auto}.project-list-empty{min-height:170px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;padding:24px;font-size:15px;display:grid}.project-list-empty b{color:var(--ink);font-size:16px}.project-list-empty .secondary-button{margin-top:4px}.project-row-card{background:#fff;border-bottom:1px solid #e8ecf1;position:relative}.project-row-card:hover,.project-row-card.selected{background:#f7f9fc}.project-row-card.selected{box-shadow:inset 3px 0 var(--brand)}.project-row-main{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:10px minmax(0,1fr);align-items:start;gap:13px;width:100%;padding:15px 128px 15px 18px;display:grid}.status-dot{background:var(--muted);border-radius:50%;width:8px;height:8px;margin-top:5px}.status-dot.needs-action{background:var(--orange);box-shadow:0 0 0 5px #f39a4221}.status-dot.running{background:var(--blue)}.status-dot.complete{background:var(--green)}.status-dot.waiting{background:#aab2bd}.project-copy{gap:5px;min-width:0;display:grid}.project-title-line{align-items:center;gap:8px;min-width:0;display:flex}.project-title-line>strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.project-copy>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.status-pill{color:#687587;background:#edf0f4;border-radius:999px;flex:none;padding:3px 7px;font-size:12px;font-style:normal;font-weight:800}.status-pill.needs-action{color:#a2570d;background:#fff0df}.status-pill.running{color:#315ec8;background:#e9efff}.status-pill.complete{color:#157457;background:#e5f6ef}.project-stage{color:var(--ink-soft);font-size:13px}.project-stage b{color:var(--ink)}.project-progress{grid-template-columns:minmax(80px,170px) auto;align-items:center;gap:8px;display:grid}.project-progress>i{background:#e7ebf0;border-radius:999px;height:6px;overflow:hidden}.project-progress>i>span{border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--green));height:100%;display:block}.project-progress>em{color:var(--ink-soft);font-size:12px;font-style:normal;font-weight:800}.project-timing{color:var(--muted);flex-wrap:wrap;gap:6px 18px;font-size:12px;display:flex}.project-timing b{color:var(--ink-soft)}.project-row-actions{gap:4px;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.project-action-button,.project-delete-button{border:1px solid var(--line-strong);color:#315ec8;cursor:pointer;background:#fff;border-radius:8px;min-width:96px;min-height:44px;padding:0 12px;font-size:13px;font-weight:800}.project-action-button:hover{color:#fff;border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.project-action-button:hover{border-color:color-mix(in srgb,var(--brand),#102a56 28%)}}.project-action-button:hover{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.project-action-button:hover{background:color-mix(in srgb,var(--brand),#102a56 28%)}}.project-delete-button{color:#9f353b;border-color:#efc9cb}.project-delete-button:hover{background:#fff3f3}.portfolio-map,.model-viewport,.roi-canvas{background:#dfe5e7;position:relative;overflow:hidden}.portfolio-map{border:1px solid var(--line);border-radius:15px}.portfolio-map-heading{z-index:5;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #ffffffd1;border-radius:9px;gap:2px;padding:9px 11px;display:grid;position:absolute;top:16px;left:18px;box-shadow:0 8px 24px #1c272c1a}.portfolio-map-heading b{font-size:14px}.portfolio-map-heading small{color:var(--muted);font-size:12px}.map-backdrop{background-color:#e3e9e8;background-image:linear-gradient(#28404312 1px,#0000 1px),linear-gradient(90deg,#28404312 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;overflow:hidden}.map-backdrop.workspace{filter:saturate(.75)brightness(.72);background-color:#28333b;background-image:linear-gradient(#b5d8d614 1px,#0000 1px),linear-gradient(90deg,#b5d8d614 1px,#0000 1px)}.map-data-unavailable{z-index:2;text-align:center;width:min(310px,100% - 40px);color:var(--ink-soft);background:#ffffffd1;border:1px solid #ffffffd1;border-radius:11px;padding:16px 18px;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%)}.map-data-unavailable b{color:var(--ink);font-size:16px;display:block}.map-data-unavailable p{margin:6px 0 0;font-size:13px;line-height:1.5}.project-location-map{position:absolute;inset:0;overflow:hidden}.portfolio-map-tiles{z-index:1;background:#e3e9e847;position:absolute;inset:0;overflow:hidden}.portfolio-map-tiles img{-webkit-user-select:none;user-select:none;width:256px;height:256px;position:absolute}.portfolio-map-loading,.portfolio-map-error{z-index:2;color:var(--ink-soft);background:#ffffffe0;border:1px solid #ffffffd1;border-radius:8px;padding:9px 12px;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #1c272c1a}.portfolio-map-attribution{z-index:2;color:#4f5f66;background:#ffffffc7;border-radius:4px;padding:3px 5px;font-size:12px;position:absolute;bottom:7px;right:9px}.project-location-marker{z-index:3;cursor:pointer;background:#98a2b3;border:3px solid #fff;border-radius:50% 50% 50% 5px;width:24px;height:24px;position:absolute;transform:translate(-50%,-50%)rotate(-45deg);box-shadow:0 5px 15px #1f2e343d}.project-location-marker span{min-width:max-content;color:var(--ink);opacity:0;background:#ffffffe6;border:1px solid #fffc;border-radius:5px;padding:4px 6px;font-size:12px;font-weight:750;transition:opacity .15s;position:absolute;top:-7px;left:23px;transform:rotate(45deg)}.project-location-marker:hover span,.project-location-marker:focus span,.project-location-marker.selected span{opacity:1}.project-location-marker.needs-action{background:var(--orange)}.project-location-marker.running{background:var(--blue)}.project-location-marker.complete{background:var(--green)}.project-location-marker.selected{box-shadow:0 0 0 6px #1f466229,0 5px 15px #1f2e343d}.status-label{border-radius:5px;padding:4px 7px;font-size:13px;font-weight:800;display:inline-flex}.status-label.needs-action{color:#a75810;background:#fff1df}.status-label.running{color:#315ec8;background:#eaf0ff}.status-label.complete{color:#187c58;background:#e2f7ee}.status-label.waiting{color:#697483;background:#edf0f4}.workspace-page{background:#fff;flex-direction:column;height:100vh;display:flex}.workspace-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;padding:0 25px;display:flex}.project-title-block{align-items:center;gap:13px;display:flex}.project-title-block h1{font-size:22px}.back-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:34px;height:34px}.workspace-status{border-radius:5px;align-items:center;min-height:24px;padding:0 8px;font-size:13px;font-weight:800;display:inline-flex}.workspace-status.needs-action{color:#a75b15;background:#fff0dc}.workspace-status.running{color:#315ec8;background:#eaf0ff}.workspace-status.neutral{color:#697483;background:#edf0f4}.worker-pill{color:var(--ink-soft);background:#f3f5f8;border-radius:8px;align-items:center;gap:7px;margin-right:5px;padding:8px 10px;font-size:14px;display:inline-flex}.worker-pill i{background:#98a2b3;border-radius:50%;width:7px;height:7px}.worker-pill.active i{background:var(--green);box-shadow:0 0 0 3px #35b9861f}.workflow-region{border-bottom:1px solid var(--line);background:#fbfcfd}.workflow-heading{justify-content:space-between;align-items:center;gap:18px;min-height:38px;padding:8px 28px 0;display:flex}.workflow-heading>span{align-items:baseline;gap:9px;display:flex}.workflow-heading strong{color:var(--ink-soft);font-size:14px}.workflow-heading small{color:var(--muted);font-size:12px}.workflow-heading button{border:1px solid var(--line);min-height:30px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:7px;padding:0 10px;font-size:12px;font-weight:750}:is(.workflow-heading button:hover,.workflow-heading button:focus-visible){background:#f2f6fb;border-color:#aebed0}.workflow-strip{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:84px;padding:0 20px 8px;display:grid}.workflow-region.expanded .workflow-strip{grid-template-columns:repeat(10,minmax(0,1fr));min-height:104px}.workflow-step{min-width:0;color:var(--muted);align-items:center;gap:10px;padding:0 12px;display:flex;position:relative}.workflow-empty{width:100%;color:var(--muted);grid-column:1/-1;place-items:center;font-size:14px;display:grid}.workflow-step>span:last-of-type{min-width:0}.step-index{z-index:1;border:1px solid var(--line-strong);width:31px;height:31px;font-family:var(--font-geist-mono), monospace;background:#fff;border-radius:50%;flex:0 0 31px;place-items:center;font-size:12px;display:grid}.workflow-step strong,.workflow-step small{display:block}.workflow-step strong{color:var(--ink-soft);word-break:keep-all;font-size:14px;line-height:1.3}.workflow-step small{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.workflow-step.done .step-index{border-color:var(--green);background:var(--green);color:#fff}.workflow-step.active .step-index{border-color:var(--orange);color:var(--orange);box-shadow:0 0 0 5px #f39a421f}.workflow-step.active strong{color:#a55a16}.step-connector{z-index:0;background:var(--line);height:1px;position:absolute;top:50%;left:43px;right:-10px}.workflow-step.done .step-connector{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.workflow-step.done .step-connector{background:color-mix(in srgb, var(--green), white 42%)}}.workflow-region.expanded .workflow-step{gap:7px;padding:0 6px}.workflow-region.expanded .workflow-step strong{font-size:13px}.workflow-region.expanded .workflow-step .step-index{flex-basis:27px;width:27px;height:27px;font-size:12px}.workflow-region.expanded .step-connector{left:34px;right:-6px}.workspace-grid{flex:1;grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.workspace-grid.processing-focused{grid-template-columns:minmax(0,1fr)}.model-viewport{background:#232e36;min-height:0}.viewport-topline{z-index:5;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:16px;left:17px;right:17px}.result-view-switcher{gap:5px;display:grid}.result-availability{color:#e4ebef;background:#0f161cc7;border-radius:6px;max-width:410px;padding:5px 8px;font-size:12px}.segmented-control{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f161ca8;border:1px solid #ffffff21;border-radius:9px;gap:2px;padding:3px;display:flex}.segmented-control button{color:#aab6c1;cursor:pointer;background:0 0;border:0;border-radius:6px;height:29px;padding:0 11px;font-size:13px}.segmented-control button.active{color:#202a32;background:#edf3f5}.segmented-control button:disabled{color:#7e8b96;cursor:not-allowed;opacity:.72}.viewport-badge{color:#c0cbd3;background:#0f161ca6;border-radius:8px;align-items:center;gap:7px;padding:8px 10px;font-size:13px;display:flex}.viewport-badge span{background:var(--accent);border-radius:50%;width:6px;height:6px}.viewport-processing-state{z-index:4;background:radial-gradient(circle at 50% 45%,#35454fa8,#1b252dd1 68%);place-items:center;padding:92px 32px 40px;display:grid;position:absolute;inset:0}.viewport-processing-card{color:#eef5f7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c141ae0;border:1px solid #ffffff21;border-radius:18px;width:min(560px,100%);padding:30px;box-shadow:0 22px 70px #00000047}.viewport-processing-kicker{color:#65ddb1;letter-spacing:.05em;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.viewport-processing-card h2{margin:0;font-size:30px;line-height:1.25}.viewport-processing-card>p{color:#b1bec7;margin:13px 0 25px;font-size:16px;line-height:1.65}.viewport-processing-progress>span{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.viewport-processing-progress strong{font-size:36px}.viewport-processing-progress small{color:#9eabb4;font-size:14px}.viewport-processing-track{background:#ffffff1c;border-radius:999px;height:10px;overflow:hidden}.viewport-processing-track i{border-radius:inherit;background:linear-gradient(90deg,#4d78ff,#34bb88);height:100%;transition:width .35s;display:block}.viewport-processing-time{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 16px;display:grid}.viewport-processing-time div{background:#ffffff0f;border-radius:10px;gap:6px;padding:13px 14px;display:grid}.viewport-processing-time dt{color:#91a0aa;font-size:13px}.viewport-processing-time dd{margin:0;font-size:16px;font-weight:800}.viewport-processing-note{color:#8897a1;font-size:13px}.stage-one-model-state{color:#d7e0e5;text-align:center;background:radial-gradient(circle at 50% 42%,#344650,#202b33 62%);place-content:center;gap:7px;padding:80px;display:grid;position:absolute;inset:0}.stage-one-model-state b{font-size:20px}.stage-one-model-state p{color:#9dabb5;max-width:430px;margin:0;font-size:14px;line-height:1.6}.stage-one-model-shell{background:#202b33;grid-template-columns:minmax(0,1fr) 230px;padding-top:62px;display:grid;position:absolute;inset:0}.stage-one-plan{background-color:#283740;background-image:linear-gradient(#97b9b714 1px,#0000 1px),linear-gradient(90deg,#97b9b714 1px,#0000 1px);background-size:38px 38px;min-width:0;position:relative}.stage-one-plan svg{filter:drop-shadow(0 16px 18px #00000042);width:100%;height:100%;min-height:420px}.stage-one-footprint{fill:#69b0a42e;stroke:#b6e0d66b;stroke-width:2px;vector-effect:non-scaling-stroke}.stage-one-wall{cursor:pointer;outline:none}.stage-one-wall line{stroke:#73d9c1;stroke-width:13px;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:stroke .15s,stroke-width .15s}.stage-one-wall text{fill:#eaf8f5;text-anchor:middle;paint-order:stroke;stroke:#25323a;stroke-width:6px;pointer-events:none;font-size:23px;font-weight:800}.stage-one-wall:hover line,.stage-one-wall:focus line,.stage-one-wall.active line{stroke:#ffad55;stroke-width:18px}.stage-one-model-summary{gap:8px;display:flex;position:absolute;bottom:16px;left:18px;right:18px}.stage-one-model-summary span{color:#9eabb4;background:#0d1419cc;border:1px solid #ffffff1a;border-radius:8px;gap:2px;min-width:105px;padding:9px 11px;font-size:12px;display:grid}.stage-one-model-summary b{color:#fff;font-size:16px}.stage-one-wall-panel{color:#dce5ea;background:#182128;border-left:1px solid #ffffff14;padding:22px 18px}.stage-one-wall-panel h3{margin:6px 0 18px;font-size:22px}.stage-one-wall-panel dl{margin:0}.stage-one-wall-panel dl div{border-bottom:1px solid #ffffff14;justify-content:space-between;padding:10px 0;font-size:13px;display:flex}.stage-one-wall-panel dt{color:#84949f}.stage-one-wall-panel dd{margin:0;font-weight:800}.flight-ready{background:#ffad5514;border:1px solid #ffad5540;border-radius:9px;margin-top:20px;padding:12px}.flight-ready.ready{background:#5dd9a914;border-color:#5dd9a94d}.flight-ready b{font-size:14px}.flight-ready p{color:#98a7b1;margin:6px 0 0;font-size:12px;line-height:1.55}.stage-one-perspective{overflow:visible}.stage-one-wall-face{cursor:pointer;outline:none}.stage-one-wall-face polygon{fill:#5a8798;stroke:#a8cad2;stroke-width:2px;vector-effect:non-scaling-stroke;transition:fill .15s,filter .15s}.stage-one-wall-face:nth-child(2n) polygon{fill:#4d7889}.stage-one-wall-face:hover polygon,.stage-one-wall-face:focus polygon,.stage-one-wall-face.active polygon{fill:#e88e3e;filter:brightness(1.12)}.stage-one-wall-face text{fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:#233039;stroke-width:5px;font-size:21px;font-weight:850}.stage-one-roof{fill:#91aab3;stroke:#d7e6e9;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.stage-one-building-switch{z-index:3;background:#0c1419db;border:1px solid #ffffff1f;border-radius:10px;gap:6px;padding:5px;display:flex;position:absolute;top:16px;left:18px}.stage-one-building-switch button{color:#adbac2;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:34px;padding:0 13px;font-weight:750}.stage-one-building-switch button.active{color:#17232b;background:#eaf1f4}.stage-one-map-shell{grid-template-columns:minmax(0,1fr) 300px}.stage-one-map-canvas{touch-action:none;position:absolute;inset:0;overflow:hidden}.stage-one-map-canvas canvas{cursor:grab;width:100%;height:100%;display:block}.stage-one-map-canvas canvas:active{cursor:grabbing}.stage-one-map-tools{z-index:4;background:#0c1419e6;border:1px solid #ffffff24;border-radius:11px;gap:3px;padding:5px;display:flex;position:absolute;top:16px;right:18px;box-shadow:0 9px 24px #0003}.stage-one-map-tools button{color:#c3d0d7;cursor:pointer;background:0 0;border:0;border-radius:7px;min-width:42px;min-height:38px;padding:0 12px;font-size:14px;font-weight:800}:is(.stage-one-map-tools button:hover,.stage-one-map-tools button:focus-visible){color:#fff;background:#ffffff1a}.stage-one-map-tools button.active{color:#17232b;background:#edf4f7}.stage-one-map-guide{z-index:3;color:#d6e1e6;pointer-events:none;background:#0c1419c7;border-radius:8px;padding:8px 13px;font-size:14px;font-weight:700;position:absolute;top:72px;left:50%;translate:-50%}.stage-one-map-attribution{z-index:3;color:#e5eff3d1;text-shadow:0 1px 3px #172128;pointer-events:none;font-size:12px;font-weight:650;position:absolute;bottom:16px;right:18px}.stage-one-building-name{color:#93a5af;margin:-10px 0 18px;font-size:14px;line-height:1.45}.stage-one-map-shell .stage-one-wall-panel{padding:28px 22px}.stage-one-map-shell .stage-one-wall-panel h3{font-size:26px}.stage-one-map-shell .stage-one-wall-panel dl div{padding:13px 0;font-size:15px}.stage-one-map-shell .flight-ready{margin-top:24px;padding:15px}.stage-one-map-shell .flight-ready b{font-size:16px}.stage-one-map-shell .flight-ready p{font-size:14px}.pcd-preview-state{color:#dce7ec;text-align:center;background:radial-gradient(circle at 50% 45%,#33444d,#1c262e 67%);place-content:center;gap:8px;padding:80px;display:grid;position:absolute;inset:0}.pcd-preview-state b{font-size:22px}.pcd-preview-state p{color:#9eabb4;max-width:480px;margin:0;font-size:15px;line-height:1.6}.pcd-preview-shell{background:radial-gradient(circle at 50% 47%,#33434c 0,#202b33 58%,#172128 100%);position:absolute;inset:0;overflow:hidden}.pcd-preview-shell canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.pcd-preview-shell canvas:active{cursor:grabbing}.pcd-preview-tools{z-index:4;gap:9px;display:flex;position:absolute;top:70px;right:18px}.pcd-color-toggle,.pcd-zoom-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1319c7;border:1px solid #ffffff1f;border-radius:9px;gap:3px;padding:4px;display:flex}.pcd-preview-tools button{color:#becbd3;cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:38px;height:35px;padding:0 10px;font-size:13px;font-weight:750}.pcd-preview-tools button:hover,.pcd-preview-tools button.active{color:#172128;background:#eef4f6}.pcd-preview-tools button:disabled{opacity:.4;cursor:default}.pcd-zoom-controls button:first-child,.pcd-zoom-controls button:nth-child(2){font-size:22px}.pcd-preview-guide{z-index:3;color:#bac7cf;pointer-events:none;background:#0c1319b3;border-radius:7px;padding:8px 11px;font-size:13px;position:absolute;top:70px;left:50%;transform:translate(-50%)}.pcd-preview-summary{z-index:3;gap:7px;display:flex;position:absolute;bottom:18px;left:18px}.pcd-preview-summary span{color:#fff;background:#0c1319cc;border:1px solid #ffffff1a;border-radius:8px;gap:3px;min-width:118px;padding:9px 11px;display:grid}.pcd-preview-summary small{color:#91a0aa;font-size:12px}.pcd-preview-summary b{font-size:14px}.pcd-preview-shell:focus-visible{outline-offset:-2px;outline:2px solid #76a3ff}.pcd-crop-dock{z-index:5;color:#edf4f6;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0a1218f0;border:1px solid #ffffff24;border-radius:14px;grid-template-columns:1.05fr 1.15fr 1.7fr .95fr;gap:16px;width:min(1040px,100% - 36px);padding:16px;display:grid;position:absolute;bottom:86px;left:18px;box-shadow:0 14px 38px #0000004d}.pcd-crop-dock section{border-left:1px solid #ffffff1c;align-content:start;gap:9px;min-width:0;padding-left:16px;display:grid}.pcd-crop-dock section:first-child{border-left:0;padding-left:0}.pcd-crop-dock b{font-size:14px}.pcd-crop-dock small,.pcd-crop-dock span{color:#a7b4bc;font-size:12px;line-height:1.45}.pcd-crop-status{background:#ffffff17;border-radius:999px;justify-self:start;padding:3px 8px;font-weight:800;color:#b8c5cc!important}.pcd-crop-status.changed{background:#ff9e452e;color:#ffd7b4!important}.pcd-step-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.pcd-crop-dock button{color:#eef4f6;cursor:pointer;background:#ffffff12;border:1px solid #ffffff29;border-radius:7px;min-height:36px;padding:0 9px;font-size:12px;font-weight:800}.pcd-crop-dock button:hover:not(:disabled){background:#ff9e4529;border-color:#ffad64;outline:none}.pcd-crop-dock button:focus-visible{background:#ff9e4529;border-color:#ffad64;outline:none}.pcd-crop-dock button:disabled{cursor:not-allowed;opacity:.42}.pcd-step-row button.active{color:#18231f;background:#78e2bc;border-color:#78e2bc}.pcd-position-controls{align-items:center;gap:9px;display:flex}.pcd-direction-pad{grid-template-rows:repeat(3,36px);grid-template-columns:repeat(3,38px);gap:4px;display:grid}.pcd-direction-pad .north{grid-area:1/2}.pcd-direction-pad .west{grid-area:2/1}.pcd-direction-pad>span{color:#78e2bc;grid-area:2/2;place-items:center;font-weight:900;display:grid}.pcd-direction-pad .east{grid-area:2/3}.pcd-direction-pad .south{grid-area:3/2}.pcd-height-move{gap:6px;display:grid}.pcd-height-move button{min-width:58px}.pcd-size-grid{gap:8px;display:grid}.pcd-size-grid>div{grid-template-columns:36px minmax(90px,1fr) 36px;align-items:center;gap:6px;display:grid}.pcd-size-grid label{grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;display:flex}.pcd-size-grid output{color:#dce7eb;font-size:12px;font-weight:800}.pcd-size-grid input[type=range]{accent-color:#ff9e45;cursor:ew-resize;width:100%;min-width:0}.pcd-restore-section{grid-template-rows:auto auto auto 1fr}.pcd-reset-crop{white-space:normal;width:100%}.pcd-reset-crop.secondary{color:#c8d2d7;background:0 0}@media (max-width:1180px){.pcd-crop-dock{grid-template-columns:repeat(2,minmax(0,1fr));max-height:48vh;overflow:auto}.pcd-crop-dock section:nth-child(odd){border-left:0;padding-left:0}.pcd-crop-dock section:nth-child(n+3){border-top:1px solid #ffffff1c;padding-top:14px}}@media (max-width:820px){.pcd-crop-dock{grid-template-columns:1fr;width:auto;max-height:58vh;bottom:76px;left:12px;right:12px}.pcd-crop-dock section,.pcd-crop-dock section:nth-child(odd){border-top:1px solid #ffffff1c;border-left:0;padding:12px 0 0}.pcd-crop-dock section:first-child{border-top:0;padding-top:0}.pcd-step-row{grid-template-columns:repeat(3,minmax(72px,1fr))}}.project-assets{gap:7px;display:grid}.asset-summary,.project-asset-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.asset-summary{background:#f1f5f8;border-radius:7px;padding:9px 10px}.asset-summary b{font-size:16px}.asset-summary span,.project-asset-row span{font-size:13px}.project-asset-row{border-bottom:1px solid #edf0f4;padding:7px 1px}.project-asset-row small{color:var(--muted);font-size:12px}.asset-empty.compact{text-align:left;padding:6px 0}.viewport-empty,.roi-data-unavailable{text-align:center;color:#c2ccd3;place-content:center;justify-items:center;padding:30px;display:grid;position:absolute;inset:0}.viewport-empty b,.roi-data-unavailable b{font-size:17px}.viewport-empty p,.roi-data-unavailable p{color:#93a0a9;max-width:350px;margin:7px 0 0;font-size:13px;line-height:1.55}.job-inspector{border-left:1px solid var(--line);background:#fff;overflow:auto}.inspector-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 20px 15px;display:flex}.inspector-header h2{margin:4px 0 0;font-size:20px}.action-card{background:#fffaf4;border:1px solid #f2d5b4;border-radius:12px;margin:16px;padding:16px}.action-card.approved-card{background:#f4fbf8;border-color:#bfe6d5}.action-card-head{align-items:center;gap:10px;display:flex}.action-card-head small{color:var(--muted);font-size:12px}.action-card-head h3{margin:3px 0 0;font-size:17px}.attention-mark,.success-mark{color:#fff;background:var(--orange);border-radius:9px;place-items:center;width:31px;height:31px;font-weight:800;display:grid}.success-mark{background:var(--green)}.action-card>p{color:var(--ink-soft);margin:13px 0;font-size:14px;line-height:1.55}.action-stats{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px;display:grid}.action-stats span{color:var(--muted);background:#ffffffbf;border-radius:7px;gap:3px;padding:9px;font-size:12px;display:grid}.action-stats b{color:var(--ink);font-size:17px}.processing-progress{gap:9px;margin-top:14px;display:grid}.processing-progress>span{justify-content:space-between;align-items:baseline;display:flex}.processing-progress b{color:var(--ink);font-size:27px}.processing-progress small{color:var(--muted);font-size:13px;font-weight:700}.processing-progress-track{background:#ebeef2;border-radius:999px;height:10px;overflow:hidden}.processing-progress-track i{border-radius:inherit;background:linear-gradient(90deg,#4f7cff,#35b986);height:100%;transition:width .35s;display:block}.inspector-section{border-top:1px solid var(--line);padding:16px 20px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title h3{margin:0;font-size:15px}.section-title>span{width:19px;height:19px;color:var(--ink-soft);background:#eef1f5;border-radius:50%;place-items:center;font-size:12px;display:grid}.processing-time-list{gap:8px;margin:12px 0 0;display:grid}.processing-time-list div{background:#f6f8fa;border-radius:9px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:12px;font-size:14px;display:grid}.processing-time-list dt{color:var(--ink-soft)}.processing-time-list dd{color:var(--ink);margin:0;font-size:15px;font-weight:750}.asset-section{padding-bottom:24px}.asset-empty{border:1px dashed var(--line-strong);text-align:center;color:var(--muted);border-radius:8px;margin:12px 0 0;padding:13px;font-size:13px}.focus-overlay{z-index:100;background:#1f2931;flex-direction:column;display:flex;position:fixed;inset:0}.focus-header{color:#fff;background:#121a22;border-bottom:1px solid #ffffff1a;grid-template-columns:1fr auto 1fr;align-items:center;height:66px;padding:0 16px;display:grid}.focus-header>div{align-items:center;gap:10px;display:flex}.focus-header>div:last-child{justify-content:flex-end}.focus-header .back-button,.focus-header .secondary-button{color:#fff;background:#ffffff12;border-color:#ffffff29}.focus-header small,.focus-header strong{display:block}.focus-header small{color:#8f9ca8;font-size:12px}.focus-header strong{margin-top:2px;font-size:16px}.focus-guide{color:#929faa;font-size:12px}.focus-guide kbd{color:#d9e2e7;background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;padding:3px 5px;font-family:inherit}.focus-body{flex:1;grid-template-columns:minmax(0,1fr) 420px;min-height:0;display:grid}.roi-canvas{background:#1f2a32;min-width:0;position:relative;overflow:hidden}.roi-panel{background:#f7f8fa;flex-direction:column;padding:28px 30px;display:flex;overflow:auto}.roi-panel h2{letter-spacing:-.04em;margin:7px 0 12px;font-size:30px}.roi-description{color:var(--ink-soft);margin:0;font-size:16px;line-height:1.65}.roi-metrics{margin:22px 0 0}.roi-metrics div{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:13px 2px;font-size:15px;display:flex}.roi-metrics dt{color:var(--ink-soft)}.roi-metrics dd{text-align:right;margin:0;font-weight:750}.notice-box{border-left:4px solid var(--brand);color:#4c5c76;background:#eaf0ff;margin-top:18px;padding:16px}.notice-box b{font-size:15px}.notice-box p{margin:7px 0 0;font-size:14px;line-height:1.6}.roi-panel .auth-error{margin-top:13px}.roi-panel-spacer{flex:1;min-height:18px}.roi-accessibility-note{background:#fff;border:1px solid #dce3eb;border-radius:9px;margin-top:18px;padding:15px}.roi-accessibility-note h3{margin:0 0 9px;font-size:16px}.roi-accessibility-note p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.6}.roi-accessibility-note kbd{color:#34404a;text-align:center;background:#f8fafb;border:1px solid #cbd3dc;border-bottom-width:2px;border-radius:4px;min-width:25px;padding:2px 5px;font-family:inherit;display:inline-block}.georeference-preview{background:#1e2a32;position:absolute;inset:0;overflow:hidden}.georeference-preview canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.georeference-preview canvas:active{cursor:grabbing}.georeference-preview canvas:focus-visible{outline-offset:-4px;outline:3px solid #76a3ff}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.georeference-toolbar-row{z-index:5;pointer-events:none;justify-content:flex-end;align-items:flex-start;gap:16px;display:flex;position:absolute;top:20px;left:22px;right:22px}.map-style-control{pointer-events:auto;background:#0d151bdb;border:1px solid #ffffff21;border-radius:9px;flex:none;gap:3px;padding:4px;display:flex}.map-style-control button{color:#cbd6dc;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:38px;padding:0 13px;font-size:14px;font-weight:700}.map-style-control button.active{color:#14212a;background:#eef4f6}.map-style-control .scene-zoom-button{place-items:center;min-width:40px;padding:0;display:grid}.scene-zoom-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.map-style-control .scene-zoom-button:hover{color:#fff;background:#ffffff1a}.map-style-control .scene-zoom-button:focus-visible{outline-offset:-2px;outline:2px solid #76a3ff}.scene-orientation{z-index:4;color:#edf4f6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#0d151bbf;border:1px solid #ffffff21;border-radius:9px;grid-template-columns:auto auto;align-items:end;gap:8px 14px;padding:10px 12px;display:grid;position:absolute;bottom:82px;right:24px}.north-arrow{color:#fff;justify-items:center;display:grid}.north-arrow span{color:#ffad64;font-size:24px;line-height:1}.north-arrow b{font-size:13px}.axis-tripod{gap:2px;font-size:12px;display:grid}.axis-tripod .x{color:#ff7f7f}.axis-tripod .y{color:#72e5aa}.axis-tripod .z{color:#7db3ff}.scale-label{color:#d9e3e7;text-align:right;border-top:1px solid #ffffff24;grid-column:1/-1;padding-top:4px;font-size:12px}.roi-tool-toggle{z-index:6;color:#eef5f7;cursor:pointer;background:#0c141af0;border:1px solid #ffffff29;border-radius:9px;height:42px;padding:0 15px;font-size:14px;font-weight:800;position:absolute;bottom:24px;left:22px}.roi-tool-toggle[aria-expanded=true]{bottom:224px}.roi-edit-dock{z-index:5;color:#e5edf1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c141aed;border:1px solid #ffffff21;border-radius:11px;grid-template-columns:155px 1.1fr 1.5fr 1.15fr;align-items:stretch;gap:12px;width:min(810px,100% - 44px);padding:14px;display:grid;position:absolute;bottom:24px;left:22px;box-shadow:0 15px 40px #00000047}.roi-dock-intro{align-content:center;gap:5px;display:grid}.roi-dock-intro b{font-size:17px}.roi-edit-dock small,.roi-edit-dock section>span{color:#a5b3bb;font-size:12px;line-height:1.4}.roi-dock-intro>span{border-radius:999px;justify-self:start;padding:4px 7px;font-size:12px;font-weight:800}.roi-dock-intro .suggested{color:#d9e3e7;background:#ffffff1a}.roi-dock-intro .adjusted{color:#ffd6ae;background:#ff9e452e}.roi-edit-dock section{border-left:1px solid #ffffff1a;align-content:start;gap:8px;padding-left:12px;display:grid}.roi-button-row,.roi-history-row,.roi-step-control{flex-wrap:wrap;gap:5px;display:flex}.roi-button-row button,.roi-size-grid button,.roi-history-row button,.roi-step-control button,.roi-axis-lock button{color:#ecf3f6;cursor:pointer;background:#ffffff12;border:1px solid #ffffff29;border-radius:6px;min-width:34px;min-height:32px;padding:0 8px;font-size:12px;font-weight:750}.roi-button-row button:hover,.roi-size-grid button:hover,.roi-history-row button:hover,.roi-step-control button:hover,.roi-axis-lock button:hover{background:#ff9e4526;border-color:#ffad64}.roi-step-control button.active{color:#14231e;background:#78e2bc;border-color:#78e2bc}.roi-history-row button:disabled{opacity:.38;cursor:not-allowed}.roi-size-grid{gap:5px;display:grid}.roi-size-grid>div{grid-template-columns:1fr 34px 34px;align-items:center;gap:4px;display:grid}.roi-size-grid label{justify-content:space-between;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.roi-size-grid input{color:#fff;width:72px;height:30px;font:inherit;background:#ffffff14;border:1px solid #ffffff2e;border-radius:5px;padding:0 6px}.roi-size-grid input:focus-visible{outline-offset:1px;outline:2px solid #76a3ff}.roi-axis-lock{gap:7px;display:grid}.roi-axis-lock b{color:#78e2bc;font-size:12px;line-height:1.4}.roi-axis-lock button{justify-self:start}.vworld-attribution{z-index:4;color:#d5dfe3;text-shadow:0 1px 5px #000;font-size:12px;position:absolute;bottom:18px;right:22px}@media (max-width:1180px){.focus-body{grid-template-columns:minmax(0,1fr) 350px}.roi-edit-dock{grid-template-columns:140px 1fr 1.25fr;width:min(680px,100% - 44px)}.roi-edit-dock section:last-child{grid-column:2/-1}}.footprint-review .focus-body{grid-template-columns:minmax(0,1fr) 390px}.footprint-review-canvas{background:#1d2931;min-height:0;position:relative;overflow:hidden}.footprint-grid{background-color:#26343d;background-image:linear-gradient(#bcdad912 1px,#0000 1px),linear-gradient(90deg,#bcdad912 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.footprint-grid:after{content:"";opacity:.32;background:radial-gradient(circle at 27% 33%,#74aaa43d,#0000 24%),radial-gradient(circle at 73% 67%,#6587a133,#0000 27%);position:absolute;inset:7% 5%}.footprint-overlay-svg{z-index:2;filter:drop-shadow(0 7px 14px #0003);width:calc(100% - 68px);height:calc(100% - 98px);position:absolute;inset:42px 34px 56px}.footprint-overlay-svg.pannable{cursor:grab;touch-action:none}.footprint-overlay-svg.pannable:active{cursor:grabbing}.multi-building-edge-hit{pointer-events:stroke}.multi-building-vertex.angle-selected{fill:#3976f6;stroke:#fff;stroke-width:3px}.multi-building-angle-label{fill:#fff;pointer-events:none;font-weight:900}.multi-building-right-angle{border-top:1px solid #dbe3f2;gap:7px;padding-top:9px;display:grid}.multi-building-right-angle>.secondary-button{color:#315ec8;background:#eef4ff;border-color:#adc4f8;width:100%;min-height:35px}.multi-building-right-angle>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.multi-building-right-angle>div .secondary-button:last-child{color:#fff;border-color:var(--brand);background:var(--brand)}.multi-building-right-angle>div .secondary-button:last-child:disabled{color:#8792a6;border-color:var(--line);background:#edf0f4}.multi-building-right-angle .form-error{margin-top:0;font-size:12px}.multi-building-save-button{color:#315ec8;background:#f4f7ff;border-color:#9fbaf5;flex:none;margin-top:10px}.multi-building-draft-message{color:#217356;margin:7px 0 0;font-size:12px;font-weight:750;line-height:1.4}.footprint-shape{vector-effect:non-scaling-stroke;stroke-linejoin:round}.footprint-shape.reference{fill:#5082ff14;stroke:#81aaff;stroke-width:3px;stroke-dasharray:12 9}.footprint-shape.las{fill:#56e1be1f;stroke:#65e3c1;stroke-width:3px}.footprint-shape.hybrid{fill:#ffa94b14;stroke:#ffac4f;stroke-width:5px}.footprint-shape.manual{fill:#ff757521;stroke:#ff7d7d;stroke-width:5px}.footprint-vertex{fill:#fff;stroke:#ff7d7d;stroke-width:4px;cursor:pointer;vector-effect:non-scaling-stroke}.footprint-vertex.selected{fill:#ff7d7d;stroke:#fff}.footprint-edit-controls{background:#fff8f8;border:1px solid #ffd4d4;border-radius:9px;gap:10px;padding:12px;display:grid}.footprint-edit-controls>div:first-child{gap:4px;display:grid}.footprint-edit-controls b{font-size:14px}.footprint-edit-controls small{color:var(--muted);font-size:12px;line-height:1.45}.footprint-edit-controls label{color:var(--ink-soft);gap:5px;font-size:13px;font-weight:750;display:grid}.footprint-edit-controls select{border:1px solid var(--line-strong);width:100%;height:34px;color:var(--ink);background:#fff;border-radius:7px;padding:0 8px}.footprint-edit-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.footprint-edit-actions .secondary-button{white-space:normal;min-height:34px;padding:7px 9px;line-height:1.25}.nudge-grid{grid-template-columns:repeat(3,36px);grid-template-areas:".up.""left.right"".down.";justify-content:center;gap:5px;display:grid}.nudge-grid button{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:7px;width:36px;height:34px}.nudge-grid button:first-child{grid-area:up}.nudge-grid button:nth-child(2){grid-area:left}.nudge-grid button:nth-child(3){grid-area:right}.nudge-grid button:nth-child(4){grid-area:down}.footprint-edge{vector-effect:non-scaling-stroke;stroke-width:8px;stroke-linecap:round}.footprint-edge.observed{stroke:#41e29b}.footprint-edge.unobserved{stroke:#d4a4ff;stroke-dasharray:9 8}.footprint-empty{z-index:2;color:#c2ced5;place-items:center;font-size:15px;display:grid;position:absolute;inset:0}.footprint-layer-control{z-index:4;color:#d2dce2;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0c141ad1;border:1px solid #ffffff1f;border-radius:8px;gap:12px;margin:0;padding:9px 11px;font-size:13px;display:flex;position:absolute;top:18px;left:18px}.footprint-layer-control legend{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.footprint-layer-control label{cursor:pointer;align-items:center;gap:5px;display:flex}.footprint-layer-control label:has(input:disabled){opacity:.42;cursor:default}.footprint-layer-control input{width:13px;height:13px;accent-color:var(--brand);margin:0}.layer-swatch{border-top:2px solid;width:15px;height:0}.layer-swatch.las{border-color:#65e3c1}.layer-swatch.reference{border-color:#81aaff;border-top-style:dashed}.layer-swatch.hybrid{border-color:#ffac4f;border-top-width:3px}.footprint-edge-legend{z-index:4;color:#c9d4da;background:#0c141acc;border-radius:7px;gap:15px;padding:9px 11px;font-size:12px;display:flex;position:absolute;bottom:18px;left:18px}.footprint-edge-legend span{align-items:center;gap:6px;display:flex}.edge-swatch{border-top:3px solid;width:18px;height:0}.edge-swatch.observed{border-color:#41e29b}.edge-swatch.unobserved{border-color:#d4a4ff;border-top-style:dashed}.footprint-panel{background:#f7f8fa;flex-direction:column;min-height:0;padding:23px 24px;display:flex;overflow:auto}.footprint-panel h2{letter-spacing:-.04em;margin:5px 0 9px;font-size:23px}.reference-state{border:1px solid var(--line);background:#fff;border-radius:9px;margin:15px 0 13px;padding:11px 12px}.reference-state b{font-size:14px}.reference-state p{color:var(--ink-soft);margin:4px 0 0;font-size:13px;line-height:1.45}.reference-state.loading{background:#f5f8ff;border-color:#cbd9ef}.reference-state.ready{background:#f3fbf7;border-color:#bddfcf}.reference-state.not-configured{background:#fffaf0;border-color:#ead4aa}.reference-state.error{background:#fff7f7;border-color:#efc5c5}.footprint-choice{border:0;gap:8px;margin:0;padding:0;display:grid}.footprint-choice legend{color:var(--ink);margin-bottom:8px;font-size:14px;font-weight:800}.footprint-choice label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;grid-template-columns:17px 1fr;align-items:center;gap:8px;padding:11px;display:grid}.footprint-choice label.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}@supports (color:color-mix(in lab, red, red)){.footprint-choice label.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand),transparent 84%)}}.footprint-choice label.disabled{opacity:.58;cursor:default}.footprint-choice input{accent-color:var(--brand);margin:0}.footprint-choice span{gap:3px;display:grid}.footprint-choice b{font-size:14px}.footprint-choice small{color:var(--ink-soft);font-size:12px;line-height:1.4}.multi-building-shape{fill:var(--building-color)}@supports (color:color-mix(in lab, red, red)){.multi-building-shape{fill:color-mix(in srgb,var(--building-color),transparent 74%)}}.multi-building-shape{stroke:var(--building-color);stroke-width:6px;vector-effect:non-scaling-stroke;cursor:pointer;transition:opacity .15s,fill .15s,stroke-width .15s}.multi-building-shape.excluded{fill:#0000;opacity:.22;stroke-dasharray:12 9}.multi-building-shape.active{stroke-width:8px;filter:drop-shadow(0 0 4px #ffffff9e)}.multi-building-shape.invalid{stroke:#ff6d72}.multi-building-edge-hit{fill:none;stroke:#0000;stroke-width:18px;vector-effect:non-scaling-stroke;cursor:copy}.multi-building-edge-hit:hover{stroke:#ffffff7a;stroke-width:10px;stroke-dasharray:4 4}.multi-building-vertex-hit{fill:#0000;stroke:none;cursor:grab;touch-action:none}.multi-building-vertex-hit:active{cursor:grabbing}.multi-building-vertex{fill:#fff;stroke:#17252d;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.multi-building-vertex.selected{fill:#ff8a72;stroke:#fff;stroke-width:3px}.multi-building-zoom-controls{z-index:4;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a1217e0;border:1px solid #ffffff38;border-radius:10px;grid-template-columns:42px 58px 42px 52px;align-items:center;display:grid;position:absolute;top:24px;left:24px;overflow:hidden;box-shadow:0 8px 24px #0000002e}.multi-building-zoom-controls button{color:#fff;cursor:pointer;background:0 0;border:0;border-right:1px solid #ffffff24;height:42px;font-size:24px;font-weight:700}.multi-building-zoom-controls button:hover:not(:disabled){background:#ffffff1f}.multi-building-zoom-controls button:disabled{opacity:.36;cursor:default}.multi-building-zoom-controls button.reset{border-left:1px solid #ffffff24;border-right:0;font-size:12px}.multi-building-zoom-controls span{color:#dce7ec;text-align:center;font-size:12px;font-weight:800}.multi-building-map-note{color:#d9e5e9;background:#0a1217d1;border-radius:9px;padding:10px 13px;font-size:13px;position:absolute;bottom:24px;left:24px}.multi-building-list{gap:8px;margin-top:6px;display:grid}.multi-building-list>div{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;display:grid}.multi-building-list>div.selected{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.multi-building-list>div.selected{border-color:color-mix(in srgb,var(--brand),transparent 35%)}}.multi-building-list>div.active{box-shadow:0 0 0 2px var(--brand)}@supports (color:color-mix(in lab, red, red)){.multi-building-list>div.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand),transparent 82%)}}.multi-building-list>div.invalid{border-color:#ef9b9f}.multi-building-list label{cursor:pointer;grid-template-columns:18px 12px minmax(0,1fr);align-items:center;gap:9px;min-width:0;display:grid}.multi-building-list input{accent-color:var(--brand);margin:0}.multi-building-list i{border-radius:3px;width:11px;height:11px}.multi-building-list span{gap:2px;min-width:0;display:grid}.multi-building-list b{color:var(--ink);font-size:14px}.multi-building-list small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.multi-building-edit-button{border:1px solid var(--line-strong);color:#3f5776;cursor:pointer;background:#f7f9fc;border-radius:7px;min-height:31px;padding:0 9px;font-size:12px;font-weight:800}.multi-building-edit-button:disabled{opacity:.42;cursor:not-allowed}.multi-building-list>div.active .multi-building-edit-button{color:#fff;border-color:var(--brand);background:var(--brand)}.multi-building-edit-controls{background:#f5f8ff;border:1px solid #c9d8f7;border-radius:10px;gap:10px;margin-top:11px;padding:12px;display:grid}.multi-building-edit-controls>div:first-child{gap:3px;display:grid}.multi-building-edit-controls b{font-size:14px}.multi-building-edit-controls small{color:var(--ink-soft);font-size:12px;line-height:1.4}.multi-building-history-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.multi-building-history-actions button:last-child{grid-column:1/-1}.multi-building-history-actions .secondary-button,.multi-building-edit-controls .footprint-edit-actions .secondary-button{white-space:normal;min-height:33px;padding:6px 8px;font-size:12px}.multi-building-step{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:750;display:flex}.multi-building-step select{border:1px solid var(--line-strong);height:32px;color:var(--ink);background:#fff;border-radius:7px;padding:0 8px}.multi-building-edit-controls .nudge-grid button:disabled{opacity:.4;cursor:not-allowed}.footprint-metrics{grid-template-columns:1fr 1fr;gap:7px;margin:13px 0 0;display:grid}.footprint-metrics div{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px}.footprint-metrics dt{color:var(--muted);font-size:12px}.footprint-metrics dd{margin:4px 0 0;font-size:16px;font-weight:800}.edge-provenance{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px}.edge-provenance summary{cursor:pointer;padding:10px 11px;font-size:13px;font-weight:750}.edge-provenance ol{max-height:155px;margin:0;padding:0 11px 9px 34px;overflow:auto}.edge-provenance li{border-top:1px solid #edf0f3;padding:6px 0;font-size:12px}.edge-provenance li b,.edge-provenance li span{display:block}.edge-provenance li span{color:var(--ink-soft);margin-top:2px}.footprint-warnings{border-left:3px solid var(--orange);background:#fff8ee;margin-top:12px;padding:10px 12px}.footprint-warnings b{font-size:13px}.footprint-warnings ul{color:var(--ink-soft);margin:5px 0 0;padding-left:16px;font-size:12px;line-height:1.5}.footprint-attribution{color:var(--muted);margin:11px 0;font-size:12px;line-height:1.45}.selected-footprint-summary{color:var(--ink-soft);background:#edf2fb;border-radius:7px;justify-content:space-between;align-items:center;margin:10px 0;padding:9px 10px;font-size:13px;display:flex}.selected-footprint-summary b{color:var(--ink)}.admin-page{background:var(--canvas);min-height:100vh}.admin-header{align-items:center}.admin-security-note{color:#217356;background:#f1faf6;border:1px solid #bedfce;border-radius:8px;align-items:center;gap:7px;padding:9px 11px;font-size:13px;font-weight:800;display:inline-flex}.admin-security-note i{background:var(--green);border-radius:50%;width:7px;height:7px}.admin-grid{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:14px;padding:0 42px 36px;display:grid}.admin-create-card,.admin-users-card{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.admin-user-form{gap:14px;padding:20px;display:grid}.admin-user-form label{color:var(--ink-soft);gap:7px;font-size:14px;font-weight:750;display:grid}.admin-user-form input,.admin-user-form select{border:1px solid var(--line-strong);width:100%;height:42px;color:var(--ink);background:#fff;border-radius:8px;outline:0;padding:0 11px;font-size:15px}.admin-user-form label small{color:var(--muted);font-size:12px;font-weight:500;line-height:1.45}.admin-message{border-radius:8px;margin:13px 16px 0;padding:10px 12px;font-size:13px;line-height:1.45}.admin-message.error{color:#9c363c;background:#fff0f0}.admin-message.success{color:#176c50;background:#eaf8f2}.admin-empty{min-height:180px;color:var(--muted);place-items:center;font-size:14px;display:grid}.admin-user-list{padding:5px 16px 16px}.admin-user-row{border-bottom:1px solid #edf0f4;grid-template-columns:38px minmax(160px,1fr) 105px auto;align-items:center;gap:11px;padding:14px 3px;display:grid}.admin-user-row.inactive{opacity:.62}.admin-user-avatar{color:#3e64bd;background:#eaf0ff;border-radius:10px;place-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:grid}.admin-user-copy{gap:3px;min-width:0;display:grid}.admin-user-copy b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.admin-user-copy b em{color:#315ec8;background:#eaf0ff;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:12px;font-style:normal}.admin-user-copy small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;overflow:hidden}.admin-user-copy>span{color:#217356;font-size:12px;font-weight:700}.admin-user-row>select{border:1px solid var(--line);background:#fff;border-radius:7px;height:34px;padding:0 8px;font-size:13px}.admin-row-actions{gap:6px;display:flex}.admin-row-actions .secondary-button{white-space:nowrap;min-height:34px;padding:0 9px;font-size:12px}.secondary-button.danger{color:#a23f43;background:snow;border-color:#efc9cb}.admin-modal-copy{color:var(--ink-soft);margin:14px 0 0;font-size:14px;line-height:1.55}.danger-text{color:#a33b40!important}.danger-primary{background:#b33f45;box-shadow:0 8px 20px #b33f4533}.danger-primary:hover{background:#9d3339}.danger-primary:disabled{box-shadow:none;cursor:not-allowed;background:#d7aeb0}.project-delete-warning{color:#6f3034;background:#fff7f7;border:1px solid #efc9cb;border-radius:10px;margin-top:18px;padding:15px}.project-delete-warning strong{color:#8f3036;font-size:17px;display:block}.project-delete-warning p{margin:7px 0 0;font-size:14px;line-height:1.6}.admin-console{background:var(--canvas);min-height:100vh}.admin-console-bar{color:#eaf3f4;background:#071923;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:68px;padding:0 42px;display:grid;box-shadow:0 1px #ffffff1f}.admin-console-brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.admin-console-brand span{color:#071923;width:36px;height:36px;font:850 12px/1 var(--font-geist-mono),monospace;background:#43dce4;place-items:center;display:grid}.admin-console-bar>strong{letter-spacing:.03em;font-size:15px}.admin-console-bar>div{color:#9fb0b7;justify-content:flex-end;align-items:center;gap:15px;font-size:12px;display:flex}.admin-console-bar>div a{color:#d8e4e6;border:1px solid #52636b;padding:8px 10px;text-decoration:none}.admin-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 42px 14px;display:grid}.admin-summary>span{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:15px 17px;display:flex}.admin-summary small{color:var(--muted);font-size:12px}.admin-summary b{font:800 23px/1 var(--font-geist-mono),monospace}.admin-pending-card{background:#fffdf7;border:1px solid #e1b44b;border-radius:15px;margin:0 42px 14px;overflow:hidden}.admin-pending-card .panel-heading{border-bottom-color:#f0dfb9}.admin-pending-card .panel-heading>b{color:#a06c00}.admin-pending-list{padding:0 16px 9px}.admin-pending-list article{border-bottom:1px solid #f0e5cb;grid-template-columns:38px minmax(180px,1fr) auto;align-items:center;gap:12px;padding:14px 3px;display:grid}.admin-pending-list article:last-child{border-bottom:0}.admin-pending-list .primary-button{min-height:34px;padding:0 12px;font-size:12px}.admin-access-state{color:#eaf3f4;background:#071923;place-items:center;min-height:100vh;display:grid}.admin-access-card{text-align:center;background:#0b202a;border:1px solid #29414a;justify-items:center;width:min(470px,100% - 36px);padding:48px;display:grid}.admin-access-card>span{color:#071923;background:#43dce4;place-items:center;width:52px;height:52px;margin-bottom:24px;font-weight:900;display:grid}.admin-access-card h1{margin:0;font-size:26px}.admin-access-card p{color:#9db0b7;margin:14px 0 28px}.admin-access-card a{text-decoration:none}.modal-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b11189e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.new-project-modal{background:#fff;border-radius:16px;width:min(520px,100%);max-height:calc(100vh - 40px);padding:25px;overflow:auto;box-shadow:0 30px 80px #040a124d}.modal-head{justify-content:space-between;display:flex}.modal-head h2{margin:5px 0 0;font-size:25px}.modal-head>button{cursor:pointer;background:#f0f2f5;border:0;border-radius:7px;width:31px;height:31px}.field-label{color:var(--ink-soft);gap:7px;margin-top:18px;font-size:14px;font-weight:700;display:grid}.field-label input{border:1px solid var(--line-strong);border-radius:9px;outline:none;height:43px;padding:0 12px}.field-label input[readonly]{color:#354458;background:#f7f9fb}.field-label small{color:var(--muted);font-size:12px;font-weight:500}.address-search-box{border:1px solid var(--line);background:#f8fafc;border-radius:9px;margin-top:8px}.address-search-status{min-height:35px;color:var(--muted);align-items:center;gap:7px;padding:8px 11px;font-size:12px;display:flex}.address-search-status i{background:#98a2b3;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.address-search-box.loading .address-search-status i{background:var(--blue);box-shadow:0 0 0 3px #3b6dd81f}.address-search-box.ready .address-search-status i{background:var(--green)}.address-search-box.error .address-search-status{color:#a83b3f}.address-search-box.error .address-search-status i{background:#d94b52}.address-candidate-list{border-top:1px solid var(--line);max-height:224px;overflow:auto}.address-candidate{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0f3;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px;display:grid}.address-candidate:last-child{border-bottom:0}.address-candidate:hover,.address-candidate:focus,.address-candidate.selected{background:#eef5ff}.address-candidate span{gap:3px;min-width:0;display:grid}.address-candidate b{color:var(--ink);font-size:14px}.address-candidate strong{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.address-candidate small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.address-candidate em{color:#315ec8;background:#e4ecff;border-radius:5px;padding:5px 7px;font-size:12px;font-style:normal;font-weight:800}.address-candidate.selected em{color:#fff;background:var(--brand)}.password-change-fields{gap:14px;margin-top:18px;display:grid}.password-change-fields .field-label{margin-top:0}.password-change-modal .auth-error{margin-top:13px}.upload-drop{cursor:pointer;background:#f8fafc;border:1px dashed #aeb8c4;border-radius:11px;align-content:center;place-items:center;gap:5px;width:100%;min-height:133px;margin-top:15px;display:grid;position:relative}.upload-drop input{opacity:0;width:1px;height:1px;position:absolute}.upload-drop>span{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:30px;height:30px;margin-bottom:4px;display:grid}.upload-drop b{font-size:15px}.upload-drop small{color:var(--muted);font-size:13px}.modal-note{color:#52617a;background:#eef3ff;border-radius:8px;gap:8px;margin-top:13px;padding:10px;display:flex}.modal-note span{background:var(--brand);color:#fff;border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;font-size:12px;font-weight:800;display:grid}.modal-note p{margin:1px 0 0;font-size:13px;line-height:1.5}.form-error{color:#b42318;margin:10px 0 0;font-size:14px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.upload-warning{color:#8a4b0e;background:#fff8ef;border:1px solid #f0ca9f;border-radius:8px;margin:10px 0 0;padding:9px 10px;font-size:13px}.project-readiness{border:1px solid var(--line);background:#fafbfc;border-radius:9px;gap:7px;margin:13px 0 0;padding:12px;list-style:none;display:grid}.project-readiness li{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;display:flex}.project-readiness li span{color:#667085;background:#e9edf2;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:12px;font-weight:850;display:grid}.project-readiness li.ready{color:#176c50;font-weight:700}.project-readiness li.ready span{color:#fff;background:#168661}.upload-progress{background:#edf0f4;border-radius:7px;height:28px;margin-top:10px;position:relative;overflow:hidden}.upload-progress>span{background:var(--brand);position:absolute;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){.upload-progress>span{background:color-mix(in srgb,var(--brand),white 66%)}}.upload-progress>span{transition:width .18s}.upload-progress b{z-index:1;color:#385078;place-items:center;height:100%;font-size:12px;display:grid;position:relative}.stage-one-help-modal{width:min(590px,100%)}.stage-one-help-steps{counter-reset:stage-one-help;gap:10px;margin:22px 0 18px;padding:0;list-style:none;display:grid}.stage-one-help-steps li{border:1px solid var(--line);counter-increment:stage-one-help;background:#f8fafc;border-radius:10px;grid-template-columns:30px minmax(0,1fr);gap:2px 12px;padding:12px 14px;display:grid}.stage-one-help-steps li:before{color:#fff;background:var(--brand);content:counter(stage-one-help);border-radius:50%;grid-row:1/3;place-items:center;width:28px;height:28px;font-size:13px;font-weight:850;display:grid}.stage-one-help-steps b{color:var(--ink);font-size:15px}.stage-one-help-steps span{color:var(--ink-soft);font-size:13px;line-height:1.5}.api-status{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:700;display:inline-flex}.api-status i{background:#98a2b3;border-radius:50%;width:7px;height:7px}.api-status.online i{background:#12b76a;box-shadow:0 0 0 3px #12b76a1f}.api-status.offline i{background:#f79009}@media (max-width:1100px){.workspace-actions .secondary-button{display:none}.workflow-heading{padding:9px 18px 0}.workflow-heading small{display:none}.workflow-strip,.workflow-region.expanded .workflow-strip{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;padding:8px 12px 12px}.workflow-step{min-height:56px}.workflow-step small{display:block}.step-connector{display:none}.workspace-grid{grid-template-columns:minmax(0,1fr) 320px}.dashboard-summary{grid-template-columns:minmax(250px,1.35fr) repeat(2,minmax(100px,.7fr))}.portfolio-grid{grid-template-columns:minmax(470px,1.3fr) minmax(320px,1fr)}.admin-user-row{grid-template-columns:38px minmax(130px,1fr) 95px}.admin-row-actions{grid-column:2/-1}}@media (min-width:1101px) and (max-width:1560px){.workflow-strip{grid-template-columns:repeat(5,minmax(0,1fr));min-height:84px;padding:0 20px 8px}.workflow-region.expanded .workflow-strip{grid-template-columns:repeat(5,minmax(0,1fr));min-height:146px;padding:5px 20px 10px}.workflow-step{min-height:68px}.step-connector{display:none}}@media (max-width:820px){.utility-rail{width:58px}.page{width:calc(100% - 58px);margin-left:58px}.portfolio-header{flex-direction:column;align-items:stretch;gap:18px;padding:24px 20px 16px}.portfolio-header .header-actions{flex-wrap:wrap;width:100%}.search-box{flex:240px;width:auto;min-width:210px}.dashboard-summary{grid-template-columns:1fr 1fr;padding:0 20px 14px}.attention-summary{grid-column:1/-1}.portfolio-grid,.portfolio-grid.map-hidden{grid-template-columns:1fr;height:auto;padding:0 20px 24px}.portfolio-map{min-height:430px}.portfolio-grid.map-hidden .portfolio-map{display:none}.project-row-main{padding-bottom:104px;padding-right:18px}.project-row-actions{grid-template-columns:minmax(0,1fr) auto;inset:auto 18px 12px 41px;transform:none}.project-action-button,.project-delete-button{min-width:0}.project-timing{gap:3px;display:grid}.workspace-grid{grid-template-columns:1fr;overflow:auto}.model-viewport{min-height:620px}.job-inspector{border-left:0}.stage-one-model-shell{grid-template-columns:1fr;overflow:auto}.stage-one-wall-panel{border-top:1px solid #ffffff14;border-left:0}.stage-one-plan{min-height:460px}.viewport-processing-state{padding:86px 16px 24px}.viewport-processing-card{padding:23px}.viewport-processing-time{grid-template-columns:1fr}.focus-body{grid-template-columns:1fr;overflow:auto}.roi-canvas{min-height:300px}.focus-guide{display:none}.footprint-review .focus-body{display:block;overflow:auto}.footprint-review-canvas{height:52vh;min-height:350px}.footprint-panel{min-height:540px;overflow:visible}.footprint-layer-control{flex-wrap:wrap;right:18px}.footprint-overlay-svg{width:calc(100% - 40px);height:calc(100% - 118px);inset:62px 20px 56px}.admin-grid{grid-template-columns:1fr;padding:0 20px 30px}.admin-header{padding:28px 20px 20px}.admin-security-note{display:none}.admin-summary{padding-inline:20px}.admin-pending-card{margin-inline:20px}.admin-console-bar{padding-inline:20px}.operator-popover{left:39px}.auth-page{padding:16px}.auth-card{padding:29px 24px 26px}}.multi-building-vertex-hit:focus-visible{stroke:#fffffff2;stroke-width:3px;outline:none}.stage-one-surface-select{color:#9fb0ba;gap:6px;margin:0 0 14px;font-size:12px;font-weight:750;display:grid}.stage-one-surface-select select{color:#e8f0f3;width:100%;height:38px;font:inherit;background:#25313a;border:1px solid #ffffff29;border-radius:8px;padding:0 9px}.stage-one-surface-select select:focus-visible{outline-offset:2px;outline:2px solid #76a3ff}@media (max-width:560px){.admin-user-row{grid-template-columns:38px minmax(0,1fr)}.admin-user-row>select,.admin-row-actions{grid-column:2}.admin-row-actions{flex-wrap:wrap}.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-pending-list article{grid-template-columns:38px minmax(0,1fr)}.admin-pending-list .admin-row-actions{grid-column:2}.admin-console-bar{grid-template-columns:1fr auto}.admin-console-bar>strong,.admin-console-bar>div span{display:none}.auth-card h1{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.damage-review-page{--damage-navy:#071d30;--damage-teal:#0f8f91;--damage-green:#258c76;--damage-orange:#ed9213;color:#102132;background:#eef2f3;flex-direction:column;height:100vh;padding-top:56px;display:flex;overflow:hidden}.app-shell:has(.damage-review-page) .utility-rail{color:#fff;background:#071d30;border-bottom-color:#071d30}.app-shell:has(.damage-review-page) .brand-mark{color:#071d30;background:#fff}.app-shell:has(.damage-review-page) .rail-button{color:#dfe7eb}:is(.app-shell:has(.damage-review-page) .rail-button:hover,.app-shell:has(.damage-review-page) .rail-button.active){color:#fff;background:#ffffff14}.app-shell:has(.damage-review-page) .rail-button.active{border-color:#ffffff14;box-shadow:inset 0 -3px #27a2a7}.app-shell:has(.damage-review-page) .top-clock{color:#d5dfe4}.app-shell:has(.damage-review-page) .operator-avatar{color:#fff;background:0 0;border-color:#96a8b2}.damage-review-header{background:#fbfcfc;border-bottom:1px solid #c4cfd5;justify-content:space-between;align-items:center;gap:26px;min-height:98px;padding:0 28px 0 24px;display:flex}.damage-title-group{align-items:center;gap:18px;min-width:0;display:flex}.damage-back{cursor:pointer;background:#fff;border:1px solid #cad3d9;border-radius:8px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.damage-title-group p{color:#087d85;margin:0 0 2px;font-size:15px;font-weight:850}.damage-title-group h1{letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:27px;overflow:hidden}.damage-site-meta{color:#233243;white-space:nowrap;align-items:center;gap:17px;font-size:14px;font-weight:750;display:flex}.damage-site-meta span{align-items:center;gap:8px;display:flex}.damage-site-meta small{color:#687581;font-size:12px;font-weight:700}.damage-site-meta>i{background:#d8dfe3;width:1px;height:28px}.damage-dashboard-return{color:#243844;cursor:pointer;background:#fff;border:1px solid #60747e;min-height:38px;padding:0 14px;font-size:12px;font-weight:850}.damage-dashboard-return:hover{color:#087d85;border-color:#087d85}.damage-stage-strip{background:#f6f8f8;border-bottom:1px solid #bdc8ce;grid-template-columns:repeat(4,1fr);min-height:84px;margin:0;padding:0;list-style:none;display:grid}.damage-stage-strip li{border-right:1px solid #ced7dc;align-items:center;gap:14px;padding:0 26px;display:flex;position:relative}.damage-stage-strip li:after{z-index:2;content:"";background:#f6f8f8;border-top:1px solid #bdc8ce;border-right:1px solid #bdc8ce;width:11px;height:11px;position:absolute;top:34px;right:-6px;transform:rotate(45deg)}.damage-stage-strip li:last-child:after{display:none}.damage-stage-strip li>span{color:#fff;width:42px;height:42px;font-family:var(--font-geist-mono),monospace;background:#2c8976;flex:0 0 42px;place-items:center;font-size:16px;font-weight:850;display:grid}.damage-stage-strip li div{gap:3px;display:grid}.damage-stage-strip b{font-size:14px}.damage-stage-strip small{color:#6c7781;font-size:12px}.damage-stage-strip li.active{border:1px solid var(--damage-orange);box-shadow:inset 0 -4px var(--damage-orange);background:#fffaf2;border-top:0}.damage-stage-strip li.active:after{border-color:var(--damage-orange);background:#fffaf2;left:-6px;right:auto;transform:rotate(225deg)}.damage-stage-strip li.active>span{background:var(--damage-orange)}.damage-stage-strip li.waiting>span{background:#162c3d}.damage-review-grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(460px,500px);min-height:0;display:grid}.damage-viewer-column{background:#d8dedd;border-right:1px solid #aebbc2;flex-direction:column;min-width:0;min-height:0;display:flex}.damage-viewer-toolbar{background:#f8fafb;border-bottom:1px solid #bac5ca;align-items:center;gap:10px;min-height:64px;padding:0 12px;display:flex}.damage-zoom-presets,.damage-tool-buttons{align-items:center;display:flex}.damage-zoom-presets button,.damage-tool-buttons button{cursor:pointer;background:#fff;border:1px solid #c9d2d8;border-right:0;min-width:60px;height:40px;padding:0 15px;font-size:13px;font-weight:750}.damage-zoom-presets button:first-child,.damage-tool-buttons button:first-child{border-radius:5px 0 0 5px}.damage-zoom-presets button:last-child,.damage-tool-buttons button:last-child{border-right:1px solid #c9d2d8;border-radius:0 5px 5px 0}.damage-zoom-presets button:disabled,.damage-tool-buttons button:disabled{color:#8b989f;cursor:default;background:#eef2f3}.damage-tool-buttons{margin-left:0}.damage-tool-buttons button{place-items:center;min-width:48px;padding:0;display:grid}.damage-tool-buttons button.active{color:#fff;border-color:var(--damage-navy);background:var(--damage-navy)}.damage-layer-toggle{color:#53666f;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c9d2d8;border-radius:5px;align-items:center;gap:7px;height:40px;padding:0 11px;font-size:12px;font-weight:800;display:flex}.damage-layer-toggle b{color:#687981;background:#e8edef;border-radius:3px;padding:3px 6px;font-size:12px}.damage-layer-toggle.active{color:#a91622;background:#fff4f5;border-color:#d9303e}.damage-layer-toggle.active b{color:#fff;background:#d9303e}.damage-zoom-status{color:#40545d;min-width:0;font-family:var(--font-geist-mono),monospace;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:12px;font-weight:800;overflow:hidden}.damage-viewer{touch-action:none;cursor:default;background:#202d33;flex:1;min-height:0;position:relative;overflow:hidden}.damage-viewer.pannable{cursor:grab}.damage-viewer.dragging{cursor:grabbing}.damage-viewer.adding{cursor:crosshair}.damage-canvas-content{transform-origin:50%;will-change:transform;position:absolute;inset:0}.damage-preview-raster{z-index:0;object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.damage-pmtiles-layer{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.damage-pmtiles-layer>img{-webkit-user-select:none;user-select:none;max-width:none;display:block;position:absolute}.damage-overlay{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.damage-overlay path{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.damage-overlay path.selected{stroke:red;stroke-width:4px;stroke-dasharray:5 4;stroke-linecap:butt}.damage-draft-marker-svg{fill:#e73742;stroke:#fff;stroke-width:3px;filter:drop-shadow(0 0 3px #e73742a6)}.orthomosaic-map-viewer{outline:none;width:100%;height:100%;position:relative}.orthomosaic-map-viewer:focus-visible{box-shadow:inset 0 0 0 3px #70ead1}.orthomosaic-map-viewer .ol-viewport{touch-action:none}.damage-viewer.adding .ol-viewport{cursor:crosshair}.damage-pan-surface{z-index:4;width:100%;height:100%;cursor:inherit;background:0 0;border:0;border-radius:0;padding:0;position:absolute;inset:0}.damage-minimap{z-index:5;border:4px solid var(--damage-navy);background:var(--damage-navy);border-radius:5px;width:184px;height:296px;position:absolute;bottom:20px;left:20px;overflow:hidden;box-shadow:0 8px 20px #0416234d}.damage-minimap-map{background:#17252d;position:absolute;inset:0 0 40px}.damage-minimap-map>img,.damage-minimap-map>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.damage-minimap-map>img{object-fit:contain;opacity:.78}.damage-minimap-map>svg{pointer-events:none}.damage-minimap-map circle{fill:var(--damage-orange);stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.damage-minimap-map circle.user{fill:#2ea18b}.damage-minimap>span{color:#fff;background:var(--damage-navy);align-items:center;gap:7px;height:40px;padding:0 12px;font-size:12px;font-weight:750;display:flex;position:absolute;inset:auto 0 0}.damage-processing{z-index:8;color:#fff;background:#071d30e6;border:1px solid #fffc;justify-items:center;gap:8px;width:min(430px,100% - 40px);padding:24px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #020f1859}.damage-processing b{font-size:18px}.damage-processing-bar{background:#ffffff26;width:100%;height:8px;margin-top:6px;overflow:hidden}.damage-processing-bar i{background:#46b49c;height:100%;display:block}.damage-processing>strong{font-family:var(--font-geist-mono),monospace}.damage-processing-time{border-top:1px solid #ffffff2e;grid-template-columns:repeat(3,1fr);width:100%;margin:8px 0 0;padding-top:14px;display:grid}.damage-processing-time div{text-align:center;border-right:1px solid #ffffff24;gap:5px;padding:0 10px;display:grid}.damage-processing-time div:last-child{border-right:0}.damage-processing-time dt{color:#b8cbd2;font-size:12px;font-weight:750}.damage-processing-time dd{color:#fff;font-family:var(--font-geist-mono),monospace;white-space:nowrap;margin:0;font-size:13px;font-weight:850}.spin{animation:1s linear infinite damage-spin}@keyframes damage-spin{to{transform:rotate(360deg)}}.damage-cancel-analysis{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffffa6;min-height:38px;margin-top:8px;padding:0 18px;font-weight:850}.damage-cancel-analysis:hover:not(:disabled){color:#ffd0d0;background:#b02b3338;border-color:#ffb4b4}.damage-cancel-analysis:disabled{opacity:.55;cursor:wait}.damage-processing-error{color:#ffd1d1;text-align:center;max-width:100%;margin:2px 0 0;font-size:12px;line-height:1.45}.damage-add-hint{z-index:7;color:#fff;background:#071d30e6;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:800;display:flex;position:absolute;top:15px;left:50%;transform:translate(-50%)}.damage-draft-marker{z-index:8;background:#e73742;border:3px solid #fff;border-radius:50%;width:22px;height:22px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #e737426b}.damage-coordinate-footer{color:#eef5f7;background:var(--damage-navy);min-height:46px;font-family:var(--font-geist-mono),monospace;white-space:nowrap;align-items:center;gap:18px;padding:0 20px;font-size:12px;display:flex}.damage-coordinate-footer>i{background:#ffffff29;width:1px;height:24px}.damage-coordinate-footer b{font-weight:850}.damage-review-panel{background:#f9fbfb;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.damage-review-panel>header{background:#fff;border-bottom:1px solid #c4cfd5;justify-content:space-between;align-items:center;min-height:64px;padding:0 22px;display:flex}.damage-review-panel>header b{font-size:16px}.damage-review-panel>header span{font-size:14px;font-weight:800}.damage-review-panel>header strong{color:#087d85}.damage-table-head,.damage-candidate-list>button{grid-template-columns:80px minmax(100px,1.25fr) 72px 64px 72px;align-items:center;display:grid}.damage-table-head{color:#263747;text-align:center;background:#f3f6f7;border-bottom:1px solid #c7d0d5;min-height:64px;padding:0 16px;font-size:12px;font-weight:850}.damage-table-head span:nth-child(2){text-align:left}.damage-table-head small{font-size:12px;display:block}.damage-candidate-list{background:#fff;flex:1;min-height:0;overflow:auto}.damage-candidate-list>button{color:#233342;text-align:center;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #dce3e7;width:100%;min-height:70px;padding:0 16px;font-size:12px}.damage-candidate-list>button:hover{background:#f6fafa}.damage-candidate-list>button.selected{box-shadow:inset 3px 0 var(--damage-teal);background:#eef8f8}.damage-candidate-list>button.deleted{color:#929ba2;background:#f7f8f8;text-decoration:line-through}.damage-candidate-list>button span:first-child{font-family:var(--font-geist-mono),monospace;align-items:center;gap:7px;font-weight:850;text-decoration:none;display:flex}.damage-candidate-list>button span:first-child i{background:#000;border-radius:50%;width:9px;height:9px}.damage-candidate-list>button.selected span:first-child i{background:red}.damage-candidate-list>button span:nth-child(2){text-align:left;line-height:1.35}.damage-candidate-list>button span:nth-child(3),.damage-candidate-list>button span:nth-child(4){font-family:var(--font-geist-mono),monospace}.damage-candidate-list>button span:last-child{font-weight:850}.damage-candidate-list>button.selected span:last-child,.damage-candidate-list>button.approved span:last-child{color:#07828a}.damage-candidate-empty{color:#62717a;text-align:center;place-content:center;justify-items:center;gap:6px;min-height:180px;display:grid}.damage-candidate-empty b{color:#263747}.damage-candidate-empty span{font-size:12px}.damage-selection-detail{background:#fbfcfc;border-top:1px solid #cbd4d9;padding:14px 20px 12px}.damage-selection-detail>b{margin-bottom:10px;font-size:13px;display:block}.damage-selection-detail dl{grid-template-columns:1.25fr .8fr .7fr;margin:0;display:grid}.damage-selection-detail dl div{border-right:1px solid #d7dee2;padding-right:12px}.damage-selection-detail dl div+div{padding-left:12px}.damage-selection-detail dl div:last-child{border-right:0}.damage-selection-detail dt{color:#6c7781;font-size:12px}.damage-selection-detail dd{font-family:var(--font-geist-mono),monospace;margin:3px 0 0;font-size:13px;font-weight:850}.damage-selection-detail small{color:#78848c;margin-top:9px;font-size:12px;display:block}.damage-panel-actions{background:#fff;border-top:1px solid #c9d2d7;padding:12px 10px 10px}.damage-panel-actions>div{grid-template-columns:1fr 1fr 1.12fr;gap:8px;display:grid}.damage-panel-actions button{cursor:pointer;background:#fff;border:1px solid #aebac1;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:13px;font-weight:850;display:flex}.damage-panel-actions button:disabled{opacity:.42;cursor:not-allowed}.damage-panel-actions button.approve{color:#fff;background:#278d77;border-color:#278d77}.damage-panel-actions button.delete{color:#fff;background:#dc4149;border-color:#dc4149}.damage-panel-actions button.complete{color:#fff;border-color:var(--damage-navy);background:var(--damage-navy);width:100%;min-height:48px;margin-top:9px;font-size:14px}.damage-error{color:#aa343a;background:#fff2f2;border-top:1px solid #f0c5c7;margin:0;padding:8px 16px;font-size:12px}.damage-add-form{z-index:15;background:#fff;border:1px solid #82939c;padding:15px;position:absolute;bottom:116px;left:12px;right:12px;box-shadow:0 14px 36px #051c2b33}.damage-add-form>header{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.damage-add-form>header button{cursor:pointer;background:#fff;border:1px solid #cad2d7;place-items:center;width:30px;height:30px;display:grid}.damage-add-form label{color:#4f606a;gap:5px;font-size:12px;font-weight:800;display:grid}.damage-add-form input{border:1px solid #b9c5cb;border-radius:3px;width:100%;height:38px;padding:0 9px}.damage-add-form>div{grid-template-columns:1fr 1fr;gap:9px;margin:9px 0 11px;display:grid}.damage-add-form>button{color:#fff;cursor:pointer;background:#278d77;border:0;width:100%;min-height:40px;font-weight:850}.damage-gate{text-align:center;background:#edf2f3;flex:1;place-content:center;justify-items:center;gap:10px;min-height:0;padding:34px;display:grid}.damage-gate b{font-size:20px}.damage-gate p{color:#5c6c75;max-width:580px;margin:0 0 8px;line-height:1.7}.damage-gate button{color:#fff;background:var(--damage-navy);cursor:pointer;border:0;min-height:44px;padding:0 20px;font-weight:850}.damage-gate.ready svg{color:#278d77}.damage-gate.error b{color:#a43a40}.damage-gate.canceled b{color:#596a73}.damage-candidate-list>button{min-height:66px}.damage-selection-detail{padding:10px 20px 8px}.damage-selection-detail>b{margin-bottom:7px}.damage-selection-detail dd{margin-top:2px}.damage-selection-detail small{margin-top:5px}@media (max-width:1180px){.damage-review-grid{grid-template-columns:minmax(0,1fr) 430px}.damage-site-meta span:first-child,.damage-site-meta>i:first-of-type,.damage-zoom-presets button:nth-child(2){display:none}.damage-table-head,.damage-candidate-list>button{grid-template-columns:72px minmax(90px,1.15fr) 64px 56px 64px}.damage-minimap{width:160px;height:250px}}@media (max-width:900px){.damage-review-page{height:auto;min-height:100vh;overflow:auto}.damage-review-header{align-items:flex-start;min-height:112px;padding:18px}.damage-site-meta{display:none}.damage-stage-strip{grid-template-columns:repeat(2,1fr)}.damage-stage-strip li{min-height:72px}.damage-stage-strip li:after{display:none}.damage-review-grid{display:block}.damage-viewer-column{border-right:0;height:680px}.damage-review-panel{min-height:620px}.damage-tile-progress{min-width:130px}.damage-coordinate-footer{overflow:auto}}@media (max-width:560px){.damage-title-group h1{font-size:21px}.damage-stage-strip li{padding:0 12px}.damage-stage-strip li>span{flex-basis:34px;width:34px;height:34px}.damage-viewer-toolbar{flex-wrap:wrap;min-height:106px}.damage-tile-progress{width:100%;margin:0}.damage-viewer-column{height:610px}.damage-minimap{width:128px;height:210px}.damage-table-head,.damage-candidate-list>button{grid-template-columns:68px minmax(86px,1fr) 61px 55px}.damage-table-head span:last-child,.damage-candidate-list>button span:last-child{display:none}.damage-panel-actions>div{grid-template-columns:1fr 1fr}.damage-panel-actions>div button:last-child{grid-column:1/-1}}:root{--survey-ink:#10212b;--survey-cyan:#0099a7;--survey-amber:#f2a900;--survey-fog:#e8edf0;--survey-line:#bac7ce}.app-shell{background:var(--survey-fog);display:block;overflow:hidden}.utility-rail{z-index:90;width:100%;height:56px;color:var(--survey-ink);background:#fafcfcfa;border:0;border-bottom:1px solid #8fa0aa;flex-direction:row;align-items:center;gap:0;padding:0 18px;display:flex;position:fixed;inset:0 0 auto}.brand-mark{color:#fff;background:var(--survey-ink);width:30px;height:30px;box-shadow:none;border-radius:1px;flex:0 0 30px;font-size:12px}.top-brand-name{white-space:nowrap;margin-left:12px;font-size:16px}.rail-nav{align-items:stretch;gap:0;width:auto;margin:0 auto;display:flex}.rail-button{color:#4c5e68;background:0 0;border:0;border-left:1px solid #0000;border-right:1px solid #0000;border-radius:0;place-items:center;width:auto;min-width:82px;min-height:55px;padding:0 19px;font-size:14px;font-weight:750;display:grid}.rail-button:hover,.rail-button.active{color:var(--survey-ink);background:#edf3f5}.rail-button.active{box-shadow:inset 0 -3px var(--survey-cyan);border-color:#c3cfd5}.rail-button:disabled{color:#9ba8ae}.rail-spacer{display:none}.top-clock{color:#4f6069;font-family:var(--font-geist-mono), monospace;white-space:nowrap;margin-left:auto;padding:0 16px;font-size:12px}.top-new-project{border:1px solid var(--survey-ink);color:#fff;background:var(--survey-ink);cursor:pointer;border-radius:1px;min-height:36px;padding:0 15px;font-size:13px;font-weight:800}.utility-rail>.rail-button{min-width:70px;padding:0 14px}.operator-menu{margin:0 0 0 8px}.operator-avatar{width:34px;height:34px;color:var(--survey-ink);background:#fff;border-color:#aab8bf;border-radius:1px}.operator-popover{border-radius:1px;inset:43px 0 auto auto;box-shadow:0 12px 32px #16283226}.page{width:100%;min-height:100vh;margin-left:0;padding-top:56px}.portfolio-page{background:var(--survey-fog);grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.platform-journey{z-index:2;min-width:0;color:var(--survey-ink);background:#f7f9f9;border-bottom:1px solid #8fa0aa;grid-template-columns:minmax(280px,.78fr) minmax(0,2.22fr);display:grid;position:relative}.platform-journey:before{content:"";pointer-events:none;opacity:.42;background-image:linear-gradient(#8699a324 1px,#0000 1px),linear-gradient(90deg,#8699a324 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.journey-intro{z-index:1;background:#f1f6f7e6;border-right:1px solid #8fa0aa;flex-direction:column;justify-content:center;min-width:0;padding:20px 24px 21px;display:flex;position:relative}.journey-kicker{color:#087c87;font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;margin:0 0 9px;font-size:12px;font-weight:800}.journey-intro h1{letter-spacing:-.045em;margin:0;font-size:clamp(22px,2vw,31px);line-height:1.12}.journey-intro>p:last-child{color:#536771;max-width:440px;margin:11px 0 0;font-size:13px;line-height:1.55}.journey-stages{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;margin:0;padding:0;list-style:none;display:grid;position:relative}.journey-stage{border-right:1px solid var(--survey-line);background:#fbfcfcdb;flex-direction:column;min-width:0;min-height:190px;padding:17px 16px 15px;display:flex;position:relative}.journey-stage:last-child{border-right:0}.journey-stage:after{content:"";z-index:2;background:#f8fafa;border-top:1px solid #7e929c;border-right:1px solid #7e929c;width:8px;height:8px;position:absolute;top:31px;right:-5px;transform:rotate(45deg)}.journey-stage:last-child:after{display:none}.journey-stage.active{box-shadow:inset 0 4px var(--survey-cyan);background:#eff8f8f0}.journey-stage.complete{background:#eff8f4f0;box-shadow:inset 0 4px #2f8d6c}.journey-stage.next{box-shadow:inset 0 4px var(--survey-amber)}.journey-stage-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;display:flex}.journey-stage-head>span{color:#536771;font-family:var(--font-geist-mono), monospace;font-size:13px;font-weight:800}.journey-stage-head em{color:#647780;white-space:nowrap;background:#ffffffb3;border:1px solid #aebcc3;padding:4px 7px;font-size:12px;font-style:normal;font-weight:800}.journey-stage.active .journey-stage-head em{color:#006d77;background:#e2f4f4;border-color:#58aeb6}.journey-stage.complete .journey-stage-head em{color:#21694f;background:#e3f3ed;border-color:#67a990}.journey-stage.next .journey-stage-head em{color:#815c00;background:#fff4d6;border-color:#d8a535}.journey-stage>strong{letter-spacing:-.02em;font-size:16px}.journey-stage>p{color:#5b6d76;margin:8px 0 15px;font-size:12px;line-height:1.5}.journey-stage>small{color:#3f535d;border-top:1px solid #cbd5da;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:7px;margin-top:auto;padding-top:9px;font-size:12px;line-height:1.35;display:grid}.journey-stage>small b{color:#8a670d;white-space:nowrap;font-size:12px}.portfolio-grid.survey-grid{grid-template-columns:minmax(0,2.05fr) minmax(460px,1fr);gap:0;height:auto;min-height:0;padding:0}.portfolio-grid.survey-grid.map-hidden{grid-template-columns:minmax(0,1fr)}.survey-grid.map-hidden .survey-map{display:none}.portfolio-map.survey-map{background:var(--survey-fog);border:0;border-right:1px solid #8fa0aa;border-radius:0;min-width:0}.survey-map .map-backdrop{background-color:#e9f0f3;background-size:54px 54px}.survey-map .portfolio-map-tiles img{filter:grayscale(.78)sepia(.08)hue-rotate(145deg)saturate(.55)contrast(.82)brightness(1.08);opacity:.72}.survey-map .portfolio-map-tiles{background:#e0ebef9e}.survey-map .portfolio-map-heading{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f5f8f8e8;border-color:#718690;border-radius:1px;padding:8px 10px;top:22px;left:22px;right:auto}.survey-focus-label{z-index:8;border:1px solid var(--survey-amber);min-width:240px;color:var(--survey-ink);background:#fbfcfaf0;gap:3px;padding:11px 14px;display:grid;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.survey-focus-label b{font-size:15px}.survey-focus-label span{color:#906300;font-size:12px;font-weight:800}.survey-map .project-location-marker{background:#536874;border:2px solid #fff;border-radius:50%;width:27px;height:27px;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #536874}.survey-map .project-location-marker.needs-action{background:var(--survey-amber);box-shadow:0 0 0 1px #9c7000}.survey-map .project-location-marker.running{background:var(--survey-cyan);box-shadow:0 0 0 1px #087681}.survey-map .project-location-marker.complete{background:#2f8d6c;box-shadow:0 0 0 1px #21694f}.survey-map .project-location-marker span{background:#fafcfcf5;border-color:#8fa0aa;border-radius:1px;top:-1px;left:30px;transform:none}.project-list-panel.survey-work-panel{background:#fbfcfc;border:0;border-radius:0}.survey-work-head{border-bottom:1px solid #8fa0aa;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:0 22px;display:flex}.survey-work-title{cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:0;display:flex}.survey-work-title span{font-size:20px;font-weight:850}.survey-work-title strong{font-family:var(--font-geist-mono), monospace;font-size:20px}.survey-work-head .api-status{margin:0}.survey-work-panel .dashboard-summary{border-bottom:1px solid var(--survey-line);grid-template-columns:repeat(4,1fr);gap:0;padding:0 14px;display:grid}.survey-work-panel .attention-summary,.survey-work-panel .summary-stat{text-align:center;min-height:82px;box-shadow:none;background:0 0;border:0;border-right:1px solid #ccd5da;border-radius:0;place-content:center;justify-items:center;gap:5px;padding:10px 8px;display:grid}.survey-work-panel .dashboard-summary>button:last-child{border-right:0}.survey-work-panel .attention-summary:hover,.survey-work-panel .summary-stat:hover{box-shadow:none;background:#eef3f5;border-color:#ccd5da;transform:none}.survey-work-panel .attention-summary.selected,.survey-work-panel .summary-stat.selected{box-shadow:inset 0 -3px var(--survey-ink);background:#f2f5f6}.survey-work-panel .attention-summary span,.survey-work-panel .summary-stat span{color:#4f616a;font-size:12px;font-weight:700;display:block}.survey-work-panel .attention-summary b{color:#4f616a;font-size:12px}.survey-work-panel .attention-summary strong,.survey-work-panel .summary-stat strong{color:var(--survey-ink);font-family:var(--font-geist-mono), monospace;letter-spacing:0;font-size:25px;font-weight:650}.survey-work-panel .attention-summary strong{color:var(--survey-amber)}.survey-work-panel .summary-stat.running strong{color:var(--survey-cyan)}.survey-work-panel .summary-stat.complete strong{color:#2f8d6c}.survey-list-tools{border-bottom:1px solid var(--survey-line);align-items:center;gap:12px;min-height:51px;padding:7px 14px;display:flex}.survey-list-tools .search-box{background:#fff;border:1px solid #aebdc4;border-radius:1px;flex:1;min-width:0;height:36px}.survey-list-tools .search-box span{font-size:12px;font-weight:800}.survey-list-tools .search-box input{font-size:14px}.survey-list-tools .text-button{color:#536771;min-height:36px;padding:0 7px;font-size:12px}.survey-column-head{color:#62747d;min-height:34px;font-family:var(--font-geist-mono), monospace;border-bottom:1px solid #8fa0aa;grid-template-columns:70px minmax(0,1fr) 84px 88px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:grid}.survey-work-panel .project-list{flex:1;min-height:0}.survey-row{background:0 0;border-bottom-color:#c7d1d6}.survey-row:hover,.survey-row.expanded{background:#f1f5f6}.survey-row.expanded{box-shadow:inset 3px 0 var(--survey-amber)}.survey-row .project-row-main{grid-template-columns:70px minmax(0,1fr) 84px 88px;align-items:center;gap:8px;padding:13px 12px 12px}.survey-task-no{color:#3f555f;font-family:var(--font-geist-mono), monospace;font-size:12px}.expanded .survey-task-no{color:#b47b00;font-weight:850}.survey-row .project-copy{gap:2px}.survey-row .project-title-line>strong{font-size:14px}.survey-row .project-copy>small{font-size:12px}.survey-state{color:#5e7079;width:fit-content;font-size:12px;font-weight:800}.survey-state.needs-action{color:#b27600}.survey-state.running{color:#007f8b}.survey-state.complete{color:#267958}.survey-row .project-stage{text-align:left;font-size:12px;line-height:1.35}.survey-time{text-align:right;gap:3px;display:grid}.survey-time b{color:#52656f;white-space:nowrap;font-size:12px;font-weight:650;line-height:1.35}.survey-time small{font-family:var(--font-geist-mono), monospace;font-size:12px}.survey-row-details{border-top:1px solid #c8d3d8;grid-column:2/-1;margin-top:8px;padding-top:10px;display:none}.survey-row.expanded .survey-row-details{display:grid}.survey-row .project-progress{grid-template-columns:minmax(80px,1fr) 40px}.survey-row .project-progress>i{border-radius:0;height:4px}.survey-row .project-progress>i>span{background:var(--survey-amber);border-radius:0}.survey-row .project-timing{font-size:12px}.survey-row .project-row-actions{justify-content:flex-end;gap:0;padding:0 12px 12px 94px;display:flex;position:static;transform:none}.survey-row .project-action-button,.survey-row .project-delete-button{min-width:auto;min-height:34px;color:var(--survey-ink);background:0 0;border-radius:0;padding:0 12px;font-size:12px}.survey-row.expanded .project-action-button{color:#1c2427;background:var(--survey-amber);border-color:#b98100}.survey-row .project-delete-button{color:#9b3737}.workspace-page{height:100vh}.workspace-header{border-radius:0}.workflow-region,.job-inspector{border-color:var(--survey-line)}.workflow-step .step-index,.workflow-heading button,.segmented-control,.segmented-control button,.viewport-badge,.action-card,.processing-time-list div,.asset-summary,.project-asset-row{border-radius:1px}@media (max-width:1100px){.platform-journey{grid-template-columns:1fr}.journey-intro{border-bottom:1px solid #8fa0aa;border-right:0;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:4px 24px;padding:15px 20px;display:grid}.journey-kicker{grid-column:1;margin-bottom:3px}.journey-intro h1{grid-area:2/1;font-size:23px}.journey-intro>p:last-child{grid-area:1/2/span 2;align-self:end;margin:0}.journey-stage{min-height:170px;padding:14px 13px 13px}.journey-stage-head{margin-bottom:13px}.portfolio-grid.survey-grid{grid-template-columns:minmax(0,1.45fr) minmax(400px,1fr)}.top-brand-name,.top-clock{display:none}.rail-nav{margin-left:12px}.rail-button{min-width:66px;padding:0 12px}}@media (max-width:820px){.utility-rail{height:54px;padding:0 10px;overflow-x:auto}.top-brand-name,.top-clock,.utility-rail>.rail-button{display:none}.rail-nav{margin:0 8px}.rail-button{min-width:58px;min-height:53px;padding:0 9px;font-size:12px}.top-new-project{white-space:nowrap;margin-left:auto}.page{padding-top:54px}.portfolio-page{height:auto;min-height:100vh;overflow:auto}.platform-journey{grid-template-columns:1fr}.journey-intro{padding:20px;display:block}.journey-intro h1{font-size:28px}.journey-intro>p:last-child{margin-top:10px}.journey-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-stage{border-bottom:1px solid var(--survey-line);min-height:170px}.journey-stage:nth-child(2){border-right:0}.journey-stage:nth-child(2):after{display:none}.journey-stage:nth-child(n+3){border-bottom:0}.portfolio-grid.survey-grid{grid-template-columns:1fr;height:auto}.portfolio-map.survey-map{border-bottom:1px solid #8fa0aa;border-right:0;min-height:48vh}.survey-work-panel{min-height:52vh}.survey-map .portfolio-map-heading{top:14px;left:14px}.survey-row .project-row-main{grid-template-columns:62px minmax(0,1fr) 76px}.survey-row .survey-time{display:none}.survey-column-head{grid-template-columns:74px minmax(0,1fr) 76px}.survey-column-head span:last-child{display:none}}@media (max-width:560px){.rail-nav .rail-button:nth-child(n+3){display:none}.journey-intro{padding:18px 16px}.journey-intro h1{font-size:25px}.journey-stages{grid-template-columns:1fr}.journey-stage{border-right:0;border-bottom:1px solid var(--survey-line);min-height:0;padding:14px 16px}.journey-stage:nth-child(n){border-bottom:1px solid var(--survey-line)}.journey-stage:last-child{border-bottom:0}.journey-stage:after{display:none}.journey-stage-head{margin-bottom:10px}.journey-stage>p{margin-bottom:11px}.survey-map .portfolio-map-heading{display:none}.survey-work-panel .dashboard-summary{grid-template-columns:repeat(2,1fr)}.survey-work-panel .dashboard-summary button:nth-child(2){border-right:0}.survey-row .project-row-main{grid-template-columns:56px minmax(0,1fr)}.survey-row .project-stage{grid-column:2}.survey-column-head{grid-template-columns:66px minmax(0,1fr)}.survey-column-head span:nth-child(n+3){display:none}.survey-row .project-row-actions{padding-left:68px}}.auth-page{color:#edf5f5;background:#07131b;grid-template-columns:minmax(0,1.62fr) minmax(470px,.92fr);place-items:stretch stretch;min-height:100vh;padding:0;display:grid;overflow:hidden}.auth-survey-intro{isolation:isolate;background:#101c26;flex-direction:column;min-width:0;min-height:100vh;padding:42px 46px 48px;display:flex;position:relative;overflow:hidden}.auth-survey-intro:after{z-index:-1;content:"";background:linear-gradient(#050d130d 42%,#050d13e6 100%);position:absolute;inset:0}.auth-survey-hero-image{z-index:-2;object-fit:cover;object-position:56% center;width:100%;height:100%;position:absolute;inset:0}.auth-survey-brand{color:#07131b;align-items:center;gap:16px;display:flex}.auth-survey-brand>span{color:#fff;width:54px;height:54px;font-family:var(--font-geist-mono),monospace;background:#07131b;place-items:center;font-size:17px;font-weight:850;display:grid}.auth-survey-brand b{letter-spacing:-.045em;font-size:27px}.auth-survey-copy{width:min(720px,92%);margin:auto 0 0}.auth-survey-copy h2{color:#f7fbfb;letter-spacing:-.055em;text-shadow:0 2px 18px #00000059;white-space:nowrap;margin:0;font-size:clamp(34px,3vw,48px);font-weight:720;line-height:1.12}.auth-survey-copy h2 em{color:#43dce4;font-style:normal}.auth-survey-accent{background:#43dce4;width:52px;height:3px;margin:28px 0 30px;display:block}.auth-survey-flow{color:#d5dfe1;font-family:var(--font-geist-mono),monospace;letter-spacing:.045em;flex-wrap:wrap;align-items:center;gap:9px;margin:0;font-size:12px;display:flex}.auth-survey-flow i{color:#73858d;font-style:normal}.auth-card{z-index:1;color:#eef5f6;-webkit-backdrop-filter:none;backdrop-filter:none;background:#07131b;border:0;border-radius:0;flex-direction:column;justify-content:center;width:auto;margin:0;padding:70px clamp(48px,4.4vw,82px);display:flex;position:relative;box-shadow:inset 1px 0 #7eaeb629}.auth-card h1{letter-spacing:-.05em;margin:0;font-size:clamp(34px,2.8vw,45px);line-height:1.15}.auth-description{color:#9babb2;margin:18px 0 46px;font-size:15px;line-height:1.65}.auth-form{gap:22px}.auth-form>label:not(.auth-remember){color:#d7e0e2;gap:10px;font-size:14px;font-weight:720}.auth-form input[type=email],.auth-password-field input{color:#f4f8f8;height:56px;box-shadow:none;background:#0a151d;border:1px solid #5d6b72;border-radius:1px;font-size:16px}.auth-form input::placeholder{color:#6d7a80}.auth-form input:focus{border-color:#43dce4;box-shadow:inset 3px 0 #43dce4}.auth-password-field{display:block;position:relative}.auth-password-field input{padding-right:52px}.auth-password-field button{color:#a8b6bb;cursor:pointer;background:0 0;border:0;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.auth-password-field button:hover{color:#43dce4}.auth-password-field button:focus-visible{outline-offset:-2px;outline:2px solid #43dce4}.auth-password-field svg{width:20px;height:20px}.auth-remember{cursor:pointer;align-items:center;width:fit-content;margin-top:-4px;color:#a8b6bb!important;grid-template-columns:none!important;gap:10px!important;font-size:13px!important;font-weight:500!important;display:inline-flex!important}.auth-remember input{accent-color:#43dce4;width:18px;height:18px;box-shadow:none}.auth-submit,.auth-retry{color:#101820;min-height:62px;box-shadow:none;background:#f3ad25;border:1px solid #c88c08;border-radius:1px;margin-top:1px;font-size:17px}.auth-submit:hover,.auth-retry:hover{box-shadow:none;background:#ffc044;transform:none}.auth-submit:focus-visible{outline-offset:3px;outline:2px solid #43dce4}.auth-error,.auth-success{border-radius:1px}.auth-help{color:#7f9097;text-align:left;border-top:1px solid #33424a;align-items:flex-start;gap:9px;margin-top:30px;padding-top:25px;font-size:12px;line-height:1.65;display:flex}.auth-help svg{flex:0 0 17px;width:17px;height:17px;margin-top:1px}.auth-signup-link{color:#9aacb3;text-align:center;margin-top:22px;font-size:13px;text-decoration:none}.auth-signup-link b{color:#43dce4}.auth-signup-link:hover b{text-decoration:underline}.signup-card{overflow-y:auto}.signup-steps{grid-template-columns:repeat(3,1fr);gap:7px;margin:-22px 0 31px;padding:0;list-style:none;display:grid}.signup-steps li{color:#708188;font:700 11px/1 var(--font-geist-mono),monospace;border:1px solid #33434b;align-items:center;gap:6px;padding:8px;display:flex}.signup-steps li span{font-family:var(--font-geist-sans),sans-serif}.signup-steps li.active{color:#43dce4;background:#43dce414;border-color:#43dce4}.signup-card .auth-form input:not([type=checkbox]){color:#f4f8f8;background:#0a151d;border:1px solid #5d6b72;border-radius:1px;height:52px;font-size:16px}.signup-card .auth-description{margin-bottom:46px}.signup-code{text-align:center;font-family:var(--font-geist-mono),monospace;letter-spacing:.35em;font-weight:800;font-size:25px!important}.signup-mail-note{color:#a9b8bd;background:#0a171f;border:1px solid #30444c;align-items:center;gap:12px;margin:0 0 3px;padding:13px;font-size:13px;line-height:1.55;display:flex}.signup-mail-note svg{color:#43dce4;flex:0 0 25px;width:25px}.signup-mail-note b{color:#e9f3f4}.signup-timer{color:#43dce4;justify-content:space-between;margin-top:-9px;font-size:12px;display:flex}.signup-timer button{color:#d8e2e3;cursor:pointer;background:0 0;border:0;text-decoration:underline}.signup-verified{color:#74dfc2;background:#339b7f21;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:12px;display:flex}.signup-verified svg{width:16px;height:16px}.signup-complete{text-align:center;justify-items:center;display:grid}.signup-complete>svg{color:#5de0b6;width:58px;height:58px;margin-bottom:24px}.signup-complete p{color:#a8b7bc;margin:20px 0 30px;line-height:1.8}.signup-complete a{place-items:center;text-decoration:none;display:grid}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.auth-survey-intro{min-height:440px;padding:28px 30px 32px}.auth-survey-brand>span{width:44px;height:44px;font-size:14px}.auth-survey-brand b{font-size:23px}.auth-survey-copy{width:100%}.auth-survey-copy h2{white-space:normal;font-size:clamp(36px,7.5vw,54px)}.auth-card{min-height:610px;padding:58px clamp(28px,10vw,96px)}}@media (max-width:520px){.auth-survey-intro{min-height:340px;padding:22px 22px 26px}.auth-survey-brand>span{width:38px;height:38px;font-size:12px}.auth-survey-brand b{font-size:20px}.auth-survey-copy h2{font-size:34px}.auth-survey-accent{margin:20px 0}.auth-survey-flow{gap:6px;font-size:12px}.auth-card{min-height:590px;padding:46px 24px}.auth-card h1{font-size:32px}.auth-description{margin-bottom:34px}}.flight-planner-page{height:100vh;color:var(--survey-ink);background:#dfe7ea;flex-direction:column;display:flex;overflow:hidden}.flight-planner-header{background:#fbfcfc;border-bottom:1px solid #8fa0aa;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:0 25px;display:flex}.flight-planner-header h1{letter-spacing:-.045em;margin:4px 0 0;font-size:clamp(24px,2vw,34px);line-height:1.1}.flight-engine-state{background:#fff8e4;border:1px solid #d2a743;align-items:center;gap:10px;padding:9px 11px;display:flex}.flight-engine-state>i{background:var(--survey-amber);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f2a90021}.flight-engine-state>span{gap:2px;display:grid}.flight-engine-state b{font-size:13px}.flight-engine-state small{color:#806000;font-size:12px}.flight-flow{background:#f1f5f6;border-bottom:1px solid #8fa0aa;grid-template-columns:repeat(4,minmax(0,1fr));min-height:66px;margin:0;padding:0 24px;list-style:none;display:grid}.flight-flow li{border-right:1px solid #bdc9cf;grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr);place-content:center;column-gap:10px;min-width:0;padding:8px 18px;display:grid;position:relative}.flight-flow li:first-child{border-left:1px solid #bdc9cf}.flight-flow li:after{z-index:2;content:"";background:#f1f5f6;border-top:1px solid #7e929c;border-right:1px solid #7e929c;width:8px;height:8px;position:absolute;top:50%;right:-5px;transform:translateY(-50%)rotate(45deg)}.flight-flow li:last-child:after{display:none}.flight-flow li>span{color:#657780;width:32px;height:32px;font-family:var(--font-geist-mono),monospace;background:#f9fbfb;border:1px solid #9aabb3;grid-row:1/3;align-self:center;place-items:center;font-size:12px;font-weight:800;display:grid}.flight-flow li b{align-self:end;font-size:13px}.flight-flow li small{color:#657780;text-overflow:ellipsis;white-space:nowrap;align-self:start;font-size:12px;overflow:hidden}.flight-flow li.done>span{color:#fff;background:#32836f;border-color:#428f7c}.flight-flow li.active{box-shadow:inset 0 -3px var(--survey-amber);background:#fffaf0}.flight-flow li.active:after{background:#fffaf0}.flight-flow li.active>span{color:#594000;background:#ffc44c;border-color:#c68e0b}.flight-flow li.waiting{opacity:.64}.flight-planner-grid{flex:1;grid-template-columns:258px minmax(430px,1fr) 326px;min-height:0;display:grid}.flight-wall-browser,.flight-settings-panel{background:#f7f9f9;min-width:0;overflow:auto}.flight-wall-browser{border-right:1px solid #8fa0aa}.flight-settings-panel{border-left:1px solid #8fa0aa}.flight-panel-title{border-bottom:1px solid #bdc8ce;padding:20px 18px 17px}.flight-panel-title .eyebrow{color:#087c87;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em}.flight-panel-title h2{letter-spacing:-.03em;margin:5px 0 6px;font-size:19px}.flight-panel-title>small{color:#63757e;font-size:12px;line-height:1.45}.flight-load-state{color:#667780;text-align:center;place-content:center;gap:5px;min-height:220px;padding:24px;font-size:13px;display:grid}.flight-load-state b{color:var(--survey-ink)}.flight-load-state span{font-size:12px;line-height:1.5}.flight-load-state.error{color:#9b4040}.flight-building-tabs{border-bottom:1px solid #bdc8ce;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.flight-building-tabs button{color:#536771;cursor:pointer;background:#eef3f4;border:0;border-right:1px solid #d0d9dd;place-items:center;gap:2px;min-height:56px;padding:8px;font-size:12px;font-weight:800;display:grid}.flight-building-tabs button:nth-child(2n){border-right:0}.flight-building-tabs button.active{color:var(--survey-ink);box-shadow:inset 0 -3px var(--survey-cyan);background:#fff}.flight-building-tabs small{color:#75858c;font-size:12px;font-weight:650}.flight-wall-list{display:grid}.flight-wall-list>button{color:#354b55;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #cbd5da;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:64px;padding:9px 13px;display:grid}.flight-wall-list>button:hover{background:#edf3f4}.flight-wall-list>button.active{color:#152830;box-shadow:inset 4px 0 var(--survey-amber);background:#fff9e9}.flight-wall-list>button>span{gap:3px;min-width:0;display:grid}.flight-wall-list>button>span:last-child{text-align:right}.flight-wall-list b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.flight-wall-list small{color:#6e7f87;font-size:12px}.flight-wall-index{color:#4d626b;width:34px;height:30px;font-family:var(--font-geist-mono),monospace;background:#fff;border:1px solid #9dacb3;place-items:center;font-size:12px;font-weight:800;display:grid!important}.flight-wall-list .active .flight-wall-index{color:#5c4100;background:#ffd46d;border-color:#bd8500}.flight-preview-panel{background:#1c2930;grid-template-rows:52px minmax(260px,1fr) 78px;min-width:0;min-height:0;display:grid}.flight-preview-toolbar{z-index:2;color:#e9f1f3;background:#17232a;border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex}.flight-preview-toolbar>div:first-child{align-items:center;gap:8px;min-width:0;display:flex}.flight-preview-toolbar b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.flight-preview-toolbar small{color:#8fa2ab;white-space:nowrap;font-size:12px}.flight-preview-dot{background:#72e4c2;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.flight-view-switch{background:#26343c;border:1px solid #ffffff24;gap:2px;padding:3px;display:flex}.flight-view-switch button{color:#aebdc4;cursor:pointer;background:0 0;border:0;min-height:31px;padding:0 10px;font-size:12px;font-weight:800}.flight-view-switch button.active{color:#15232a;background:#edf4f5}.flight-canvas-shell{min-width:0;min-height:0;position:relative;overflow:hidden}.flight-canvas-shell canvas{width:100%;height:100%;display:block}.flight-canvas-empty{color:#aebdc4;place-items:center;display:grid;position:absolute;inset:0}.flight-preview-legend{color:#becbd0;background:#0b1419d1;border:1px solid #ffffff1f;flex-wrap:wrap;gap:8px 13px;padding:8px 10px;font-size:12px;display:flex;position:absolute;bottom:14px;left:16px}.flight-preview-legend span{align-items:center;gap:5px;display:flex}.flight-preview-legend i{background:#ffb549;border-radius:50%;width:7px;height:7px}.flight-preview-legend i.start{background:#72e4c2}.flight-preview-legend i.finish{background:#fff;border:1px solid #283840}.flight-preview-legend i.clearance{background:0 0;border:1px dashed #72e4c2;border-radius:0;width:13px;height:8px}.flight-demo-banner{color:#ffd980;text-align:center;background:#191b14d1;border:1px solid #f2a9008a;gap:2px;padding:8px 12px;display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%)}.flight-demo-banner b{font-family:var(--font-geist-mono),monospace;letter-spacing:.12em;font-size:12px}.flight-demo-banner span{color:#cbbf9f;white-space:nowrap;font-size:12px}.flight-metric-strip{color:#fff;background:#152128;border-top:1px solid #ffffff24;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.flight-metric-strip>span{border-right:1px solid #ffffff1f;place-content:center;justify-items:start;gap:4px;padding:10px 15px;display:grid}.flight-metric-strip>span:last-child{border-right:0}.flight-metric-strip small{color:#91a3ab;font-size:12px}.flight-metric-strip b{font-family:var(--font-geist-mono),monospace;font-size:18px;font-weight:650}.flight-settings-panel{padding-bottom:18px}.flight-settings-panel .flight-panel-title{background:#f7f9f9}.flight-select-field,.flight-range-field{color:#425760;border-bottom:1px solid #d1dadd;gap:8px;margin:0 17px;padding:13px 0;font-size:12px;font-weight:750;display:grid}.flight-select-field select{color:#1f333c;height:36px;font:inherit;background:#fff;border:1px solid #9fafb6;border-radius:0;padding:0 9px}.flight-select-field select option:disabled{color:#8a999f}.flight-select-support{color:#657980;font-size:12px;font-weight:700;line-height:1.45}.flight-range-field>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.flight-range-field output{color:#0b727b;font-family:var(--font-geist-mono),monospace;font-size:12px;font-weight:800}.flight-range-field input{width:100%;accent-color:var(--survey-cyan)}.flight-plan-summary{background:#fff;border:1px solid #aebdc4;margin:14px 17px 0;padding:0}.flight-plan-summary div{border-bottom:1px solid #d5dde0;justify-content:space-between;gap:12px;padding:9px 10px;font-size:12px;display:flex}.flight-plan-summary div:last-child{border-bottom:0}.flight-plan-summary dt{color:#697b83}.flight-plan-summary dd{color:#223943;text-align:right;margin:0;font-weight:800}.flight-review-note{color:#574a2a;background:#fff8e7;border:1px solid #d7ad49;margin:14px 17px 0;padding:11px}.flight-review-note.approved{color:#235d4d;background:#eaf8f3;border-color:#5aa58c}.flight-review-note b{font-size:12px}.flight-review-note p{margin:5px 0 0;font-size:12px;line-height:1.5}.flight-action-stack{gap:7px;margin:14px 17px 0;display:grid}.flight-action-stack button{cursor:pointer;border-radius:0;min-height:40px;font-size:12px;font-weight:850}.flight-secondary-action{color:#29404a;background:#fff;border:1px solid #8799a2}.flight-primary-action{color:#17242a;background:var(--survey-amber);border:1px solid #a67500}.flight-primary-action:hover:not(:disabled){background:#ffbe25}.flight-download-action{color:#657780;background:#e8edef;border:1px solid #9ca9af}.flight-action-stack button:disabled{cursor:not-allowed;opacity:.56}.flight-planner-grid{grid-template-columns:282px minmax(470px,1fr) 318px}.flight-selection-summary{background:#e7eef0;border-bottom:1px solid #b8c6cc;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:12px 14px;display:grid}.flight-selection-summary b{font-size:13px}.flight-selection-summary span{color:#657780;grid-column:1;font-size:12px}.flight-selection-summary button{color:#435760;cursor:pointer;background:#fff;border:1px solid #9dabb2;grid-area:1/2/3;min-height:30px;padding:0 8px;font-size:12px;font-weight:800}.flight-selection-summary button:disabled{cursor:not-allowed;opacity:.45}.flight-building-groups{display:grid}.flight-building-group{border-bottom:1px solid #9dacb3}.flight-building-group>header{background:#edf2f3;justify-content:space-between;align-items:center;gap:8px;min-height:50px;padding:8px 12px;display:flex}.flight-building-group>header>span{gap:2px;min-width:0;display:grid}.flight-building-group>header b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.flight-building-group>header small{color:#6e7f87;font-size:12px}.flight-building-group>header button{color:#455a63;cursor:pointer;background:#f9fbfb;border:1px solid #9dabb2;flex:none;min-height:28px;padding:0 7px;font-size:12px;font-weight:850}.flight-wall-list>label{color:#354b55;cursor:pointer;background:0 0;border-bottom:1px solid #cbd5da;grid-template-columns:18px 36px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-height:56px;padding:8px 11px;display:grid;position:relative}.flight-wall-list>label:last-child{border-bottom:0}.flight-wall-list>label:hover{background:#edf3f4}.flight-wall-list>label.active{color:#152830;box-shadow:inset 4px 0 var(--survey-amber);background:#fff8e3}.flight-wall-list>label input{accent-color:#b67c00;width:15px;height:15px;margin:0}.flight-wall-list>label>span:last-child{gap:3px;min-width:0;display:grid}.flight-wall-list>label b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.flight-wall-list>label small{color:#6e7f87;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.flight-wall-list>label.active .flight-wall-index{color:#5c4100;background:#ffd46d;border-color:#bd8500}.flight-wall-list>label.generated{color:#174f45;background:#e6f6f0;box-shadow:inset 4px 0 #16846d}.flight-wall-list>label.generated:hover{background:#d9f1e8}.flight-wall-list>label.generated.active{background:#dff7ed;box-shadow:inset 4px 0 #16846d,inset 0 0 0 2px #f2a90094}.flight-wall-list>label.generated .flight-wall-index{color:#fff;background:#16846d;border-color:#16846d}.flight-wall-generated{color:#17604f;vertical-align:1px;background:#bfe9d9;border-radius:999px;margin-left:6px;padding:2px 5px;font-size:12px;font-style:normal;font-weight:850;display:inline-block}.flight-preview-panel{grid-template-rows:52px minmax(300px,1fr) 78px}.flight-map-canvas{position:absolute;inset:0}.flight-map-canvas canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.flight-map-tools{z-index:3;background:#111d23e0;border:1px solid #fff3;gap:2px;padding:3px;display:flex;position:absolute;top:14px;right:14px}.flight-map-tools button{color:#b9c8ce;cursor:pointer;background:0 0;border:0;min-height:30px;padding:0 8px;font-size:12px;font-weight:800}.flight-map-tools button.active{color:#15252c;background:#edf4f5}.flight-map-guide{z-index:2;color:#d9e5e8;background:#0f1b21d1;border:1px solid #ffffff24;padding:8px 10px;font-size:12px;position:absolute;top:14px;left:14px}.flight-map-attribution{z-index:2;color:#8fa2aa;font-size:12px;position:absolute;bottom:12px;right:12px}.flight-preview-legend i.selected{background:#f2a900;border:1px solid #ffe09a;border-radius:0;width:12px;height:9px}.flight-preview-legend i.transfer{background:0 0;border-top:2px dashed #67e1d3;border-radius:0;width:14px;height:0}.flight-preview-legend i.generated{background:#16846d;border:1px solid #8fe3c7;border-radius:0;width:12px;height:9px}.flight-demo-banner{z-index:2;top:auto;bottom:54px}.flight-preview-legend{z-index:3;bottom:14px}.flight-calculate-action{color:#fff;background:#087c87;border-color:#087c87}.flight-calculate-action:hover:not(:disabled){background:#056c74}.flight-header-actions{align-items:center;gap:9px;display:flex}.flight-route-list-button,.flight-new-route-button{color:#2b424c;cursor:pointer;background:#f7f9f9;border:1px solid #8d9fa8;min-height:40px;padding:0 13px;font-size:12px;font-weight:850}.flight-route-list-button b{color:#fff;min-width:22px;font-family:var(--font-geist-mono),monospace;background:#087c87;place-items:center;margin-left:5px;padding:2px 5px;display:inline-grid}.flight-new-route-button{color:#fff;background:#087c87;border-color:#087c87}.flight-new-route-button:hover{background:#056c74}.flight-route-list-page{height:100vh;color:var(--survey-ink);background:#e4ebed;flex-direction:column;display:flex;overflow:hidden}.flight-route-list-page .project-title-block h1+small{color:#657780;margin-top:3px;font-size:12px;display:block}.flight-route-summary{background:#f5f8f8;border-bottom:1px solid #8fa0aa;grid-template-columns:repeat(4,minmax(0,1fr));min-height:84px;display:grid}.flight-route-summary>span{border-right:1px solid #b8c6cc;align-content:center;gap:5px;padding:13px 24px;display:grid}.flight-route-summary>span:last-child{border-right:0}.flight-route-summary small{color:#657780;font-size:12px}.flight-route-summary b{font-family:var(--font-geist-mono),monospace;font-size:22px}.flight-route-list-layout{flex:1;min-height:0;overflow:auto}.flight-route-table-panel{width:100%;min-width:0;padding:24px}.flight-route-table-heading{justify-content:space-between;align-items:flex-end;margin-bottom:15px;display:flex}.flight-route-table-heading h2{margin:4px 0 0;font-size:22px}.flight-route-table-heading>span{color:#667981;font-size:12px}.flight-route-table{background:#fff;border:1px solid #95a6ae}.flight-route-table-head{color:#62747d;background:#e9eff1;border-bottom:1px solid #aab8be;grid-template-columns:1.35fr .95fr 1.05fr .65fr 86px 100px;align-items:center;gap:12px;min-height:39px;padding:0 14px;font-size:12px;font-weight:800;display:grid}.flight-route-row{background:#fff;border-bottom:1px solid #cbd5d9;grid-template-columns:minmax(0,1fr) 100px;display:grid}.flight-route-row:last-child{border-bottom:0}.flight-route-row:hover{background:#f3f7f7}.flight-route-row.active{box-shadow:inset 4px 0 var(--survey-amber);background:#fff8e4}.flight-route-row-select{color:#2f454f;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1.35fr .95fr 1.05fr .65fr 86px;align-items:center;gap:12px;min-width:0;min-height:83px;padding:12px 14px;display:grid}.flight-route-row-select>span{gap:4px;min-width:0;display:grid}.flight-route-row-select b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.flight-route-row-select small{color:#6a7c84;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.flight-route-row-select>span:last-child{color:#26725f;align-items:center;gap:6px;font-size:12px;font-weight:850;display:flex}.flight-route-row-select>span:last-child i{background:#32836f;border-radius:50%;width:8px;height:8px}.flight-route-download{color:#075e66;text-align:center;cursor:pointer;background:#e9f7f7;border:1px solid #087c87;place-content:center;margin:9px 9px 9px 0;font-size:12px;line-height:1.25;text-decoration:none;display:grid}.flight-route-download b{font-size:12px}.flight-route-download:hover{color:#fff;background:#087c87}.flight-route-detail{background:#f8fafa;border-left:1px solid #8fa0aa;min-width:0;overflow:auto}.flight-route-approved{color:#235d4d;background:#eaf8f3;border:1px solid #5da28d;align-items:center;gap:10px;margin:15px 17px;padding:11px;display:flex}.flight-route-approved>i{background:#32836f;border-radius:50%;width:10px;height:10px}.flight-route-approved>span{gap:2px;display:grid}.flight-route-approved b,.flight-route-approved small{font-size:12px}.flight-route-detail>dl{background:#fff;border:1px solid #afbdc3;margin:0 17px}.flight-route-detail>dl div{border-bottom:1px solid #d1dadd;justify-content:space-between;gap:10px;padding:10px;font-size:12px;display:flex}.flight-route-detail>dl div:last-child{border-bottom:0}.flight-route-detail dt{color:#657780}.flight-route-detail dd{text-align:right;margin:0;font-weight:800}.flight-route-wall-names{background:#fff;border:1px solid #afbdc3;gap:0;margin:15px 17px;display:grid}.flight-route-wall-names>b{border-bottom:1px solid #d1dadd;padding:9px 10px;font-size:12px}.flight-route-wall-names>span{border-bottom:1px solid #e0e6e8;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:grid}.flight-route-wall-names>span:last-child{border-bottom:0}.flight-route-wall-names i{color:#614900;text-align:center;width:34px;font-family:var(--font-geist-mono),monospace;background:#ffe096;border:1px solid #c2921f;padding:3px 0;font-style:normal;font-weight:800}.flight-route-download-detail{color:#fff;cursor:pointer;background:#087c87;border:1px solid #087c87;justify-content:center;align-items:center;width:calc(100% - 34px);min-height:44px;margin:0 17px 8px;font-size:12px;font-weight:850;text-decoration:none;display:flex}.flight-route-download-detail:hover{background:#056c74}.flight-route-download-detail small{color:#bfeaec;margin-left:5px;font-size:12px}.flight-route-download-note{color:#6b7d85;margin:0 17px 18px;font-size:12px;line-height:1.5}.flight-route-empty{text-align:center;flex:1;place-content:center;justify-items:center;padding:40px;display:grid}.flight-route-empty b{font-size:20px}.flight-route-empty p{color:#62747d;margin:8px 0 18px}.flight-route-empty button{color:#fff;cursor:pointer;background:#087c87;border:1px solid #087c87;min-height:42px;padding:0 15px;font-weight:800}.flight-route-inline-detail{background:#f8fafa;border:1px solid #95a6ae;margin-top:18px}.flight-route-inline-detail>header{background:#fff;border-bottom:1px solid #afbdc3;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:15px 17px;display:flex}.flight-route-inline-detail>header h2{margin:4px 0 1px;font-size:20px}.flight-route-inline-detail>header small{color:#657780;font-size:12px}.flight-route-inline-detail .flight-route-approved{flex:none;min-width:270px;margin:0}.flight-route-inline-grid{grid-template-columns:minmax(330px,1.15fr) minmax(300px,1fr) minmax(250px,.75fr);gap:16px;padding:16px;display:grid}.flight-route-inline-facts{background:#fff;border:1px solid #afbdc3;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.flight-route-inline-facts div{border-bottom:1px solid #d1dadd;border-right:1px solid #d1dadd;justify-content:space-between;align-items:center;gap:12px;min-height:49px;padding:10px 12px;font-size:12px;display:flex}.flight-route-inline-facts div:nth-child(2n){border-right:0}.flight-route-inline-facts div:nth-last-child(-n+2){border-bottom:0}.flight-route-inline-facts dt{color:#657780}.flight-route-inline-facts dd{text-align:right;margin:0;font-weight:800}.flight-route-inline-grid .flight-route-wall-names{align-content:start;margin:0}.flight-route-inline-actions{background:#fff;border:1px solid #afbdc3;flex-direction:column;min-width:0;padding:13px;display:flex}.flight-route-inline-actions>b{font-size:13px}.flight-route-inline-actions>p:first-of-type{color:#657780;margin:7px 0 16px;font-size:12px;line-height:1.55}.flight-route-inline-actions .flight-route-download-detail{width:100%;margin:auto 0 8px}.flight-route-inline-actions .flight-route-download-note{margin:0}@media (max-width:1260px){.flight-planner-grid{grid-template-columns:242px minmax(390px,1fr) 292px}.flight-flow{padding-inline:12px}.flight-flow li{padding-inline:11px}.flight-demo-banner span{display:none}.flight-route-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-route-inline-actions{grid-column:1/-1}}@media (max-width:960px){.flight-planner-page{height:auto;min-height:100vh;overflow:auto}.flight-planner-header{padding:14px 18px}.flight-engine-state{display:none}.flight-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-flow li:nth-child(2){border-right:1px solid #bdc9cf}.flight-flow li:nth-child(2):after{display:none}.flight-planner-grid{grid-template-columns:1fr;display:grid}.flight-wall-browser,.flight-settings-panel{border:0;border-bottom:1px solid #8fa0aa;overflow:visible}.flight-building-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.flight-wall-list{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-wall-list>button{border-right:1px solid #cbd5da}.flight-building-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-building-group{border-right:1px solid #9dacb3}.flight-wall-list>label{border-right:1px solid #cbd5da}.flight-preview-panel{grid-template-rows:52px minmax(420px,1fr) 78px;min-height:600px}.flight-settings-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:24px;display:grid}.flight-settings-panel .flight-panel-title{grid-column:1/-1}.flight-plan-summary,.flight-review-note,.flight-action-stack{align-self:start}.flight-route-list-page{height:auto;min-height:100vh;overflow:auto}.flight-route-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-route-summary>span:nth-child(2){border-right:0}.flight-route-summary>span:nth-child(-n+2){border-bottom:1px solid #b8c6cc}.flight-route-table{min-width:760px}.flight-route-inline-detail>header{flex-direction:column;align-items:flex-start}.flight-route-inline-detail .flight-route-approved{width:100%;min-width:0}.flight-route-inline-grid{grid-template-columns:1fr}.flight-route-inline-actions{grid-column:auto}}@media (max-width:620px){.rail-nav .rail-button:nth-child(n+3){display:grid}.rail-nav .rail-button:nth-child(n+4){display:none}.flight-planner-header{min-height:88px}.flight-planner-header .workspace-status{display:none}.flight-planner-header h1{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:23px;overflow:hidden}.flight-flow{grid-template-columns:1fr;padding:0}.flight-flow li{border-bottom:1px solid #bdc9cf;border-right:0;min-height:54px}.flight-flow li:after{display:none}.flight-building-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-wall-list,.flight-building-groups{grid-template-columns:1fr}.flight-preview-panel{grid-template-rows:auto minmax(340px,1fr) auto;min-height:520px}.flight-preview-toolbar{flex-direction:column;align-items:stretch;padding:10px 12px}.flight-view-switch{align-self:stretch}.flight-view-switch button{flex:1}.flight-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-metric-strip>span:nth-child(2){border-right:0}.flight-metric-strip>span:nth-child(-n+2){border-bottom:1px solid #ffffff1f}.flight-preview-legend{bottom:10px;left:10px;right:10px}.flight-demo-banner{top:10px}.flight-settings-panel{grid-template-columns:1fr}.flight-settings-panel .flight-panel-title{grid-column:auto}.flight-header-actions .flight-engine-state{display:none}.flight-route-summary{grid-template-columns:1fr 1fr}.flight-route-summary>span{padding:12px 14px}.flight-route-table-panel{padding:16px}.flight-route-inline-facts{grid-template-columns:1fr}.flight-route-inline-facts div,.flight-route-inline-facts div:nth-child(2n){border-right:0}.flight-route-inline-facts div:nth-last-child(-n+2){border-bottom:1px solid #d1dadd}.flight-route-inline-facts div:last-child{border-bottom:0}}.ortho-mock-page{--ortho-cyan:#0f8791;--ortho-amber:#f2a900;height:100vh;color:var(--survey-ink,#1c3039);background:#dfe7ea;flex-direction:column;display:flex;overflow:hidden}.ortho-main-dashboard{--ortho-cyan:#0f8791;--ortho-amber:#f2a900;min-height:100vh;color:var(--survey-ink,#1c3039);background:#e5ecee}.ortho-dashboard-main{width:min(1560px,100%);margin:0 auto;padding:28px 30px 44px}.ortho-dashboard-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:18px;display:flex}.ortho-dashboard-heading .eyebrow{margin:0 0 5px}.ortho-dashboard-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(24px,2vw,34px)}.ortho-dashboard-heading p:last-child{color:#61747c;margin:8px 0 0;font-size:13px}.ortho-dashboard-heading>span{background:#fff;border:1px solid #aebdc3;flex:none;grid-template-columns:auto auto auto auto;align-items:baseline;gap:0 8px;padding:12px 16px;display:grid}.ortho-dashboard-heading>span b{font-family:var(--font-geist-mono),monospace;font-size:21px}.ortho-dashboard-heading>span small{color:#61747c;font-size:12px}.ortho-dashboard-heading>span b:nth-of-type(2){border-left:1px solid #d0dadd;margin-left:15px;padding-left:15px}.ortho-status-dashboard.main{border:1px solid #a8b7bd;overflow:hidden;box-shadow:0 8px 20px #1c30390f}.ortho-dashboard-error{color:#74312d;background:#fff0ee;border:1px solid #c55b54;justify-content:space-between;align-items:center;gap:18px;min-height:62px;margin-bottom:14px;padding:11px 14px;display:flex}.ortho-dashboard-error>span{gap:3px;display:grid}.ortho-dashboard-error b{font-size:13px}.ortho-dashboard-error small{font-size:12px}.ortho-dashboard-error button{color:#74312d;cursor:pointer;background:#fff;border:1px solid #a9453f;flex:none;min-height:34px;padding:0 12px;font-size:12px;font-weight:850}.ortho-flight-groups{background:#f8faf9;border:1px solid #8ea4ac;margin-top:18px;padding:18px;box-shadow:0 8px 20px #1c30390f}.ortho-flight-groups>header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:13px;display:flex}.ortho-flight-groups>header h2{margin:3px 0 0;font-size:20px}.ortho-flight-groups>header small{color:#61747c;font-size:12px}.ortho-flight-groups>div{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.ortho-flight-group-card{background:#fff;border:1px solid #a8b7bd;gap:11px;padding:15px;display:grid}.ortho-flight-group-card>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ortho-flight-group-card>header span{min-width:0}.ortho-flight-group-card>header small{color:#087d85;font-size:12px;font-weight:850}.ortho-flight-group-card h3{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:19px;overflow:hidden}.ortho-flight-group-card>header strong{color:#176857;font-family:var(--font-geist-mono),monospace;font-size:22px}.ortho-flight-group-walls{flex-wrap:wrap;gap:5px;display:flex}.ortho-flight-group-walls span{color:#334a54;font-family:var(--font-geist-mono),monospace;background:#edf3f4;border:1px solid #9fadb3;padding:5px 7px;font-size:12px;font-weight:850}.ortho-flight-group-card>p{color:#62757d;margin:0;font-size:12px}.ortho-flight-group-card .ortho-building-progress{border:0;height:7px}.ortho-flight-group-card>button{color:#fff;cursor:pointer;background:#087d85;border:1px solid #087d85;min-height:39px;font-size:12px;font-weight:850}.ortho-flight-group-card>button:hover:not(:disabled){background:#056c74}.ortho-dashboard-buildings{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.ortho-dashboard-building-card{background:#fff;border:1px solid #a8b7bd;min-width:0;overflow:hidden;box-shadow:0 8px 20px #1c30390f}.ortho-dashboard-building-card>header{border-bottom:1px solid #d1dadd;justify-content:space-between;align-items:center;gap:20px;min-height:102px;padding:17px 18px 14px;display:flex}.ortho-dashboard-building-card>header>div{min-width:0}.ortho-dashboard-building-card>header span{color:#087d85;font-size:12px;font-weight:850}.ortho-dashboard-building-card h3{text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:20px;overflow:hidden}.ortho-dashboard-building-card header p{color:#62757d;margin:0;font-size:12px}.ortho-dashboard-building-card header button{color:#fff;cursor:pointer;background:#087d85;border:1px solid #087d85;flex:none;min-width:94px;min-height:38px;font-size:12px;font-weight:850}.ortho-dashboard-building-card header button:hover:not(:disabled){background:#056c74}.ortho-dashboard-building-card header button:disabled{cursor:default;opacity:.45}.ortho-building-progress{background:#e8eef0;border-bottom:1px solid #d1dadd;height:28px;position:relative;overflow:hidden}.ortho-building-progress>i{background:#d9eee7;height:100%;transition:width .2s;display:block}.ortho-building-progress>span{color:#245d50;font-family:var(--font-geist-mono),monospace;place-items:center;font-size:12px;font-weight:850;display:grid;position:absolute;inset:0}.ortho-dashboard-wall-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:7px;padding:12px;display:grid}.ortho-dashboard-wall-grid button{color:#40555e;text-align:left;cursor:pointer;background:#f8faf9;border:1px solid #c1ccd0;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:4px 7px;min-width:0;min-height:73px;padding:9px;display:grid}.ortho-dashboard-wall-grid button:hover{background:#f0f9f8;border-color:#087d85}.ortho-dashboard-wall-grid button>span{font-family:var(--font-geist-mono),monospace;font-size:12px;font-weight:850}.ortho-dashboard-wall-grid button>b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ortho-dashboard-wall-grid button>small{color:#657880;grid-column:1/-1;align-items:center;gap:5px;font-size:12px;display:flex}.ortho-dashboard-wall-grid button>small i{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.ortho-dashboard-wall-grid .complete small{color:#27785a}.ortho-dashboard-wall-grid .processing small{color:#087d85}.ortho-dashboard-wall-grid .review small{color:#946400}.ortho-dashboard-wall-grid .retry small{color:#b3433b}.ortho-dashboard-wall-grid .captured small{color:#345a8a}.ortho-dashboard-wall-grid .unregistered small{color:#64767d}.ortho-dashboard-wall-grid .unknown{background:#f1f4f5;border-style:dashed}.ortho-dashboard-wall-grid .unknown small,.ortho-wall-status.unknown{color:#77888f}.ortho-dashboard-empty{color:#63767e;text-align:center;background:#ffffff8c;border:1px dashed #a8b7bd;grid-column:1/-1;margin:0;padding:60px 20px}.damage-main-dashboard{--damage-orange:#f39a00}.damage-dashboard-badge{color:#923f31;background:#fff2ef;border-color:#d7a39a}.damage-dashboard-badge i{background:#e84d3d}.damage-main-dashboard .inspection-wall-stages{gap:3px;display:grid}.damage-main-dashboard .inspection-wall-stages span{color:#657880;white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:750;display:flex}.damage-main-dashboard .inspection-wall-stages .complete{color:#27785a}.damage-main-dashboard .inspection-wall-stages .processing{color:#087d85}.damage-main-dashboard .inspection-wall-stages .review{color:#946400}.damage-main-dashboard .inspection-wall-stages .retry{color:#b3433b}.damage-main-dashboard .inspection-wall-stages .captured{color:#345a8a}.damage-main-dashboard .inspection-wall-stages .unregistered{color:#64767d}.damage-dashboard-filter-empty{color:#71838a;text-align:center;grid-column:1/-1;margin:0;padding:24px 12px;font-size:12px}.ortho-header{flex:none}.ortho-header .project-title-block>small{color:#657780;margin-top:4px;font-size:12px;display:block}.ortho-header-actions{align-items:center;gap:9px;display:flex}.ortho-back-icon{display:none}.ortho-mock-badge{color:#775b08;background:#fff8e4;border:1px solid #d2a743;align-items:center;gap:8px;padding:9px 11px;font-size:12px;font-weight:800;display:flex}.ortho-mock-badge i{background:var(--ortho-amber);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f2a90021}.ortho-flow{flex:none}.ortho-status-dashboard{background:#edf2f3;border-bottom:1px solid #9facb2;flex:none;grid-template-columns:250px minmax(0,1fr);min-height:82px;display:grid}.ortho-dashboard-summary{background:#f8faf9;border-right:1px solid #bac6ca;align-content:center;gap:5px;padding:10px 16px;display:grid}.ortho-dashboard-summary>span{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ortho-dashboard-summary small{color:#61747c;font-size:12px;font-weight:800}.ortho-dashboard-summary strong{color:#176857;font-family:var(--font-geist-mono),monospace;font-size:21px}.ortho-dashboard-summary p{color:#586c74;margin:0;font-size:12px}.ortho-dashboard-progress{background:#d5dfe1;height:6px;overflow:hidden}.ortho-dashboard-progress i{background:#2e8a70;height:100%;transition:width .2s;display:block}.ortho-dashboard-statuses{min-width:0;display:flex;overflow-x:auto}.ortho-dashboard-statuses button{color:#40555e;text-align:left;cursor:pointer;background:#f3f6f7;border:0;border-right:1px solid #c3cdd1;flex:1 0 112px;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:3px 8px;min-width:112px;padding:10px 13px;display:grid}.ortho-dashboard-statuses button:hover:not(:disabled){background:#fff}.ortho-dashboard-statuses button.active{background:#fff;box-shadow:inset 0 -4px}.ortho-dashboard-statuses button:disabled{cursor:default;opacity:.48}.ortho-dashboard-statuses button>span{white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:800;display:flex}.ortho-dashboard-statuses button>span i{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.ortho-dashboard-statuses button>strong{font-family:var(--font-geist-mono),monospace;grid-area:1/2/3;align-self:center;font-size:22px}.ortho-dashboard-statuses button>small{color:#71828a;font-size:12px}.ortho-dashboard-statuses .complete{color:#27785a}.ortho-dashboard-statuses .processing{color:#087d85}.ortho-dashboard-statuses .review{color:#946400}.ortho-dashboard-statuses .retry{color:#b3433b}.ortho-dashboard-statuses .captured{color:#345a8a}.ortho-dashboard-statuses .unregistered{color:#64767d}.ortho-mock-grid{flex:1;grid-template-columns:286px minmax(0,1fr);min-height:0;display:grid}.ortho-wall-panel{background:#f7f9f9;border-right:1px solid #8fa0aa;min-width:0;overflow:auto}.ortho-wall-panel-sticky{z-index:5;background:#f7f9f9;border-bottom:1px solid #9facb2;position:sticky;top:0;box-shadow:0 4px 10px #1b303914}.ortho-wall-panel-sticky .flight-panel-title{background:#f7f9f9}.ortho-building-selector{background:#eef3f4;border-bottom:1px solid #b9c5ca;padding:10px 12px}.ortho-building-selector>b,.ortho-wall-section-title>b{color:#324a54;margin-bottom:7px;font-size:12px;display:block}.ortho-building-selector>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.ortho-building-selector button{color:#3b515b;text-align:left;cursor:pointer;background:#fff;border:1px solid #aab9c0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 7px;min-width:0;padding:8px;display:grid}.ortho-building-selector button:hover:not(:disabled){background:#f7fbfb;border-color:#6d969a}.ortho-building-selector button.active{box-shadow:inset 4px 0 var(--ortho-amber);background:#fff8e3;border-color:#bd8500}.ortho-building-selector button:disabled{cursor:not-allowed;opacity:.58}.ortho-building-selector button>span{white-space:nowrap;font-size:12px;font-weight:850}.ortho-building-selector button>small{color:#63767e;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ortho-building-selector button>em{color:#276251;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:12px;font-style:normal;font-weight:800;overflow:hidden}.ortho-wall-section-title{background:#f7f9f9;padding:9px 12px 7px}.ortho-wall-section-title>b{margin:0}.ortho-wall-section-title>small{color:#6b7d85;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.ortho-loading-state{color:#667981;padding:12px;font-size:12px;display:block}.ortho-wall-overview{background:#fff;border-bottom:1px solid #c4cfd3;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ortho-wall-overview>span{border-right:1px solid #d3dcdf;gap:2px;min-width:0;padding:8px 12px;display:grid}.ortho-wall-overview>span:last-child{border-right:0}.ortho-wall-overview b{font-size:12px}.ortho-wall-overview small{color:#5d7179;font-family:var(--font-geist-mono),monospace;font-size:12px}.ortho-wall-filters{background:#f2f6f7;border-bottom:1px solid #c7d1d5;gap:4px;padding:7px 8px;display:flex;overflow-x:auto}.ortho-wall-filters button{color:#536970;cursor:pointer;background:#fff;border:1px solid #b6c3c8;flex:none;min-height:28px;padding:0 7px;font-size:12px;font-weight:750}.ortho-wall-filters button.active{color:#fff;background:#087d85;border-color:#087d85}.ortho-wall-filters.compact button{flex:1 1 0}.ortho-wall-quick-actions{grid-template-columns:repeat(2,1fr);gap:6px;padding:7px 8px 0;display:grid}.ortho-wall-quick-actions button{color:#405861;cursor:pointer;background:#fff;border:1px solid #9facb2;min-height:29px;font-size:12px;font-weight:750}.ortho-wall-quick-actions button:disabled{opacity:.4;cursor:not-allowed}.ortho-building-summary{background:#e8eef0;border-bottom:1px solid #aab9c0;justify-content:space-between;align-items:center;gap:8px;min-height:58px;padding:10px 13px;display:flex}.ortho-building-summary>span{gap:3px;min-width:0;display:grid}.ortho-building-summary b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ortho-building-summary small{color:#6b7d85;font-size:12px}.ortho-building-summary em{color:#266452;background:#dff1ea;padding:3px 6px;font-size:12px;font-style:normal;font-weight:850}.ortho-wall-list{display:grid}.ortho-wall-list button{color:#354b55;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #c8d2d7;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:68px;padding:9px 12px;display:grid}.ortho-wall-list button:hover:not(:disabled){background:#edf3f4}.ortho-wall-list button.active{color:#152830;box-shadow:inset 4px 0 var(--ortho-amber);background:#fff8e3}.ortho-wall-list button:disabled{cursor:not-allowed;opacity:.62}.ortho-wall-main{gap:5px;min-width:0;display:grid}.ortho-wall-main>span{justify-content:space-between;align-items:center;gap:7px;min-width:0;display:flex}.ortho-wall-list b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ortho-wall-list small{color:#6c7e86;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ortho-wall-list .active .flight-wall-index{color:#5c4100;background:#ffd46d;border-color:#bd8500}.ortho-wall-status{color:#64767d;white-space:nowrap;background:#fff;border:1px solid;flex:none;align-items:center;gap:4px;padding:3px 5px;font-size:12px;font-style:normal;font-weight:850;display:inline-flex}.ortho-wall-status i{background:currentColor;border-radius:50%;width:7px;height:7px}.ortho-wall-status.captured{color:#345a8a;background:#edf2ff}.ortho-wall-status.processing{color:#087d85;background:#e4f8f8}.ortho-wall-status.review{color:#946400;background:#fff4cf}.ortho-wall-status.complete{color:#27785a;background:#e3f5eb}.ortho-wall-status.retry{color:#b3433b;background:#ffedeb}.ortho-wall-attention{font-weight:750;color:#a53c36!important}.ortho-wall-empty{color:#64777f;text-align:center;margin:0;padding:26px 14px;font-size:12px}.ortho-wall-frame{background:#fff;border:1px solid #adbbc1;margin:15px 14px}.ortho-wall-frame div{border-bottom:1px solid #d6dee1;justify-content:space-between;gap:10px;padding:9px 10px;font-size:12px;display:flex}.ortho-wall-frame div:last-child{border-bottom:0}.ortho-wall-frame dt{color:#667981}.ortho-wall-frame dd{margin:0;font-weight:800}.ortho-preview-panel{background:#17242b;grid-template-rows:52px minmax(300px,1fr) 54px auto;min-width:0;min-height:0;display:grid}.ortho-preview-toolbar{color:#e9f1f3;background:#132028;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex}.ortho-preview-toolbar>div:first-child{align-items:center;gap:8px;min-width:0;display:flex}.ortho-preview-toolbar b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ortho-preview-toolbar small{color:#91a4ad;white-space:nowrap;font-size:12px}.ortho-preview-toolbar .flight-view-switch button:disabled{cursor:not-allowed;opacity:.4}.ortho-facade-stage{background-color:#1d2a31;background-image:linear-gradient(#99c1c60f 1px,#0000 1px),linear-gradient(90deg,#99c1c60f 1px,#0000 1px);background-size:32px 32px;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.ortho-facade-stage:before{content:"";border:1px solid #9cc5ca1f;position:absolute;inset:8% 12%}.ortho-group-facade-stage{color:#dce8eb;background:#1d2a31;grid-template-rows:48px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.ortho-group-facade-stage>header{background:#142128;border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:center;gap:14px;padding:0 15px;display:flex}.ortho-group-facade-stage>header span{align-items:baseline;gap:9px;display:flex}.ortho-group-facade-stage>header b{font-size:13px}.ortho-group-facade-stage>header small{color:#91a4ad;font-size:12px}.ortho-group-facade-stage>header em{color:#f2b632;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;font-size:12px;font-style:normal;font-weight:850}.ortho-group-facade-stage>div{background-image:linear-gradient(#99c1c60f 1px,#0000 1px),linear-gradient(90deg,#99c1c60f 1px,#0000 1px);background-size:32px 32px;align-items:stretch;gap:2px;min-width:0;min-height:0;padding:14px;display:flex;overflow:auto}.ortho-group-facade-stage figure{background:#111c22;border:1px solid #61747c;grid-template-rows:34px minmax(0,1fr);min-width:150px;min-height:260px;margin:0;display:grid}.ortho-group-facade-stage figcaption{color:#c7d5d9;background:#25343b;border-bottom:1px solid #52666f;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:flex}.ortho-group-facade-stage figure img{object-fit:contain;background:#0f171c;width:100%;height:100%;min-height:0;display:block}.ortho-group-facade-stage figure>span{color:#81939b;text-align:center;place-content:center;gap:4px;display:grid}.ortho-group-facade-stage figure>span b{color:#b9c7cb;font-size:12px}.ortho-group-facade-stage figure>span small{font-size:12px}.ortho-result-viewport{z-index:1;width:100%;height:100%;position:relative;overflow:hidden}.ortho-result-interaction{outline:none;place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.ortho-result-interaction.pannable{cursor:grab;touch-action:none}.ortho-result-interaction.dragging{cursor:grabbing}.ortho-result-interaction:focus-visible{box-shadow:inset 0 0 0 3px #70ead1}.ortho-result-layer{transform-origin:50%;position:absolute;top:50%;left:50%}.ortho-source-canvas{transform-origin:50%;will-change:transform;width:100%;height:100%;position:relative}.ortho-result-image{object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;max-height:none;display:block}.ortho-preview-fallback{opacity:.92;width:100%;height:100%;position:absolute;inset:0}.ortho-zoom-controls{z-index:3;color:#e8f2f3;background:#0b181ee0;border:1px solid #dae7ea80;align-items:center;display:flex;position:absolute;top:14px;right:14px;overflow:hidden;box-shadow:0 5px 18px #00000040}.ortho-zoom-controls button{min-width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:0;border-right:1px solid #dae7ea38;place-items:center;padding:0 10px;font-size:18px;font-weight:850;display:grid}.ortho-zoom-controls button:hover:not(:disabled){background:#70ead133}.ortho-zoom-controls button:disabled{color:#708087;cursor:default}.ortho-zoom-controls button.reset{border-right:0;font-size:12px}.ortho-zoom-controls output{text-align:center;min-width:54px;font-family:var(--font-geist-mono),monospace;font-size:12px;font-weight:800}.ortho-zoom-hint{z-index:2;color:#dce9eb;white-space:nowrap;pointer-events:none;background:#0b181ec7;padding:7px 10px;font-size:12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.ortho-wall-geometry{height:min(82%,620px);min-height:330px;aspect-ratio:var(--wall-aspect);transition:transform .2s;position:relative}.ortho-facade-stage.review .ortho-wall-geometry{transform:scale(1.01)}.ortho-facade-frame{background:linear-gradient(90deg,#79868a,#a8b0ae 20%,#8c999b 54%,#68767b);border:1px solid #778b94;width:100%;height:100%;padding:12px;transition:filter .2s;position:relative;box-shadow:0 20px 55px #00000054}.ortho-facade-stage.review .ortho-facade-frame{filter:saturate(.9)brightness(1.08)}.ortho-facade-grid{grid-template-columns:repeat(var(--facade-columns),1fr);grid-template-rows:repeat(var(--facade-rows),1fr);gap:4px 5px;width:100%;height:100%;display:grid}.ortho-facade-grid>span{background:#8d999a;border:1px solid #29373ba6;position:relative;overflow:hidden}.ortho-facade-grid>span:after{content:"";background:#36424573;width:160%;height:6px;position:absolute;bottom:12%;right:-30%}.ortho-facade-grid i{background:linear-gradient(135deg,#344a53,#77919a);border:2px solid #d6dcda;position:absolute;inset:13% 18% 31%;box-shadow:inset 4px 0 #ffffff1f}.ortho-facade-grid b{background:#98a2a0;border-top:3px solid #5b696b;height:21%;position:absolute;inset:auto 9% 7%}.ortho-facade-grid .balcony i{inset-inline:10%}.ortho-facade-grid .balcony b{background:repeating-linear-gradient(90deg,#899394 0 3px,#59676a 3px 5px);border:2px solid #5a686b;height:28%;inset-inline:0}.ortho-coverage-outline{pointer-events:none;border:1px dashed #ffe09a;position:absolute;inset:6px}.ortho-coverage-outline span{color:#3d320f;font-family:var(--font-geist-mono),monospace;background:#ffe09a;padding:3px 5px;font-size:12px;font-weight:800;position:absolute;top:4px;left:4px}.ortho-coordinate-axis{z-index:2;color:#77e5d0;font-family:var(--font-geist-mono),monospace;font-size:12px;font-weight:800;position:absolute}.ortho-coordinate-axis:before,.ortho-coordinate-axis:after{content:"";position:absolute}.ortho-coordinate-axis.vertical{border-left:1px solid #77e5d0;top:7%;bottom:0;left:-28px}.ortho-coordinate-axis.vertical:after{border-top:1px solid #77e5d0;border-left:1px solid #77e5d0;width:7px;height:7px;top:-1px;left:-4px;transform:rotate(45deg)}.ortho-coordinate-axis.vertical span{position:absolute;top:-8px;left:-16px}.ortho-coordinate-axis.horizontal{border-bottom:1px solid #77e5d0;bottom:-1px;left:0;right:-28px}.ortho-coordinate-axis.horizontal:after{border-top:1px solid #77e5d0;border-right:1px solid #77e5d0;width:7px;height:7px;bottom:-4px;right:-1px;transform:rotate(45deg)}.ortho-coordinate-axis.horizontal span{position:absolute;bottom:-19px;right:-9px}.ortho-canvas-message{color:#dce7ea;background:#0c161be0;border:1px solid #ffffff29;gap:2px;padding:10px 12px;display:grid;position:absolute;bottom:18px;left:18px}.ortho-canvas-message b{font-size:12px}.ortho-canvas-message span{color:#93a6ae;font-size:12px}.ortho-scan-line{z-index:3;background:#70ead1;height:2px;position:absolute;top:62%;left:-4%;right:-4%;box-shadow:0 0 16px #70ead1d9}.ortho-scan-line span{color:#c9fff3;white-space:nowrap;background:#091f1fd6;padding:4px 7px;font-size:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.ortho-processing-overlay{z-index:4;color:#fff;background:#081318e6;border:1px solid #70ead16b;gap:5px;width:180px;padding:13px;display:grid;position:absolute;top:18px;right:18px}.ortho-processing-overlay strong{color:#72e4c2;font-family:var(--font-geist-mono),monospace;font-size:28px}.ortho-processing-overlay span{font-size:12px;font-weight:850}.ortho-processing-overlay>i{background:#34454d;height:5px;overflow:hidden}.ortho-processing-overlay>i b{background:#72e4c2;width:64%;height:100%;display:block}.ortho-processing-overlay small{color:#93a6ae;font-size:12px}.ortho-result-stamp{z-index:3;color:#ffdc82;background:#201d12db;border:1px solid #e2b44a;gap:2px;padding:8px 10px;display:grid;position:absolute;bottom:18px;right:18px}.ortho-result-stamp b{font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;font-size:12px}.ortho-result-stamp span{color:#d7cba8;font-size:12px}.ortho-metric-strip{color:#fff;background:#132028;border-top:1px solid #ffffff24;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ortho-metric-strip>span{border-right:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 14px;display:flex}.ortho-metric-strip>span:last-child{border-right:0}.ortho-metric-strip small{color:#a6b5bb;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ortho-metric-strip b{font-family:var(--font-geist-mono),monospace;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ortho-metric-strip>span.pending b{color:#b8c5ca;font-family:inherit;font-weight:700}.ortho-upload-zone{color:#405761;text-align:center;cursor:pointer;background:#fff;border:1px dashed #8fa4ad;place-content:center;justify-items:center;gap:5px;min-height:132px;margin:15px;display:grid;position:relative}.ortho-upload-zone:hover{border-color:var(--ortho-cyan);background:#f4fbfb}.ortho-upload-zone:focus-within{outline-offset:2px;background:#f4fbfb;border-color:#056c74;outline:3px solid #0f879152}.ortho-upload-zone input{opacity:0;width:1px;height:1px;position:absolute}.ortho-upload-zone>span{color:#fff;background:var(--ortho-cyan);place-items:center;width:31px;height:31px;margin-bottom:4px;font-size:18px;display:grid}.ortho-upload-zone b{font-size:13px}.ortho-upload-zone small{color:#6b7e86;font-size:12px}.ortho-upload-target{background:#fff8e4;border:1px solid #d2a743;gap:3px;margin:15px 15px 0;padding:10px 12px;display:grid}.ortho-upload-target small{color:#82660f;font-size:12px;font-weight:850}.ortho-upload-target b{color:#3a310f;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ortho-upload-target span{color:#6f5c20;font-size:12px}.ortho-source-card{background:#fff;border:1px solid #a9b8be;margin:0 15px 15px;padding:12px}.ortho-source-summary{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ortho-source-summary>strong{font-family:var(--font-geist-mono),monospace;letter-spacing:-.04em;font-size:22px}.ortho-source-summary>strong small{color:#667981;letter-spacing:0;font-size:12px}.ortho-source-summary>b{color:#315f62;font-family:var(--font-geist-mono),monospace;font-size:13px}.ortho-upload-progress{background:#e7edef;border:1px solid #c6d2d5;height:8px;margin-top:10px;overflow:hidden}.ortho-upload-progress>i{background:var(--ortho-cyan);height:100%;transition:width .16s;display:block}.ortho-source-card.uploading .ortho-upload-progress>i{background:linear-gradient(90deg,#0f8791,#5fc8b4)}.ortho-upload-meta{color:#667981;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.ortho-upload-meta span:last-child{color:#276251;font-weight:800}.ortho-source-card p{color:#667981;white-space:pre-line;max-height:72px;margin:9px 0 0;font-size:12px;line-height:1.45;overflow:hidden}.ortho-current-upload{color:#174f57;text-overflow:ellipsis;white-space:nowrap;background:#eef9f8;margin-top:8px;padding:6px 7px;font-size:12px;font-weight:800;display:block;overflow:hidden}.ortho-job-progress{background:#fff;border:1px solid #a9b8be;margin:15px}.ortho-job-progress>div{color:#697b83;border-bottom:1px solid #d6dee1;justify-content:space-between;align-items:center;gap:8px;min-height:39px;padding:8px 10px;font-size:12px;display:flex}.ortho-job-progress>div.active{color:#174f57;box-shadow:inset 3px 0 var(--ortho-cyan);background:#eef9f8}.ortho-job-progress>div span{align-items:center;gap:7px;display:flex}.ortho-job-progress>div i{border:1px solid #98a8af;border-radius:50%;width:9px;height:9px}.ortho-job-progress>div i.done{background:#32836f;border-color:#32836f}.ortho-job-progress>div.active i{background:var(--ortho-cyan);border:3px solid #bde3df}.ortho-job-progress>div b{color:#3d535d;font-size:12px}.ortho-job-progress>p{color:#556a73;background:#eef2f3;gap:3px;margin:0;padding:11px;display:grid}.ortho-job-progress>p b,.ortho-job-progress>p span{font-size:12px}.ortho-review-block{margin:15px}.ortho-review-state{color:#235d4d;background:#eaf8f3;border:1px solid #5da28d;align-items:center;gap:10px;padding:11px;display:flex}.ortho-review-state>i{background:#32836f;border-radius:50%;width:10px;height:10px}.ortho-review-state>span{gap:2px;display:grid}.ortho-review-state b,.ortho-review-state small{font-size:12px}.ortho-review-block dl{background:#fff;border:1px solid #a9b8be;margin:10px 0 0}.ortho-review-block dl div{border-bottom:1px solid #d6dee1;justify-content:space-between;gap:9px;padding:8px 9px;font-size:12px;display:flex}.ortho-review-block dl div:last-child{border-bottom:0}.ortho-review-block dt{color:#667981}.ortho-review-block dd{text-align:right;margin:0;font-weight:800}.ortho-review-message{margin:9px 0 0;padding:9px;font-size:12px}.ortho-review-message.accepted{color:#235d4d;background:#eaf8f3}.ortho-review-message.rejected{color:#8d373b;background:#fff0f0}.ortho-failure-card{color:#74312d;background:#fff0ee;border:1px solid #c55b54;gap:5px;margin:0 16px 16px;padding:11px;display:grid}.ortho-failure-card b{font-size:12px}.ortho-failure-card p{color:#86433f;margin:0;font-size:12px;line-height:1.5}.ortho-attempt-loading{background:#eef5f6;border:1px solid #9eb6bf;justify-content:space-between;align-items:center;gap:18px;min-height:92px;margin:14px 16px 16px;padding:14px;display:flex}.ortho-attempt-loading>span{gap:4px;display:grid}.ortho-attempt-loading b{color:#294b55;font-size:13px}.ortho-attempt-loading small{color:#60767f;font-size:12px}.ortho-attempt-loading button{color:#24535a;cursor:pointer;background:#fff;border:1px solid #69949a;flex:none;min-height:34px;padding:0 12px;font-size:12px;font-weight:800}.ortho-dimension-warning{color:#614405;background:#fff6dc;border:1px solid #d39b2d;margin-top:10px;padding:11px}.ortho-dimension-warning>b{font-size:12px;display:block}.ortho-dimension-warning>p{margin:5px 0 0;font-size:12px;line-height:1.5}.ortho-dimension-warning dl{border-color:#d8bc77}.ortho-dimension-warning dd{max-width:62%}.ortho-bottom-workspace{color:#263c45;background:#f7f9f9;border-top:1px solid #8fa0aa;min-height:0;max-height:300px;overflow:auto}.ortho-bottom-header{background:#eef3f4;border-bottom:1px solid #c8d2d7;justify-content:space-between;align-items:center;gap:24px;min-height:58px;padding:10px 16px;display:flex}.ortho-bottom-header>div{gap:2px;display:grid}.ortho-bottom-header .eyebrow{margin:0}.ortho-bottom-header h2{margin:0;font-size:17px}.ortho-bottom-header>small{color:#63767e;text-align:right;max-width:520px;font-size:12px;line-height:1.45}.ortho-bottom-body{min-width:0}.ortho-bottom-body.has-actions{grid-template-columns:minmax(0,1fr) 270px;display:grid}.ortho-bottom-details{min-width:0}.ortho-upload-layout{grid-template-columns:minmax(180px,.7fr) minmax(230px,1fr) minmax(260px,1.2fr);gap:12px;padding:14px 16px 16px;display:grid}.ortho-upload-layout .ortho-upload-target,.ortho-upload-layout .ortho-upload-zone,.ortho-upload-layout .ortho-source-card{min-height:124px;margin:0}.ortho-upload-layout .ortho-upload-target{align-content:center}.ortho-upload-layout .ortho-source-card{overflow:hidden}.ortho-bottom-details>.ortho-job-progress,.ortho-bottom-details>.ortho-review-block,.ortho-bottom-details>.ortho-review-message{margin:14px 16px 16px}.ortho-action-stack{border-left:1px solid #c8d2d7;align-content:start;gap:7px;margin:0;padding:14px 16px 16px;display:grid}.ortho-action-stack button{cursor:pointer;border-radius:0;min-height:41px;font-size:12px;font-weight:850}.ortho-primary-action{color:#fff;background:#087c87;border:1px solid #087c87}.ortho-primary-action:hover:not(:disabled){background:#056c74}.ortho-primary-action:disabled{cursor:not-allowed;opacity:.45}.ortho-secondary-action{color:#304851;background:#fff;border:1px solid #8fa0a8}.ortho-text-action{color:#60737c;background:0 0;border:0;text-decoration:underline;min-height:30px!important}@media (max-width:1260px){.ortho-mock-grid{grid-template-columns:240px minmax(0,1fr)}.ortho-building-selector>div{grid-template-columns:1fr}.ortho-upload-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.ortho-upload-layout .ortho-source-card{grid-column:1/-1}}@media (max-width:960px){.ortho-dashboard-buildings{grid-template-columns:1fr}.ortho-mock-page{height:auto;min-height:100vh;overflow:auto}.ortho-header{padding:14px 18px}.ortho-mock-badge{display:none}.ortho-mock-grid{grid-template-columns:1fr}.ortho-wall-panel{border:0;border-bottom:1px solid #8fa0aa;overflow:visible}.ortho-wall-panel-sticky{box-shadow:none;position:static}.ortho-building-selector>div{grid-template-columns:repeat(2,minmax(0,1fr))}.ortho-status-dashboard{grid-template-columns:220px minmax(0,1fr)}.ortho-wall-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ortho-wall-list button{border-right:1px solid #c8d2d7}.ortho-preview-panel{min-height:720px}.ortho-bottom-workspace{max-height:none}.ortho-bottom-body.has-actions{grid-template-columns:minmax(0,1fr) 250px}}@media (max-width:620px){.ortho-dashboard-main{padding:20px 12px 32px}.ortho-dashboard-heading{flex-direction:column;align-items:stretch;gap:14px}.ortho-dashboard-heading>span{justify-content:center;align-self:stretch}.ortho-dashboard-building-card>header{flex-direction:column;align-items:stretch;gap:12px}.ortho-dashboard-building-card header button{width:100%}.ortho-dashboard-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.ortho-header-actions .flight-route-list-button{min-width:42px;padding:0 11px}.ortho-back-label{display:none}.ortho-back-icon{font-size:20px;line-height:1;display:inline}.ortho-flow{grid-template-columns:1fr;padding:0}.ortho-flow li{border-bottom:1px solid #bdc9cf;border-right:0;min-height:54px}.ortho-flow li:after{display:none}.ortho-status-dashboard{grid-template-columns:1fr}.ortho-dashboard-summary{border-bottom:1px solid #bac6ca;border-right:0}.ortho-dashboard-statuses button{flex-basis:108px}.ortho-wall-list{grid-template-columns:1fr}.ortho-preview-panel{grid-template-rows:auto minmax(400px,1fr) auto auto;min-height:960px}.ortho-preview-toolbar{flex-direction:column;align-items:stretch;padding:10px 12px}.ortho-preview-toolbar .flight-view-switch{align-self:stretch}.ortho-preview-toolbar .flight-view-switch button{flex:1}.ortho-coordinate-axis{display:none}.ortho-wall-geometry{height:76%;min-height:310px}.ortho-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ortho-metric-strip>span:nth-child(2){border-right:0}.ortho-metric-strip>span:nth-child(-n+2){border-bottom:1px solid #ffffff1f}.ortho-bottom-header{flex-direction:column;align-items:flex-start;gap:5px}.ortho-bottom-header>small{text-align:left}.ortho-bottom-body.has-actions,.ortho-upload-layout{grid-template-columns:1fr}.ortho-upload-layout .ortho-source-card{grid-column:auto}.ortho-action-stack{border-top:1px solid #c8d2d7;border-left:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
