@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.tw-scope *,.tw-scope *:before,.tw-scope *:after{border-width:0;border-style:solid;border-color:hsl(var(--border))}.tw-scope button,.tw-scope label{color:hsl(var(--foreground))}.tw-scope button{all:unset;box-sizing:border-box;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;border-width:0;border-style:solid;border-color:hsl(var(--border));color:hsl(var(--foreground))}.tw-scope button:disabled{cursor:not-allowed}.tw-scope input{all:unset;box-sizing:border-box;font-family:inherit;width:100%;display:block;border-width:0;border-style:solid;border-color:hsl(var(--border));color:hsl(var(--foreground))}.tw-scope input::-moz-placeholder{color:hsl(var(--muted-foreground));opacity:1}.tw-scope input::placeholder{color:hsl(var(--muted-foreground));opacity:1}.tw-scope input:-webkit-autofill,.tw-scope input:-webkit-autofill:hover,.tw-scope input:-webkit-autofill:focus{-webkit-text-fill-color:hsl(var(--foreground));-webkit-box-shadow:0 0 0 1000px hsl(var(--background)) inset;caret-color:hsl(var(--foreground))}.tw-scope h1,.tw-scope h2,.tw-scope p,.tw-scope label{margin:0;padding:0}.tw-scope svg{display:block}.tw-scope form{margin:0}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.tw-scope .pointer-events-none{pointer-events:none}.tw-scope .\!visible{visibility:visible!important}.tw-scope .visible{visibility:visible}.tw-scope .invisible{visibility:hidden}.tw-scope .collapse{visibility:collapse}.tw-scope .static{position:static}.tw-scope .fixed{position:fixed}.tw-scope .absolute{position:absolute}.tw-scope .relative{position:relative}.tw-scope .sticky{position:sticky}.tw-scope .inset-0{inset:0}.tw-scope .left-3{left:.75rem}.tw-scope .right-3{right:.75rem}.tw-scope .top-1\/2{top:50%}.tw-scope .-mb-8{margin-bottom:-2rem}.tw-scope .mb-1\.5{margin-bottom:.375rem}.tw-scope .mb-10{margin-bottom:2.5rem}.tw-scope .mb-2{margin-bottom:.5rem}.tw-scope .mb-5{margin-bottom:1.25rem}.tw-scope .mb-6{margin-bottom:1.5rem}.tw-scope .mb-7{margin-bottom:1.75rem}.tw-scope .mt-6{margin-top:1.5rem}.tw-scope .mt-7{margin-top:1.75rem}.tw-scope .block{display:block}.tw-scope .inline-block{display:inline-block}.tw-scope .inline{display:inline}.tw-scope .flex{display:flex}.tw-scope .inline-flex{display:inline-flex}.tw-scope .table{display:table}.tw-scope .grid{display:grid}.tw-scope .contents{display:contents}.tw-scope .hidden{display:none}.tw-scope .h-10{height:2.5rem}.tw-scope .h-11{height:2.75rem}.tw-scope .h-9{height:2.25rem}.tw-scope .min-h-screen{min-height:100vh}.tw-scope .w-10{width:2.5rem}.tw-scope .w-11{width:2.75rem}.tw-scope .w-full{width:100%}.tw-scope .max-w-\[380px\]{max-width:380px}.tw-scope .max-w-md{max-width:28rem}.tw-scope .max-w-sm{max-width:24rem}.tw-scope .shrink{flex-shrink:1}.tw-scope .shrink-0{flex-shrink:0}.tw-scope .grow{flex-grow:1}.tw-scope .border-collapse{border-collapse:collapse}.tw-scope .-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-scope .animate-spin{animation:spin 1s linear infinite}.tw-scope .resize{resize:both}.tw-scope .columns-2{-moz-columns:2;columns:2}.tw-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-scope .flex-col{flex-direction:column}.tw-scope .items-center{align-items:center}.tw-scope .justify-center{justify-content:center}.tw-scope .justify-between{justify-content:space-between}.tw-scope .gap-1{gap:.25rem}.tw-scope .gap-2{gap:.5rem}.tw-scope .gap-3{gap:.75rem}.tw-scope :is(.space-y-1\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.tw-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.tw-scope .overflow-hidden{overflow:hidden}.tw-scope .whitespace-nowrap{white-space:nowrap}.tw-scope .rounded-lg{border-radius:var(--radius)}.tw-scope .rounded-md{border-radius:calc(var(--radius) - 2px)}.tw-scope .rounded-xl{border-radius:.75rem}.tw-scope .border{border-width:1px}.tw-scope .border-t{border-top-width:1px}.tw-scope .border-border{border-color:hsl(var(--border))}.tw-scope .border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.tw-scope .border-input{border-color:hsl(var(--input))}.tw-scope .border-primary\/30{border-color:hsl(var(--primary) / .3)}.tw-scope .bg-background{background-color:hsl(var(--background))}.tw-scope .bg-card{background-color:hsl(var(--card))}.tw-scope .bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.tw-scope .bg-muted{background-color:hsl(var(--muted))}.tw-scope .bg-primary{background-color:hsl(var(--primary))}.tw-scope .bg-primary\/15{background-color:hsl(var(--primary) / .15)}.tw-scope .bg-sky-500\/10{background-color:#0ea5e91a}.tw-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.tw-scope .from-slate-950{--tw-gradient-from: #020617 var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.tw-scope .via-slate-900{--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #0f172a var(--tw-gradient-via-position), var(--tw-gradient-to)}.tw-scope .to-slate-950{--tw-gradient-to: #020617 var(--tw-gradient-to-position)}.tw-scope .p-1{padding:.25rem}.tw-scope .p-14{padding:3.5rem}.tw-scope .p-4{padding:1rem}.tw-scope .p-6{padding:1.5rem}.tw-scope .px-2{padding-left:.5rem;padding-right:.5rem}.tw-scope .px-3{padding-left:.75rem;padding-right:.75rem}.tw-scope .px-4{padding-left:1rem;padding-right:1rem}.tw-scope .px-8{padding-left:2rem;padding-right:2rem}.tw-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.tw-scope .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.tw-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.tw-scope .pb-2{padding-bottom:.5rem}.tw-scope .pl-9{padding-left:2.25rem}.tw-scope .pr-9{padding-right:2.25rem}.tw-scope .pt-0{padding-top:0}.tw-scope .text-center{text-align:center}.tw-scope .text-2xl{font-size:1.5rem;line-height:2rem}.tw-scope .text-\[15px\]{font-size:15px}.tw-scope .text-\[17px\]{font-size:17px}.tw-scope .text-\[26px\]{font-size:26px}.tw-scope .text-\[42px\]{font-size:42px}.tw-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.tw-scope .text-sm{font-size:.875rem;line-height:1.25rem}.tw-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.tw-scope .text-xs{font-size:.75rem;line-height:1rem}.tw-scope .font-medium{font-weight:500}.tw-scope .font-semibold{font-weight:600}.tw-scope .uppercase{text-transform:uppercase}.tw-scope .capitalize{text-transform:capitalize}.tw-scope .italic{font-style:italic}.tw-scope .ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tw-scope .leading-\[1\.1\]{line-height:1.1}.tw-scope .leading-none{line-height:1}.tw-scope .leading-relaxed{line-height:1.625}.tw-scope .leading-tight{line-height:1.25}.tw-scope .tracking-tight{letter-spacing:-.025em}.tw-scope .text-card-foreground{color:hsl(var(--card-foreground))}.tw-scope .text-destructive{color:hsl(var(--destructive))}.tw-scope .text-foreground{color:hsl(var(--foreground))}.tw-scope .text-muted-foreground{color:hsl(var(--muted-foreground))}.tw-scope .text-primary{color:hsl(var(--primary))}.tw-scope .text-primary-foreground{color:hsl(var(--primary-foreground))}.tw-scope .text-sky-100\/60{color:#e0f2fe99}.tw-scope .text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.tw-scope .text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.tw-scope .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.tw-scope .underline-offset-4{text-underline-offset:4px}.tw-scope .opacity-10{opacity:.1}.tw-scope .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tw-scope .shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tw-scope .shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tw-scope .outline{outline-style:solid}.tw-scope .ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.tw-scope .grayscale{--tw-grayscale: grayscale(100%);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)}.tw-scope .invert{--tw-invert: invert(100%);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)}.tw-scope .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)}.tw-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tw-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tw-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-scope .\[out\:json\]{out:json}.tw-scope .\[timeout\:60\]{timeout:60}.tw-scope{--background: 0 0% 100%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--border: 215 20% 80%;--input: 215 20% 78%;--ring: 217 91% 60%;--primary: 217 91% 55%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 42%;--accent: 210 40% 96%;--accent-foreground: 222 47% 11%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--radius: .5rem}.tw-scope.dark{--background: 222 47% 6%;--foreground: 210 40% 98%;--card: 222 44% 9%;--card-foreground: 210 40% 98%;--border: 217 25% 28%;--input: 217 25% 30%;--ring: 217 91% 65%;--primary: 217 91% 60%;--primary-foreground: 0 0% 100%;--secondary: 217 33% 15%;--secondary-foreground: 210 40% 98%;--muted: 217 33% 15%;--muted-foreground: 215 20% 65%;--accent: 217 33% 15%;--accent-foreground: 210 40% 98%;--destructive: 0 63% 45%;--destructive-foreground: 0 0% 100%}.tw-glow-shield{box-shadow:0 0 0 1px #38bdf866,0 0 20px 3px #38bdf880,0 0 60px 12px #38bdf840,inset 0 0 20px #38bdf833}.tw-glow-text{text-shadow:0 0 30px rgba(56,189,248,.5)}.tw-scope .placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.tw-scope .placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.tw-scope .hover\:bg-accent:hover{background-color:hsl(var(--accent))}.tw-scope .hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.tw-scope .hover\:text-foreground:hover{color:hsl(var(--foreground))}.tw-scope .hover\:underline:hover{text-decoration-line:underline}.tw-scope .hover\:opacity-90:hover{opacity:.9}.tw-scope .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.tw-scope .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.tw-scope .focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.tw-scope .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.tw-scope .disabled\:pointer-events-none:disabled{pointer-events:none}.tw-scope .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.tw-scope .disabled\:opacity-50:disabled{opacity:.5}.tw-scope :is(.peer:disabled~.peer-disabled\:cursor-not-allowed){cursor:not-allowed}.tw-scope :is(.peer:disabled~.peer-disabled\:opacity-70){opacity:.7}@media(min-width:640px){.tw-scope .sm\:p-10{padding:2.5rem}}@media(min-width:1024px){.tw-scope .lg\:flex{display:flex}.tw-scope .lg\:hidden{display:none}.tw-scope .lg\:w-1\/2{width:50%}}:root{color-scheme:dark;font-family:Roboto,Google Sans,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #0B1219;--bg2: #0F1A24;--bg3: #152030;--bg4: #1A2A3C;--panel: #0F1A24;--panel-border: #1E3050;--sidebar: #0F1A24;--activity: #080F17;--frame: #04070B;--canvas-bg: #070D14;--text: #E8EDF2;--text-dim: #8EA5BE;--text-muted: #5A7490;--primary: #2F6FED;--primary-soft: rgba(47,111,237,.14);--primary-rgb: 47,111,237;--accent: #003865;--accent-soft: rgba(0,56,101,.18);--cyan: #1E9DB8;--cyan-soft: rgba(30,157,184,.14);--green: #2E9E5A;--yellow: #C97B1A;--red: #E03333;--violet: #8B5CF6;--orange: #D4631E;--statusbar-bg: #2F6FED;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-pill: 20px;--fs-xs: 12px;--fs-sm: 13.5px;--fs-base: 14.5px;--fs-md: 16.5px;--fs-lg: 20px;--fs-xl: 27px;--bg-secondary: var(--bg3);--bg1: var(--bg2);--surface-2: var(--bg3);--border: var(--panel-border);--bg-hover: var(--bg4);--hover: var(--bg4);--text-primary: var(--text);--text-secondary:var(--text-dim);--font-mono: "JetBrains Mono", "Geist Mono", "SFMono-Regular", Consolas, monospace;--font-ui: "Roboto", "Google Sans", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}button,select,input{font:inherit}button{cursor:pointer}.appTooltip{position:fixed;z-index:100000;max-width:min(320px,calc(100vw - 24px));padding:7px 9px;border:1px solid rgba(142,165,190,.3);border-radius:6px;background:#080f17f5;color:#f8fafc;box-shadow:0 10px 28px #0000006b;font-size:11px;font-weight:650;line-height:1.35;pointer-events:none;transform:translate(-50%);white-space:normal;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.appTooltip.top{transform:translate(-50%,-100%)}.appTooltip:after{content:"";position:absolute;left:50%;width:8px;height:8px;background:#080f17f5;border-right:1px solid rgba(142,165,190,.3);border-bottom:1px solid rgba(142,165,190,.3);transform:translate(-50%) rotate(45deg)}.appTooltip.bottom:after{top:-5px;transform:translate(-50%) rotate(225deg)}.appTooltip.top:after{bottom:-5px}.authPage{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);overflow:hidden}.authBg{position:absolute;inset:0;background-image:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(30,157,184,.2) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(0,56,101,.22) 0%,transparent 60%),linear-gradient(rgba(30,48,80,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(30,48,80,.4) 1px,transparent 1px);background-size:100% 100%,100% 100%,28px 28px,28px 28px;pointer-events:none}.authCard{position:relative;width:100%;max-width:420px;margin:24px;padding:36px 32px;border:1px solid var(--panel-border);border-radius:12px;background:#161b22f0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 80px #000000a6,0 0 0 1px #1e9db824}.authLogo{display:flex;align-items:center;gap:14px;margin-bottom:28px}.authLogoIcon{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(30,157,184,.4);border-radius:10px;background:#1e9db81f;color:var(--cyan);flex-shrink:0}.authAppName{margin:0;color:var(--text);font-size:20px;font-weight:700;letter-spacing:-.01em}.authAppSub{margin:3px 0 0;color:var(--text-dim);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:var(--r-md);background:var(--bg3);margin-bottom:24px;border:1px solid var(--panel-border)}.authTabs button{padding:8px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-dim);font-size:13px;font-weight:600;transition:all .15s}.authTabs button.active{border-color:var(--panel-border);background:var(--panel);color:var(--text)}.authForm{display:flex;flex-direction:column;gap:16px}.authError{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(248,81,73,.4);border-radius:var(--r-md);background:#f8514914;color:#ffa198;font-size:12px;line-height:1.4;animation:authErrorIn .2s ease}@keyframes authErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.authField{display:flex;flex-direction:column;gap:6px}.authField label{color:var(--text-dim);font-size:12px;font-weight:600;letter-spacing:.02em}.authInputWrap{position:relative;display:flex;align-items:center}.authInputIcon{position:absolute;left:11px;color:var(--text-muted);pointer-events:none}.authInputWrap input{width:100%;padding:9px 36px 9px 34px;border:1px solid var(--panel-border);border-radius:var(--r-md);background:var(--bg3);color:var(--text);font-size:13px;outline:none;transition:border-color .15s}.authInputWrap input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #1e9db829}.authInputWrap input::-moz-placeholder{color:var(--text-muted)}.authInputWrap input::placeholder{color:var(--text-muted)}.authSelectWrap{position:relative}.authSelect{width:100%;padding:9px 36px 9px 34px;border:1px solid var(--panel-border);border-radius:var(--r-md);background:var(--bg3);color:var(--text);font-size:13px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .15s}.authSelect:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #1e9db829}.authSelectArrow{position:absolute;right:11px;color:var(--text-muted);pointer-events:none}.authPwToggle{position:absolute;right:10px;display:flex;align-items:center;padding:4px;border:none;background:none;color:var(--text-muted);transition:color .15s}.authPwToggle:hover{color:var(--text)}.authSubmit{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:none;border-radius:var(--r-pill);background:linear-gradient(135deg,#2fa8c4,#1e6fa8);color:#fff;font-size:var(--fs-base);font-weight:700;transition:opacity .15s,transform 80ms,box-shadow .15s;margin-top:4px;box-shadow:0 4px 16px #1e9db847}.authSubmit:hover:not(:disabled){opacity:.92;box-shadow:0 6px 20px #1e9db85c}.authSubmit:active:not(:disabled){transform:scale(.99)}.authSubmit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.authSpinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.authDivider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:12px}.authDivider:before,.authDivider:after{content:"";flex:1;height:1px;background:var(--panel-border)}.authGuest{padding:10px;border:1px solid var(--panel-border);border-radius:var(--r-pill);background:transparent;color:var(--text-dim);font-size:var(--fs-base);font-weight:600;transition:all .15s}.authGuest:hover{border-color:var(--cyan);background:var(--cyan-soft);color:var(--cyan)}.authFieldLabelRow{display:flex;align-items:center;justify-content:space-between;gap:8px}.authForgotLink{background:none;border:none;padding:0;cursor:pointer;color:var(--cyan);font-size:var(--fs-xs);font-weight:600}.authForgotLink:hover{text-decoration:underline}.authSocialRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.authSocialBtn{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;border:1px solid var(--panel-border);border-radius:var(--r-pill);background:var(--bg3);color:var(--text);font-size:var(--fs-sm);font-weight:600;transition:border-color .15s,background .15s}.authSocialBtn:hover{border-color:var(--cyan);background:var(--cyan-soft)}.ideRoot{display:grid;grid-template-rows:56px minmax(0,1fr) 22px;height:100vh;overflow:hidden;background:var(--frame);color:var(--text)}.ideTitleBar{display:flex;align-items:center;gap:18px;height:56px;padding:0 20px;background:var(--bg2);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.disciplineBar{display:flex;align-items:center;gap:2px;height:36px;padding:0 10px;background:var(--bg2);border-bottom:1px solid var(--panel-border);flex-shrink:0}.discTab{display:flex;align-items:center;gap:6px;padding:5px 14px;border:none;background:none;cursor:pointer;color:var(--text-dim);font-size:12px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;border-radius:0;white-space:nowrap}.discTab:hover{color:var(--text)}.discTab.active{color:var(--disc-color, var(--primary));border-bottom-color:var(--disc-color, var(--primary));font-weight:700}.discBarScope{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-right:4px}.discBarSpacer{flex:1}.discBarHint{font-size:10px;color:var(--text-dim);opacity:.6}.discBadge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:8px;margin-left:auto;flex-shrink:0}.ideTitleBrand{display:flex;align-items:center;gap:10px;color:var(--primary);font-size:20px;font-weight:800;letter-spacing:-.015em;flex-shrink:0}.ideTitleBreadcrumb{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13.5px;flex:1;overflow:hidden;padding-left:4px;margin-left:4px;border-left:1px solid var(--panel-border)}.ideTitleBreadcrumb span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumbActive{color:var(--text);font-weight:500}.ideTitleSearch{display:flex;align-items:center;gap:8px;flex:1;max-width:460px;margin:0 auto;background:var(--bg3);border:1px solid var(--panel-border);border-radius:var(--r-pill);padding:8px 16px;color:var(--text-muted)}.ideTitleSearch:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-soft)}.ideTitleSearch input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:var(--fs-base);font-family:inherit}.ideTitleSearch input::-moz-placeholder{color:var(--text-muted)}.ideTitleSearch input::placeholder{color:var(--text-muted)}.ideTitleActions{display:flex;align-items:center;gap:10px;flex-shrink:0}.titleBtn{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border:1px solid var(--panel-border);border-radius:20px;background:transparent;color:var(--text-dim);font-size:12.5px;font-weight:600;transition:all .12s}.titleBtn:hover{border-color:#58a6ff66;color:var(--text);background:var(--primary-soft)}.titleBtn.primary{border-color:#58a6ff80;background:#58a6ff1f;color:var(--primary)}.titleBtn.primary:hover{background:#58a6ff33}.titleBtn:disabled{opacity:.4;cursor:not-allowed}.titleUserChip{display:flex;align-items:center;gap:7px;padding:5px 9px 5px 12px;border:1px solid var(--panel-border);border-radius:20px;background:var(--bg3);color:var(--text-dim);font-size:12.5px}.titleIconBtn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:none;color:var(--text-dim);cursor:pointer;transition:background .12s,color .12s}.titleIconBtn:hover{background:var(--bg-hover, var(--hover));color:var(--text)}.titleBellBadge{position:absolute;top:3px;right:3px;min-width:15px;height:15px;padding:0 3px;border-radius:20px;background:var(--red, #f85149);color:#fff;font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--bg2)}.titleNotifDropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:201;width:360px;max-width:90vw;background:var(--bg2);border:1px solid var(--panel-border);border-radius:12px;box-shadow:0 16px 40px #00000073;overflow:hidden}.titleNotifHeader{padding:14px 16px;font-size:13px;font-weight:700;color:var(--text);border-bottom:1px solid var(--panel-border)}.titleNotifRow{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--panel-border)}.titleNotifRow:last-child{border-bottom:none}.signOutBtn{display:flex;align-items:center;padding:2px;border:none;background:none;color:var(--text-muted);margin-left:2px;transition:color .12s}.signOutBtn:hover{color:var(--red)}.titleAvatarBtn{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--cyan) 0%,var(--accent) 100%);transition:box-shadow .15s}.titleAvatarBtn:hover{box-shadow:0 0 0 3px var(--cyan-soft)}.titleAvatarMenu{position:absolute;top:calc(100% + 10px);right:0;z-index:201;width:240px;background:var(--bg2);border:1px solid var(--panel-border);border-radius:var(--r-xl);box-shadow:0 16px 40px #00000073;overflow:hidden;padding:6px}.titleAvatarMenuHeader{display:flex;align-items:center;gap:10px;padding:10px 8px}.titleAvatarMenuAvatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--cyan) 0%,var(--accent) 100%)}.titleAvatarMenuNames{min-width:0}.titleAvatarMenuName{font-size:var(--fs-base);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.titleAvatarMenuEmail{font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.titleAvatarMenuRole{margin:2px 8px 6px;padding:6px 8px;border-radius:var(--r-md);background:var(--bg3);color:var(--text-dim);font-size:var(--fs-xs);font-weight:600;text-transform:capitalize}.titleAvatarMenuSignOut{width:100%;display:flex;align-items:center;gap:8px;padding:9px 8px;border:none;border-radius:var(--r-md);margin-top:4px;background:none;color:var(--text-dim);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background .15s,color .15s}.titleAvatarMenuSignOut:hover{background:#f781661a;color:#f78166}.ideLayout{display:grid;grid-template-columns:var(--bar-w, 48px) minmax(0,1fr);min-height:0;overflow:hidden;background:var(--frame);gap:10px;padding:10px}.ideLayout.sidebarOpen{grid-template-columns:var(--bar-w, 48px) var(--sidebar-w, 264px) minmax(0,1fr)}.ideLayout.aiOpen{grid-template-columns:var(--bar-w, 48px) minmax(0,1fr) var(--ai-w, 360px)}.ideLayout.sidebarOpen.aiOpen{grid-template-columns:var(--bar-w, 48px) var(--sidebar-w, 264px) minmax(0,1fr) var(--ai-w, 360px)}.aiPanel{display:flex;flex-direction:column;min-width:0;height:100%;background:var(--bg2);border-left:1px solid var(--panel-border);overflow:hidden}.aiPanel.expanded{position:fixed;top:38px;left:var(--bar-w, 48px);right:0;bottom:22px;width:auto;z-index:500;border-left:none}.aiPanelHeader{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--panel-border);background:var(--bg3);flex-shrink:0}.aiPanelHeaderIcon{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary, #58a6ff),#8c6cff);color:#fff}.aiPanelHeaderTitle{flex:1;min-width:0}.aiPanelHeaderName{font-size:13px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aiPanelHeaderSub{font-size:10.5px;color:var(--text-dim)}.aiPanelIconBtn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:none;border-radius:6px;background:none;cursor:pointer;color:var(--text-dim);transition:background .12s,color .12s}.aiPanelIconBtn:hover{background:var(--bg-hover, var(--hover));color:var(--text)}.aiPanelSessions{flex:1;display:flex;flex-direction:column;min-height:0}.aiPanelSessionsHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;flex-shrink:0}.aiPanelSessionsList{flex:1;overflow-y:auto;padding:0 8px}.aiPanelEmpty{padding:12px;font-size:12.5px;color:var(--text-dim)}.aiPanelSessionRow{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:none;background:none;border-radius:6px;color:var(--text);font-size:12.5px;text-align:left;cursor:pointer}.aiPanelSessionRow:hover{background:var(--bg-hover, var(--hover))}.aiPanelSessionTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aiPanelComposer{display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid var(--panel-border);flex-shrink:0}.aiPanelComposer textarea{resize:none;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:13px;outline:none;font-family:inherit}.aiPanelComposerActions{display:flex;justify-content:flex-end}.aiPanelMessages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px}.aiPanelMsg{align-self:flex-start;max-width:85%;padding:9px 12px;font-size:13px;line-height:1.5;background:var(--bg3);color:var(--text);border-radius:12px 12px 12px 3px}.aiPanelMsg.user{align-self:flex-end;background:var(--primary, #58a6ff);color:#fff;border-bottom-left-radius:12px;border-bottom-right-radius:3px}.aiPanelConfirmRow{display:flex;gap:8px;margin-top:8px}.aiPanelConfirmBtn,.aiPanelCancelBtn{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent}.aiPanelConfirmBtn{background:var(--red, #f85149);color:#fff}.aiPanelConfirmBtn:hover{opacity:.9}.aiPanelCancelBtn{background:transparent;border-color:var(--border);color:var(--text-dim)}.aiPanelCancelBtn:hover{color:var(--text)}.aiPanelConfirmedNote{margin-top:6px;font-size:11.5px;color:var(--text-dim);font-style:italic}.aiPanelInputRow{display:flex;gap:8px;padding:10px;border-top:1px solid var(--panel-border);flex-shrink:0}.aiPanelInputRow textarea{flex:1;resize:none;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);font-size:13px;outline:none;font-family:inherit;max-height:90px}.aiPanelSendBtn{width:36px;height:36px;border-radius:8px;border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--primary, #58a6ff);color:#fff}.aiPanelSendBtn:disabled{background:var(--bg3);color:var(--text-dim);cursor:default}.activityBar{display:flex;flex-direction:column;align-items:center;padding:10px 0;background:var(--activity);border:1px solid var(--panel-border);border-radius:var(--r-xl);width:var(--bar-w, 48px);overflow-x:hidden;overflow-y:auto;transition:width .2s ease;flex-shrink:0}.activityBar::-webkit-scrollbar{width:0px}.activityGroup{display:grid;width:100%;gap:1px;padding:4px 0 6px}.activityGroup+.activityGroup{position:relative;margin-top:9px;padding-top:13px}.activityGroup+.activityGroup:before{content:"";position:absolute;top:0;left:10px;right:10px;height:1px;background:var(--panel-border)}.activityGroupLabel{min-height:12px;padding:2px 8px 3px;color:var(--text-muted);font-size:8px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase}.activityBar:not(.expanded) .activityGroupLabel{width:18px;min-height:1px;margin:2px auto 4px;padding:0;color:transparent}.activityBtn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:48px;height:52px;border:none;background:none;color:var(--text-muted);transition:color .13s}.activityBtn:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:0;background:var(--primary);border-radius:0 2px 2px 0;transition:height .13s}.activityBtn:hover{color:var(--text-dim)}.activityBtn.active{color:var(--text)}.activityBtn.active:before{height:24px}.activityBtn.domain.active:before{background:var(--cyan)}.activityBadge{position:absolute;top:7px;right:7px;min-width:15px;height:15px;padding:0 4px;border:1px solid var(--bg);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:8px;font-weight:900;line-height:1}.activityBadge.warn{background:var(--yellow);color:#111827}.activityBtnLabel{font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1}.activityBtnDomain{max-width:96px;overflow:hidden;color:var(--text-muted);font-size:8px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.activitySpacer{flex:1}.scopePill{margin-left:auto;padding:2px 7px;border:1px solid var(--panel-border);border-radius:999px;color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.scopePill.domain{border-color:#06b6d459;background:#06b6d414;color:var(--cyan)}.scopePill.shared{border-color:#58a6ff59;background:#58a6ff14;color:var(--primary)}.ideSidebar{display:grid;grid-template-rows:38px minmax(0,1fr);min-height:0;border:1px solid var(--panel-border);background:var(--sidebar);overflow:hidden;border-radius:var(--r-xl)}.sidebarHeader{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:38px;border-bottom:1px solid var(--panel-border);color:var(--text-muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0}.sidebarClose{display:flex;align-items:center;padding:3px;border:none;background:none;color:var(--text-muted);border-radius:var(--r-sm);transition:all .12s}.sidebarClose:hover{color:var(--text);background:#ffffff0f}.sidebarContent{display:flex;flex-direction:column;gap:10px;padding:10px;overflow:auto;min-height:0}.ideCanvas{display:flex;flex-direction:column;min-height:0;background:var(--canvas-bg);overflow:hidden;border:1px solid var(--panel-border);border-radius:var(--r-xl);box-shadow:0 2px 14px #0000002e}.canvasToolbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:36px;border-bottom:1px solid var(--panel-border);background:var(--bg2);gap:12px;flex-shrink:0;position:relative;z-index:10}.canvasViewToggle{display:flex;gap:2px;padding:3px;border-radius:var(--r-sm);background:var(--bg3);border:1px solid var(--panel-border)}.canvasViewToggle button{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:600;transition:all .12s}.canvasViewToggle button:hover{color:var(--text)}.canvasViewToggle button.active{border-color:var(--panel-border);background:var(--panel);color:var(--text)}.canvasToolbarRight{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:thin}.canvasFileName{color:var(--text-muted);font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvasTool{display:flex;align-items:center;padding:4px;border:1px solid var(--panel-border);border-radius:var(--r-sm);background:transparent;color:var(--text-muted);transition:all .12s}.canvasTool:hover{color:var(--text);background:var(--bg3)}.canvasBody{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.canvasErrorBanner{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid rgba(248,81,73,.35);background:#f851491a;color:#ffa198;font-size:12px;line-height:1.4;animation:authErrorIn .2s ease}.canvasErrorBanner svg{flex-shrink:0}.canvasErrorBanner span{flex:1}.canvasErrorDismiss{display:flex;align-items:center;padding:2px;border:none;background:none;color:#ffa198;opacity:.6;transition:opacity .12s;flex-shrink:0}.canvasErrorDismiss:hover{opacity:1}.canvasWarnBanner{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid rgba(210,153,34,.35);background:#d299221a;color:#e3b341;font-size:12px;line-height:1.4;animation:authErrorIn .2s ease}.canvasWarnBanner svg{flex-shrink:0}.canvasWarnBanner span{flex:1}.splitPane{display:flex;width:100%;height:100%}.splitHalf{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.splitLabel{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--panel-border);background:var(--bg2);color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;flex-shrink:0}.splitDivider{width:1px;background:var(--panel-border);flex-shrink:0}.splitHalf .threeShell,.splitHalf .stage2dWrap{flex:1;min-height:0}.threeShell{position:relative;flex:1;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--bg)}.threeCanvas{position:absolute;inset:0;width:100%;height:100%}.threeCanvas canvas{display:block;width:100%!important;height:100%!important}.orbitHint{position:absolute;left:12px;bottom:12px;padding:6px 10px;border:1px solid var(--panel-border);border-radius:var(--r-sm);background:#0000008c;color:var(--text-muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stage2dWrap{width:100%;height:100%;overflow:auto;background:var(--bg2);display:flex;align-items:flex-start;justify-content:center;padding:20px}.stage2dWrap.selectMode,.stage2dWrap.selectMode .stage,.stage2dWrap.deviceMode,.stage2dWrap.deviceMode .stage{cursor:default}.stage2dWrap.analysisAreaMode,.stage2dWrap.analysisAreaMode .stage{cursor:crosshair}.stage2dWrap.panMode,.stage2dWrap.panMode .stage{cursor:grab}.stage2dWrap.panning,.stage2dWrap.panning .stage{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stageZoomFrame{position:relative;flex-shrink:0}.stage{position:relative;overflow:hidden;background:#fff;box-shadow:0 4px 32px #00000080;flex-shrink:0}.drawingImage,.drawingSvg{position:absolute;inset:0;display:block;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;z-index:1}.drawingImage.hidden{opacity:0;pointer-events:none}.drawingImage.visible{opacity:1;transition:opacity .2s ease-in-out}.drawingFallback{position:absolute;inset:0;display:grid;place-content:center;place-items:center;gap:8px;background:#f8faf7;color:#64748b;font-size:13px;z-index:2}.drawingFallback.error{background:#fef2f2;color:#991b1b}.fovLayer,.wallDoorLayer,.detectionDebugSvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.detectionDebugSvg{z-index:10}.wallDoorLayerBack{z-index:20}.roomLayer{z-index:30}.zonesLayer{z-index:40}.linksLayer{z-index:50}.fovCoverageLayer{z-index:52}.wallDoorLayerFront{z-index:60}.wallDoorLayerFront.wallEditLayer{pointer-events:none}.wallEditLayer{pointer-events:auto}.marqueeRect{position:absolute;pointer-events:none;z-index:60}.marqueeRect--window{border:1px solid #4a9eff;background:#4a9eff1a}.marqueeRect--crossing{border:1px dashed #3ecf6e;background:#3ecf6e1a}.marqueeRect--analysisArea{border:2px dashed #22c55e;background:#22c55e14}.marqueeRect--crop{border:2px dashed #f59e0b;background:#f59e0b14}.cropRectOverlay{position:absolute;border:2px solid #f59e0b;background:#f59e0b0f;pointer-events:none;z-index:90}.cropRectLabel{position:absolute;bottom:4px;left:50%;transform:translate(-50%);background:#000000b3;color:#fbbf24;font-size:10px;padding:2px 6px;border-radius:4px;white-space:nowrap}.eyedropOverlay{position:absolute;inset:0;z-index:200;cursor:none;background:#6366f10d;border:2px dashed rgba(139,92,246,.4);border-radius:4px;pointer-events:all}.eyedropLens{position:fixed;z-index:9999;pointer-events:none;border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px #ffffffd9,0 6px 24px #0000008c;width:120px}.eyedropLensCanvas{display:block;width:120px;height:120px;image-rendering:pixelated;image-rendering:crisp-edges}.eyedropLensBar{display:flex;align-items:center;gap:7px;padding:5px 9px;background:#1a1a2e;font-size:11px;font-family:Courier New,monospace;font-weight:700;color:#e2e8f0;letter-spacing:.04em;height:28px}.eyedropLensSwatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.25);flex-shrink:0}.eyedropLensHex{font-size:11px}.autoSaveToast{position:absolute;bottom:12px;right:16px;background:#22c55e1f;border:1px solid #22c55e;color:#4ade80;font-size:11px;padding:4px 10px;border-radius:6px;display:flex;align-items:center;gap:4px;pointer-events:none;z-index:9999;animation:fadeInOut 2s ease forwards}.canvasSaveBtn{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:6px;border:1.5px solid rgba(88,166,255,.4);background:#58a6ff1a;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.canvasSaveBtn:hover{background:#58a6ff33;border-color:#58a6ffb3}.canvasSaveBtn.saved{border-color:#22c55e;background:#22c55e1f;color:#4ade80}.treeProjectHome{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--panel-border);transition:background .15s}.treeProjectHome:hover,.treeProjectHome.active{background:var(--primary-soft, rgba(196,18,48,.08))}.treeProjectHomeThumb{width:44px;height:44px;border-radius:var(--r-lg);overflow:hidden;flex-shrink:0;border:1.5px solid rgba(196,18,48,.25)}.treeProjectHomeThumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.treeProjectHomeThumbPlaceholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#c412301a;color:var(--primary)}.treeProjectHomeInfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.treeProjectHomeName{font-size:var(--fs-md);font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}.treeProjectHomeClient{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.treeProjectHomeIcon{color:var(--text-muted);flex-shrink:0}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0}}.stage2dWrap.cropMode{cursor:crosshair}.wallDoorLayer{mix-blend-mode:multiply}.wallDoorLayerFront{mix-blend-mode:normal}.wallLine{stroke:#111827e6;stroke-linecap:round}.wallLine.highConfidence{stroke:#111827eb}.wallLine.mediumConfidence{stroke:#364454bf}.wallLine.lowConfidence{stroke:#c87800bf;stroke-dasharray:8 5}.wallLine.reviewConfidence{stroke:#ea580cd1;stroke-dasharray:7 5}.wallLine.rejectedConfidence{stroke:#dc2626b8;stroke-dasharray:4 6}.wallLine.manual{stroke:#2563ebdb;stroke-dasharray:none}.wallLine.selected{stroke:#f85149f2;stroke-dasharray:none;filter:drop-shadow(0 0 4px rgba(248,81,73,.55))}.wallEditLayer .wallHitLine{stroke:transparent;fill:none;pointer-events:stroke;cursor:pointer}.wallEditLayer g{pointer-events:auto}.wallEditLayer g:hover .wallLine{stroke:#f85149e0}.wallLineDraft{stroke:#60a5fa;stroke-dasharray:8 6}.analysisAreaRect{fill:#22c55e0d;stroke:#22c55e;stroke-width:1.5;stroke-dasharray:10 5;pointer-events:none}.detectionDebugLayer{position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply}.detectionDebugImage{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:fill;object-fit:fill;opacity:.35;pointer-events:none}.detectionDebugImage--original{opacity:.18}.detectionDebugImage--textMask,.detectionDebugImage--fillMask{opacity:.2}.detectionDebugImage--segmentation{opacity:.18;mix-blend-mode:multiply}.debugCandidateLine,.debugCandidateRect{fill:none;stroke-width:1.5;stroke-dasharray:6 4}.debugCandidateRect.selected,.debugCandidateLine.selected{stroke-width:3;stroke-dasharray:none}.debugCandidateHit{fill:transparent;stroke:transparent;pointer-events:all}.debugAnalysisArea{fill:#22c55e0a;stroke:#22c55e;stroke-width:1.5;stroke-dasharray:8 5}.debugHeatPoint{fill:#0f766ecc}.debugHeatPoint.review{fill:#ea580cd1}.debugHeatPoint.rejected{fill:#dc2626d1}.debugReasonLabel{fill:#0f172aeb;font-size:10px;font-weight:700;paint-order:stroke;stroke:#ffffffe6;stroke-width:3;stroke-linejoin:round}.debugReasonLabel.review{fill:#9a3412f5}.debugReasonLabel.rejected{fill:#991b1bf5}.doorRect{fill:#f8717133;stroke:#b91c1ce6;stroke-width:3;stroke-dasharray:9 5}.doorIcon{cursor:pointer;pointer-events:auto}.doorIconHit{fill:transparent;stroke:none}.doorIconBadge{fill:#fffffff0;stroke:#0f172adb;stroke-width:1.6;filter:drop-shadow(0 1px 2px rgba(15,23,42,.28))}.doorIconFrame,.doorIconBase,.doorIconKnob{fill:none;stroke:#050505;stroke-linecap:round;stroke-linejoin:round}.doorIconFrame{stroke-width:1.9}.doorIconBase{stroke-width:2.3}.doorIconKnob{stroke-width:1.8}.doorIcon:hover .doorIconBadge,.doorIcon.selected .doorIconBadge{fill:#fff7ed;stroke:#f97316;stroke-width:2.1}.doorIcon:hover .doorIconFrame,.doorIcon:hover .doorIconBase,.doorIcon:hover .doorIconKnob,.doorIcon.selected .doorIconFrame,.doorIcon.selected .doorIconBase,.doorIcon.selected .doorIconKnob{stroke:#f97316}.doorIcon.selected .doorIconFrame{stroke-width:2.3}.doorIcon.selected .doorIconBase{stroke-width:2.7}.fovLayer polygon{fill:#06b6d433;stroke:#06b6d485;stroke-width:1.5}.fovPolygon.selected{fill:#06b6d447;stroke-width:2}.fovDirLine{stroke:#06b6d4f2;stroke-width:2}.zonesLayer,.linksLayer{pointer-events:none}.zoneInteractiveLayer .zonePoly,.zoneInteractiveLayer .zoneLine{cursor:move;pointer-events:visiblePainted}.zonePoly{fill:color-mix(in srgb,var(--zone-color, #22c55e) 18%,transparent);stroke:var(--zone-color, #22c55e);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.zonePoly.selected,.zoneLine.selected{stroke:#f85149f2;stroke-width:4;filter:drop-shadow(0 0 4px rgba(248,81,73,.45))}.zoneLine{fill:none;stroke:var(--zone-color, #22c55e);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.zoneLine.draft{stroke:#60a5fa;stroke-dasharray:7 5}.deviceLinkLine{stroke:#f59e0b;stroke-width:2;stroke-dasharray:6 4}.pendingLinkSource{fill:#f59e0b33;stroke:#f59e0b;stroke-width:2}.deviceLinkLabel{fill:#f59e0b;font-size:10px;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#000000a6;stroke-width:3;stroke-linejoin:round}.studioEmpty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px;background:var(--canvas-bg);text-align:center}.emptyStateIcon{color:var(--text-muted);opacity:.45}.projectLanding{position:relative;width:100%;height:100%;overflow:hidden;background:var(--canvas-bg)}.projectLandingCoverFull{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0}.projectLandingOverlay{position:absolute;bottom:0;left:0;right:0;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:32px 36px;background:linear-gradient(to top,#000000b8,#0000)}.projectCoverUpload{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:6px 14px;margin-top:10px;border-radius:20px;border:1.5px dashed rgba(255,255,255,.3);color:#ffffffa6;font-size:12px;transition:border-color .15s,color .15s,background .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.projectCoverUpload:hover{border-color:#58a6ffcc;color:#fff;background:#58a6ff2e}.projectCoverUploadHint,.projectCoverChangeHint{display:inline-flex;align-items:center;gap:5px}.projectLandingTitle{margin:0;font-size:28px;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.1;text-shadow:0 2px 8px rgba(0,0,0,.5)}.projectLandingClient{margin:0;font-size:14px;color:#ffffffbf;font-weight:500}.projectLandingAddress{margin:0;font-size:12px;color:#ffffff8c}.emptyState h2{margin:0;color:var(--text);font-size:22px;font-weight:700;letter-spacing:-.02em}.emptyState p{max-width:440px;margin:0;color:var(--text-dim);font-size:13px;line-height:1.5}.emptyHint{color:var(--text-muted)!important;font-size:11px!important;letter-spacing:.07em;text-transform:uppercase}.emptyImportBtn{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:9px 20px;border:1px solid rgba(88,166,255,.4);border-radius:var(--r-md);background:#58a6ff1a;color:var(--primary);font-size:13px;font-weight:700;transition:all .15s}.emptyImportBtn:hover{background:#58a6ff2e}.busyOverlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#0d1117a6;color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:13px;font-weight:600;z-index:10}.busyOverlay svg{color:var(--cyan);animation:spin .9s linear infinite}.ideStatusBar{display:flex;align-items:center;justify-content:space-between;padding:0 6px;height:22px;background:var(--statusbar-bg);color:#fff;font-size:11px;font-weight:500;overflow:hidden;flex-shrink:0}.statusLeft,.statusRight{display:flex;align-items:center;gap:0}.statusItem{display:flex;align-items:center;gap:4px;padding:0 8px;height:22px;white-space:nowrap;opacity:.92;transition:background .12s}.statusItem:hover{background:#ffffff1f;cursor:default}.statusBranch{font-weight:700}.statusOk{color:#7ee787}.statusWarn{color:#e3b341}.statusDanger{color:#ff7b72}.panel,.metricCard{border:1px solid var(--panel-border);border-radius:var(--r-lg);background:var(--panel)}.compactPanel,.metricCard{display:grid;gap:9px;padding:11px}.panelTitle{display:flex;align-items:center;gap:8px;color:var(--text);font-size:var(--fs-sm);font-weight:700}.panelTitle strong{margin-left:auto}.metricStack{display:grid;gap:10px}.eyebrow,.groupTitle{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.metricValue{color:var(--text);font-size:22px;font-weight:800;line-height:1;font-family:JetBrains Mono,Geist Mono,SFMono-Regular,Consolas,monospace}.metricDetail{color:var(--text-muted);font-size:11px}.metricCard.primary .metricValue,.metricRow svg,.groupTitle svg{color:var(--cyan)}.metricCard.ok .metricValue,.findingCounter.ok,.findingItem.pass svg{color:var(--green)}.metricCard.warn .metricValue,.findingCounter.warn,.findingItem.warning svg{color:var(--yellow)}.metricCard.danger .metricValue,.findingCounter.danger,.findingItem.fail svg{color:var(--red)}.progressTrack{height:4px;overflow:hidden;border-radius:999px;background:#ffffff0f}.progressFill{height:100%;border-radius:inherit;transition:width .3s ease}.progressFill.primary{background:var(--cyan)}.progressFill.ok{background:var(--green)}.progressFill.warn{background:var(--yellow)}.progressFill.danger{background:var(--red)}.metricRow,.keyValue{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:11px}.metricRow span{display:flex;align-items:center;gap:7px}.metricRow strong,.keyValue strong{color:var(--text);font-family:JetBrains Mono,Geist Mono,monospace;font-size:11px;font-weight:700;text-align:right}.notice{display:grid;grid-template-columns:16px 1fr;gap:8px;align-items:start;padding:8px 10px;border:1px solid rgba(210,153,34,.3);border-radius:var(--r-md);background:#d2992214;color:#e3b341;font-size:11px;line-height:1.4}.notice.danger{border-color:#f851494d;background:#f8514914;color:#ffa198}.labelChips{display:flex;flex-wrap:wrap;gap:5px}.labelChips span{max-width:120px;overflow:hidden;padding:3px 6px;border:1px solid var(--panel-border);border-radius:var(--r-sm);background:#0d111799;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.selectControl,.outlineButton,.miniButton{min-height:28px;border:1px solid var(--panel-border);border-radius:var(--r-sm);background:var(--bg3);color:var(--text);font-size:12px}.selectControl{padding:0 8px}.selectControl.fullWidth{width:100%}.outlineButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;font-size:12px;font-weight:600;transition:all .12s}.outlineButton:hover{border-color:#58a6ff66;background:var(--primary-soft);color:var(--primary)}.outlineButton.fullWidth{width:100%}.miniButton{min-height:22px;margin-left:auto;padding:0 7px;color:var(--text-muted);font-size:10px}.devicePalette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.devicePalette button{display:flex;align-items:center;justify-content:center;min-height:30px;gap:5px;border:1px solid var(--panel-border);border-radius:var(--r-md);background:var(--bg3);color:var(--text);font-size:11px;font-weight:600;transition:all .12s}.devicePalette button:hover{border-color:#06b6d466;background:var(--cyan-soft)}.devicePalette button.active{border-color:#06b6d4b3;background:var(--cyan-soft);color:var(--cyan)}.customDeviceRow{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:8px}.customDeviceRow .miniButton{margin-left:0;min-height:28px;display:inline-flex;align-items:center;gap:4px}.deviceGroups,.componentList,.roomList{display:grid;gap:8px}.deviceGroup,.findingGroup{display:grid;gap:6px}.groupTitle{display:flex;align-items:center;gap:6px}.deviceListItem{display:grid;gap:2px;width:100%;padding:7px 8px;border:1px solid var(--panel-border);border-radius:var(--r-md);background:var(--bg3);color:var(--text);text-align:left;transition:all .12s}.deviceListItem:hover{border-color:#06b6d44d}.deviceListItem.active,.selectedPanel{border-color:#06b6d480;background:var(--cyan-soft)}.deviceListItem span,.deviceListItem small{color:var(--text-muted);font-size:10px}.deviceListItem strong{font-size:11px}.findingSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.findingCounter{display:grid;place-items:center;gap:2px;padding:8px 4px;border:1px solid currentColor;border-radius:var(--r-md);background:#ffffff08}.findingCounter strong{font-size:18px;line-height:1;font-family:JetBrains Mono,monospace}.findingCounter span{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.findingItem{display:grid;grid-template-columns:16px 1fr;gap:8px;padding:9px;border:1px solid var(--panel-border);border-radius:var(--r-md);background:var(--panel);transition:border-color .12s}.findingItem:hover{border-color:#ffffff1f}.findingItem strong{display:block;color:var(--text);font-size:11px;line-height:1.3}.findingItem span{display:block;margin-top:2px;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.findingItem p{margin:4px 0 0;color:var(--text-dim);font-size:11px;line-height:1.35}.roomCoverage{display:grid;gap:4px}.roomCoverage div{display:flex;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:11px}.roomCoverage strong{color:var(--text)}.emptyMini{color:var(--text-muted);font-size:11px;line-height:1.4}.roomBox{position:absolute;display:grid;align-content:start;gap:4px;padding:5px;border:2px solid rgba(6,182,212,.8);background:#06b6d41a;transform-origin:top left}.roomBox.active{border-color:var(--yellow);background:#d299221a}.roomBox select{width:min(100%,120px);border:1px solid rgba(23,33,30,.25);border-radius:var(--r-sm);background:#ffffffeb;color:#17211e;font-size:10px}.roomBox span{max-width:100%;overflow:hidden;color:#075766;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.componentBox{position:absolute;z-index:70;display:grid;place-items:center;border:2px dashed var(--component-color);background:color-mix(in srgb,var(--component-color) 14%,transparent);color:var(--component-color);font-size:9px;font-weight:900;pointer-events:none}.componentBox span{max-width:100%;overflow:hidden;padding:1px 3px;border-radius:3px;background:#ffffffdb;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.ideLayout.sidebarOpen{grid-template-columns:var(--bar-w, 48px) 220px minmax(0,1fr)}}@media(max-width:700px){.ideTitleBreadcrumb{display:none}.ideLayout,.ideLayout.sidebarOpen{grid-template-columns:var(--bar-w, 48px) minmax(0,1fr)}.ideSidebar{position:absolute;top:74px;left:var(--bar-w, 48px);bottom:22px;width:260px;z-index:20;box-shadow:4px 0 20px #0006}.authCard{padding:28px 20px}}.aiPlaceBtn{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--bg2) 0%,var(--bg3) 100%);border:1px solid var(--panel-border);color:var(--primary);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.aiPlaceBtn:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 8px var(--primary-soft)}.aiPlaceBtn:disabled{opacity:.6;cursor:not-allowed}.aiPlaceBtn.busy svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.buildingTree{padding:6px 0 10px}.treeHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.treeAddBtn{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:3px 5px;border-radius:4px;display:flex;align-items:center}.treeAddBtn:hover{color:var(--text);background:var(--bg3)}.treeEmpty{display:flex;flex-direction:column;align-items:center;padding:28px 16px;gap:8px;color:var(--text-dim);text-align:center}.treeEmpty p{font-size:12px;margin:0;line-height:1.6}.treeEmptyBtn{display:flex;align-items:center;gap:4px;padding:5px 12px;border-radius:var(--r-sm);background:var(--bg3);border:1px solid var(--panel-border);color:var(--text);font-size:11px;cursor:pointer}.treeEmptyBtn:hover{background:var(--bg2)}.treeRow{display:flex;flex-direction:column;gap:4px;padding:8px 10px 8px 0;cursor:pointer;border-radius:var(--r-lg);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s ease}.treeRow:hover{background:var(--bg3)}.treeRow.active{background:var(--primary-soft)}.treeRowTop{display:flex;align-items:center;gap:8px}.treeRowActions{display:flex;align-items:center;gap:4px}.treeChevron{color:var(--text-dim);flex-shrink:0;transition:transform .15s;cursor:pointer;border-radius:4px;padding:3px;margin:-3px}.treeChevron:hover{color:var(--text);background:#ffffff14}.treeChevron.open{transform:rotate(90deg)}.treeIcon{flex-shrink:0}.treeLabel{flex:1;font-size:var(--fs-md);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.005em}.treeNodeType{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85;flex-shrink:0;display:block}.treeNode>.treeRow{border-left:2px solid transparent}.treeNode-city>.treeRow{border-left-color:#bc8cff8c}.treeNode-community>.treeRow{border-left-color:#58a6ff8c}.treeNode-building>.treeRow{border-left-color:#06b6d48c}.treeNode-floor>.treeRow{border-left-color:#3fb9508c}.treeNode-area>.treeRow{border-left-color:#e3b3418c}.treeRow.active{border-left-color:var(--primary)!important;background:var(--primary-soft)}.treeChildren{margin-left:15px;padding-left:9px;border-left:1px solid var(--panel-border, rgba(255,255,255,.08))}.treeActions{display:flex;align-items:center;gap:2px;flex-shrink:0}.treeActions button{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:3px 4px;border-radius:4px;display:flex;align-items:center}.treeActions button:hover{color:var(--text);background:#ffffff0f}.treeActions button.treeAddActive{color:var(--primary);background:#58a6ff1f}.treeActionsPinned{display:flex;align-items:center;gap:2px;flex-shrink:0}.treeActionsPinned button{background:none;border:none;cursor:pointer;color:var(--primary);padding:3px 4px;border-radius:4px;display:flex;align-items:center}.treeActionsPinned button:hover{background:#c412301f}.treeRenameInput{flex:1;background:var(--bg);border:1.5px solid var(--primary);color:var(--text);font-size:13px;border-radius:5px;padding:3px 7px;outline:none;box-shadow:0 0 0 3px #c412301f}.treeMapDot,.treeFloorPlanDot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.treeMapDot{background:var(--primary)}.treeFloorPlanDot{background:var(--green)}.treeAreaDeviceCount{font-size:10px;color:var(--cyan);font-weight:700;flex-shrink:0;background:#06b6d41f;border-radius:10px;padding:1px 7px}.treeAddInput{display:flex;align-items:center;gap:6px;padding:6px 10px 6px 8px}.treeAddInput input{flex:1;background:var(--bg);border:1.5px solid var(--primary);color:var(--text);font-size:12.5px;border-radius:5px;padding:4px 8px;outline:none;box-shadow:0 0 0 3px #c412301f}.treeAddInput button{background:var(--primary);border:none;color:#fff;font-size:11px;font-weight:600;border-radius:5px;padding:4px 10px;cursor:pointer;transition:filter .12s}.treeAddInput button:hover{filter:brightness(1.1)}.treeAddInput button+button{background:transparent;border:1px solid var(--panel-border);color:var(--text-dim)}.treeAddInput button+button:hover{filter:none;background:var(--bg3)}.treeTypePicker{display:flex;flex-wrap:wrap;gap:6px;padding:10px;background:var(--bg2, var(--bg3));border:1px solid var(--panel-border);border-radius:8px;margin:4px 10px;box-shadow:0 4px 16px #0000002e}.treeTypePickerItem{display:flex;align-items:center;gap:5px;background:var(--bg3);border:1px solid var(--panel-border);color:var(--node-color, var(--text-dim));font-size:11px;font-weight:600;border-radius:6px;padding:5px 10px;cursor:pointer;transition:background .12s,border-color .12s,transform .12s}.treeTypePickerItem:hover{background:color-mix(in srgb,var(--node-color, var(--primary)) 14%,transparent);border-color:var(--node-color, var(--primary));color:var(--text);transform:translateY(-1px)}.devicePin{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--device-color) 14%,var(--bg));border:2px solid var(--device-color);color:var(--device-color);display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;z-index:80;transition:box-shadow .12s,transform .08s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.devicePin:hover{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 0 6px color-mix(in srgb,var(--device-color) 18%,transparent),0 4px 12px #0006;z-index:85}.devicePin:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.05)}.devicePin.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--device-color) 55%,transparent),0 0 0 6px color-mix(in srgb,var(--device-color) 15%,transparent);z-index:90;animation:devicePinPulse 2s ease-in-out infinite}@keyframes devicePinPulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--device-color) 55%,transparent),0 0 0 6px color-mix(in srgb,var(--device-color) 15%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--device-color) 70%,transparent),0 0 0 9px color-mix(in srgb,var(--device-color) 10%,transparent)}}.devicePinDelete{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;background:var(--red);border:1.5px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:30;padding:0;box-shadow:0 2px 6px #00000073;transition:transform .12s,background .12s}.devicePinDelete:hover{background:#ff6b6b;transform:scale(1.18)}.devicePinLabel{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);white-space:nowrap;background:#000000d1;color:#f0f0f0;font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;pointer-events:none;letter-spacing:.04em;box-shadow:0 2px 4px #0006}.deviceRoomBadge{position:absolute;top:calc(100% + 17px);left:50%;transform:translate(-50%);white-space:nowrap;background:#3b82f6d9;color:#fff;font-size:8px;font-weight:600;padding:1px 5px;border-radius:3px;pointer-events:none;letter-spacing:.03em;opacity:.85}.roomGroup.deviceHighlight .roomPoly{animation:roomHighlightPulse 1.5s ease-in-out 2}@keyframes roomHighlightPulse{0%{stroke-width:1}50%{stroke-width:3}to{stroke-width:1}}.fovHandle{position:absolute;width:12px;height:12px;border-radius:999px;border:2px solid #22d3ee;background:#0d1117;transform:translate(-50%,-50%);cursor:ew-resize;box-shadow:0 0 0 2px #22d3ee4d,0 2px 4px #0006;transition:transform .1s,box-shadow .1s;z-index:22}.fovHandle:hover{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 4px #22d3ee59,0 2px 6px #00000080}.rangeHandle{position:absolute;width:14px;height:14px;border-radius:999px;border:2px solid #22c55e;background:#0d1117;transform:translate(-50%,-50%);cursor:nesw-resize;box-shadow:0 0 0 2px #22c55e4d,0 2px 4px #0006;transition:transform .1s,box-shadow .1s;z-index:22}.rangeHandle:hover{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 4px #22c55e59,0 2px 6px #00000080}.canvasToolSet{display:inline-flex;align-items:center;gap:4px;margin-right:6px;flex-shrink:0}.canvasToolBtn{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:0 7px;border:1px solid var(--panel-border);border-radius:var(--r-sm);background:var(--bg3);color:var(--text-muted);font-size:11px;font-weight:600}.canvasToolBtn:not(:disabled):hover{border-color:#58a6ff80;color:var(--text);background:var(--bg4)}.canvasToolBtn:disabled{opacity:.42;cursor:not-allowed}.canvasToolBtn.active{border-color:#58a6ffb3;color:var(--primary);background:#58a6ff1f}.canvasToolBtn.danger{color:#f87171}.canvasToolBtn.danger:hover{border-color:#f87171a6;background:#f871711f}.canvasToolBtn.iconOnly{width:26px;justify-content:center;padding:0}.selectionToolSet{padding-left:8px;border-left:1px solid var(--panel-border)}.canvasSelectionCount{color:var(--text-muted);font-size:11px;font-weight:600;white-space:nowrap}.zoneColorInput{width:28px;height:28px;padding:2px;border:1px solid var(--panel-border);border-radius:6px;background:var(--bg3)}.doriToggleGroup{display:inline-flex;align-items:center;gap:6px;padding:0 6px;border:1px solid var(--panel-border);border-radius:6px;background:var(--bg3);min-height:28px}.doriToggleItem{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-dim);font-weight:700}.templateList{display:grid;gap:6px}.templateItem{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--panel-border);border-radius:6px;padding:6px 8px;background:var(--bg2)}.templateItem.active{border-color:#58a6ffb3;background:#58a6ff1f}.templateMain{display:flex;flex-direction:column;min-width:0}.templateMain strong{color:var(--text);font-size:11px}.templateMain small{color:var(--text-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.templateActions{display:inline-flex;align-items:center;gap:4px}.inspectorDoriControl{display:contents}.deviceHint{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-dim);margin:6px 0 0}.inspectorGrid{display:grid;grid-template-columns:72px 1fr;gap:5px 8px;align-items:center;font-size:11px;margin-bottom:8px}.inspectorGrid label{color:var(--text-dim);font-size:10px;text-align:right}.inspectorInput,.inspectorSelect{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);font-size:11px;border-radius:4px;padding:3px 6px;outline:none;width:100%;box-sizing:border-box}.inspectorInput:focus,.inspectorSelect:focus{border-color:var(--primary)}.inspectorReadOnly{color:var(--text-muted);font-size:10px}.inspectorNotesRow{display:flex;flex-direction:column;gap:4px;margin-top:6px}.inspectorNotesRow label{font-size:10px;color:var(--text-dim)}.inspectorNotes{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);font-size:11px;border-radius:4px;padding:4px 6px;outline:none;resize:vertical;width:100%;box-sizing:border-box}.inspectorNotes:focus{border-color:var(--primary)}.miniButton.danger{color:var(--red)!important}.miniButton.danger:hover{background:#f871711a!important}.miniButton.fullWidth{width:100%;justify-content:center}.wallIntelGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px}.wallIntelGrid div{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--panel-border);border-radius:6px;background:var(--bg3)}.wallIntelGrid strong{font-size:16px;color:var(--text)}.wallIntelGrid span{font-size:10px;color:var(--text-muted)}.wallIntelGrid--review div{padding:7px}.wallIntelGrid--review strong{font-size:14px}.wallQualityBars{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.wallQualityRow{display:grid;grid-template-columns:52px 1fr 28px;align-items:center;gap:6px;font-size:10px;color:var(--text-dim)}.wallQualityRow strong{text-align:right;color:var(--text)}.wallQualityTrack{height:6px;border-radius:999px;background:var(--bg3);overflow:hidden}.wallQualityFill{height:100%;border-radius:inherit}.wallQualityFill.ok{background:var(--green)}.wallQualityFill.warn{background:var(--yellow)}.wallQualityFill.danger{background:var(--red)}.wallDirectionList{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.wallDirectionList span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--panel-border);border-radius:999px;background:var(--bg3);color:var(--text-dim);font-size:10px}.wallGraphStats{margin-top:8px;padding-top:8px;border-top:1px solid var(--panel-border)}.ollamaConfigRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-bottom:8px}.ollamaStatus{padding:6px 8px;border:1px solid var(--panel-border);border-radius:6px;background:var(--bg3);color:var(--text-muted);font-size:11px;margin-bottom:8px}.ollamaStatus.ready{color:var(--green);border-color:#3fb95059}.ollamaStatus.warn{color:var(--yellow);border-color:#e3b34159}.aiReviewBtn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border:1px solid var(--primary);border-radius:var(--r-sm);background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:700}.aiReviewBtn:disabled{opacity:.55;cursor:not-allowed}.aiReviewBtn svg{flex-shrink:0}.aiReviewResult p{margin:6px 0 8px;color:var(--text-dim);font-size:11px;line-height:1.45}.aiReviewBadge{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase}.aiReviewBadge.ok{background:#3fb95026;color:var(--green)}.aiReviewBadge.warn{background:#e3b34126;color:var(--yellow)}.reviewList{display:flex;flex-direction:column;gap:4px;margin-top:8px}.reviewList strong{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.reviewList span{padding:5px 7px;border-left:2px solid var(--primary);background:var(--bg3);color:var(--text-dim);font-size:11px;line-height:1.35}.pipelineList{display:flex;flex-direction:column;gap:6px}.pipelineList span{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:11px}.pipelineList svg{color:var(--green)}.wallLayerToggles{display:flex;flex-direction:column;gap:5px}.layerToggle{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.layerToggle input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.layerToggle span{flex:1}.layerToggle strong{font-size:10px;color:var(--text-muted);min-width:20px;text-align:right}.wallReviewGrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;margin-bottom:8px}.wallReasonList{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.wallReasonList span{font-size:10px;color:var(--text-muted);padding:3px 6px;background:var(--bg3);border-radius:4px;border-left:2px solid var(--panel-border)}.wallReasonList span.negative{border-left-color:#dc2626a6;color:#fca5a5}.wallTypeSelect{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.wallReviewActions{display:flex;gap:6px}.exportActionGrid{display:grid;grid-template-columns:1fr 1fr}.wallReviewActions .miniButton{flex:1;justify-content:center}.wallReviewActions .miniButton.active{background:#3fb95033;border-color:#3fb95080;color:var(--green)}.wallReviewActions .miniButton.danger.active{background:#c4123033;border-color:#c4123080;color:var(--red)}.deviceListItem{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px}.deviceListMain{display:flex;flex-direction:column;gap:1px;flex:1;text-align:left}.deviceListMain strong{font-size:11px;color:var(--text)}.deviceListMain small{font-size:10px;color:var(--text-muted)}.deviceStatusDot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.deviceStatusDot.planned{background:var(--text-muted)}.deviceStatusDot.installed{background:var(--green)}.deviceStatusDot.faulty{background:var(--red)}.panelCount{margin-left:auto;font-size:10px;color:var(--cyan);font-weight:600}.diGrid{display:grid;grid-template-columns:64px 1fr;gap:5px 8px;align-items:center;font-size:13px;margin-bottom:4px}.diGrid label{color:var(--text-dim);font-size:12px;text-align:right}.diInput{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);font-size:13px;border-radius:4px;padding:4px 6px;outline:none;width:100%;box-sizing:border-box}.diInput:focus{border-color:var(--primary)}.diRow{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.diRow label{font-size:12px;color:var(--text-dim)}.diTextarea{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);font-size:13px;border-radius:4px;padding:4px 6px;outline:none;resize:vertical;width:100%;box-sizing:border-box;font-family:inherit}.diTextarea:focus{border-color:var(--primary)}.standardsList{display:flex;flex-direction:column;gap:1px}.standardRow{display:flex;align-items:flex-start;gap:7px;padding:5px 4px;background:none;border:none;cursor:pointer;border-radius:4px;text-align:left;width:100%}.standardRow:hover{background:var(--bg3)}.standardRow.checked{background:#58a6ff0f}.stdCheck{color:var(--text-dim);flex-shrink:0;margin-top:1px}.standardRow.checked .stdCheck{color:var(--primary)}.stdLabel{font-size:13px;color:var(--text);line-height:1.4}.specDropZone{border:1.5px dashed var(--panel-border);border-radius:6px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:border-color .15s,background .15s;color:var(--text-dim);font-size:13px;text-align:center;margin-bottom:8px}.specDropZone.over{border-color:var(--primary);background:#58a6ff0d;color:var(--primary)}.specDropZone:hover{border-color:var(--text-muted)}.specBrowseBtn{display:inline-flex;align-items:center;padding:4px 12px;background:var(--bg3);border:1px solid var(--panel-border);border-radius:var(--r-sm);font-size:13px;color:var(--text);cursor:pointer}.specBrowseBtn:hover{background:var(--bg2)}.specList{display:flex;flex-direction:column;gap:3px}.specItem{display:flex;align-items:center;gap:6px;padding:5px 6px;background:var(--bg3);border-radius:4px;font-size:13px}.specName{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.specSize{color:var(--text-muted);font-size:12px;flex-shrink:0}.specRemove{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:2px;display:flex;border-radius:3px}.specRemove:hover{color:var(--red);background:#f871711a}.diFullScreen{display:flex;overflow:hidden;min-height:0;height:100%;align-self:stretch;background:var(--frame);border-radius:var(--r-xl)}.ideCanvas.diHidden{display:none}.diFullLayout{display:flex;flex:1;overflow:hidden;gap:10px}.diNav{width:224px;min-width:224px;background:var(--bg2);border:1px solid var(--panel-border);border-radius:var(--r-xl);display:flex;flex-direction:column;padding:18px 0 16px;gap:2px}.diNavTitle{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:800;color:var(--text);padding:0 16px 14px;border-bottom:1px solid var(--panel-border);margin-bottom:8px}.diNavItem{display:flex;align-items:center;gap:10px;margin:0 8px;padding:10px 12px;background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:var(--fs-base);text-align:left;transition:background .15s,color .15s;border-radius:var(--r-lg);width:calc(100% - 16px)}.diNavItem:hover{background:var(--bg-hover, var(--hover));color:var(--text)}.diNavItem.active{background:var(--primary-soft);color:var(--primary);font-weight:700}.diNavBadge{margin-left:auto;background:var(--cyan-soft);color:var(--cyan);font-size:var(--fs-xs);font-weight:700;padding:2px 8px;border-radius:var(--r-pill)}.diNavSpacer{flex:1}.diNavSelectedStds{padding:12px 14px;border-top:1px solid var(--border)}.diNavSubTitle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin-bottom:6px}.diNavStdChip{font-size:12px;color:#3fb950;background:#3fb9501a;border-radius:3px;padding:2px 6px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diContent{flex:1;overflow-y:auto;background:var(--bg);border:1px solid var(--panel-border);border-radius:var(--r-xl)}.diSectionHeader{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 32px 20px;gap:16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.diSectionHeader h2{font-size:20px;font-weight:700;color:var(--text);margin:0 0 4px}.diSectionHeader p{font-size:14px;color:var(--text-dim);margin:0}.diDomainShell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 160px)}.diDomainTabs{display:grid;align-content:start;gap:6px;padding:20px;border-right:1px solid var(--panel-border);background:var(--bg2)}.diDomainTab{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:10px 11px;border:1px solid var(--panel-border);border-radius:var(--r-md);background:var(--bg3);color:var(--text-dim);text-align:left}.diDomainTab:hover{color:var(--text);border-color:color-mix(in srgb,var(--disc-color) 45%,var(--panel-border))}.diDomainTab.active{border-color:color-mix(in srgb,var(--disc-color) 70%,var(--panel-border));background:color-mix(in srgb,var(--disc-color) 12%,transparent);color:var(--disc-color)}.diDomainTab span{overflow:hidden;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.diDomainTab strong{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#ffffff12;font-size:12px}.diDomainEditor{padding:24px 32px 34px}.diDomainEditorTitle{display:flex;align-items:center;gap:12px;max-width:980px;margin-bottom:22px;color:var(--disc-color)}.diDomainEditorTitle h3{margin:0 0 3px;color:var(--text);font-size:18px}.diDomainEditorTitle p{margin:0;color:var(--text-dim);font-size:14px}.diDomainGrid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px;max-width:1100px}.diDomainField{display:grid;gap:8px;padding:14px;border:1px solid var(--panel-border);border-radius:var(--r-md);background:var(--bg2)}.diDomainField label{color:var(--text-muted);font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.diUploadBtn{display:flex;align-items:center;gap:6px;cursor:pointer;background:var(--primary);color:#0d1117;border:none;border-radius:var(--r-lg);padding:8px 16px;font-size:var(--fs-base);font-weight:700;white-space:nowrap;transition:opacity .15s;flex-shrink:0}.diUploadBtn:hover{opacity:.85}.diDropdownTrigger{display:flex;align-items:center;gap:6px;cursor:pointer;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);padding:9px 14px;font-size:var(--fs-base);font-weight:600;white-space:nowrap;transition:border-color .15s}.diDropdownTrigger:hover{border-color:var(--primary)}.diDropZone{margin:0 32px 20px;border:1.5px dashed var(--panel-border);border-radius:var(--r-xl);padding:18px 24px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color .15s,background .15s;color:var(--text-dim);font-size:var(--fs-base)}.diDropZone.over{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary)}.diDropZone:hover{border-color:var(--primary)}.diEmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-dim);text-align:center}.diEmptyState p{font-size:var(--fs-md);max-width:320px;line-height:1.6;margin:0}.diEmptyState.compact{padding:24px}.diTwoPane{display:grid;grid-template-columns:380px 1fr;height:calc(100vh - 145px);overflow:hidden}.diDocList{border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.diDocCards{flex:1;padding:0 16px 16px;overflow-y:auto}.diDocCard{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--panel-border);margin-bottom:8px;cursor:pointer;transition:border-color .2s,background .15s}.diDocCard:hover{border-color:var(--primary);background:var(--bg3)}.diDocCard.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.diDocCardLeft{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.diDocCardName{font-size:var(--fs-md);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diDocCardMeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px;font-size:var(--fs-sm);color:var(--text-dim)}.diDocCardDesc{font-size:var(--fs-base);color:var(--text-dim);margin-top:4px;font-style:italic}.diDocCardDel{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:3px;border-radius:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.diDocCard:hover .diDocCardDel{opacity:1}.diDocCardDel:hover{color:#f78166;background:#f781661a}.reportSection{display:flex;flex-direction:column;gap:16px}.reportCard{margin-bottom:0}.reportCardTitle{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:700;color:var(--text);margin-bottom:14px}.reportExportRow{display:flex;flex-wrap:wrap;gap:10px}.reportExportBtn{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--r-pill);background:var(--bg3);border:1px solid var(--panel-border);color:var(--text);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.reportExportBtn:hover{border-color:var(--cyan);background:var(--cyan-soft);color:var(--cyan)}.complianceStatStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.complianceStat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border-radius:var(--r-xl);border:1px solid var(--panel-border);background:var(--bg2)}.complianceStat strong{font-size:var(--fs-xl);font-weight:800;font-variant-numeric:tabular-nums}.complianceStat span{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.complianceStat-ok,.complianceStat-ok strong{color:#3fb950}.complianceStat-warn,.complianceStat-warn strong{color:#d29922}.complianceStat-danger,.complianceStat-danger strong{color:#f85149}.complianceFindings{display:flex;flex-direction:column;gap:8px}.complianceRow{display:flex;gap:12px;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--panel-border);border-left:3px solid var(--panel-border)}.complianceRow-red{border-left-color:#f85149}.complianceRow-blue{border-left-color:#d29922}.complianceRowIcon{width:26px;height:26px;border-radius:50%;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center}.complianceRow-red .complianceRowIcon{background:#f8514924;color:#f85149}.complianceRow-blue .complianceRowIcon{background:#d2992224;color:#d29922}.complianceRowBody{flex:1;min-width:0}.complianceRowTop{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.complianceRowType{font-size:var(--fs-sm);font-weight:700;color:var(--text)}.complianceRowId{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);background:var(--bg3);padding:2px 7px;border-radius:var(--r-sm)}.complianceRowAnchor{font-size:var(--fs-sm);color:var(--text-muted)}.complianceRowMsg{margin:6px 0 0;color:var(--text-dim);font-size:var(--fs-base);line-height:1.5}.commentsCanvasEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;color:var(--text-muted);text-align:center;padding:24px}.commentsCanvasWrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;padding:16px}.commentsCanvasImgBox{position:relative;display:inline-block;max-width:100%;max-height:100%}.commentsCanvasImg{display:block;max-width:100%;max-height:calc(100vh - 220px);border-radius:var(--r-md)}.commentsCanvasPin{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50% 50% 50% 4px;background:var(--primary);color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0006;cursor:pointer}.commentsCanvasPin.resolved{background:#3fb950;opacity:.75}.auditEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;color:var(--text-dim);text-align:center}.auditCountStrip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.auditCountChip{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:var(--audit-bg, var(--bg3));color:var(--audit-color, var(--text-dim));font-size:var(--fs-sm);font-weight:600}.auditCountChip b{font-weight:800}.auditCountDot{width:7px;height:7px;border-radius:50%;background:var(--audit-color, var(--text-dim));flex-shrink:0}.auditTimeline{display:flex;flex-direction:column;gap:8px;position:relative}.auditRow{display:flex;gap:12px;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--panel-border);border-left:3px solid var(--audit-color, var(--panel-border))}.auditRowIcon{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--audit-bg, var(--bg3));color:var(--audit-color, var(--text-dim))}.auditRowBody{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.auditRowTop{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.auditRowBadge{font-size:var(--fs-xs);font-weight:700;padding:2px 9px;border-radius:var(--r-pill);background:var(--audit-bg, var(--bg3));color:var(--audit-color, var(--text-dim));text-transform:uppercase;letter-spacing:.03em}.auditRowAction{font-size:var(--fs-sm);font-weight:600;color:var(--text)}.auditRowTime{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--cyan);font-weight:600;white-space:nowrap}.auditRowDesc{font-size:var(--fs-base);color:var(--text-dim);line-height:1.5}.auditRowWho{display:flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:#c89b4c;font-weight:600}.piPage{max-width:760px;margin:0 auto;padding:48px 24px 64px;display:flex;flex-direction:column;gap:32px;width:100%;height:100%;overflow-y:auto}.piRowEditable{cursor:text}.piInput,.piSelect{background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:6px 10px;color:var(--text);font-size:13.5px;font-weight:600;font-family:inherit;text-align:right;outline:none;min-width:160px}.piInput:focus,.piSelect:focus{border-color:var(--primary)}.piSelect{text-align:left;cursor:pointer}.piNameInput{text-align:left;font-size:15px}.piSavedTick{color:var(--green, #2E9E5A);flex-shrink:0;margin-left:-4px}.teamPageHeader{display:flex;align-items:center;justify-content:space-between}.teamInviteBtn{display:flex;align-items:center;gap:7px;padding:8px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.teamInviteBtn:hover{opacity:.92}.teamFilterInput{background:var(--bg2);border:1px solid var(--panel-border);border-radius:8px;padding:9px 14px;color:var(--text);font-size:13px;outline:none;width:100%}.teamFilterInput:focus{border-color:var(--primary)}.teamTableHead{display:grid;grid-template-columns:1fr 160px 160px;gap:12px;padding:10px 16px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--panel-border)}.teamRow{display:grid;grid-template-columns:1fr 160px 160px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--panel-border)}.teamRow:last-child{border-bottom:none}.teamRowMember{display:flex;align-items:center;gap:12px;min-width:0}.teamRowRole{font-size:13px;color:var(--text-dim);font-weight:600;text-transform:capitalize}.teamRowActions{display:flex;justify-content:flex-end}.teamManageBtn{padding:6px 14px;border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer}.teamManageBtn:hover{border-color:var(--primary)}.teamManageBtnPrimary{background:var(--primary);border-color:var(--primary);color:#fff}.teamAccessPopover{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:280px;background:var(--bg2);border:1px solid var(--panel-border);border-radius:10px;box-shadow:0 12px 32px #0006;padding:14px}.teamAccessPopoverTitle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.teamRoleOption{display:flex;align-items:flex-start;gap:8px;padding:7px 0;font-size:12.5px;color:var(--text);cursor:pointer}.teamAccessPopoverActions{display:flex;align-items:center;gap:8px;margin-top:10px;justify-content:flex-end}.teamInviteOverlay{position:fixed;inset:0;background:#00000080;z-index:90}.teamInvitePanel{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;z-index:91;background:var(--bg2);border-left:1px solid var(--panel-border);box-shadow:-12px 0 40px #0006;display:flex;flex-direction:column}.teamInvitePanelHeader{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;border-bottom:1px solid var(--panel-border)}.teamInvitePanelBody{flex:1;overflow-y:auto;padding:20px}.teamInvitePanelFooter{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--panel-border)}.teamRoleCard{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:9px;border:1px solid var(--panel-border);margin-bottom:8px;cursor:pointer;font-size:12.5px;color:var(--text)}.teamRoleCard.active{border-color:var(--primary);background:var(--primary-soft)}.piHeader{display:flex;align-items:center;gap:16px}.piHeaderIcon{width:52px;height:52px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.piHeaderTitle{font-size:22px;font-weight:700;color:var(--text)}.piHeaderSub{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.piSection{display:flex;flex-direction:column;gap:10px}.piSectionTitle{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.piCard{background:var(--bg2);border:1px solid var(--panel-border);border-radius:12px;overflow:hidden}.piCardPad{padding:16px}.teamCard{overflow:visible}.piAvatarPending{background:var(--bg3);color:var(--text-dim)}.teamPendingBadge{color:var(--yellow, #d29922);font-weight:600}.teamDotsBtn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer}.teamDotsBtn:hover{border-color:var(--primary);color:var(--text)}.teamDotsMenu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:170px;background:var(--bg2);border:1px solid var(--panel-border);border-radius:9px;box-shadow:0 12px 32px #0006;padding:6px;display:flex;flex-direction:column}.teamDotsMenuItem{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;border:none;background:none;color:var(--text);font-size:12.5px;text-align:left;cursor:pointer}.teamDotsMenuItem:hover{background:var(--bg-hover, var(--hover))}.teamDotsMenuItemDanger{color:var(--red, #f85149)}.teamDotsMenuItemDanger:hover{background:#f851491a}.piRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--panel-border)}.piRow:last-child{border-bottom:none}.piRowLabel{font-size:13px;color:var(--text-dim)}.piRowValue{font-size:13.5px;font-weight:600;color:var(--text);text-align:right}.piHint{font-size:12.5px;color:var(--text-dim);margin-bottom:10px}.piTextarea{width:100%;resize:vertical;min-height:88px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:13.5px;font-family:inherit;outline:none}.piTextarea:focus{border-color:var(--primary)}.piSaveRow{display:flex;justify-content:flex-end;margin-top:8px}.piSaveStatus{font-size:11.5px;color:var(--text-dim);display:flex;align-items:center;gap:4px}.piSaveStatusOk{color:var(--green, #2E9E5A);font-weight:600}.piMemberRow{gap:12px;justify-content:flex-start}.piAvatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#8c6cff);color:#fff;font-size:12.5px;font-weight:700}.piMemberInfo{flex:1;min-width:0}.piMemberName{font-size:13.5px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.piMemberEmail{font-size:12px;color:var(--text-dim);margin-top:1px}.piMemberRole{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:var(--bg3);padding:3px 9px;border-radius:20px;flex-shrink:0}.piOwnerBadge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--primary-soft);padding:2px 7px;border-radius:20px}.diDocTypeTag{font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.diDocTypeTag.pdf{background:#f7816626;color:#f78166}.diDocTypeTag.word{background:#58a6ff26;color:#58a6ff}.diDocTypeTag.excel{background:#3fb95026;color:#3fb950}.diDocTypeTag.other{background:#8b949e26;color:#8b949e}.diDocTypeTag.large{font-size:13px;padding:3px 9px}.diDocDetail{overflow-y:auto;padding:28px 32px}.diDocDetailEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-dim);text-align:center}.diDocDetailEmpty h3{font-size:16px;color:var(--text);margin:0}.diDocDetailEmpty p{font-size:15px;max-width:280px;margin:0}.diDocDetailHeader{display:flex;align-items:center;gap:12px;margin-bottom:24px}.diDocDetailHeader h3{font-size:17px;font-weight:700;color:var(--text);margin:0}.diDocDetailForm{display:flex;flex-direction:column;gap:16px}.diDocFieldRow{display:flex;flex-direction:column;gap:5px}.diDocFieldRow label{font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.diDocInput{background:var(--bg2);border:1px solid var(--panel-border);border-radius:7px;color:var(--text);font-size:15px;padding:8px 12px;outline:none;transition:border-color .15s;font-family:inherit}.diDocInput:focus{border-color:var(--primary)}.diDocInput.textarea{resize:vertical}.diDocFieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.diReqLayout{min-height:100%;display:flex;flex-direction:column}.diReqAddBox{padding:20px 32px;border-bottom:1px solid var(--border);background:#ffffff04}.diReqAddFields{display:flex;flex-direction:column;gap:8px;max-width:680px}.diReqInput{width:100%;background:var(--bg2);border:1px solid var(--panel-border);border-radius:7px;color:var(--text);font-size:15px;padding:9px 14px;outline:none;transition:border-color .15s;box-sizing:border-box;font-family:inherit;resize:vertical}.diReqInput:focus{border-color:var(--primary)}.diReqDescInput{min-height:60px}.diReqAddBtn{display:flex;align-items:center;gap:5px;align-self:flex-start;background:var(--primary);color:#fff;border:none;border-radius:var(--r-lg);padding:9px 18px;font-size:var(--fs-md);font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s}.diReqAddBtn:hover{opacity:.85}.diReqList{flex:1;padding:20px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.diReqItem{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:var(--bg2);border:1px solid var(--panel-border);border-radius:var(--r-xl);transition:border-color .15s}.diReqItem:hover{border-color:var(--primary)}.diReqNum{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:var(--fs-xs);font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.diReqBody{flex:1;min-width:0}.diReqName{font-size:var(--fs-md);font-weight:600;color:var(--text);margin:0 0 4px}.diReqDesc{font-size:var(--fs-base);color:var(--text-dim);margin:0 0 8px;line-height:1.5}.diReqMeta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:var(--text-dim);font-size:12px}.diReqMeta svg{opacity:.6}.diReqEditBlock{flex:1;display:flex;flex-direction:column;gap:6px}.diReqEditActions{display:flex;gap:6px}.diReqSaveBtn{display:flex;align-items:center;gap:4px;background:var(--primary);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:14px;font-weight:600;cursor:pointer}.diReqCancelBtn{background:none;border:1px solid var(--panel-border);border-radius:6px;color:var(--text-dim);font-size:14px;padding:6px 12px;cursor:pointer}.diReqActions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s}.diReqItem:hover .diReqActions{opacity:1}.diReqEditBtn,.diReqDel{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:4px;border-radius:4px;display:flex}.diReqEditBtn:hover{color:var(--primary)}.diReqDel:hover{color:#f78166;background:#f781661a}.diStdLayout{display:flex;flex-direction:column;height:100%}.diStdTwoPane{display:grid;grid-template-columns:1fr 340px;flex:1;overflow:hidden;height:calc(100vh - 145px)}.diStdLibPane{overflow-y:auto;padding:20px 24px;border-right:1px solid var(--border)}.diStdSearch{display:flex;align-items:center;gap:8px;background:var(--bg2);border:1px solid var(--panel-border);border-radius:8px;padding:8px 12px;margin-bottom:14px}.diStdSearch input{background:none;border:none;outline:none;color:var(--text);font-size:15px;flex:1}.diStdSearch button{background:none;border:none;cursor:pointer;color:var(--text-dim);display:flex;padding:0}.diStdList{display:flex;flex-direction:column;gap:2px}.diStdRow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:var(--bg2);border:1px solid transparent;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.diStdCheck{flex-shrink:0;color:var(--text-dim)}.diStdRow.checked .diStdCheck{color:var(--primary)}.diStdLabel{font-size:14px;color:var(--text);flex:1;line-height:1.45}.diStdBadge{color:var(--primary);flex-shrink:0}.diStdSelectedPane{overflow-y:auto;padding:20px;background:#58a6ff08}.diStdSelectedTitle{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--primary);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.diStdSelectedList{display:flex;flex-direction:column;gap:6px}.diStdSelectedItem{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:#3fb95014;border:1px solid rgba(63,185,80,.2);border-radius:7px;font-size:13px;color:var(--text);line-height:1.45}.diStdSelectedItem>span{flex:1}.diStdSelectedItem button{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:0;flex-shrink:0;display:flex;margin-top:1px}.diStdSelectedItem button:hover{color:#f78166}.diStdSelectedItem svg:first-child{color:#3fb950;flex-shrink:0;margin-top:1px}.diStdRow{display:flex;align-items:center;gap:0;padding:0;border-radius:8px;background:var(--bg2);border:1px solid transparent;transition:border-color .15s,background .15s;overflow:hidden}.diStdRow:hover{border-color:var(--primary);background:var(--bg3)}.diStdRow.checked{background:#58a6ff0f;border-color:#58a6ff4d}.diStdToggleBtn{display:flex;align-items:center;gap:10px;flex:1;padding:10px 12px;background:none;border:none;cursor:pointer;text-align:left}.diStdCustomBadge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#c412301f;color:var(--primary);border:1px solid rgba(196,18,48,.25);border-radius:4px;padding:1px 5px;flex-shrink:0}.diStdDelBtn{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:8px 10px;display:flex;align-items:center;flex-shrink:0;opacity:0;transition:opacity .15s}.diStdRow:hover .diStdDelBtn{opacity:1}.diStdDelBtn:hover{color:#f78166}.diDesignerReqAddRow{display:flex;gap:8px;align-items:center}.diDesignerReqAddBtn{display:flex;align-items:center;gap:5px;padding:7px 14px;background:var(--primary);color:#fff;border:none;border-radius:7px;cursor:pointer;font-size:14px;font-weight:600;white-space:nowrap;flex-shrink:0;transition:opacity .15s}.diDesignerReqAddBtn:hover{opacity:.85}.diDesignerReqList{display:flex;flex-direction:column;gap:6px;margin-top:4px}.diDesignerReqEmpty{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);padding:10px 6px}.diDesignerReqItem{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;padding:8px 10px;font-size:14px}.diDesignerReqNum{width:18px;height:18px;border-radius:50%;background:#58a6ff1a;color:var(--primary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.diDesignerReqText{flex:1;color:var(--text);line-height:1.45}.diDesignerReqEditBtn,.diDesignerReqDelBtn{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:3px;display:flex;opacity:0;transition:opacity .15s}.diDesignerReqItem:hover .diDesignerReqEditBtn,.diDesignerReqItem:hover .diDesignerReqDelBtn{opacity:1}.diDesignerReqEditBtn:hover{color:var(--primary)}.diDesignerReqDelBtn:hover{color:#f78166}.diReqItem .diDesignerReqEditBtn,.diReqItem .diDesignerReqDelBtn{opacity:1;border:1px solid var(--border);border-radius:6px;padding:4px 6px}.diDesignerReqEditRow{display:flex;flex:1;align-items:center;gap:6px}.diDesignerReqEditRow .diDocInput{flex:1;padding:5px 8px;font-size:14px}.diDesignerReqSaveBtn{background:none;border:none;cursor:pointer;color:#3fb950;padding:3px;display:flex}.diDesignerReqCancelBtn{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:3px;display:flex}.diDesignerLayout{padding:0}.diDesignerGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:24px 32px}.diDesignerCard{background:var(--bg2);border:1px solid var(--panel-border);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:14px}.diDesignerCardTitle{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.06em;padding-bottom:10px;border-bottom:1px solid var(--border)}.diFieldRow{display:flex;flex-direction:column;gap:5px}.diFieldRow label{font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.ingestionStepSpinner{width:12px;height:12px;border-radius:50%;border:2px solid;border-top-color:transparent!important;animation:ingestionSpin .8s linear infinite}@keyframes ingestionSpin{to{transform:rotate(360deg)}}.ingestionStepBar{height:100%;width:40%;border-radius:2px;animation:ingestionBarSlide 1.2s ease-in-out infinite}@keyframes ingestionBarSlide{0%{margin-left:0%;width:20%}50%{margin-left:60%;width:40%}to{margin-left:0%;width:20%}}.boqRatesGrid{display:flex;flex-direction:column;gap:5px;margin-bottom:4px}.boqRateRow{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text)}.boqRateInput{display:flex;align-items:center;gap:3px;background:var(--bg);border:1px solid var(--panel-border);border-radius:4px;padding:2px 6px}.boqRateInput span{color:var(--text-dim);font-size:11px}.boqRateInput input{background:none;border:none;color:var(--text);font-size:11px;width:64px;outline:none;text-align:right}.boqViewToggle{display:flex;gap:2px;background:var(--bg);border:1px solid var(--panel-border);border-radius:4px;padding:1px}.boqViewToggle button{background:none;border:none;cursor:pointer;font-size:10px;color:var(--text-dim);padding:2px 7px;border-radius:3px}.boqViewToggle button.active{background:var(--bg3);color:var(--text)}.boqTable{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;margin-top:6px}.boqQtyCol{width:54px}.boqTable th{text-align:left;font-size:10px;font-weight:600;color:var(--text-dim);padding:4px 5px;border-bottom:1px solid var(--panel-border);letter-spacing:.04em;text-transform:uppercase}.boqTable td{padding:5px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boqTable tr:hover td{background:var(--bg3)}.boqNum{width:54px;min-width:54px;text-align:right;font-variant-numeric:tabular-nums}.boqTable th:last-child{width:54px;text-align:right}.boqZero td{color:var(--text-muted)!important}.boqTotal td{font-weight:700;color:var(--primary);border-top:1px solid var(--panel-border);background:#58a6ff0d}.boqDetailWrap{margin-top:6px}.boqGroup{margin-bottom:10px}.boqGroupHeader{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--text);padding:4px 0;border-bottom:1px solid var(--panel-border);margin-bottom:4px}.boqGroupTotal{margin-left:auto;color:var(--primary);font-size:11px}.boqFloorGroup{margin-left:10px;margin-bottom:6px}.boqFloorHeader{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--text-dim);padding:2px 0;margin-bottom:3px}.boqDetailTable td{font-size:10px}.boqDetailTable th{font-size:9px}.boqGrandRow{display:flex;justify-content:space-between;align-items:center;padding:8px 6px;background:#58a6ff14;border-top:1px solid var(--primary);border-radius:0 0 4px 4px;font-weight:700;font-size:12px;color:var(--primary)}.boqPanelTitle{align-items:flex-start;flex-wrap:wrap;gap:6px}.boqPanelHeading{display:inline-flex;align-items:center;gap:6px;min-width:120px;flex:1 1 120px}.boqPanelActions{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;flex-wrap:wrap;gap:4px;margin-left:auto}.boqControlsRow{display:flex;justify-content:flex-end;margin-bottom:12px}.boqCard{padding:0;overflow:hidden}.boqCard .boqTableColorful{margin-top:0}.boqTableColorful{width:100%;border-collapse:collapse;font-size:var(--fs-base);table-layout:auto}.boqTableColorful th{text-align:left;font-size:var(--fs-xs);font-weight:700;color:var(--text-dim);padding:12px 16px;border-bottom:1px solid var(--panel-border);letter-spacing:.05em;text-transform:uppercase;background:var(--bg3)}.boqTableColorful td{padding:12px 16px;border-bottom:1px solid var(--panel-border);color:var(--text)}.boqTableColorful tr:hover td{background:var(--bg3)}.boqCellStrong{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.boqCellOk{color:#3fb950;font-weight:600;font-variant-numeric:tabular-nums}.boqCellWarn{color:#d29922;font-weight:700;font-variant-numeric:tabular-nums}.boqCellMuted{color:var(--text-muted);font-variant-numeric:tabular-nums}.boqSystemChip{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);background:var(--boq-bg, var(--bg3));color:var(--boq-color, var(--text-dim));font-size:var(--fs-xs);font-weight:700}.boqTotalRow td{font-weight:800;color:var(--text);border-top:2px solid var(--panel-border);background:var(--bg3);font-size:var(--fs-md)}.boqDetailGroup{padding:16px;border-bottom:1px solid var(--panel-border)}.boqDetailGroup:last-child{border-bottom:none}.boqDetailGroupTitle{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:700;color:var(--text);margin-bottom:8px}.boqDetailGroupCount{font-size:var(--fs-xs);font-weight:700;color:var(--cyan);background:var(--cyan-soft);padding:2px 8px;border-radius:var(--r-pill)}.boqStatusChip{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;text-transform:capitalize;background:var(--bg3);color:var(--text-dim)}.boqStatusChip-placed,.boqStatusChip-proposed{background:#3fb95024;color:#3fb950}.boqStatusChip-needs_review{background:#d2992224;color:#d29922}.boqStatusChip-conflict{background:#f8514924;color:#f85149}.hubRoot{display:flex;flex-direction:column;height:100vh;width:100vw;background:var(--frame);color:var(--text);font-family:var(--font-ui);overflow:hidden}.hubBody{display:flex;flex:1;min-height:0;overflow:hidden;padding:0 12px 12px;gap:12px}.hubSidebar{width:220px;min-width:220px;background:var(--bg2);display:flex;flex-direction:column;padding:8px 0 0;border:1px solid var(--panel-border);border-radius:var(--r-xl)}.hubLogo{display:flex;align-items:center;gap:10px;padding:20px 16px 16px;border-bottom:1px solid var(--panel-border)}.hubLogoIcon{width:36px;height:36px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hubAppName{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}.hubAppSub{font-size:10px;color:var(--primary);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.hubNav{display:flex;flex-direction:column;gap:2px;padding:10px 8px}.hubNavItem{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-md);font-size:var(--fs-base);background:none;border:none;cursor:pointer;color:var(--text-dim);transition:background .15s,color .15s;text-align:left}.hubNavItem:hover{background:var(--bg4);color:var(--text)}.hubNavItem.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.hubSidebarSpacer{flex:1}.hubUserBlock{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--panel-border)}.hubUserAvatar{width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.hubUserInfo{flex:1;min-width:0}.hubUserName{display:block;font-size:11px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hubUserRole{display:block;font-size:10px;color:var(--text-dim)}.hubSignOut{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:4px;border-radius:4px}.hubSignOut:hover{color:#f78166;background:#f781661a}.hubMain{flex:1;overflow-y:auto;padding:32px 40px;display:flex;flex-direction:column;gap:0;background:var(--bg);border:1px solid var(--panel-border);border-radius:var(--r-xl);box-shadow:0 2px 12px #0000002e}.hubGreeting{margin:28px 28px 0;padding:28px 32px;background:linear-gradient(135deg,var(--bg3) 0%,var(--bg2) 100%);border:1px solid var(--panel-border);border-radius:10px;border-left:3px solid var(--primary);display:flex;justify-content:center}.hubGreetingInner{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.hubGreetingLabel{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:2px}.hubGreetingName{font-size:var(--fs-xl);font-weight:700;color:var(--text);margin:0;letter-spacing:-.02em;line-height:1.2}.hubGreetingSub{font-size:var(--fs-sm);color:var(--text-dim);margin:0}.hubMainHeader{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}.hubMainTitle{font-size:var(--fs-xl);font-weight:700;color:var(--text);margin:0 0 4px;letter-spacing:-.01em}.hubMainSub{font-size:var(--fs-base);color:var(--text-dim);margin:0}.hubHeaderRight{display:flex;align-items:center;gap:10px}.hubSearch{display:flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--panel-border);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--text-dim)}.hubSearch input{background:none;border:none;outline:none;color:var(--text);font-size:12px;width:160px}.hubSearch button{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:0;display:flex}.hubNewBtn{display:flex;align-items:center;gap:6px;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.hubNewBtn:hover{opacity:.85}.hubNewBtn.large{padding:10px 22px;font-size:14px}.hubSection{margin-bottom:32px}.hubSectionTitle{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}.hubGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.hubCard{position:relative;border-radius:var(--r-xl);background:var(--bg2);border:1px solid var(--panel-border);padding:20px 18px 16px;cursor:pointer;box-shadow:0 1px 4px #0000001f;transition:border-color .2s,transform .15s,box-shadow .2s;overflow:hidden}.hubCard:hover{border-color:var(--card-color, var(--primary));transform:translateY(-2px);box-shadow:0 10px 28px #00000047}.hubCard.featured{border-color:var(--primary-soft)}.hubCardCover{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.18;transition:opacity .2s;pointer-events:none;z-index:0}.hubCard:hover .hubCardCover{opacity:.28}.hubCardAccent{position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-color, var(--primary));opacity:.8;z-index:1}.hubCardHeader{display:flex;align-items:center;gap:8px;margin-bottom:10px;position:relative;z-index:1}.hubCardIconWrap{width:32px;height:32px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hubCardFacility{font-size:11px;font-weight:600;flex:1}.hubCardDelete{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:4px;border-radius:4px;opacity:0;transition:opacity .15s}.hubCard:hover .hubCardDelete{opacity:1}.hubCardDelete:hover{color:#f78166;background:#f781661f}.hubCardName{font-size:var(--fs-md);font-weight:700;color:var(--text);margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}.hubCardMeta{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-dim);margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}.hubCardChips{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 10px;position:relative;z-index:1}.hubChip{font-size:var(--fs-xs);padding:3px 9px;border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary);font-weight:600}.hubChip.phase{background:#1a7f371f;color:var(--green, #3fb950)}.hubCardFooter{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-dim);margin-top:4px;position:relative;z-index:1}.hubCardOpen{margin-left:auto;display:flex;align-items:center;gap:2px;color:var(--primary);font-weight:600;opacity:0;transition:opacity .2s}.hubCard:hover .hubCardOpen{opacity:1}.hubEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:80px 40px;text-align:center;color:var(--text-dim);flex:1}.hubEmpty h2{font-size:20px;color:var(--text);margin:0}.hubEmpty p{font-size:13px;max-width:400px;line-height:1.6;margin:0}.hubEmpty.compact{padding:40px}.hubEmptyGraphic{color:#58a6ff33;margin-bottom:6px}.modalOverlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modalBox{background:var(--bg2);border:1px solid var(--panel-border);border-radius:12px;width:520px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px #0009}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.modalHeader h3{font-size:16px;font-weight:700;margin:0;color:var(--text)}.modalClose{background:none;border:none;cursor:pointer;color:var(--text-dim);padding:4px;border-radius:4px}.modalClose:hover{color:var(--text);background:var(--bg-hover)}.modalBody{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modalRow{display:flex;flex-direction:column;gap:5px}.modalRow label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.modalInput,.modalSelect{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;padding:8px 10px;outline:none;transition:border-color .15s}.modalInput:focus,.modalSelect:focus{border-color:var(--primary)}.modalCols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.modalFooter{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.modalSaveBtn{padding:8px 20px;display:flex;align-items:center;gap:6px}.modalError{margin:0 20px}.outlineButton{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:13px;padding:8px 16px;cursor:pointer;transition:border-color .15s,color .15s}.outlineButton:hover{border-color:var(--primary);color:var(--text)}.npmBox{max-width:680px;width:96vw}.npmStepIndicator{display:flex;align-items:center;gap:8px}.npmStep{font-size:12px;font-weight:600;color:var(--text-dim);padding:3px 10px;border-radius:12px}.npmStep.active{background:#58a6ff26;color:var(--primary)}.npmStep.done{color:#3fb950}.npmStepArrow{color:var(--text-dim);font-size:14px}.npmBody{gap:16px}.npmSectionLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin:0 0 10px}.npmDivider{border:none;border-top:1px solid var(--border);margin:4px 0}.npmScopeSection{display:flex;flex-direction:column}.npmScopeGrid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.npmScopeCard{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 14px;border-radius:8px;background:var(--bg-secondary);border:1.5px solid var(--border);cursor:pointer;transition:border-color .15s,background .15s;min-width:90px;flex:1}.npmScopeCard:hover{border-color:var(--scope-color);background:color-mix(in srgb,var(--scope-color) 8%,var(--bg-secondary))}.npmScopeCard.active{border-color:var(--scope-color);background:color-mix(in srgb,var(--scope-color) 12%,var(--bg-secondary))}.npmScopeIcon{color:var(--scope-color);display:flex}.npmScopeCardLabel{font-size:11px;font-weight:600;color:var(--text);text-align:center;line-height:1.3}.npmScopeDesc{font-size:11px;color:var(--text-dim);margin:0;line-height:1.5}.npmStructureHeader{margin-bottom:4px}.npmStructureHint{font-size:11px;color:var(--text-dim);margin:4px 0 0;line-height:1.5}.npmSeedTree{background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;padding:8px 0;max-height:320px;overflow-y:auto}.npmSeedRow{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 0;min-height:28px;border-radius:4px;transition:background .12s}.npmSeedRow:hover{background:#ffffff08}.npmSeedIcon{display:flex;flex-shrink:0}.npmSeedLabel{flex:1;font-size:12px;color:var(--text);cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px dashed transparent;transition:border-color .12s}.npmSeedRow:hover .npmSeedLabel{border-bottom-color:#fff3}.npmSeedType{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.65;flex-shrink:0}.npmSeedInput{flex:1;background:transparent;border:none;border-bottom:1px solid var(--primary);color:var(--text);font-size:12px;outline:none;padding:1px 2px}.npmSeedActions{display:none;align-items:center;gap:2px;flex-shrink:0}.npmSeedRow:hover .npmSeedActions{display:flex}.npmSeedActions button{display:flex;align-items:center;gap:2px;background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:9px;padding:2px 4px;border-radius:3px;transition:background .12s}.npmSeedActions button:hover{background:#ffffff12;color:var(--text)}.npmSeedDel{color:var(--text-dim)!important}.npmSeedDel:hover{color:#f78166!important}.npmRootAdd{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 4px;border-top:1px solid rgba(255,255,255,.06);margin-top:4px}.npmRootAddBtn{display:flex;align-items:center;gap:4px;background:#ffffff0a;border:1px solid var(--border);color:var(--text-dim);font-size:10px;font-weight:600;border-radius:5px;padding:3px 9px;cursor:pointer;transition:background .12s,border-color .12s}.npmRootAddBtn:hover{background:#ffffff14;border-color:#58a6ff80;color:var(--text)}.fovLayer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.fovPolygon{fill:#58a6ff24;stroke:#58a6ff8c;stroke-width:1;transition:fill .15s}.fovPolygon.selected{fill:#58a6ff40;stroke:#58a6ffe6;stroke-width:1.5}.fovDirLine{stroke:#58a6ffcc;stroke-width:1.5;stroke-dasharray:3 2}.doriBand{fill:none;stroke:var(--dori-color, #06b6d4);stroke-width:1.4;stroke-dasharray:6 3;opacity:.95}.doriLabel{fill:var(--dori-color, #06b6d4);font-size:9px;font-weight:700;pointer-events:none;paint-order:stroke;stroke:#0000008c;stroke-width:2px}.rotHandle{position:absolute;width:12px;height:12px;border-radius:50%;background:#58a6ff;border:2px solid #fff;cursor:crosshair;transform:translate(-50%,-50%);z-index:22;box-shadow:0 0 0 2px #58a6ff66,0 2px 6px #00000080;transition:background .12s,transform .1s,box-shadow .12s}.rotHandle:hover{background:#fff;border-color:#58a6ff;transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 0 4px #58a6ff80,0 2px 8px #0009}.rotHandleArm{position:absolute;left:50%;top:50%;height:1.5px;background:linear-gradient(90deg,#58a6ff80,#58a6ffe6);transform-origin:0 0;pointer-events:none;border-radius:1px;margin-top:-.75px}.inspectorSliderRow{display:flex;align-items:center;gap:6px}.inspectorSliderRow input[type=range]{flex:1;accent-color:var(--primary);cursor:pointer}.inspectorSliderVal{font-size:10px;color:var(--primary);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.commentCursor{cursor:crosshair!important}.commentModeBtn{display:flex;align-items:center;gap:5px;background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);font-size:11px;padding:4px 8px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.commentModeBtn:hover{border-color:#e3b341;color:#e3b341;background:#e3b34114}.commentModeBtn.active{border-color:#e3b341;color:#e3b341;background:#e3b34126}.commentsLayer{pointer-events:none;z-index:95}.commentPin .commentCircle{fill:#e3b341d9;stroke:#fff;stroke-width:1.5;cursor:pointer;pointer-events:all;transition:fill .15s}.commentPin:hover .commentCircle{fill:#e3b341}.commentPin.resolved .commentCircle{fill:#3fb95099}.commentPinIcon{font-size:8px;pointer-events:none}.commentItem{background:var(--bg2);border:1px solid var(--panel-border);border-radius:var(--r-lg);padding:10px 12px;margin-bottom:8px}.commentItem.resolved{opacity:.55}.commentItemHeader{display:flex;align-items:center;gap:6px;margin-bottom:5px;flex-wrap:wrap}.commentAuthor{font-size:var(--fs-sm);font-weight:700;color:var(--text)}.commentRole{font-size:var(--fs-xs);color:var(--cyan);background:var(--cyan-soft);padding:2px 7px;border-radius:var(--r-pill)}.commentTime{font-size:var(--fs-xs);color:var(--text-muted);margin-left:auto}.commentText{font-size:var(--fs-base);color:var(--text-dim);margin:0;line-height:1.5}.commentActions{display:flex;gap:4px}.commentsFilterPanel{display:flex;flex-direction:column;height:100%}.commentsFilterField{padding:16px;display:flex;flex-direction:column;gap:8px}.commentsFilterLabel{font-size:var(--fs-xs);font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.commentsFilterSelectWrap{position:relative;display:flex;align-items:center}.commentsFilterSelect{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg2);color:var(--text);border:1px solid var(--panel-border);border-radius:var(--r-lg);padding:10px 34px 10px 12px;font-size:var(--fs-base);font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .15s}.commentsFilterSelect:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-soft)}.commentsFilterSelectArrow{position:absolute;right:10px;color:var(--text-muted);pointer-events:none}.commentsFilterDivider{height:1px;background:var(--panel-border);margin:0}.commentsFilterSection{padding:16px;overflow-y:auto;flex:1}.commentsFilterSection .panel.compactPanel{margin-bottom:16px}.commentsFilterSection .panel.compactPanel:last-child{margin-bottom:0}.qaPanel{border-left:3px solid var(--primary)}.qaStatusBadge{font-size:var(--fs-base);font-weight:700;padding:8px 14px;border-radius:var(--r-pill);margin:6px 0 14px;text-align:center}.qaStatus-draft{background:#8b949e26;color:#8b949e}.qaStatus-submitted{background:#58a6ff26;color:#58a6ff}.qaStatus-returned{background:#e3b34126;color:#e3b341}.qaStatus-approved{background:#3fb95026;color:#3fb950}.qaStatus-rejected{background:#f7816626;color:#f78166}.qaStatus-issued{background:#3fb95033;color:#3fb950;font-weight:700}.qaActions{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.qaActionBtn{padding:8px 16px;border-radius:var(--r-pill);border:none;cursor:pointer;font-size:var(--fs-sm);font-weight:700;margin:4px 6px 0 0}.qaActionBtn.submitted{background:#58a6ff33;color:#58a6ff}.qaActionBtn.approved{background:#3fb95033;color:#3fb950}.qaActionBtn.returned{background:#e3b34133;color:#e3b341}.qaActionBtn.issued{background:#3fb95040;color:#3fb950}.qaActionBtn.draft{background:#8b949e26;color:#8b949e}.qaActionBtn:hover{opacity:.75}.qaHistory{border-top:1px solid var(--panel-border);padding-top:12px;margin-top:10px}.qaHistoryTitle{font-size:var(--fs-xs);font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.qaHistoryEntry{margin-bottom:8px;padding:8px 12px;border-radius:var(--r-md);background:var(--bg3);border-left:3px solid var(--panel-border)}.qaHistoryEntry:has(.qaStatus-submitted){border-left-color:#58a6ff}.qaHistoryEntry:has(.qaStatus-approved){border-left-color:#3fb950}.qaHistoryEntry:has(.qaStatus-returned){border-left-color:#e3b341}.qaHistoryStatus{font-size:var(--fs-xs);font-weight:700;padding:2px 8px;border-radius:var(--r-pill)}.qaHistoryBy{font-size:var(--fs-xs);color:var(--text);margin-left:6px;font-weight:600}.qaHistoryTime{font-size:var(--fs-xs);color:var(--text-muted);margin-left:6px}.qaHistoryNote{font-size:var(--fs-sm);color:var(--text-dim);margin:4px 0 0;font-style:italic}.qaStatus{padding:0 6px;border-radius:3px;font-size:10px;font-weight:600}.cameraScheduleWrap{overflow-x:auto}.cameraSchedule{width:100%;border-collapse:collapse;font-size:10px}.cameraSchedule th{background:#58a6ff1f;color:var(--primary);padding:4px 5px;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.cameraSchedule td{padding:4px 5px;border-bottom:1px solid var(--border);color:var(--text)}.cameraSchedule tr:hover td{background:var(--bg-hover)}.devStatusDot{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px}.devStatusDot.planned{background:#58a6ff26;color:#58a6ff}.devStatusDot.installed{background:#3fb95026;color:#3fb950}.devStatusDot.faulty{background:#f7816626;color:#f78166}[data-theme=light]{color-scheme:light;--bg: #F4F6F9;--bg2: #FFFFFF;--bg3: #EBEEf3;--bg4: #DDE3EA;--panel: #FFFFFF;--panel-border: #C8D0D8;--sidebar: #F4F6F9;--activity: #EBEEF3;--frame: #DCE1E8;--canvas-bg: #F0F2F6;--text: #1A1E24;--text-dim: #4A5568;--text-muted: #7A8799;--primary: #1D5FDB;--primary-soft: rgba(29,95,219,.1);--primary-rgb: 29,95,219;--accent: #003865;--accent-soft: rgba(0,56,101,.12);--cyan: #1575A0;--cyan-soft: rgba(21,117,160,.12);--green: #1A7F37;--yellow: #9A6700;--red: #C41230;--violet: #6941C6;--orange: #C04D0E;--statusbar-bg: #1D5FDB;--r-sm: 4px;--r-md: 6px;--r-lg: 8px}[data-theme=light] body{background:var(--bg);color:var(--text)}[data-theme=light] .ideRoot,[data-theme=light] .authPage{background:var(--bg)}[data-theme=light] .authBg{background-image:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(196,18,48,.08) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(0,56,101,.06) 0%,transparent 60%),linear-gradient(rgba(200,208,216,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(200,208,216,.4) 1px,transparent 1px);background-size:100% 100%,100% 100%,28px 28px,28px 28px}[data-theme=light] .authCard{background:#fffffff7;border-color:var(--panel-border);box-shadow:0 12px 40px #0000001f}[data-theme=light] .authLogoIcon{background:#c4123014;border-color:#c4123040;color:var(--primary)}[data-theme=light] .authAppName{color:var(--text)}[data-theme=light] .authAppSub{color:var(--text-dim)}[data-theme=light] .authTabs{background:var(--bg3);border-color:var(--panel-border)}[data-theme=light] .authTabs button{color:var(--text-dim)}[data-theme=light] .authTabs button.active{background:var(--bg2);color:var(--text);border-color:var(--panel-border)}[data-theme=light] .authInputWrap input{background:var(--bg2);border-color:var(--panel-border);color:var(--text)}[data-theme=light] .authInputWrap input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c412301f}[data-theme=light] .authInputWrap input::-moz-placeholder{color:var(--text-muted)}[data-theme=light] .authInputWrap input::placeholder{color:var(--text-muted)}[data-theme=light] .authSelect{background:var(--bg2);border-color:var(--panel-border);color:var(--text)}[data-theme=light] .authSelect:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c412301f}[data-theme=light] .ideTitleBar{background:#003865;color:#e8edf2;border-bottom-color:#002650}[data-theme=light] .titleBackBtn{color:#a0bdd4}[data-theme=light] .titleBackBtn:hover{background:#ffffff1a;color:#fff}[data-theme=light] .breadcrumbDim{color:#a0bdd4}[data-theme=light] .breadcrumbActive{color:#fff}[data-theme=light] .titleBtn.primary{background:var(--primary);color:#fff}[data-theme=light] .titleUserChip{background:#ffffff1a;border-color:#ffffff26;color:#e8edf2}[data-theme=light] .signOutBtn{color:#a0bdd4}[data-theme=light] .signOutBtn:hover,[data-theme=light] .ideTitleBrand{color:#fff}[data-theme=light] .ideTitleBrand svg{color:#e8c0c8}[data-theme=light] .disciplineBar{background:var(--bg2);border-bottom-color:var(--panel-border)}[data-theme=light] .discTab{color:var(--text-dim)}[data-theme=light] .discTab:hover{background:var(--bg3);color:var(--text)}[data-theme=light] .discTab.active{background:var(--bg3);color:var(--primary);border-bottom-color:var(--primary)}[data-theme=light] .activityBar{background:var(--activity);border-right-color:var(--panel-border)}[data-theme=light] .activityBtn{color:var(--text-muted)}[data-theme=light] .activityBtn:hover{background:var(--bg4);color:var(--text)}[data-theme=light] .activityBtn.active{color:var(--primary);background:#c4123014;border-left-color:var(--primary)}[data-theme=light] .activityToggleBtn{border-top-color:var(--panel-border)}[data-theme=light] .ideSidebar{background:var(--sidebar);border-right-color:var(--panel-border)}[data-theme=light] .sidebarHeader{background:var(--bg2);border-bottom-color:var(--panel-border);color:var(--text)}[data-theme=light] .sidebarClose{color:var(--text-muted)}[data-theme=light] .sidebarClose:hover{color:var(--text);background:var(--bg3)}[data-theme=light] .sidebarResizeHandle:hover{background:var(--primary)}[data-theme=light] .panel,[data-theme=light] .compactPanel{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .panelTitle{color:var(--text-dim);border-bottom-color:var(--panel-border)}[data-theme=light] .panelTitle span{color:var(--text)}[data-theme=light] .keyValueRow{border-bottom-color:var(--bg3)}[data-theme=light] .keyLabel{color:var(--text-muted)}[data-theme=light] .keyValue{color:var(--text)}[data-theme=light] .findingCounter{background:var(--bg3)}[data-theme=light] .findingCounter strong{color:var(--text)}[data-theme=light] .findingCounter span{color:var(--text-dim)}[data-theme=light] .findingCounter.ok{color:#1a7f37;border-color:#1a7f37}[data-theme=light] .findingCounter.warn{color:#9a6700;border-color:#9a6700}[data-theme=light] .findingCounter.danger{color:#c41230;border-color:#c41230}[data-theme=light] .findingItem{background:var(--bg3);border-color:var(--panel-border)}[data-theme=light] .findingItem:hover{border-color:var(--primary)}[data-theme=light] .findingItem strong{color:var(--text)}[data-theme=light] .findingItem span{color:var(--text-muted)}[data-theme=light] .findingItem p{color:var(--text-dim)}[data-theme=light] .findingItem.pass{border-left:3px solid #1A7F37}[data-theme=light] .findingItem.warning{border-left:3px solid #9A6700}[data-theme=light] .findingItem.fail{border-left:3px solid #C41230}[data-theme=light] .groupTitle{color:var(--text-dim);border-bottom-color:var(--panel-border)}[data-theme=light] .ideCanvas{background:var(--canvas-bg)}[data-theme=light] .canvasToolbar{background:var(--bg2);border-bottom-color:var(--panel-border)}[data-theme=light] .canvasViewToggle button{color:var(--text-dim);border-color:var(--panel-border);background:var(--bg2)}[data-theme=light] .canvasViewToggle button:hover{color:var(--text);background:var(--bg3)}[data-theme=light] .canvasViewToggle button.active{background:var(--bg3);color:var(--primary);border-color:var(--primary)}[data-theme=light] .canvasTool{color:var(--text-muted)}[data-theme=light] .canvasTool:hover{color:var(--text);background:var(--bg3)}[data-theme=light] .canvasFileName{color:var(--text-muted)}[data-theme=light] .emptyState{color:var(--text-dim)}[data-theme=light] .emptyStateIcon{color:var(--text-muted)}[data-theme=light] .emptyImportBtn{background:var(--primary);color:#fff}[data-theme=light] .ideStatusBar{background:var(--statusbar-bg);color:#fff}[data-theme=light] .statusItem{color:#ffffffd9}[data-theme=light] .statusOk{color:#a8e6b8!important}[data-theme=light] .statusDanger{color:#ffb3b3!important}[data-theme=light] .statusWarn{color:#ffd699!important}[data-theme=light] .treeRow{color:var(--text-dim)}[data-theme=light] .treeRow:hover{background:var(--bg3)}[data-theme=light] .treeRow.active{background:#c4123014;color:var(--primary)}[data-theme=light] .treeLabel{color:var(--text)}[data-theme=light] .treeNodeType{opacity:.7}[data-theme=light] .treeActions button{color:var(--text-muted)}[data-theme=light] .treeActions button:hover{color:var(--primary);background:#c4123014}[data-theme=light] .treeRenameInput{background:var(--bg2);border-color:var(--primary);color:var(--text)}[data-theme=light] .modalInput,[data-theme=light] .modalSelect,[data-theme=light] .mapSearchInput{background:var(--bg2);border-color:var(--panel-border);color:var(--text)}[data-theme=light] .modalInput:focus,[data-theme=light] .modalSelect:focus,[data-theme=light] .mapSearchInput:focus{border-color:var(--primary);box-shadow:0 0 0 2px #c412301f}[data-theme=light] .modalInput::-moz-placeholder{color:var(--text-muted)}[data-theme=light] .modalInput::placeholder{color:var(--text-muted)}[data-theme=light] .modalOverlay{background:#00000040}[data-theme=light] .modalBox,[data-theme=light] .settingsModal{background:var(--bg2);border-color:var(--panel-border);box-shadow:0 12px 48px #0000002e}[data-theme=light] .modalTitle{color:var(--text);border-bottom-color:var(--panel-border)}[data-theme=light] .modalClose{color:var(--text-muted)}[data-theme=light] .modalClose:hover{background:var(--bg3);color:var(--text)}[data-theme=light] .outlineButton{border-color:var(--panel-border);color:var(--text-dim);background:var(--bg2)}[data-theme=light] .outlineButton:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}[data-theme=light] .titleBtn{background:var(--bg3);border-color:var(--panel-border);color:var(--text-dim)}[data-theme=light] .titleBtn:hover{background:var(--bg4);color:var(--text)}[data-theme=light] .titleBtn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=light] .miniButton{color:var(--text-muted)}[data-theme=light] .miniButton:hover{background:var(--bg3);color:var(--text)}[data-theme=light] .miniButton.danger:hover{background:#c412301a;color:var(--primary)}[data-theme=light] .settingsSection{border-bottom-color:var(--bg3)}[data-theme=light] .settingsLabel{color:var(--text-dim)}[data-theme=light] .settingsRowLabel{color:var(--text)}[data-theme=light] .settingsRowSub{color:var(--text-muted)}[data-theme=light] .themeToggleBtn{background:var(--bg3);border-color:var(--panel-border);color:var(--text-dim)}[data-theme=light] .themeToggleBtn.active{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=light] .mapViewPanel{background:var(--canvas-bg)}[data-theme=light] .mapToolbar{background:var(--bg2);border-bottom-color:var(--panel-border)}[data-theme=light] .mapLayerBtn{background:var(--bg3);border-color:var(--panel-border);color:var(--text-dim)}[data-theme=light] .mapLayerBtn:hover{background:var(--bg4);color:var(--text)}[data-theme=light] .mapLayerBtn.active{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=light] .mapSaveBtn{border-color:var(--primary);color:var(--primary)}[data-theme=light] .mapSaveBtn:hover{background:var(--primary);color:#fff}[data-theme=light] .mapSaveBtn.saved{background:var(--green);border-color:var(--green);color:#fff}[data-theme=light] .mapOverlayBtn{background:var(--bg3);border-color:var(--panel-border);color:var(--text-dim)}[data-theme=light] .mapOverlayBtn.active{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=light] .mapSearchBar{background:var(--bg2);border-bottom-color:var(--panel-border);color:var(--text-dim)}[data-theme=light] .mapSearchBtn{background:var(--primary);color:#fff}[data-theme=light] .mapInfoBar{background:var(--bg2);border-bottom-color:var(--panel-border);color:var(--text-dim)}[data-theme=light] .mapInfoNode{color:var(--text)}[data-theme=light] .mapSuggestList{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .mapSuggestItem:hover{background:var(--bg3);color:var(--text)}[data-theme=light] .mapGeoError{background:var(--bg2);color:var(--red)}[data-theme=light] .hubPage{background:var(--bg)}[data-theme=light] .hubRoot{background:var(--bg);color:var(--text)}[data-theme=light] .hubSidebar{background:var(--bg2);border-right-color:var(--panel-border)}[data-theme=light] .hubLogoIcon{background:#c4123014;color:var(--primary)}[data-theme=light] .hubHeader{background:var(--bg2);border-bottom-color:var(--panel-border)}[data-theme=light] .hubMain{background:var(--bg)}[data-theme=light] .hubSearch{background:var(--bg3);border-color:var(--panel-border)}[data-theme=light] .hubSearch input{color:var(--text)}[data-theme=light] .hubNavItem{color:var(--text-dim)}[data-theme=light] .hubNavItem:hover{background:var(--bg3);color:var(--text)}[data-theme=light] .hubNavItem.active{background:var(--primary-soft);color:var(--primary)}[data-theme=light] .hubUserBlock{border-top-color:var(--panel-border)}[data-theme=light] .hubUserAvatar{background:var(--primary-soft);color:var(--primary)}[data-theme=light] .hubUserName{color:var(--text)}[data-theme=light] .hubUserRole{color:var(--text-muted)}[data-theme=light] .hubCard{background:var(--bg2);border-color:var(--panel-border);box-shadow:0 1px 4px #00000012}[data-theme=light] .hubCard:hover{border-color:var(--primary);box-shadow:0 6px 20px #c412301f}[data-theme=light] .hubChip{background:var(--primary-soft);color:var(--primary)}[data-theme=light] .hubChip.phase{background:#1a7f371a;color:var(--green)}[data-theme=light] .hubAppName{color:var(--text)}[data-theme=light] .hubUserChip{background:var(--bg3);border-color:var(--panel-border);color:var(--text)}[data-theme=light] .hubOrgCard,[data-theme=light] .hubProjectCard{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .hubOrgCard:hover,[data-theme=light] .hubProjectCard:hover{border-color:var(--primary);box-shadow:0 4px 12px #c412301a}[data-theme=light] .hubSectionTitle{color:var(--text-dim)}[data-theme=light] .hubNewBtn{border-color:var(--primary);background:var(--primary);color:#fff}[data-theme=light] .hubNewBtn:hover{background:var(--primary);color:#fff}[data-theme=light] .hubOrgName,[data-theme=light] .hubProjectName{color:var(--text)}[data-theme=light] .hubProjectMeta{color:var(--text-muted)}[data-theme=light] .hubFacilityBadge{opacity:.85}[data-theme=light] .metricCard{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .metricLabel{color:var(--text-dim)}[data-theme=light] .metricValue{color:var(--text)}[data-theme=light] .metricDetail{color:var(--text-muted)}[data-theme=light] .boqTable th{background:#c4123014;color:var(--primary)}[data-theme=light] .boqTable td{border-color:var(--panel-border);color:var(--text)}[data-theme=light] .boqTable tr:hover td{background:var(--bg3)}[data-theme=light] .boqTotalRow td{background:#c412300f;color:var(--text)}[data-theme=light] .reportSection{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .reportFinding{border-left-color:var(--yellow);background:#9a67000f}[data-theme=light] .reportFinding.pass{border-left-color:var(--green);background:#1a7f370f}[data-theme=light] .reportFinding.fail{border-left-color:var(--red);background:#c412300f}[data-theme=light] .teamMemberRow{border-bottom-color:var(--bg3)}[data-theme=light] .teamMemberAvatar{background:var(--primary)}[data-theme=light] .teamMemberName{color:var(--text)}[data-theme=light] .teamMemberEmail{color:var(--text-muted)}[data-theme=light] .teamRoleSelect{background:var(--bg2);border-color:var(--panel-border);color:var(--text-dim)}[data-theme=light] .teamTab{color:var(--text-muted)}[data-theme=light] .teamTab:hover{background:var(--bg3);color:var(--text)}[data-theme=light] .teamTab.active{color:var(--primary);background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .teamCoUserRow{border-color:var(--panel-border)}[data-theme=light] .teamCoUserRow:hover:not(.alreadyAdded){border-color:var(--primary);background:var(--bg3)}[data-theme=light] .teamCoUserRow.selected{background:var(--primary-soft);border-color:var(--primary)}[data-theme=light] .teamNewCoCard{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .teamCompanyHeader{color:var(--text-muted)}[data-theme=light] .teamAddedBadge{color:var(--green)}[data-theme=light] .dashChip{background:var(--primary-soft);color:var(--primary)}[data-theme=light] .auditEntry{background:var(--bg3);border-color:var(--panel-border)}[data-theme=light] .auditAction{color:var(--text)}[data-theme=light] .auditDetail{color:var(--text-dim)}[data-theme=light] .auditMeta{color:var(--text-muted)}[data-theme=light] .commentItem{background:var(--bg3);border-color:var(--panel-border)}[data-theme=light] .commentAuthor{color:var(--text)}[data-theme=light] .commentText{color:var(--text-dim)}[data-theme=light] .commentTime{color:var(--text-muted)}[data-theme=light] .deviceItem{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .deviceItem:hover{border-color:var(--primary)}[data-theme=light] .deviceItem.selected{border-color:var(--primary);background:var(--primary-soft)}[data-theme=light] .deviceLabel{color:var(--text)}[data-theme=light] .deviceHint{color:var(--text-muted)}[data-theme=light] .deviceTypeBtn{background:var(--bg3);border-color:var(--panel-border);color:var(--text-dim)}[data-theme=light] .deviceTypeBtn:hover{border-color:var(--primary);color:var(--primary)}[data-theme=light] .deviceTypeBtn.active{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=light] .diFullScreen{background:var(--bg)}[data-theme=light] .diNav{background:var(--bg2);border-right-color:var(--panel-border)}[data-theme=light] .diNavTitle{color:var(--primary);border-bottom-color:var(--panel-border)}[data-theme=light] .diNavItem{color:var(--text-dim)}[data-theme=light] .diNavItem:hover{background:var(--bg3);color:var(--text)}[data-theme=light] .diNavItem.active{background:var(--primary-soft);color:var(--primary);border-right-color:var(--primary)}[data-theme=light] .diNavBadge{background:var(--primary-soft);color:var(--primary)}[data-theme=light] .diNavStdChip{background:#1a7f371a;color:var(--green)}[data-theme=light] .diContent{background:var(--bg)}[data-theme=light] .diSectionHeader{border-bottom-color:var(--panel-border)}[data-theme=light] .diSectionHeader h2{color:var(--text)}[data-theme=light] .diSectionHeader p{color:var(--text-dim)}[data-theme=light] .diUploadBtn{background:var(--primary);color:#fff}[data-theme=light] .diSection{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .diLabel{color:var(--text-dim)}[data-theme=light] .diInput,[data-theme=light] .diTextarea,[data-theme=light] .diSelect{background:var(--bg2);border-color:var(--panel-border);color:var(--text)}[data-theme=light] .diInput:focus,[data-theme=light] .diTextarea:focus,[data-theme=light] .diSelect:focus{border-color:var(--primary)}[data-theme=light] .splitPane{background:var(--canvas-bg)}[data-theme=light] .splitLabel{background:var(--bg2);color:var(--text-dim);border-color:var(--panel-border)}[data-theme=light] .splitDivider{background:var(--panel-border)}[data-theme=light] .threeShell{background:#e8ecf0}[data-theme=light] .orbitHint{background:#0000000f;color:var(--text-muted)}[data-theme=light] .canvasErrorBanner{background:#c4123014;border-color:#c4123040;color:var(--red)}[data-theme=light] .canvasWarnBanner{background:#9a670014;border-color:#9a670040;color:var(--yellow)}[data-theme=light] .qaStatus-draft{background:#4a55681f;color:#4a5568}[data-theme=light] .qaStatus-approved{background:#1a7f371f;color:var(--green)}[data-theme=light] .qaStatus-rejected{background:#c412301f;color:var(--red)}[data-theme=light] .npmSeedTree{background:var(--bg2);border-color:var(--panel-border)}[data-theme=light] .npmSeedRow:hover{background:var(--bg3)}[data-theme=light] .npmSeedRowLabel{color:var(--text)}[data-theme=light] .npmSeedRowSub{color:var(--text-muted)}.activityBar.expanded{padding:10px}.activityBar.expanded .activityGroup{padding:4px 0 10px}.activityBar.expanded .activityGroup+.activityGroup{margin-top:6px;padding-top:14px}.activityBar.expanded .activityGroup+.activityGroup:before{left:4px;right:4px}.activityBar.expanded .activityGroupLabel{width:auto;min-height:0;margin:4px 4px 8px;padding:0;color:var(--text-muted);font-size:var(--fs-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.activityBar.expanded .activityBtn{flex-direction:row;justify-content:flex-start;width:100%;padding:0 12px;gap:12px;height:42px;border-radius:var(--r-lg);margin-bottom:2px}.activityBar.expanded .activityBtn:before{display:none}.activityBar.expanded .activityBtn:hover{background:var(--bg-hover, var(--hover))}.activityBar.expanded .activityBtn.active{background:var(--primary-soft);color:var(--primary)}.activityBar.expanded .activityBtn.domain.active{background:var(--cyan-soft);color:var(--cyan)}.activityBar.expanded .activityBtnLabel{display:block;font-size:var(--fs-base);font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activityBar.expanded .activityBtnDomain{margin-left:auto;max-width:none;font-size:var(--fs-xs);font-weight:700;color:var(--text-muted);background:var(--bg3);padding:2px 8px;border-radius:var(--r-pill)}.activityBar:not(.expanded) .activityBtnLabel{display:none}.activityBar:not(.expanded) .activityBtnDomain{display:none}.activityToggleBtn{margin-top:auto;border-top:1px solid var(--panel-border)}.activityBar.expanded .activityToggleBtn{border-top:none;margin-top:8px;padding-top:8px;border-top:1px solid var(--panel-border)}.ideSidebar{position:relative}.sidebarResizeHandle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;transition:background .15s;z-index:10}.sidebarResizeHandle:hover,.sidebarResizeHandle:active{background:var(--primary);opacity:.5}.settingsModal{background:var(--bg2);border:1px solid var(--panel-border);border-radius:var(--r-xl);width:560px;max-width:calc(100vw - 48px);max-height:84vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #00000080}.settingsModalHeader{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;flex-shrink:0}.settingsModalTitle{display:flex;align-items:center;gap:10px;font-size:var(--fs-lg);font-weight:800;color:var(--text);letter-spacing:-.01em}.settingsModalBody{overflow-y:auto;padding:4px 0 12px;flex:1}.settingsSection{padding:20px 28px;border-top:1px solid var(--panel-border)}.settingsSection:first-child{border-top:none}.settingsSectionTitle{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--cyan);margin-bottom:16px}.settingsRow{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0}.settingsRowInfo{display:flex;flex-direction:column;gap:3px;min-width:0}.settingsRowLabel{font-size:var(--fs-base);font-weight:700;color:var(--text)}.settingsRowDesc{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5}.settingsBadge{font-size:var(--fs-xs);font-weight:700;background:var(--bg3);border:1px solid var(--panel-border);color:var(--text-dim);padding:5px 14px;border-radius:var(--r-pill);white-space:nowrap;flex-shrink:0}.themeToggleGroup{display:flex;gap:8px;flex-shrink:0;background:var(--bg3);border:1px solid var(--panel-border);border-radius:var(--r-pill);padding:4px}.themeToggleBtn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--r-pill);background:none;color:var(--text-dim);font-size:var(--fs-sm);font-weight:700;cursor:pointer;transition:all .15s}.themeToggleBtn:hover{color:var(--cyan)}.themeToggleBtn.active{background:linear-gradient(135deg,var(--cyan),var(--accent));color:#fff}.ollamaCheckPanel{margin-top:4px;background:var(--bg3);border:1px solid var(--panel-border);border-radius:8px;padding:10px 12px;font-size:12px;display:flex;flex-direction:column;gap:6px}.ollamaCheckStatus{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12px}.ollamaCheckRow{display:flex;align-items:center;gap:5px;color:var(--text-dim)}.ollamaModelList{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--panel-border);padding-top:6px;margin-top:2px;max-height:130px;overflow-y:auto}.ollamaModelItem{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:2px 0}.ollamaModelName{color:var(--text);font-family:monospace}.ollamaModelSize{color:var(--text-muted);font-size:10px}.ollamaGpuRow{display:flex;align-items:center;gap:5px;font-size:11px;color:#4caf50;font-weight:600;border-top:1px solid var(--panel-border);padding-top:6px;margin-top:2px}.mapViewPanel{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;background:var(--canvas-bg)}.mapToolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg2);border-bottom:1px solid var(--panel-border);flex-shrink:0;flex-wrap:wrap}.mapToolbarRight{display:flex;align-items:center;gap:6px;margin-left:auto}.mapOverlayBtn{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;border:1px solid var(--panel-border);background:var(--bg3);color:var(--text-dim);font-size:11px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.mapOverlayBtn:hover{background:var(--bg4);color:var(--text)}.mapOverlayBtn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.mapOverlayCount{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#ffffff40;font-size:9px;font-weight:700}.mapLayerGroup{display:flex;gap:4px;flex-wrap:wrap}.mapLayerBtn{padding:3px 10px;border-radius:20px;border:1px solid var(--panel-border);background:var(--bg3);color:var(--text-dim);font-size:11px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.mapLayerBtn:hover{background:var(--bg4);color:var(--text)}.mapLayerBtn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.mapSaveBtn{margin-left:auto;display:flex;align-items:center;gap:5px;padding:4px 12px;border-radius:6px;border:1px solid var(--primary);background:transparent;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;transition:background .14s,color .14s;white-space:nowrap}.mapSaveBtn:hover:not(:disabled){background:var(--primary);color:#fff}.mapSaveBtn:disabled{opacity:.4;cursor:default}.mapSaveBtn.saved{background:var(--green, #3fb950);border-color:var(--green, #3fb950);color:#fff}.mapOverlayBtnDanger{color:var(--red, #f85149)!important;border-color:var(--red, #f85149)!important}.mapOverlayBtnDanger:hover{background:var(--red, #f85149)!important;color:#fff!important}.mapToolbarSep{width:1px;height:16px;background:var(--panel-border);margin:0 4px;flex-shrink:0;align-self:center}.mapColorPicker{width:26px;height:24px;border:1px solid var(--panel-border);border-radius:4px;cursor:pointer;padding:1px 2px;background:none;flex-shrink:0}.mapZoneNameInput{height:24px;border:1px solid var(--panel-border);border-radius:4px;background:var(--bg3);color:var(--text);font-size:11px;padding:0 7px;width:100px;flex-shrink:0}.mapZoneNameInput:focus{outline:none;border-color:var(--accent)}.mapZoneNameInput::-moz-placeholder{color:var(--text-dim)}.mapZoneNameInput::placeholder{color:var(--text-dim)}.mapZonesPanel{display:flex;flex-wrap:wrap;gap:4px;padding:5px 10px;background:var(--bg2);border-bottom:1px solid var(--panel-border);max-height:90px;overflow-y:auto;flex-shrink:0}.mapZoneItem{display:flex;align-items:center;gap:5px;padding:2px 7px 2px 5px;border-radius:20px;cursor:pointer;font-size:11px;color:var(--text-dim);background:var(--bg3);border:1px solid var(--panel-border);transition:background .1s,border-color .1s}.mapZoneItem:hover,.mapZoneItem.active{background:var(--bg4);color:var(--text);border-color:var(--accent)}.mapZoneColor{width:10px;height:10px;border-radius:3px;flex-shrink:0}.mapZoneName{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapZoneBtn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;padding:0;flex-shrink:0}.mapZoneBtn:hover{background:#ffffff14;color:var(--text)}.mapZoneBtn.active{color:var(--accent)}.mapZoneBtn.danger:hover{color:var(--red, #f85149)}.mapZonePoly{cursor:pointer}.mapZonePoly:active{cursor:grabbing}.mapZoneControlBar{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:1200;display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--panel-border);border-radius:9px;padding:8px 12px;box-shadow:0 4px 20px #00000073;white-space:nowrap;pointer-events:all}.mapZoneControlLeft{display:flex;align-items:center;gap:7px}.mapZoneControlSwatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.mapZoneControlName{height:26px;border:1px solid var(--panel-border);border-radius:5px;background:var(--bg3);color:var(--text);font-size:12px;padding:0 8px;width:120px}.mapZoneControlName:focus{outline:none;border-color:var(--accent)}.mapZoneControlHint{font-size:11px;color:var(--text-dim);flex:1}.mapZoneControlActions{display:flex;gap:6px}.mapZoneControlBtn{display:flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:5px;border:1px solid var(--panel-border);background:var(--bg3);color:var(--text-dim);font-size:11px;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.mapZoneControlBtnDanger{color:var(--red, #f85149);border-color:var(--red, #f85149)}.mapZoneControlBtnDanger:hover{background:var(--red, #f85149);color:#fff}.mapZoneControlBtnDone{color:var(--accent);border-color:var(--accent)}.mapZoneControlBtnDone:hover{background:var(--accent);color:#fff}.mapNoteMarker{width:0!important;height:0!important;background:none!important;border:none!important}.mapNotePin{width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);transform-origin:bottom left;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0006;cursor:pointer;transition:transform .15s,box-shadow .15s}.mapNotePin:hover{box-shadow:0 4px 12px #00000080;transform:rotate(-45deg) scale(1.12)}.mapNotePin--selected{box-shadow:0 0 0 3px #fff,0 0 0 5px currentColor,0 4px 12px #00000080;transform:rotate(-45deg) scale(1.1)}.mapNotePin svg{transform:rotate(45deg)}.mapSelectionBadge{display:flex;align-items:center;gap:4px;background:#6366f124;border:1px solid rgba(99,102,241,.5);border-radius:6px;padding:2px 6px 2px 8px;font-size:11px;color:#a5b4fc;font-weight:600;white-space:nowrap}.mapSelBadgeBtn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#a5b4fc;cursor:pointer;padding:2px 3px;border-radius:4px;opacity:.7;transition:opacity .12s,background .12s}.mapSelBadgeBtn:hover{opacity:1;background:#6366f140}.mapOverlayCheck{display:inline-flex;align-items:center;gap:8px;margin-right:6px}.mapOverlayCheckboxLabel{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.mapOverlayCheckboxLabel input[type=checkbox]{width:14px;height:14px}.mapNoteModal{position:absolute;bottom:20px;right:16px;z-index:1200;background:var(--bg2);border:1px solid var(--panel-border);border-radius:9px;padding:12px;box-shadow:0 6px 24px #00000073;width:260px;display:flex;flex-direction:column;gap:9px}.mapNoteModalHeader{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--text);border-bottom:1px solid var(--panel-border);padding-bottom:8px}.mapNoteModalHeader span{flex:1}.mapNoteModalClose{background:none;border:none;cursor:pointer;color:var(--text-dim);display:flex;align-items:center;padding:2px;border-radius:3px}.mapNoteModalClose:hover{color:var(--text);background:var(--bg4)}.mapNoteTextarea{background:var(--bg3);border:1px solid var(--panel-border);border-radius:5px;color:var(--text);font-size:12px;padding:7px 9px;resize:vertical;min-height:72px;width:100%;box-sizing:border-box;font-family:inherit}.mapNoteTextarea:focus{outline:none;border-color:var(--accent)}.mapNoteTextarea::-moz-placeholder{color:var(--text-dim)}.mapNoteTextarea::placeholder{color:var(--text-dim)}.mapNoteModalActions{display:flex;gap:6px;align-items:center}.mapNoteColorLabel{cursor:pointer;display:flex}.mapDrawingHint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#000000b8;color:#fff;font-size:11px;font-weight:500;padding:5px 14px;border-radius:20px;display:flex;align-items:center;gap:6px;pointer-events:none;white-space:nowrap;z-index:1100;box-shadow:0 2px 8px #0000004d}.mapBoundaryPoly{cursor:default}.boundaryStyleControls{display:flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid var(--panel-border);border-radius:6px;padding:3px 8px}.boundaryStyleControls label{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-muted);cursor:pointer}.boundaryStyleControls input[type=color]{width:20px;height:18px;border:none;border-radius:3px;cursor:pointer;padding:0;background:none}.boundaryStyleControls input[type=range]{cursor:pointer;accent-color:var(--primary)}.mapBoundaryVertex{width:0!important;height:0!important;background:none!important;border:none!important}.mapBoundaryVertexDot{width:12px;height:12px;border-radius:50%;background:#3b82f6;border:2px solid #fff;box-shadow:0 0 0 1px #3b82f6;cursor:grab;transform:translate(-6px,-6px)}.mapBoundaryVertexDot:active{cursor:grabbing;background:#1d4ed8}.mapBoundaryEdge{width:0!important;height:0!important;background:none!important;border:none!important}.mapBoundaryEdgeDot{width:8px;height:8px;border-radius:50%;background:#3b82f68c;border:1.5px solid #fff;cursor:crosshair;transform:translate(-4px,-4px);transition:background .15s}.mapBoundaryEdgeDot:hover{background:#3b82f6}.mapSearchBarWrap{position:relative;flex-shrink:0}.mapSearchBar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg2);border-bottom:1px solid var(--panel-border);color:var(--text-dim)}.mapSearchInput{flex:1;background:var(--bg3);border:1px solid var(--panel-border);border-radius:6px;padding:5px 10px;color:var(--text);font-size:13px;outline:none}.mapSearchInput:focus{border-color:var(--primary)}.mapSearchBtn{display:flex;align-items:center;gap:5px;padding:5px 14px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.mapSearchBtn:disabled{opacity:.6;cursor:default}.mapSuggestList{position:absolute;left:12px;right:12px;top:calc(100% - 1px);background:var(--bg2);border:1px solid var(--panel-border);border-top:none;border-radius:0 0 8px 8px;box-shadow:0 8px 24px #00000059;list-style:none;margin:0;padding:4px 0;z-index:9999;max-height:220px;overflow-y:auto}.mapSuggestItem{display:flex;align-items:flex-start;gap:8px;padding:7px 12px;font-size:12px;color:var(--text-dim);cursor:pointer;transition:background 80ms;line-height:1.4}.mapSuggestItem svg{flex-shrink:0;margin-top:2px;color:var(--text-muted)}.mapSuggestItem:hover{background:var(--bg3);color:var(--text)}.mapGeoError{display:flex;align-items:center;gap:5px;padding:5px 12px;font-size:11px;color:var(--red, #f85149);background:var(--bg2);border-bottom:1px solid var(--panel-border)}.mapInfoBar{display:flex;align-items:center;gap:10px;padding:5px 12px;background:var(--bg2);border-bottom:1px solid var(--panel-border);font-size:12px;color:var(--text-dim);flex-shrink:0}.mapInfoNode{color:var(--text)}.mapInfoCoords{font-family:monospace;font-size:11px;color:var(--text-muted);margin-left:auto}.mapInfoHint{font-size:11px;color:var(--text-muted);font-style:italic;margin-left:auto}.mapInfoSaved{font-size:11px;margin-left:auto;color:var(--text-muted);font-style:italic}.mapInfoSaved.saved{color:var(--green, #3fb950);font-style:normal;font-weight:600}.mapBodyRow{display:flex;flex:1;min-height:0}.mapContainer{flex:1;min-height:0;z-index:0}.mapContainer-placing,.mapContainer-placing .leaflet-container{cursor:crosshair!important}.mapTilesNavyDark{filter:hue-rotate(185deg) saturate(2.2) brightness(.85) contrast(1.05)}.mapDeviceCount{font-size:10px;color:var(--text-muted);background:var(--bg3);border:1px solid var(--panel-border);border-radius:20px;padding:1px 7px}.mapDevicePin{width:36px;height:36px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:#fff;box-shadow:0 2px 8px #0000008c;border:2px solid rgba(255,255,255,.35);cursor:pointer}.mapDevicePinTag{transform:rotate(45deg);font-size:7px;font-weight:900;letter-spacing:-.5px;text-align:center;line-height:1;max-width:30px;word-break:break-all}.mapDevicePin.selected{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--dev-color, #58a6ff),0 2px 8px #0000008c}.mapHandleOverlay{pointer-events:none}.mapDevInspector{position:absolute;bottom:16px;right:16px;z-index:800;background:var(--bg2, #161b22);border:1px solid var(--panel-border, #30363d);border-top:2px solid var(--dev-color, #58a6ff);border-radius:8px;padding:10px 12px;min-width:240px;max-width:290px;box-shadow:0 4px 24px #0000008c;pointer-events:all}.mapDevInspectorHeader{display:flex;align-items:center;gap:6px;margin-bottom:8px}.mapDevInspectorTitle{font-size:12px;font-weight:700;flex:1}.mapDevInspectorSub{font-size:10px;color:var(--text-muted, #8b949e)}.mapDevInspectorClose{background:none;border:none;cursor:pointer;color:var(--text-muted, #8b949e);padding:2px;border-radius:3px;display:flex;align-items:center}.mapDevInspectorClose:hover{color:#fff;background:#ffffff14}.mapDevInspectorRow{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;color:var(--text-muted, #8b949e)}.mapDevInspectorRow span:first-child{width:72px;flex-shrink:0}.mapDevInspectorRow input[type=range]{flex:1;accent-color:var(--dev-color, #58a6ff);height:4px;cursor:pointer}.mapDevInspectorVal{width:36px;text-align:right;font-family:var(--font-mono, monospace);font-size:11px;color:#e6edf3}.mapDevInspectorActions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.mapDevInspectorBtn{padding:3px 9px;border-radius:5px;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:4px;border:1px solid;background:transparent}.mapDevInspectorBtn.danger{border-color:#f78166;color:#f78166}.mapDevInspectorBtn.danger:hover{background:#f781661f}.mapStreetViewPanel{width:460px;min-width:320px;max-width:50vw;display:flex;flex-direction:column;border-left:1px solid var(--panel-border);background:#000;flex-shrink:0}.mapStreetViewHeader{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg2);border-bottom:1px solid var(--panel-border);font-size:12px;font-weight:600;flex-shrink:0;flex-wrap:wrap}.mapStreetViewCoords{font-size:10px;color:var(--text-muted);font-family:var(--font-mono, monospace)}.mapStreetViewHint{font-size:10px;color:var(--text-muted);font-weight:400;margin-left:auto}.mapStreetViewClose{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;margin-left:6px}.mapStreetViewClose:hover{color:var(--text);background:var(--bg4)}.mapStreetViewDevBadge{font-size:10px;font-weight:500;background:var(--primary, #58a6ff);color:#fff;border-radius:20px;padding:1px 7px}.mapStreetViewBody{flex:1;min-height:0;position:relative;overflow:hidden}.mapStreetViewMount{width:100%;height:100%}.mapStreetViewOverlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}.mapStreetViewMsg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--bg1);color:var(--text-dim);font-size:13px}.mapStreetViewLink{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--primary);text-decoration:none;margin-top:4px}.mapStreetViewLink:hover{text-decoration:underline}.mapNodePin{width:36px;height:36px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;box-shadow:0 2px 8px #0006;border:2px solid rgba(255,255,255,.3)}.mapNodePin span{transform:rotate(45deg);color:#fff}.mapNodePin-city{background:#bc8cff}.mapNodePin-community{background:#58a6ff}.mapNodePin-building{background:#06b6d4}.mapNodePin-floor{background:#3fb950}.mapNodePin-sm{width:28px;height:28px;font-size:11px}.treeDragHandle{display:none;align-items:center;justify-content:center;width:14px;height:100%;flex-shrink:0;color:var(--text-muted);cursor:grab;margin-right:2px}.treeRow:hover .treeDragHandle,.treeDragging .treeDragHandle{display:flex}.treeDragging>.treeRow{opacity:.4}.treeNode.dropTarget{position:relative}.treeNode.dropTarget-before>.treeRow:before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--primary);border-radius:1px;z-index:5;pointer-events:none}.treeNode.dropTarget-before>.treeRow:after{content:"";position:absolute;left:6px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--primary);z-index:5;pointer-events:none}.treeNode.dropTarget-after>.treeRow:before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary);border-radius:1px;z-index:5;pointer-events:none}.treeNode.dropTarget-after>.treeRow:after{content:"";position:absolute;left:6px;bottom:-5px;width:8px;height:8px;border-radius:50%;background:var(--primary);z-index:5;pointer-events:none}.treeNode.dropTarget-inside>.treeRow{background:var(--primary-soft);outline:1px solid var(--primary);border-radius:var(--r-sm)}.teamMemberRow{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--panel-border)}.teamMemberRow:last-child{border-bottom:none}.teamMemberAvatar{width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.teamMemberAvatar.sm{width:24px;height:24px;font-size:11px}.teamMemberInfo{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.teamMemberName{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teamMemberEmail{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teamRoleSelect{background:var(--bg3);border:1px solid var(--panel-border);border-radius:5px;color:var(--text-dim);font-size:11px;padding:2px 5px;cursor:pointer;max-width:100px}.teamRoleSelect:hover{border-color:var(--primary)}.teamRemoveBtn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;flex-shrink:0}.teamRemoveBtn:hover{background:var(--danger-soft, rgba(248,81,73,.15));color:var(--red, #f85149)}.teamCompanyHeader{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:8px 0 3px}.teamTabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--panel-border);padding-bottom:6px}.teamTab{display:flex;align-items:center;gap:5px;padding:4px 12px;border-radius:6px 6px 0 0;border:1px solid transparent;border-bottom:none;background:none;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.teamTab:hover{color:var(--text);background:var(--bg3)}.teamTab.active{color:var(--primary);border-color:var(--panel-border);background:var(--bg2);font-weight:600}.teamCoPickRow{display:flex;gap:6px;margin-bottom:8px}.teamCoPickRow .modalSelect{flex:1}.teamByCompany{padding-top:4px}.teamCoUserList{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.teamCoUserRow{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;border:1px solid var(--panel-border);cursor:pointer;transition:background .1s,border-color .1s}.teamCoUserRow:hover:not(.alreadyAdded){background:var(--bg3);border-color:var(--primary)}.teamCoUserRow.selected{background:var(--primary-soft);border-color:var(--primary)}.teamCoUserRow.alreadyAdded{opacity:.5;cursor:default}.teamDefaultRole{font-size:10px;color:var(--text-muted);background:var(--bg4, var(--bg3));padding:2px 7px;border-radius:10px;margin-left:auto;white-space:nowrap}.teamAddedBadge{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--green, #3fb950);margin-left:auto;white-space:nowrap}.teamNewCoModal{position:fixed;inset:0;background:#0009;z-index:9000;display:flex;align-items:center;justify-content:center}.teamNewCoCard{background:var(--bg2);border:1px solid var(--panel-border);border-radius:10px;padding:18px;width:min(480px,90vw);max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px #00000080}.teamNewUserRow{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.teamNewUserRow .modalInput{flex:1;min-width:100px}.auditList{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow-y:auto}.auditEntry{background:var(--bg3);border:1px solid var(--panel-border);border-radius:6px;padding:7px 10px}.auditAction{font-size:12px;font-weight:600;color:var(--text)}.auditDetail{font-size:11px;color:var(--text-dim);margin-top:2px}.auditMeta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted);margin-top:4px}.dashChip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;background:var(--primary-soft);color:var(--primary);border:1px solid rgba(var(--primary-rgb, 196,18,48),.25);white-space:nowrap}.selectionBBoxGroup rect{pointer-events:none}.selectionBBoxGroup text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snapIndicatorGroup,.dragHudGroup{pointer-events:none}.dragHudGroup text{font-weight:600;letter-spacing:.2px}.wallIntelGrid--review{background:#f1f5f9;border-radius:4px;padding:8px;margin-top:8px}.wallIntelGrid--review div span{font-size:10px;color:#64748b;text-transform:uppercase}.reviewPanel{border:1px solid var(--primary-soft);background:rgba(var(--primary-rgb, 196,18,48),.02)}.reviewSnippetArea{display:flex;flex-direction:column;gap:12px;padding:12px;align-items:center}.snippetContainer{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:4px;box-shadow:0 4px 12px #0000000d}.snippetCanvas{display:block;border-radius:4px}.snippetLabel{font-size:10px;color:#94a3b8;text-align:center;margin-top:4px;font-weight:600;text-transform:uppercase}.reviewActions{display:flex;gap:8px;width:100%}.reviewBtn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.reviewBtn.accept{background:#10b981;color:#fff}.reviewBtn.accept:hover{background:#059669;transform:translateY(-1px)}.reviewBtn.reject{background:#ef4444;color:#fff}.reviewBtn.reject:hover{background:#dc2626;transform:translateY(-1px)}.panelCloseBtn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;margin-left:auto}.panelCloseBtn:hover{color:#ef4444}.detectionAssistant{display:flex;flex-direction:column;gap:0;height:100%;overflow-y:auto}.daStepBar{display:flex;border-bottom:1px solid var(--panel-border);background:var(--bg2);flex-shrink:0}.daStep{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 4px 6px;background:none;border:none;border-right:1px solid var(--panel-border);cursor:pointer;color:var(--text-muted);font-size:9px;transition:background .15s,color .15s}.daStep:last-child{border-right:none}.daStep:hover{background:var(--hover);color:var(--text)}.daStep.active{color:var(--accent);background:#58a6ff14}.daStep.done{color:var(--green)}.daStepNum{width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;line-height:1}.daStepLabel{font-size:8.5px}.daSection{padding:12px;display:flex;flex-direction:column;gap:10px}.daSectionTitle{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text)}.daHint{font-size:11px;color:var(--text-muted);margin:0;line-height:1.5}.daActions{display:flex;gap:6px;flex-wrap:wrap}.daBtn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:5px;border:1px solid var(--panel-border);background:var(--bg2);color:var(--text);font-size:11px;cursor:pointer;transition:background .15s,border-color .15s}.daBtn:hover{background:var(--hover);border-color:var(--text-muted)}.daBtn:disabled{opacity:.5;cursor:not-allowed}.daBtn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.daBtn.primary:hover{opacity:.9}.daBtn.danger{color:var(--red);border-color:#ef444466}.daBtn.danger:hover{background:#ef44441a}.daBtn.accept{color:var(--green);border-color:#22c55e66}.daBtn.accept:hover{background:#22c55e1a}.daBtn.reject{color:var(--red);border-color:#ef444466}.daBtn.reject:hover{background:#ef44441a}.daBtn.small{font-size:10px;padding:3px 8px}.daBtn.full{width:100%;justify-content:center}.daModeBar{display:flex;gap:5px;flex-wrap:wrap}.daModeBtn{flex:1;padding:6px 8px;border-radius:5px;border:1px solid var(--panel-border);background:var(--bg2);color:var(--text-muted);font-size:11px;cursor:pointer;text-align:center;transition:all .15s}.daModeBtn:hover{color:var(--text);border-color:var(--text-muted)}.daModeBtn.active{background:#58a6ff1f;border-color:var(--accent);color:var(--accent)}.daModeBtn:disabled{opacity:.5;cursor:not-allowed}.daRunBtn{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border-radius:6px;border:1.5px solid var(--accent);background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.daRunBtn:hover{opacity:.9}.daRunBtn:disabled{opacity:.5;cursor:not-allowed}.daRunBtn.busy{background:#58a6ff33;border-color:#58a6ff66;color:var(--accent)}.daPipelineResult{font-size:11px;color:var(--green);padding:6px 8px;border-radius:4px;background:#3fb9501a;border:1px solid rgba(63,185,80,.25)}.daNextBtn{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px;border-radius:5px;border:1px dashed var(--panel-border);background:none;color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .15s}.daNextBtn:hover{border-color:var(--accent);color:var(--accent);background:#58a6ff0f}.daNextBtn:disabled{opacity:.4;cursor:not-allowed}.daReviewCounts{display:flex;gap:6px}.daCount{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:6px;border:1px solid transparent;font-size:10px}.daCount strong{font-size:18px;font-weight:700;line-height:1}.daCount.accepted{background:#22c55e1a;border-color:#22c55e40;color:var(--green)}.daCount.needsReview{background:#f973161a;border-color:#f9731640;color:#f97316}.daCount.rejected{background:#ef44441a;border-color:#ef444440;color:var(--red)}.daStatRow{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted);padding:2px 0}.daStatRow strong{color:var(--text)}.daLayerToggles{display:flex;flex-direction:column;gap:5px;padding:8px;border-radius:6px;background:var(--bg2);border:1px solid var(--panel-border)}.daLayerToggleTitle{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:var(--text-muted);margin-bottom:2px}.daLayerRow{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);cursor:pointer}.daLayerRow:hover{color:var(--text)}.daLayerRow input{cursor:pointer}.daLayerDot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.daAdvancedToggle{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);font-size:10px;cursor:pointer;padding:2px 0;margin-top:2px}.daAdvancedToggle:hover{color:var(--text)}.daAdvancedLayers{display:flex;flex-direction:column;gap:4px;padding-top:4px;border-top:1px solid var(--panel-border)}.daReviewNextBtn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:5px;border:1.5px solid rgba(249,115,22,.5);background:#f973161a;color:#f97316;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.daReviewNextBtn:hover{background:#f9731633;border-color:#f97316}.daQuickTeach{display:flex;flex-direction:column;gap:6px}.daQTRow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.daQTBtn{flex:1;justify-content:center;min-width:90px}.daQTBtn.active{background:#6366f140;border-color:#6366f1;color:#a5b4fc}.daQTClear{color:#ef4444;border-color:#ef444466;padding:4px 8px}.daQTSummary{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:11px}.daQTBadge{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.daQTBadge.room{background:#60a5fa33;color:#93c5fd;border:1px solid rgba(96,165,250,.4)}.daQTBadge.door{background:#22c55e33;color:#86efac;border:1px solid rgba(34,197,94,.4)}.daQTNote{opacity:.6;font-size:10px}.daQTList{display:flex;flex-direction:column;gap:3px;max-height:160px;overflow-y:auto}.daQTItem{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:5px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;font-size:11px;transition:background .12s,border-color .12s}.daQTItem:hover{background:#ffffff0f;border-color:#ffffff2e}.daQTItem.selected{background:#f59e0b1f;border-color:#f59e0b80}.daQTItemLabel{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.daQTItemMeta{font-size:10px;opacity:.55;white-space:nowrap}.daQTItemDelete{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;border:none;background:transparent;color:#ef4444;cursor:pointer;opacity:.6;padding:0;flex-shrink:0}.daQTItemDelete:hover{opacity:1;background:#ef444426}.daCorrectionTools{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.daCorrTool{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 4px;border-radius:5px;border:1px solid var(--panel-border);background:var(--bg2);color:var(--text-muted);font-size:9.5px;cursor:pointer;transition:all .15s}.daCorrTool:hover{color:var(--text);border-color:var(--text-muted)}.daCorrTool.active{background:#58a6ff1f;border-color:var(--accent);color:var(--accent)}.daSelection{display:flex;flex-direction:column;gap:8px;padding:9px;border-radius:6px;border:1px solid var(--panel-border);background:var(--bg2)}.daSelectionHeader{display:flex;align-items:center;gap:6px}.daStatusBadge{padding:2px 7px;border-radius:20px;font-size:10px;font-weight:600;text-transform:capitalize}.daStatusBadge.accepted,.daStatusBadge.manually_corrected{background:#22c55e26;color:var(--green)}.daStatusBadge.needs_review{background:#f9731626;color:#f97316}.daStatusBadge.rejected{background:#ef444426;color:var(--red)}.daStatusBadge.candidate{background:#94a3b826;color:var(--text-muted)}.daSelectionType{font-size:11px;color:var(--text-muted);text-transform:capitalize}.daSelectionConf{font-size:11px;color:var(--text-muted);margin-left:auto}.daReasonGroup{display:flex;flex-direction:column;gap:3px;font-size:10px}.daReasonGroup>span{font-weight:600;color:var(--text-muted)}.daReasonGroup.positive>span{color:var(--green)}.daReasonGroup.negative>span{color:#f97316}.daReason{padding:2px 6px;border-radius:3px;color:var(--text-muted);font-size:10px;background:var(--hover)}.daCorrectionActions{display:flex;gap:6px;flex-wrap:wrap}.daWarning{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:5px;font-size:11px;color:#f97316;background:#f973161a;border:1px solid rgba(249,115,22,.25)}.daField{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--text-muted)}.daField>span{display:flex;justify-content:space-between;gap:8px}.daField strong{color:var(--text);font-weight:600}.daField select,.daField input[type=range]{width:100%}.daField select{background:var(--bg2);border:1px solid var(--panel-border);color:var(--text);border-radius:5px;padding:6px 8px;font-size:11px}.daSettingsBox{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:6px;background:var(--bg2);border:1px solid var(--panel-border)}.daSettingsGrid{display:grid;grid-template-columns:1fr;gap:9px;padding-top:3px}.daColorFilterSection{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:6px;background:var(--bg3, var(--bg2));border:1px solid var(--panel-border)}.daColorFilterHeader{display:flex;flex-direction:column;gap:2px}.daColorFilterHint{font-size:10px;color:var(--text-muted);padding-left:20px}.daColorFilterSwatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.daColorSwatch{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;background:var(--bg2);border:1px solid var(--panel-border);font-size:10px}.daSwatchDot{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.daSwatchLabel{color:var(--text-muted)}.daSwatchRemove{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0;display:flex;align-items:center}.daSwatchRemove:hover{color:var(--red)}.daColorAddBtn{font-size:10px;padding:3px 8px}.daColorPicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}.daColorPicker input[type=color]{width:32px;height:24px;padding:0;border:1px solid var(--panel-border);border-radius:4px;cursor:pointer;background:none}.daSettingsChecks{display:grid;grid-template-columns:1fr;gap:5px;padding-top:8px;border-top:1px solid var(--panel-border)}.daMetaGrid{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;font-size:10px;color:var(--text-muted)}.daMetaGrid strong{color:var(--text);font-weight:600;min-width:0;overflow-wrap:anywhere}.daRuntimeDetails{margin-top:auto;border-top:1px solid var(--panel-border);padding:8px 12px}.daRuntimeDetails summary{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-muted);cursor:pointer;list-style:none}.daRuntimeDetails summary:hover{color:var(--text)}.daRuntimeGrid{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-muted);padding:6px 0}.daModeSelector{display:flex;border-bottom:1px solid var(--panel-border);background:var(--bg);flex-shrink:0}.daModeSelectorBtn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 4px;background:none;border:none;border-right:1px solid var(--panel-border);cursor:pointer;color:var(--text-muted);font-size:10px;transition:background .15s,color .15s;white-space:nowrap}.daModeSelectorBtn:last-child{border-right:none}.daModeSelectorBtn:hover{background:var(--hover);color:var(--text)}.daModeSelectorBtn.active{color:var(--accent);background:#58a6ff1a;border-bottom:2px solid var(--accent)}.daRunBtnGroup{display:flex;flex-direction:column;gap:5px}.daRunBtn.secondary{background:var(--bg2);border-color:var(--panel-border);color:var(--text-muted);font-size:11px;font-weight:400}.daRunBtn.secondary:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.daRunBtn.full{width:100%}.daStatGrid{display:flex;flex-direction:column;gap:3px}.daTraceInstruction{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;border-radius:8px;border:1.5px dashed var(--panel-border);color:var(--text-muted);font-size:12px;text-align:center;line-height:1.5;transition:all .2s}.daTraceInstruction.active{border-color:var(--accent);background:#58a6ff0f;color:var(--accent)}.daRoomList{display:flex;flex-direction:column;gap:3px;max-height:140px;overflow-y:auto}.daRoomItem{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;background:var(--bg2);font-size:11px;color:var(--text-muted)}.daRoomConf{font-size:10px;color:var(--green);font-weight:600}.stage2dWrap.roomTraceMode{cursor:crosshair}.roomLayer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.roomGroup{pointer-events:all}.roomPoly{stroke-width:1.5;stroke-dasharray:none;cursor:move;transition:fill-opacity .15s,stroke-opacity .15s}.roomPoly:hover{fill-opacity:.35!important}.roomGroup.selected .roomPoly{stroke-width:2.5;stroke-dasharray:none}.roomLabel{fill:#1e293b;font-size:11px;font-weight:600;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;paint-order:stroke;stroke:#fffc;stroke-width:3px;stroke-linejoin:round}.roomGroup.selected .roomLabel{fill:#0f172a;font-weight:700}.roomEdgeHit{stroke:transparent;stroke-width:12;cursor:crosshair;pointer-events:stroke}.roomEdgeHit:hover{stroke:#60a5fa40}.roomVertexHandle{fill:#fff;stroke:#60a5fa;stroke-width:1.5;cursor:grab;pointer-events:all;transition:fill .1s}.roomVertexHandle:hover{fill:#60a5fa;stroke:#93c5fd}.roomVertexHandle:active{cursor:grabbing}.roomCtxMenu{position:fixed;z-index:9999;min-width:160px;background:var(--panel-bg, #1e2736);border:1px solid var(--panel-border, #2d3748);border-radius:8px;box-shadow:0 8px 24px #0006;padding:6px;display:flex;flex-direction:column;gap:2px}.roomCtxName{font-size:11px;font-weight:700;color:var(--text-dim, #94a3b8);padding:4px 8px 6px;border-bottom:1px solid var(--panel-border, #2d3748);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roomCtxBtn{background:none;border:none;border-radius:5px;padding:6px 10px;text-align:left;font-size:13px;color:var(--text, #e2e8f0);cursor:pointer;width:100%}.roomCtxBtn:hover{background:var(--bg-hover, #2d3748)}.roomCtxBtn.primary{color:var(--primary, #38bdf8)}.roomCtxBtn.danger{color:#f87171}.roomCtxBtn.danger:hover{background:#f871711a}.roomCtxRename{display:flex;flex-direction:column;gap:6px;padding:4px 2px}.roomCtxInput{background:var(--bg3, #0d1117);border:1px solid var(--panel-border, #2d3748);border-radius:5px;color:var(--text, #e2e8f0);font-size:13px;padding:5px 8px;outline:none;width:100%;box-sizing:border-box}.roomCtxInput:focus{border-color:var(--primary, #38bdf8)}.specTab{gap:12px;padding:16px}.specDropZone{display:flex;align-items:center;gap:12px;padding:14px;border:2px dashed var(--border, #30363d);border-radius:10px;background:var(--bg2, #161b22);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:12px}.specDropZone:hover,.specDropZone.drag{border-color:var(--primary, #58a6ff);background:#58a6ff0f}.specDropZone.uploading{opacity:.6;cursor:wait}.specDropTitle{font-size:13px;font-weight:600;color:var(--text, #e6edf3)}.specDropHint{font-size:11px;color:var(--text-muted, #8b949e);margin-top:2px}.specDocsList{display:flex;flex-direction:column;gap:6px;margin-top:6px;max-height:60vh;overflow-y:auto}.specEmpty{padding:16px;text-align:center;color:var(--text-muted, #8b949e);font-size:12px}.specError{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#f781661f;border-left:3px solid #f78166;color:#f78166;font-size:12px;border-radius:4px;margin:4px 0}.specLoading{display:flex;align-items:center;gap:6px;padding:12px;color:var(--text-muted);font-size:12px}.specDocItem{padding:8px 10px;border-radius:6px;border:1px solid var(--border, #30363d);background:var(--bg, #0d1117);cursor:pointer;transition:background .15s}.specDocItem:hover{background:var(--bg-hover, rgba(255,255,255,.04))}.specDocItem.active{border-color:var(--primary, #58a6ff);background:#58a6ff14}.specDocItem.running{border-color:#f0b429;background:#f0b4290d}.specDocItemHead{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.specDocCheckbox{cursor:pointer;display:flex;align-items:center;flex-shrink:0;color:#6e7681;transition:color .15s}.specDocCheckbox:hover,.specDocCheckbox[data-checked=true]{color:#58a6ff}.specDocItemName{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.specDocItemStatus{font-size:10px;padding:1px 6px;border-radius:9999px;border:1px solid;text-transform:uppercase;letter-spacing:.04em}.specDocItemMeta{display:flex;gap:10px;font-size:10px;color:var(--text-muted, #8b949e);margin-top:4px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.specPlaceholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-muted, #8b949e);font-size:13px}.specDetailHead{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border, #30363d)}.specDetailTitle{flex:1;font-size:14px;font-weight:700;color:var(--text)}.specDetailActions{display:flex;gap:6px}.specBtn{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:5px;border:1px solid var(--border, #30363d);background:var(--bg2, #161b22);color:var(--text);font-size:11px;cursor:pointer;transition:background .15s,border-color .15s}.specBtn:hover{background:var(--bg-hover);border-color:var(--primary)}.specBtn:disabled{opacity:.5;cursor:not-allowed}.specBtn.danger{border-color:#f78166;color:#f78166}.specBtn.danger:hover{background:#f781661f}.specSubTabs{display:flex;gap:0;border-bottom:1px solid var(--border, #30363d);padding:0 14px}.specSubTab{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted, #8b949e);font-size:12px;cursor:pointer;transition:color .15s,border-color .15s}.specSubTab:hover{color:var(--text)}.specSubTab.active{color:var(--primary, #58a6ff);border-bottom-color:var(--primary, #58a6ff);font-weight:600}.specSubBody{padding:14px;overflow-y:auto}.specOverview{display:flex;flex-direction:column;gap:14px}.specOvCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.specOvCard{padding:10px 12px;background:var(--bg2, #161b22);border:1px solid var(--border, #30363d);border-radius:6px}.specOvCardLabel{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.specOvCardValue{font-size:18px;font-weight:700;color:var(--text)}.specOvCounts{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:12px}.specOvCountsTitle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px}.specOvCountsBars{display:flex;flex-direction:column;gap:8px}.specOvCountBar{display:grid;grid-template-columns:90px 50px 1fr;align-items:center;gap:8px;background:transparent;border:none;padding:4px 6px;border-radius:4px;cursor:pointer;transition:background .15s;text-align:left}.specOvCountBar:hover{background:var(--bg-hover)}.specOvCountLabel{font-size:12px;font-weight:600;color:var(--text);text-transform:capitalize}.specOvCountValue{font-size:13px;font-weight:700;color:var(--primary, #58a6ff);text-align:right}.specOvCountTrack{height:8px;background:#ffffff0d;border-radius:4px;overflow:hidden}.specOvCountFill{display:block;height:100%;background:var(--primary, #58a6ff);border-radius:4px;transition:width .3s}.specOvNote{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#f781661a;border-left:3px solid #f78166;font-size:12px;color:#f78166;border-radius:4px}.specStructure{display:flex;flex-direction:column;gap:2px;font-size:12px}.specSectionRow{display:flex;align-items:center;gap:6px;padding:4px 6px;cursor:pointer;border-radius:4px;transition:background .15s}.specSectionRow:hover{background:var(--bg-hover)}.specSectionToggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 4px;font-size:11px}.specSectionNumber{font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-muted);min-width:36px}.specSectionTitle{flex:1;color:var(--text)}.specSectionPage{font-size:10px;color:var(--text-muted);font-family:var(--font-mono, monospace)}.specSectionDisc{font-size:10px;padding:1px 6px;border-radius:9999px;background:#ffffff0d}.specSectionDisc.disc-security{background:#58a6ff26;color:#58a6ff}.specSectionDisc.disc-safety{background:#f7816626;color:#f78166}.specSectionDisc.disc-bms{background:#3fb95026;color:#3fb950}.specSectionDisc.disc-smart{background:#bc8cff26;color:#bc8cff}.specSectionChildren{padding-left:18px;border-left:1px dashed var(--border);margin-left:10px}.specPagesTab{display:flex;flex-direction:column;gap:10px}.specPagesNav{display:flex;align-items:center;gap:8px}.specPageNum{font-size:12px;color:var(--text-muted);font-family:var(--font-mono, monospace)}.specPageInput{width:60px;padding:3px 6px;background:var(--bg2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px}.specPageCov{font-size:11px;font-weight:600}.specPageView{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:12px;text-align:center;max-height:70vh;overflow:auto}.specPageOverlayList{display:flex;flex-wrap:wrap;gap:4px;padding:6px}.specBlockChip{font-size:9px;padding:1px 6px;border-radius:3px;background:#ffffff0d;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.specBlockChip.block-paragraph{background:#58a6ff26;color:#58a6ff}.specBlockChip.block-table{background:#f7816626;color:#f78166}.specBlockChip.block-figure{background:#bc8cff26;color:#bc8cff}.specBlockChip.block-list{background:#3fb95026;color:#3fb950}.specBlockChip.block-caption{background:#f0b42926;color:#f0b429}.specBlockChip.block-header,.specBlockChip.block-footer{background:#6e768126;color:#6e7681}.specBlockChip.block-footnote{background:#6e76811a;color:#6e7681;font-style:italic}.specCoverageTab{display:flex;flex-direction:column;gap:14px}.specCoverageTable{width:100%;border-collapse:collapse;font-size:12px}.specCoverageTable th,.specCoverageTable td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border)}.specCoverageTable th{background:var(--bg2);font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:10px;letter-spacing:.05em}.specCoverageTable tr:hover{background:var(--bg-hover)}.reqTab{padding:16px;display:flex;flex-direction:column;gap:10px;height:100%;overflow:hidden}.reqHeader{display:flex;align-items:center;gap:8px}.reqHeaderTitle{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text);flex:1}.reqCount{font-size:11px;color:var(--text-muted);font-weight:400}.reqChipRow{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.reqChipLabel{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-right:6px}.reqChip{padding:3px 9px;background:var(--bg2);border:1px solid var(--border);border-radius:9999px;font-size:11px;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s;text-transform:capitalize}.reqChip:hover{background:var(--bg-hover)}.reqChipClear{padding:3px 9px;background:transparent;border:1px solid #f78166;border-radius:9999px;font-size:11px;color:#f78166;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.reqFilters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reqSearchWrap{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg2);border:1px solid var(--border);border-radius:4px;flex:1;min-width:200px}.reqSearchInput{flex:1;background:transparent;border:none;color:var(--text);font-size:12px;outline:none}.reqSelect{padding:4px 8px;background:var(--bg2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:11px}.reqLowConf{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f0b4291a;border-left:2px solid #f0b429;color:#f0b429;font-size:11px;border-radius:3px}.reqTableWrap{flex:1;overflow:auto;border:1px solid var(--border);border-radius:6px}.reqTable{width:100%;border-collapse:collapse;font-size:12px}.reqTable th,.reqTable td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border)}.reqTable th{background:var(--bg2);font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:10px;letter-spacing:.05em;position:sticky;top:0;z-index:1}.reqTable tr.reqRow{cursor:pointer;transition:background .15s}.reqTable tr.reqRow:hover{background:var(--bg-hover)}.reqTable .reqEmpty{text-align:center;padding:24px;color:var(--text-muted)}.reqCode{font-family:var(--font-mono, monospace);font-size:10px;font-weight:700;color:var(--primary)}.reqTextCell{font-size:11px;max-width:400px}.reqSource{font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-muted)}.reqDiscChip,.reqSubChip{display:inline-block;padding:1px 7px;border-radius:9999px;font-size:10px;font-weight:600;text-transform:capitalize}.reqDiscChip.disc-security{background:#58a6ff26;color:#58a6ff}.reqDiscChip.disc-safety{background:#f7816626;color:#f78166}.reqDiscChip.disc-bms{background:#3fb95026;color:#3fb950}.reqDiscChip.disc-smart{background:#bc8cff26;color:#bc8cff}.reqSubChip.sub-drawing{background:#22d3ee26;color:#22d3ee}.reqSubChip.sub-architecture{background:#f59e0b26;color:#f59e0b}.reqSubChip.sub-note{background:#6e768126;color:#8b949e}.reqStatusChip{display:inline-block;padding:1px 7px;border-radius:3px;font-size:10px;font-weight:600;text-transform:capitalize}.reqStatusChip.status-pending{background:#6e768126;color:#8b949e}.reqStatusChip.status-reviewed{background:#58a6ff26;color:#58a6ff}.reqStatusChip.status-accepted{background:#3fb95026;color:#3fb950}.reqStatusChip.status-rejected{background:#f7816626;color:#f78166}.reqStatusChip.status-duplicate{background:#6e76811a;color:#8b949e}.reqConfBar{display:inline-block;width:50px;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden;vertical-align:middle}.reqConfFill{display:block;height:100%;border-radius:3px}.reqConfText{font-size:10px;margin-left:6px;color:var(--text-muted)}.reqModalBackdrop{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.reqModal{background:var(--bg, #0d1117);border:1px solid var(--border);border-radius:10px;width:min(96vw,1180px);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 8px 60px #0009}.reqModalHeader{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}.reqModalCode{font-family:var(--font-mono, monospace);font-size:13px;font-weight:700;color:var(--primary)}.reqModalModality{font-size:10px;padding:1px 7px;border-radius:3px;background:#58a6ff26;color:#58a6ff;text-transform:uppercase;letter-spacing:.05em}.reqModalClose{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px}.reqModalClose:hover{background:var(--bg-hover);color:var(--text)}.reqModalLoading{padding:60px;text-align:center;color:var(--text-muted)}.reqModalBody{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;padding:14px 16px;overflow-y:auto}.reqModalLeft,.reqModalCentre,.reqModalRight{display:flex;flex-direction:column;gap:10px}.reqModalSectionTitle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.reqModalSubTitle{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:8px;margin-bottom:4px}.reqModalText{font-size:13px;color:var(--text);line-height:1.5;padding:10px;background:var(--bg2);border-radius:6px;border-left:3px solid var(--primary)}.reqModalContext{font-size:11px;color:var(--text-muted)}.reqModalContext summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:4px 0}.reqModalEnriched{margin-top:10px;padding:8px 10px;background:#bc8cff14;border-left:3px solid #bc8cff;border-radius:4px}.reqModalEnrichedText{font-size:13px;color:var(--text-primary);line-height:1.5;margin-top:4px}.reqModalEnrichedNote{font-size:12px;color:var(--text-secondary);line-height:1.45;margin-top:4px;font-style:italic}.reqModalCtxBefore,.reqModalCtxAfter{padding:6px 10px;background:var(--bg2);border-radius:4px;margin:4px 0}.reqModalStandards{display:flex;flex-wrap:wrap;gap:4px}.reqStdChip{font-family:var(--font-mono, monospace);font-size:10px;padding:1px 7px;background:#f59e0b26;color:#f59e0b;border-radius:3px}.reqModalSourcePath{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-muted);padding:6px 8px;background:var(--bg2);border-radius:4px}.reqModalSourcePage{font-size:11px;color:var(--text-muted)}.reqModalThumb{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:8px;max-height:280px;overflow:hidden}.reqModalThumb img{max-width:100%;display:block;margin:0 auto}.reqModalTable{background:var(--bg2);border-radius:6px;padding:8px}.reqModalTableEl{width:100%;font-size:11px}.reqModalTableEl th{text-align:left;color:var(--text-muted);font-weight:600;padding:2px 6px 2px 0;vertical-align:top}.reqModalTableEl td{padding:2px 0;color:var(--text)}.reqModalClassRow{display:flex;align-items:center;gap:8px}.reqModalClassLabel{font-size:11px;color:var(--text-muted);min-width:70px}.reqModalConf{font-size:10px;color:var(--text-muted);font-family:var(--font-mono, monospace)}.reqModalRationale{padding:8px 10px;background:var(--bg2);border-left:2px solid var(--primary);border-radius:4px}.reqModalRationaleText{font-size:11px;color:var(--text);line-height:1.5}.reqModalOverride{background:var(--bg2);border-radius:6px;padding:10px}.reqModalLabel{display:block;font-size:10px;color:var(--text-muted);text-transform:uppercase;margin-top:8px;margin-bottom:3px;letter-spacing:.05em}.reqModalTextarea{width:100%;padding:5px 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px;font-family:inherit;resize:vertical}.reqModalSaveBtn{margin-top:10px;display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:var(--primary, #58a6ff);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer}.reqModalSaveBtn:disabled{opacity:.5;cursor:wait}.reqModalLinked{background:var(--bg2);border-radius:6px;padding:10px}.reqModalLinkedEmpty{font-size:11px;color:var(--text-muted);padding:4px 0}.reqModalLinkRow{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px}.reqModalLinkRow code{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.reqModalLinkRemove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px}.reqModalLinkRemove:hover{color:#f78166}.reqModalSuggBtn{margin-top:8px;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:11px;cursor:pointer}.reqModalSuggBtn:hover{background:var(--bg-hover);border-color:var(--primary)}.reqModalSuggList{display:flex;flex-direction:column;gap:4px;margin-top:6px}.reqModalSuggRow{display:grid;grid-template-columns:80px 1fr 40px;gap:6px;align-items:center;padding:4px 8px;background:var(--bg);border-radius:4px;cursor:pointer;transition:background .15s;font-size:11px}.reqModalSuggRow:hover{background:#58a6ff14}.reqModalSuggType{font-size:10px;text-transform:uppercase;color:var(--text-muted)}.reqModalSuggReason{color:var(--text)}.reqModalSuggScore{font-family:var(--font-mono);color:var(--primary);font-weight:600;text-align:right}.coverageTab{padding:16px;display:flex;flex-direction:column;gap:12px}.coverageTable{width:100%;border-collapse:collapse;font-size:12px}.coverageTable th,.coverageTable td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--border)}.coverageTable th:first-child,.coverageTable td:first-child{text-align:left}.coverageTable th{background:var(--bg2);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.coverageDrawing{font-weight:600;color:var(--text);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coverageCell{cursor:pointer;transition:background .15s}.coverageCell:hover{outline:1px solid var(--primary)}.coverageNum{font-size:14px;font-weight:700;color:var(--text)}.coverageDenom{font-size:11px;color:var(--text-muted);margin-left:2px}.coverageGapRow{background:#f781660a}.specBackendConnect{padding:40px 20px;display:flex;flex-direction:column;align-items:center}.specConnectMeta{display:flex;flex-direction:column;gap:4px;margin:14px 0 8px;padding:10px 14px;background:var(--bg2, #161b22);border:1px solid var(--border, #30363d);border-radius:6px;min-width:360px}.specConnectRow{display:flex;align-items:center;gap:10px;font-size:11px}.specConnectLabel{color:var(--text-muted, #8b949e);min-width:130px;text-transform:uppercase;letter-spacing:.04em}.specConnectValue{color:var(--text)}.specConnectValueMono{font-family:var(--font-mono, monospace);font-size:10px;color:var(--text);background:var(--bg, #0d1117);padding:1px 6px;border-radius:3px}.specConnectStep{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#58a6ff1a;border-left:2px solid var(--primary, #58a6ff);color:var(--primary, #58a6ff);font-size:11px;border-radius:3px;margin:6px 0}.specConnectBtn{margin-top:4px;display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:var(--primary, #58a6ff);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s}.specConnectBtn:hover{opacity:.9}.specConnectBtn:disabled{opacity:.5;cursor:not-allowed}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
