.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.right-0{right:0}.top-1\/2{top:50%}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.m-0{margin:0}.m-4{margin:1rem}.m-5{margin:1.25rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-full{height:100%}.max-h-36{max-height:9rem}.max-h-72{max-height:18rem}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.w-10{width:2.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-\[18px\]{width:18px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[240px\]{min-width:240px}.min-w-\[60px\]{min-width:60px}.min-w-\[7\.5rem\]{min-width:7.5rem}.min-w-full{min-width:100%}.max-w-5xl{max-width:64rem}.flex-1{flex:1 1}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[16px_1fr\]{grid-template-columns:16px 1fr}.grid-cols-\[minmax\(0\2c 1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.grid-cols-\[minmax\(110px\2c 42\%\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(110px,42%) minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-amber-100{--tw-border-opacity:1;border-color:#fef3c7;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:#93c5fd;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-emerald-100{--tw-border-opacity:1;border-color:#d1fae5;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:#a7f3d0;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:#e0e7ff;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:#a5b4fc;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:#818cf8;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:#6366f1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-700{--tw-border-opacity:1;border-color:#4338ca;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:#fee2e2;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.bg-amber-50{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:#d1fae5;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:#e0e7ff;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-700{--tw-bg-opacity:1;background-color:#4338ca;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.bg-pink-600{--tw-bg-opacity:1;background-color:#db2777;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:#0f172a;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-transparent{background-color:initial}.bg-violet-600{--tw-bg-opacity:1;background-color:#7c3aed;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-slate-50{--tw-gradient-to:#f8fafc var(--tw-gradient-to-position)}.p-0{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-wide{letter-spacing:.025em}.text-amber-700{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:#1e3a8a;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:#065f46;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.\!ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.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)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--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(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1{--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--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)}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{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)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.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)}.\!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)!important}.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)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px;line-height:1.5;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:#93c5fd;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:#a5b4fc;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:#60a5fa;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width:1024px){.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}}@media (min-width:1280px){.xl\:sticky{position:sticky}.xl\:top-4{top:1rem}.xl\:grid{display:grid}.xl\:grid-cols-\[280px_minmax\(0\2c 1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}}@media (min-width:1536px){.\32xl\:grid-cols-\[340px_minmax\(0\2c 1fr\)\]{grid-template-columns:340px minmax(0,1fr)}.\32xl\:grid-cols-\[minmax\(0\2c 1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}}:host,:root{--ol-background-color:#fff;--ol-accent-background-color:#f5f5f5;--ol-subtle-background-color:#80808040;--ol-partial-background-color:#ffffffbf;--ol-foreground-color:#333;--ol-subtle-foreground-color:#666;--ol-brand-color:#0af}.ol-box{background-color:#ffffffbf;background-color:var(--ol-partial-background-color);border:1.5px solid #fff;border:1.5px solid var(--ol-background-color);border-radius:2px;box-sizing:border-box}.ol-mouse-position{position:absolute;right:8px;top:8px}.ol-scale-line{background:#ffffffbf;background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #666;border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:#333;color:var(--ol-foreground-color);font-size:10px;margin:1px;text-align:center;transition:all .25s;will-change:contents,width}.ol-scale-bar{bottom:8px;left:8px;position:absolute}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{background-color:#333;background-color:var(--ol-foreground-color);float:right;height:15px;width:1px;z-index:10}.ol-scale-step-text{bottom:-5px;font-size:10px;z-index:11}.ol-scale-step-text,.ol-scale-text{color:#333;color:var(--ol-foreground-color);position:absolute;text-shadow:-1.5px 0 #ffffffbf,0 1.5px #ffffffbf,1.5px 0 #ffffffbf,0 -1.5px #ffffffbf;text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{bottom:25px;font-size:12px;text-align:center}.ol-scale-singlebar{border:1px solid #333;border:1px solid var(--ol-foreground-color);box-sizing:border-box;height:10px;position:relative;z-index:9}.ol-scale-singlebar-even{background-color:#666;background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:#fff;background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:grabbing}.ol-grab{cursor:move;cursor:grab}.ol-control{background-color:#80808040;background-color:var(--ol-subtle-background-color);border-radius:4px;position:absolute}.ol-zoom{left:.5em;top:.5em}.ol-rotate{right:.5em;top:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;transition:opacity .25s linear,visibility 0s linear .25s;visibility:hidden}.ol-zoom-extent{left:.5em;top:4.643em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{background-color:#fff;background-color:var(--ol-background-color);border:none;border-radius:2px;color:#666;color:var(--ol-subtle-foreground-color);display:block;font-size:inherit;font-weight:700;height:1.375em;line-height:.4em;margin:1px;padding:0;text-align:center;text-decoration:none;width:1.375em}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{color:#333;color:var(--ol-foreground-color);outline:1px solid #666;outline:1px solid var(--ol-subtle-foreground-color);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{align-items:center;bottom:.5em;display:flex;flex-flow:row-reverse;max-width:calc(100% - 1.3em);right:.5em;text-align:right}.ol-attribution a{color:#666;color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{color:#333;color:var(--ol-foreground-color);font-size:12px;margin:0;padding:1px .5em;text-shadow:0 0 2px #fff;text-shadow:0 0 2px var(--ol-background-color)}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:#ffffffbf;background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;left:.5em;top:4.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #666;border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:#80808040;background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted #666;border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}:root{--c-form-blue:#165391;--c-form-blue-dark:#0f3d6e;--c-form-blue-border:#16355e;--c-link-blue:#1a73e8;--c-link-blue-dark:#1558b0;--c-input-border:#c3cdda;--z-overlay:1100;--z-modal:1200;--z-modal-strong:2000;--z-max:9999}#root,body,html{height:100%;margin:0;overflow:hidden}body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;position:fixed;width:100%}@media (min-width:768px){body{position:static}}*{overscroll-behavior:none}.ai-analysis-panel,.ai-analysis-results,.attribute-table,.attribute-table-wrap,.layer-dialog-body,.modal-body,.right-workspace-panel,.search-layer-list,.search-results,.sidebar,.spatial-tools__panel,body,html{scrollbar-color:#475569a6 #e2e8f080;scrollbar-width:thin}.ai-analysis-panel::-webkit-scrollbar,.ai-analysis-results::-webkit-scrollbar,.attribute-table-wrap::-webkit-scrollbar,.attribute-table::-webkit-scrollbar,.layer-dialog-body::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.right-workspace-panel::-webkit-scrollbar,.search-layer-list::-webkit-scrollbar,.search-results::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.spatial-tools__panel::-webkit-scrollbar,body::-webkit-scrollbar,html::-webkit-scrollbar{height:10px;width:10px}.ai-analysis-panel::-webkit-scrollbar-track,.ai-analysis-results::-webkit-scrollbar-track,.attribute-table-wrap::-webkit-scrollbar-track,.attribute-table::-webkit-scrollbar-track,.layer-dialog-body::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track,.right-workspace-panel::-webkit-scrollbar-track,.search-layer-list::-webkit-scrollbar-track,.search-results::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.spatial-tools__panel::-webkit-scrollbar-track,body::-webkit-scrollbar-track,html::-webkit-scrollbar-track{background:#e2e8f080;border-radius:8px}.ai-analysis-panel::-webkit-scrollbar-thumb,.ai-analysis-results::-webkit-scrollbar-thumb,.attribute-table-wrap::-webkit-scrollbar-thumb,.attribute-table::-webkit-scrollbar-thumb,.layer-dialog-body::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.right-workspace-panel::-webkit-scrollbar-thumb,.search-layer-list::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.spatial-tools__panel::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:#475569a6;border:1px solid #fff9;border-radius:8px}.ai-analysis-panel::-webkit-scrollbar-thumb:hover,.ai-analysis-results::-webkit-scrollbar-thumb:hover,.attribute-table-wrap::-webkit-scrollbar-thumb:hover,.attribute-table::-webkit-scrollbar-thumb:hover,.layer-dialog-body::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover,.right-workspace-panel::-webkit-scrollbar-thumb:hover,.search-layer-list::-webkit-scrollbar-thumb:hover,.search-results::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover,.spatial-tools__panel::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,html::-webkit-scrollbar-thumb:hover{background:#1e293bd9}@media (max-width:1000px),(pointer:coarse){.ai-analysis-panel,.ai-analysis-results,.attribute-table,.attribute-table-wrap,.layer-dialog-body,.modal-body,.right-workspace-panel,.search-layer-list,.search-results,.sidebar,.spatial-tools__panel,body,html{scrollbar-color:#1e293bc7 #e2e8f099;scrollbar-width:auto}.ai-analysis-panel::-webkit-scrollbar,.ai-analysis-results::-webkit-scrollbar,.attribute-table-wrap::-webkit-scrollbar,.attribute-table::-webkit-scrollbar,.layer-dialog-body::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.right-workspace-panel::-webkit-scrollbar,.search-layer-list::-webkit-scrollbar,.search-results::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.spatial-tools__panel::-webkit-scrollbar,body::-webkit-scrollbar,html::-webkit-scrollbar{height:14px;width:14px}.ai-analysis-panel::-webkit-scrollbar-thumb,.ai-analysis-results::-webkit-scrollbar-thumb,.attribute-table-wrap::-webkit-scrollbar-thumb,.attribute-table::-webkit-scrollbar-thumb,.layer-dialog-body::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.right-workspace-panel::-webkit-scrollbar-thumb,.search-layer-list::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.spatial-tools__panel::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:#1e293bc7;min-height:44px}}.app-shell{background:#eef3f8;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.toast{border-radius:6px;box-shadow:0 8px 20px #0003;color:#fff;font-size:13px;font-weight:600;max-width:320px;min-width:180px;padding:10px 12px;position:fixed;right:14px;top:14px;z-index:1200;z-index:var(--z-modal)}.toast-success{background:#1c8f52}.toast-error{background:#b91c1c}button{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}button:not(:disabled):active{filter:brightness(.9)}.ui-tooltip{align-items:center;display:inline-flex;position:relative}.ui-tooltip-bubble{background:#0f172af5;border-radius:12px;bottom:calc(100% + 10px);box-shadow:0 18px 36px #0f172a47;color:#fff;font-size:11px;font-weight:600;left:50%;line-height:1.45;max-width:240px;min-width:160px;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%) translateY(4px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;visibility:hidden;z-index:1600}.ui-tooltip-bubble:after{border-color:#0f172af5 #0000 #0000;border-style:solid;border-width:6px 6px 0;content:"";left:50%;margin-left:-6px;position:absolute;top:100%}.ui-tooltip:focus-within .ui-tooltip-bubble,.ui-tooltip:hover .ui-tooltip-bubble{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.ui-tooltip-bubble--portal{margin-top:-10px;opacity:1;position:fixed;transform:translate(-50%,-100%);visibility:visible;z-index:9999;z-index:var(--z-max)}.ui-tooltip-bubble--portal.ui-tooltip--left{transform:translate(-100%,-100%)}.ui-tooltip-bubble--portal-below{margin-top:10px;transform:translate(-50%)}.ui-tooltip-bubble--portal-below.ui-tooltip--left{transform:translate(-100%)}.ui-tooltip-bubble--portal-below:after{border-color:#0000 #0000 #0f172af5;border-width:0 6px 6px;bottom:100%;top:auto}.ui-tooltip--left .ui-tooltip-bubble{left:auto;right:0;transform:translateY(4px)}.ui-tooltip--left .ui-tooltip-bubble:after{left:auto;margin-left:0;right:12px}.ui-tooltip--left:focus-within .ui-tooltip-bubble,.ui-tooltip--left:hover .ui-tooltip-bubble{transform:translateY(0)}.topbar{align-items:center;background:#fff;border-bottom:1px solid #d8e1ec;border-top:4px solid #333;box-shadow:0 1px 8px #0f172a14;display:flex;gap:12px;min-height:56px;padding:6px 12px;position:relative;z-index:1100;z-index:var(--z-overlay)}.topbar-brand{color:#0f172a;flex-shrink:0;gap:10px;min-width:214px}.topbar-brand,.topbar-brand-mark{align-items:center;display:inline-flex}.topbar-brand-mark{background:#fff;border:1px solid #d9e4f2;border-radius:11px;box-shadow:0 5px 14px #0f2d5a1f;height:42px;justify-content:center;width:42px}.topbar-brand-mark svg{display:block}.topbar-brand-copy{display:inline-flex;flex-direction:column;line-height:1.1;min-width:0}.topbar-brand-copy strong{color:#020617;font-size:16px;font-weight:800;letter-spacing:0}.topbar-brand-copy small{color:#475569;font-size:11px;font-weight:500;margin-top:4px;white-space:nowrap}.topbar>.top-search-bar{flex:0 1 220px;max-width:240px;min-width:150px}.topbar-tools{align-items:center;background:#f8fafc;border:1px solid #cbd7e6;border-radius:9px;box-shadow:0 1px 3px #0f172a0a;display:inline-flex;flex-shrink:0;gap:4px;margin-left:auto;min-height:44px;padding:3px}.topbar-edit-bar{align-items:center;background:#f0f7ff;border-bottom:1px solid #b7d7ff;display:flex;gap:4px;overflow-x:auto;padding:6px 14px;position:relative;scrollbar-width:thin;z-index:1090}.topbar-edit-bar.is-editable{background:#eaf3ff}.topbar-select-group{align-items:center;display:inline-flex;position:relative}.topbar-select-caret{align-items:center;background:#0000;border:0;color:#64748b;cursor:pointer;display:inline-flex;height:38px;justify-content:center;margin-left:-4px;padding:0;width:14px}.topbar-select-caret:focus-visible,.topbar-select-caret:hover{color:#1d4ed8;outline:none}.topbar-select-menu{background:#fff;border:1px solid #d8e1ec;border-radius:10px;box-shadow:0 12px 28px #0f172a29;display:flex;flex-direction:column;left:0;min-width:170px;padding:4px;position:absolute;top:calc(100% + 6px);z-index:1200;z-index:var(--z-modal)}.topbar-select-menu button{align-items:center;background:#0000;border:0;border-radius:6px;color:#0f172a;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:10px;padding:8px 10px;text-align:left}.topbar-select-menu button.is-active,.topbar-select-menu button:hover{background:#eef2ff;color:#4338ca}.topbar-measure-group{align-items:center;display:inline-flex;position:relative}.topbar-measure-panel{background:#fff;border:1px solid #d8e1ec;border-radius:12px;box-shadow:0 16px 32px #0f172a2e;display:flex;flex-direction:column;gap:10px;left:50%;min-width:240px;padding:10px;position:absolute;top:calc(100% + 6px);transform:translateX(-50%);z-index:1200;z-index:var(--z-modal)}.topbar-measure-modes{grid-gap:6px;background:#f1f5f9;border-radius:8px;display:grid;gap:6px;grid-template-columns:1fr 1fr;padding:4px}.topbar-measure-modes button{background:#0000;border:0;border-radius:6px;color:#475569;cursor:pointer;font-size:13px;font-weight:700;padding:8px 0;transition:background .15s,color .15s}.topbar-measure-modes button:hover{color:#1d4ed8}.topbar-measure-modes button.is-active{background:#fff;box-shadow:0 1px 3px #0f172a1a;color:#1d4ed8}.topbar-measure-result{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;min-height:36px;padding:8px 10px}.topbar-measure-result-label{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.topbar-measure-result-value{color:#0f172a;font-size:14px;font-weight:800;margin-left:auto}.topbar-measure-result-hint{color:#64748b;font-size:12px;line-height:1.35}.topbar-measure-actions{display:flex;gap:6px}.topbar-measure-clear,.topbar-measure-close{border-radius:6px;cursor:pointer;flex:1 1;font-size:12px;font-weight:700;padding:7px 10px;transition:background .15s,color .15s}.topbar-measure-clear{background:#fff;border:1px solid #cbd7e6;color:#334155}.topbar-measure-clear:hover{background:#f1f5f9;color:#1d4ed8}.topbar-measure-close{background:#165391;background:var(--c-form-blue);border:1px solid #165391;border:1px solid var(--c-form-blue);color:#fff}.topbar-measure-close:hover{background:#0f3d6e;background:var(--c-form-blue-dark)}.map-action-fab{display:flex;flex-direction:column;gap:8px;position:absolute;right:10px;top:56px;z-index:1100;z-index:var(--z-overlay)}.map-action-fab-btn{align-items:center;background:#fffffff0;border:1px solid #b8c6d6;border-radius:50%;box-shadow:0 2px 8px #0000001f;color:#334155;cursor:pointer;display:inline-flex;height:38px;justify-content:center;transition:border-color .15s,color .15s,background .15s;width:38px}.map-action-fab-btn.is-active,.map-action-fab-btn:focus-visible,.map-action-fab-btn:hover{background:#fff;border-color:#4338ca;color:#4338ca;outline:none}.map-action-fab-btn.is-pulsing{animation:mapGpsPulse 1.8s ease-in-out infinite}.map-north-indicator{align-items:center;background:#fffffff0;border:1px solid #c7d2fe;border-radius:999px;bottom:18px;box-shadow:0 2px 8px #0f172a1f;color:#1e3a8a;display:inline-flex;font-size:12px;font-weight:800;gap:4px;padding:6px 8px;position:absolute;right:18px;z-index:1100;z-index:var(--z-overlay)}.map-north-indicator__arrow{font-size:14px;line-height:1}.map-geolocation-status{background:#fffffff7;border:1px solid #cbd5f5;border-radius:12px;box-shadow:0 6px 18px #0f172a29;color:#334155;font-size:12px;line-height:1.45;max-height:96px;max-width:min(320px,calc(100% - 96px));overflow-y:auto;padding:10px 12px;position:absolute;right:10px;top:150px;z-index:1100;z-index:var(--z-overlay)}@keyframes mapGpsPulse{0%,to{box-shadow:0 0 0 0 #2563eb1f}50%{box-shadow:0 0 0 6px #2563eb14}}.topbar-layer-label{color:#334155;font-size:12px;font-weight:800;padding:0 8px;white-space:nowrap}.topbar-icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#334155;cursor:pointer;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;padding:0;width:38px}.topbar-icon-btn:focus-visible:not(:disabled),.topbar-icon-btn:hover:not(:disabled){background:#fff;border-color:#d5deea;box-shadow:0 2px 8px #2563eb1f;color:#1d4ed8;outline:none}.topbar-icon-btn.is-active{background:#eef2ff;border-color:#c7d2fe;box-shadow:0 0 0 2px #6366f11f;color:#4338ca}.topbar-icon-btn--small{border-radius:7px;height:30px;width:30px}.topbar-icon-btn:disabled{color:#aab7c6;cursor:not-allowed;opacity:.48}.topbar-actions{align-items:center;display:inline-flex;flex-shrink:0;gap:10px;justify-content:flex-end}.topbar .map-status{background:#f8fafc;border:1px solid #d4deea;border-radius:12px;box-shadow:none;color:#334155;font-size:11px;line-height:1.45;margin-left:0;min-width:260px;padding:8px 10px}.topbar .map-status-copy-btn{background:#fff;border-color:#cbd7e6;color:#64748b;height:20px;padding:0;width:20px}.topbar .map-status-coord{border-top-color:#dbe5f0}.topbar .map-status-grid{grid-gap:2px 10px;display:grid;gap:2px 10px;grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .map-status-grid strong,.topbar .map-status-measure strong{color:#0f172a;margin-right:4px}.topbar .map-status-measure{border-top:1px solid #dbe5f0;margin-top:5px;padding-top:5px}.topbar-basemap-btn{background:#fff;border:1px solid #d0dbea;border-radius:9px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:800;height:36px;padding:0 14px;white-space:nowrap}.topbar-basemap-btn:focus-visible,.topbar-basemap-btn:hover{background:#f7fbff;border-color:#93b5e6;color:#1d4ed8;outline:none}.topbar-login{align-items:center;display:inline-flex;min-height:44px;position:relative}@media (max-width:1380px){.topbar{align-items:center;flex-wrap:wrap}.topbar>.top-search-bar{flex-basis:100%;max-width:none;order:4}.topbar-tools{margin-left:auto}.topbar .map-status{display:none}}@media (max-width:760px){.topbar{grid-column-gap:10px;grid-row-gap:6px;column-gap:10px;display:grid;grid-auto-rows:auto;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;min-height:0;padding:6px 10px;row-gap:6px}.topbar-brand{grid-column:1;grid-row:1;min-width:0}.topbar-brand-copy small{display:none}.topbar-brand-copy strong{font-size:14px}.topbar-brand-mark{height:34px;width:34px}.topbar>.top-search-bar{flex:none;grid-column:2;grid-row:1;max-width:none;min-width:0;width:auto}.topbar>.top-search-bar .top-search-input,.topbar>.top-search-bar .top-search-input-wrapper{min-width:0}.topbar>.top-search-bar .top-search-input-wrapper{height:38px}.topbar-actions{flex:none;grid-column:3;grid-row:1;justify-self:end;margin:0}.topbar-actions .user-menu-trigger{font-size:13px;height:34px;width:34px}.topbar-login{min-height:0}.topbar-tools{flex:none;gap:2px;grid-column:1/-1;grid-row:2;justify-content:space-between;min-height:38px;padding:2px;width:100%}.topbar-tools .topbar-icon-btn{height:32px;min-width:32px;padding:0;width:32px}}.ribbon{align-items:center;background:#005ea8;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px}.ribbon button{align-items:center;background:#fff;border:1px solid #90afd1;border-radius:4px;color:#0b63c9;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;line-height:1;padding:7px 9px}.ribbon button:hover{background:#e8f1ff;border-color:#0b63c9}.ribbon button.ribbon-tool-suggested{background:#15803d;border-color:#15803d;box-shadow:0 0 0 2px #15803d4d;color:#fff}.ribbon button.ribbon-tool-suggested:hover{background:#166534}.ribbon button.ribbon-tool-active{background:#15803d;border-color:#15803d;box-shadow:0 0 0 2px #15803d4d;color:#fff}.ribbon button.ribbon-tool-active:hover{background:#166534}.ribbon button:disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.ribbon-group{align-items:center;background:#0000001f;border:1px solid #ffffff59;border-radius:6px;display:inline-flex;gap:8px;padding:6px 8px}.ribbon-group span{color:#fff;font-size:12px;font-weight:700;letter-spacing:.2px;margin-right:2px}.ribbon-login{align-items:center;display:flex}.user-menu{position:relative}.user-menu,.user-menu-trigger{align-items:center;display:inline-flex}.user-menu-trigger{background:linear-gradient(135deg,#eef2ff,#dbeafe);border:1px solid #c7d2fe;border-radius:999px;box-shadow:0 2px 6px #0f172a14;color:#3730a3;cursor:pointer;font-size:14px;font-weight:800;height:38px;justify-content:center;width:38px}.user-menu-trigger:focus-visible,.user-menu-trigger:hover{background:linear-gradient(135deg,#e0e7ff,#dbeafe);border-color:#93c5fd;outline:none}.user-menu-trigger-text{line-height:1}.user-menu-dropdown{background:#fff;border:1px solid #d8e1ec;border-radius:12px;box-shadow:0 12px 28px #0f172a29;display:flex;flex-direction:column;min-width:132px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:1200;z-index:var(--z-modal)}.user-menu-item{align-items:center;background:#0000;border:0;border-radius:8px;color:#0f172a;cursor:pointer;display:flex;font-size:13px;font-weight:600;justify-content:flex-start;padding:9px 10px;text-decoration:none;width:100%}.user-menu-item:focus-visible,.user-menu-item:hover{background:#f8fafc;color:#1d4ed8;outline:none}.user-menu-item--toggle{gap:8px}.user-menu-toggle-mark{align-items:center;background:#eef4ff;border:1px solid #cbd7e6;border-radius:999px;color:#1d4ed8;display:inline-flex;flex:0 0 18px;font-family:Times New Roman,Georgia,serif;font-size:12px;font-weight:700;height:18px;justify-content:center;width:18px}.user-menu-toggle-mark i{font-style:italic;line-height:1}.user-menu-toggle-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-toggle-pill{background:#cbd7e6;border-radius:999px;display:inline-block;flex:0 0 28px;height:16px;position:relative;transition:background .15s ease;width:28px}.user-menu-toggle-pill.is-on{background:#165391;background:var(--c-form-blue)}.user-menu-toggle-knob{background:#fff;border-radius:999px;box-shadow:0 1px 2px #0f172a2e;height:12px;left:2px;position:absolute;top:2px;transition:transform .15s ease;width:12px}.user-menu-toggle-pill.is-on .user-menu-toggle-knob{transform:translateX(12px)}.coord-search{align-items:center;display:flex;gap:4px;margin-left:12px;position:relative}.coord-search-input{background:#ffffff1f;border:1px solid #ffffff59;border-radius:4px;color:#fff;font-size:12px;outline:none;padding:4px 8px;transition:border-color .15s,background .15s;width:200px}.coord-search-input::placeholder{color:#ffffff80}.coord-search-input:focus{background:#ffffff2e;border-color:#ff9500}.coord-search-btn{background:#ff9500;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px;transition:background .15s}.coord-search-btn:hover{background:#e07c00}.coord-search-error{background:#c0392b;border-radius:3px;color:#fff;font-size:11px;left:0;padding:3px 8px;pointer-events:none;position:absolute;top:calc(100% + 4px);white-space:nowrap;z-index:1000}.map-status{background:#00000047;border:1px solid #ffffff40;border-radius:4px;color:#fff;font-size:12px;margin-left:auto;min-width:170px;padding:6px 10px}.map-status-coord{align-items:center;border-top:1px solid #ffffff29;display:inline-flex;gap:6px;margin-top:5px;padding-top:5px}.map-status-copy-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff47;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;height:20px;justify-content:center;transition:background .15s ease,border-color .15s ease,transform .15s ease;width:20px}.map-status-copy-btn:focus-visible:not(:disabled),.map-status-copy-btn:hover:not(:disabled){background:#ffffff29;border-color:#ffffff73;outline:none}.map-status-copy-btn:active:not(:disabled){transform:translateY(1px)}.map-status-copy-btn:disabled{cursor:not-allowed;opacity:.45}.map-layout{display:flex;overflow:hidden}.map-layout,.map-panel{flex:1 1;min-height:0;position:relative}.map-canvas{height:100%;width:100%}.street-view-host{border-left:1px solid #1a3149;display:flex;flex-basis:480px;flex-grow:0;flex-shrink:0;max-width:75%;min-height:0;min-width:280px;width:480px}.street-view-divider{align-items:center;background:#c8d4e0;cursor:col-resize;display:flex;flex:0 0 8px;justify-content:center;width:8px}.street-view-divider:before{background:#8aa0b6;border-radius:2px;content:"";height:28px;width:2px}.street-view-divider:hover{background:#aab8c8}.schematic-map-chip{align-items:center;background:#fffffff7;border:1px solid #cbd7e6;border-radius:999px;box-shadow:0 6px 18px #0f172a33;display:inline-flex;gap:6px;left:50%;padding:6px 8px 6px 12px;position:fixed;top:88px;transform:translateX(-50%);z-index:1500}.schematic-map-chip__label{color:#1a3149;font-size:12px;font-weight:800;white-space:nowrap}.schematic-map-chip__btn{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#334155;cursor:pointer;font-size:11px;font-weight:700;padding:4px 10px}.schematic-map-chip__btn:hover{background:#f1f5f9;color:#0f172a}.schematic-map-chip__btn--close{color:#64748b;padding:4px 8px}.pegman-marker{height:0;position:relative;width:0}.pegman-cone{background:conic-gradient(from -25deg,#3b82f600 0deg,#3b82f673 25deg,#3b82f600 50deg);clip-path:circle(100% at 50% 100%);height:64px;margin-left:-32px;pointer-events:none;transform-origin:50% 100%;width:64px}.pegman-body,.pegman-cone{bottom:0;left:50%;position:absolute}.pegman-body{cursor:grab;filter:drop-shadow(0 2px 3px rgba(15,23,42,.4));touch-action:none;transform:translateX(-50%)}.pegman-marker.is-dragging .pegman-body{cursor:grabbing}.pegman-marker.is-dragging .pegman-cone{opacity:.4}.pegman-dock{align-items:center;background:#fffffff7;border:1px solid #cbd7e6;border-radius:12px;bottom:22px;box-shadow:0 6px 18px #0f172a38;display:flex;flex-direction:column;gap:2px;left:50%;padding:6px 10px 4px;position:absolute;transform:translateX(-50%);z-index:90}.pegman-dock-figure{cursor:grab;filter:drop-shadow(0 2px 3px rgba(15,23,42,.35));touch-action:none}.pegman-dock.is-dragging .pegman-dock-figure{cursor:grabbing;opacity:.35}.pegman-dock-label{color:#475569;font-size:10px;font-weight:800;letter-spacing:.2px;white-space:nowrap}.pegman-ghost{filter:drop-shadow(0 4px 6px rgba(15,23,42,.5));margin-left:-12px;margin-top:-28px;pointer-events:none;position:fixed;z-index:4000}.map-mode-indicator{background:#fffffff0;border:1px solid #c7d2fe;border-radius:12px;box-shadow:0 8px 24px #0f172a29;color:#334155;display:flex;flex-direction:column;gap:3px;left:50%;max-width:min(420px,calc(100% - 32px));min-width:240px;padding:10px 14px;pointer-events:none;position:absolute;text-align:center;top:16px;transform:translateX(-50%);z-index:1100;z-index:var(--z-overlay)}.map-mode-indicator strong{color:#4338ca;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.map-mode-indicator span{font-size:12px;line-height:1.35}.map-quick-actions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #cbd5e1eb;border-radius:16px;bottom:16px;box-shadow:0 16px 36px #0f172a2e;display:flex;flex-wrap:wrap;gap:8px;left:16px;max-width:min(520px,calc(100% - 32px));padding:8px;position:absolute;z-index:1100;z-index:var(--z-overlay)}.map-quick-action-btn{align-items:center;background:#eef2f7;border:1px solid #0000;border-radius:12px;color:#334155;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:8px;min-height:40px;padding:0 14px;transition:all .2s ease}.map-quick-action-btn svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:16px;width:16px}.map-quick-action-btn:focus-visible,.map-quick-action-btn:hover{background:#eef2ff;border-color:#c7d2fe;color:#4338ca;outline:none}.map-quick-action-btn.is-active{background:#4f46e5;border-color:#c7d2fe;box-shadow:0 10px 24px #4f46e547;color:#fff}.map-quick-action-btn--ghost{background:#fff;color:#475569}.map-overlay-card{background:#fffffff5;border:1px solid #b8c6d6;border-radius:8px;box-shadow:0 2px 10px #0000001f;box-sizing:border-box;padding:10px;position:absolute;right:10px;top:10px;-webkit-user-select:none;user-select:none;width:220px;z-index:1100;z-index:var(--z-overlay)}.map-overlay-card--collapsed{min-width:130px;padding:6px 10px;width:auto}.map-overlay-title{align-items:center;color:#27435f;display:flex;font-size:13px;font-weight:700;gap:10px;justify-content:space-between;line-height:1.2;min-height:28px}.map-overlay-title>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-overlay-card:not(.map-overlay-card--collapsed) .map-overlay-title{margin-bottom:10px}.map-overlay-toggle{align-items:center;background:#edf2f8;border:1px solid #b8c6d6;border-radius:6px;box-sizing:border-box;color:#27435f;cursor:pointer;display:inline-flex;flex:0 0 24px;height:24px;justify-content:center;padding:0;transition:background .12s,border-color .12s,color .12s;width:24px}.map-overlay-toggle:focus-visible,.map-overlay-toggle:hover{background:#d4e4f4;border-color:#8aafc8;color:#165391;color:var(--c-form-blue);outline:none}.map-overlay-card select{border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:4px;padding:6px;width:100%}.basemap-switcher{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.basemap-option{align-items:center;background:#f3f7fb;border:2px solid #0000;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:flex-start;min-height:84px;padding:6px;transition:border-color .15s,background .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.basemap-option:hover{background:#eaf2fb;border-color:#9ab0c8}.basemap-option.active{background:#e8f0fe;border-color:#165391;border-color:var(--c-form-blue);box-shadow:inset 0 0 0 1px #165391;box-shadow:0 0 0 1px var(--c-form-blue) inset}.basemap-option input[type=radio]{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.basemap-thumb{align-items:center;background:#fff;border:1px solid #d0dbe8;border-radius:4px;display:flex;flex:0 0 auto;height:44px;justify-content:center;overflow:hidden;transition:border-color .15s;width:56px}.basemap-thumb img,.basemap-thumb svg{display:block;height:100%;width:100%}.basemap-option.active .basemap-thumb{border-color:#165391;border-color:var(--c-form-blue)}.basemap-label{color:#3a5570;font-size:11px;font-weight:600;line-height:1.3;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.basemap-option.active .basemap-label{color:#165391;color:var(--c-form-blue)}.sidebar{background:#f8fafc;box-sizing:border-box;display:flex;flex:0 0 auto;flex-direction:column;gap:10px;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:10px}.resize-handle{--tw-bg-opacity:1;align-items:center;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1));cursor:col-resize;display:flex;flex:0 0 10px;justify-content:center;position:relative;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;z-index:10}.resize-handle:hover{--tw-bg-opacity:1;background-color:#cbd5e1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.sidebar-toggle-btn{--tw-translate-y:-50%;--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);align-items:center;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:9999px;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1));display:flex;height:2.25rem;justify-content:center;padding:0;position:absolute;top:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem;z-index:20}.sidebar-toggle-btn:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#a5b4fc;border-color:rgb(165 180 252/var(--tw-border-opacity,1));color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.resize-handle--left .sidebar-toggle-btn{left:calc(100% - 4px)}.resize-handle--right .sidebar-toggle-btn{right:calc(100% - 4px)}.sidebar-toggle-btn: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);--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1));--tw-ring-offset-width:1px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.mobile-workspace-tabs{display:none}.sidebar h3{margin:0 0 10px}.feature-id{color:#4a5c70;font-size:13px;margin-bottom:10px}.identify-results{display:flex;flex-direction:column;gap:8px}.identify-results-summary{color:#38546f;font-size:12px;font-weight:700}.identify-results-list{display:flex;flex-direction:column;gap:6px}.identify-result-item{background:#fff;border:1px solid #c8d4e0;border-radius:6px;color:#17283a;cursor:pointer;padding:8px 9px;text-align:left;width:100%}.identify-result-item:hover{background:#f3f8ff;border-color:#165391;border-color:var(--c-form-blue)}.identify-result-item.selected{background:#e8f1ff;border-color:#165391;border-color:var(--c-form-blue);box-shadow:inset 3px 0 0 #165391;box-shadow:inset 3px 0 0 var(--c-form-blue)}.identify-result-title{display:block;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identify-result-meta{color:#60758f;display:flex;flex-wrap:wrap;font-size:11px;gap:5px;margin-top:5px}.identify-result-meta span{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-panel{background:#fff;border:1px solid #d2dbe5;border-radius:6px;box-shadow:0 1px 2px #0000000d}.dock-panel-header{align-items:center;border-bottom:1px solid #dbe3ed;display:flex;gap:8px;justify-content:space-between;padding:8px 10px}.dock-panel-header h3{font-size:16px;margin:0}.dock-panel-toggle{align-items:center;border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;width:34px}.dock-panel-toggle svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:16px;width:16px}.dock-panel-toggle--expanded{background:#e8f4ff;border-color:#8fb6db;box-shadow:0 0 0 3px #74b5f233;color:#1f4f7d}.dock-panel-toggle--minimized{background:#ebfbf1;border-color:#7cc79a;box-shadow:0 0 0 3px #7cc79a33;color:#23643c}.dock-panel-toggle:hover{transform:translateY(-1px)}.dock-panel-toggle:focus-visible{outline:2px solid #2d5d8a;outline-offset:2px}.dock-panel-body{padding:10px}.find-form input,.find-form select{border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:4px;box-sizing:border-box;margin-bottom:8px;padding:7px;width:100%}.trail-panel{gap:8px}.trail-panel,.trail-panel label{display:flex;flex-direction:column}.trail-panel label{color:#294863;font-size:12px;gap:4px}.trail-panel select,.trail-panel textarea{border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:4px;box-sizing:border-box;padding:7px;width:100%}.trail-panel button{background:#165391;background:var(--c-form-blue);border:1px solid #16355e;border:1px solid var(--c-form-blue-border);border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:8px 12px}.trail-panel button:disabled{background:#9aa8b8;border-color:#8a96a3;cursor:not-allowed}.trail-hint{color:#59708a;font-size:12px}.find-controls,.trail-actions{display:flex;gap:8px}.find-target-note{color:#59708a;font-size:12px;margin-bottom:8px}.search-layer-list{background:#f7fafd;border:1px solid #d2dbe5;border-radius:4px;margin-bottom:8px;max-height:90px;overflow-y:auto;padding:6px}.search-layer-item{color:#294863;font-size:12px;padding:2px 0}.find-actions{display:flex;gap:8px;margin-bottom:8px}.find-actions button{background:#165391;background:var(--c-form-blue);border:1px solid #16355e;border:1px solid var(--c-form-blue-border);border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:8px 12px}.find-actions button:disabled{background:#9aa8b8;border-color:#8a96a3;cursor:not-allowed}.search-error{color:#b41f3a;font-size:12px;margin-bottom:8px}.search-results{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}.search-results button{background:#fff;border:1px solid #c5d0dd;border-radius:4px;color:#18314d;cursor:pointer;padding:7px 8px;text-align:left}.search-results button:hover{background:#edf4ff}#attribute-table{border-collapse:collapse;margin-bottom:10px;width:100%}#attribute-table td,#attribute-table th{border:1px solid #d2dbe5;padding:8px;text-align:left}#attribute-table th{background:#e8eef5}#attribute-table .attr-enum-select,#attribute-table input{background:#fff;border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:4px;box-sizing:border-box;font-size:inherit;padding:6px;width:100%}.feature-info-card{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);margin-bottom:.75rem;padding:1rem}.feature-info-head{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.feature-info-head--split{gap:1rem;justify-content:space-between}.feature-info-head-main{align-items:center;display:flex;gap:.75rem;min-width:0}.feature-info-icon{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1));border-radius:.75rem;color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1));display:inline-flex;flex:none;height:2.5rem;justify-content:center;width:2.5rem}.feature-info-icon svg{height:1.25rem;width:1.25rem}.feature-info-icon--button{border-width:0;cursor:pointer;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.feature-info-icon--button:focus-visible,.feature-info-icon--button:hover{--tw-bg-opacity:1;--tw-text-opacity:1;--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);--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1));background-color:#d1fae5;background-color:rgb(209 250 229/var(--tw-bg-opacity,1));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:#065f46;color:rgb(6 95 70/var(--tw-text-opacity,1));outline:2px solid #0000;outline-offset:2px}.feature-info-name{--tw-text-opacity:1;color:#020617;color:rgb(2 6 23/var(--tw-text-opacity,1));font-size:.875rem;font-weight:800;line-height:1.25rem}.feature-info-type{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;margin-top:.125rem}.feature-info-actions{align-items:center;display:flex;flex:none;gap:.5rem}.feature-info-tab-btn{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;line-height:1rem;min-height:2rem;padding:.375rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.feature-info-tab-btn:focus-visible,.feature-info-tab-btn:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1));color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1));outline:2px solid #0000;outline-offset:2px}.feature-info-tab-btn.is-active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1));box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.feature-info-state{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));border-radius:9999px;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.025em;padding:.25rem .625rem;text-transform:uppercase}.attribute-editor-list,.feature-summary-list{display:flex;flex-direction:column;margin:0}.attribute-editor-row,.feature-summary-list div{grid-gap:.75rem;--tw-border-opacity:1;align-items:center;border-bottom-width:1px;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));display:grid;gap:.75rem;grid-template-columns:minmax(110px,42%) minmax(0,1fr);padding-bottom:.5rem;padding-top:.5rem}.attribute-editor-row:last-child,.feature-summary-list div:last-child{border-bottom-width:0}.attribute-editor-label,.feature-summary-list dt{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;font-weight:500;line-height:1rem}.feature-summary-list dd{--tw-text-opacity:1;color:#020617;color:rgb(2 6 23/var(--tw-text-opacity,1));font-size:.75rem;font-weight:800;line-height:1rem;margin:0;min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.attribute-editor-list{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);margin-bottom:.5rem;padding:.25rem .75rem}.attribute-editor-row{cursor:default}.attribute-editor-row.attr-required-row{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1));margin-left:-.75rem;margin-right:-.75rem;padding-left:.75rem;padding-right:.75rem}.attribute-editor-row.attr-required-row:first-child{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.attribute-editor-row.attr-required-row:last-child{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.attribute-editor-label{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));min-width:0;overflow-wrap:break-word}.attribute-editor-control{min-width:0}.attribute-editor-control input{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-sizing:border-box;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;font:inherit;outline:2px solid #0000;outline-offset:2px;padding:.5rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.attribute-editor-control input:focus{--tw-border-opacity:1;--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);--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1));border-color:#6366f1;border-color:rgb(99 102 241/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.attr-ss{position:relative;width:100%}.attr-ss-trigger{align-items:center;background:#fff;border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:4px;box-sizing:border-box;cursor:pointer;display:flex;font-size:inherit;justify-content:space-between;min-height:32px;padding:6px 8px;-webkit-user-select:none;user-select:none;width:100%}.attr-ss-trigger.disabled{background:#f4f8fc;cursor:default;opacity:.8}.attr-ss-trigger:not(.disabled):hover{border-color:#165391;border-color:var(--c-form-blue)}.attr-ss-value{color:#0f2035;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attr-ss-placeholder{color:#94a3b8;flex:1 1}.attr-ss-arrow{color:#60758f;flex-shrink:0;font-size:11px;margin-left:4px}.attr-ss-dropdown{background:#fff;border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:5px;box-shadow:0 4px 16px #00000024;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 3px);z-index:9999;z-index:var(--z-max)}.attr-ss-filter{background:#f8fafc;border:none;border-bottom:1px solid #e3eaf2;box-sizing:border-box;font-size:13px;outline:none;padding:7px 10px;width:100%}.attr-ss-filter:focus{background:#fff}.attr-ss-options{max-height:220px;overflow-y:auto}.attr-ss-option{color:#0f2035;cursor:pointer;font-size:13px;padding:7px 10px;transition:background .1s}.attr-ss-option:hover{background:#eef4ff}.attr-ss-option.selected{background:#e8f0fe;color:#165391;color:var(--c-form-blue);font-weight:600}.attr-ss-clear{border-bottom:1px solid #f0f4f8;color:#8fa5b8}.attr-ss-no-results{color:#94a3b8;font-size:13px;font-style:italic;padding:8px 10px}.attr-required-row td:first-child{background:#fff1f1}.attr-required-label{color:#b21f2d;font-weight:700}.attr-required-star{color:#d32f2f;font-weight:800;margin-left:2px}.attr-required-input{background:#fff7f7;border-color:#d32f2f!important}.attr-required-note{color:#b21f2d;font-size:13px;font-weight:600;margin:-4px 0 8px}.edit-actions{display:flex;gap:8px;margin-bottom:14px}.edit-actions button{background:#165391;background:var(--c-form-blue);border:1px solid #16355e;border:1px solid var(--c-form-blue-border);border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:8px 12px}.edit-actions button:disabled{background:#9aa8b8;border-color:#8a96a3;cursor:not-allowed}#layer-list label{align-items:center;display:flex;gap:8px;margin:6px 0}.layers-search-wrap{align-items:center;display:flex;margin-bottom:8px;position:relative}.layers-search-input{background:#fff;border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:6px;box-sizing:border-box;font-size:13px;outline:none;padding:6px 28px 6px 10px;transition:border-color .15s,box-shadow .15s;width:100%}.layers-search-input:focus{border-color:#165391;border-color:var(--c-form-blue);box-shadow:0 0 0 3px #1653911f}.layers-search-clear{background:#0000;border:0;color:#7c8da2;cursor:pointer;font-size:13px;font-weight:700;height:20px;line-height:1;padding:0;position:absolute;right:6px;width:20px}.layers-search-clear:hover{color:#1d4ed8}.layers-parent-actions{align-items:center;display:flex;flex-direction:row;gap:8px;justify-content:flex-end;margin-bottom:8px}.layers-icon-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:0}.layers-icon-btn:focus-visible{border-radius:4px;outline:2px solid #1a73e8;outline:2px solid var(--c-link-blue);outline-offset:2px}.layers-icon-btn--zoom{background:#e53935;border-radius:50%;height:32px;transition:background .15s;width:32px}.layers-icon-btn--zoom:hover:not(:disabled){background:#c62828}.layers-icon-btn--zoom:disabled{background:#c8c8c8;cursor:not-allowed}.layers-icon-btn--toggle{background:#0000;border-radius:12px;transition:opacity .15s}.layers-icon-btn--toggle:hover{opacity:.85}.layers-table{border-collapse:collapse;font-size:13px;width:100%}.layers-table th{border-bottom:1px solid #c3cdda;border-bottom:1px solid var(--c-input-border);color:#294863;font-weight:700;padding:4px 5px;text-align:center}.layers-table td{padding:3px 5px;vertical-align:middle}.layers-table td:first-child,.layers-table td:nth-child(2),.layers-table td:nth-child(3){padding-left:2px;padding-right:2px;text-align:center;width:20px}.layers-table th:first-child,.layers-table th:nth-child(2),.layers-table th:nth-child(3){padding-left:2px;padding-right:2px;width:20px}.layer-name-cell{word-break:break-word}.layer-name-vs{color:#1565c0;font-weight:600}.layer-name-vse{color:#2e7d32;font-weight:700}.layer-group-header{background:#e3f2fd}.layer-group-name{color:#1565c0;font-size:11px;font-weight:700;letter-spacing:.04em;padding:5px 6px 3px;text-transform:uppercase}.layer-group-collapse-btn{background:none;border:none;color:#1565c0;font-size:11px;line-height:1;padding:0 4px 0 0;vertical-align:middle}.layer-move-col{padding:2px!important;text-align:center;white-space:nowrap;width:44px}.layer-move-btn{background:#0000;border:none;border-radius:2px;color:#607d8b;cursor:pointer;font-size:11px;line-height:1;padding:1px 3px}.layer-move-btn:not(:disabled):hover{background:#cfd8dc;color:#1565c0}.layer-move-btn:disabled{cursor:default;opacity:.2}.layer-zoom-btn{align-items:center;background:#0000;border:none;border-radius:3px;color:#1a73e8;color:var(--c-link-blue);cursor:pointer;display:inline-flex;justify-content:center;margin-left:6px;padding:2px 4px;transition:all .2s ease;vertical-align:middle}.layer-zoom-btn:hover{background:#1a73e81a;color:#1565c0;transform:scale(1.1)}.layer-zoom-btn:active{transform:scale(.95)}.layer-list-shell{display:flex;flex-direction:column;gap:10px}.layer-group-card{background:#fff;border:1px solid #d8e1ea;border-radius:14px;box-shadow:0 10px 24px #0f172a0a;overflow:visible}.layer-group-card--ungrouped .layer-group-header{padding-left:14px}.layer-group-header{grid-gap:8px;align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:grid;gap:8px;grid-template-columns:auto auto minmax(0,1fr) auto;padding:10px 12px}.layer-group-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.layer-group-copy strong{color:#0f172a;font-size:12px;font-weight:800}.layer-group-copy span{color:#64748b;font-size:11px}.layer-group-collapse-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.layer-group-collapse-btn svg,.layer-icon-btn svg,.layer-symbol-indicator svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:16px;width:16px}.layer-group-collapse-btn:hover,.layer-icon-btn:hover{background:#eef2ff;color:#4338ca}.layer-group-items{display:flex;flex-direction:column}.layer-subgroup{border-top:2px solid #c7d2fe}.layer-subgroup-header{align-items:center;background:#e0e7ff;color:#1e1b4b;display:flex;font-size:13px;font-weight:700;gap:6px;letter-spacing:0;padding:8px 10px}.layer-subgroup-toggle{align-items:center;background:#0000;border:0;border-radius:6px;color:inherit;cursor:pointer;display:inline-flex;flex:0 0 24px;height:24px;justify-content:center;padding:0;width:24px}.layer-subgroup-toggle:focus-visible,.layer-subgroup-toggle:hover{background:#ddd6fe;outline:none}.layer-subgroup-toggle svg{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;height:14px;width:14px}.layer-subgroup-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-subgroup-count{background:#fff;border-radius:999px;color:#4338ca;flex:0 0 auto;font-size:11px;font-weight:700;line-height:1.4;padding:1px 7px}.layer-subgroup-items{background:#fff;border-left:3px solid #c7d2fe;display:flex;flex-direction:column;margin-left:12px;padding-left:12px}.layer-list-row{border-top:1px solid #eef2f7;display:flex;flex-direction:column;gap:8px;padding:12px;position:relative}.layer-group-items .layer-list-row:first-child{border-top:0}.layer-list-row.is-editable{background:linear-gradient(180deg,#eff6ffe0,#fff 68%)}.layer-list-row.is-selected-feature-layer{background:#eff6ff;box-shadow:inset 3px 0 0 #2563eb}.layer-list-row.is-selected-feature-layer .layer-row-title{color:#1d4ed8;font-weight:800}.layer-row-main{align-items:center;display:flex;gap:6px}.layer-row-main>.layer-row-copy{flex:1 1;min-width:0}.layer-row-copy{min-width:0}.layer-row-title{color:#0f172a;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.layer-state-chip,.layer-type-badge{align-items:center;background:#eef2f7;border-radius:999px;color:#475569;display:inline-flex;font-size:10px;font-weight:800;letter-spacing:.04em;min-height:20px;padding:0 8px;text-transform:uppercase}.layer-state-chip--edit{background:#dcfce7;color:#166534}.layer-symbol-indicator{align-items:center;background:#eef2f7;border-radius:10px;color:#475569;display:inline-flex;height:28px;justify-content:center;width:28px}.layer-symbol-indicator--point{color:#0891b2}.layer-symbol-indicator--line{color:#2563eb}.layer-symbol-indicator--polygon{color:#7c3aed}.layer-symbol-indicator--reference{color:#64748b}.layer-visibility-toggle{align-items:center;display:inline-flex;justify-content:center}.layer-mini-toggle input,.layer-visibility-toggle input{height:16px;margin:0;width:16px}.layer-icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:9px;color:#64748b;cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .18s ease;width:30px}.layer-icon-btn.is-active{background:#eef2ff;color:#4338ca}.layer-row-menu-wrap{position:relative}.layer-row-menu{background:#fff;border:1px solid #dbe5f0;border-radius:12px;box-shadow:0 18px 40px #0f172a29;display:flex;flex-direction:column;gap:2px;min-width:180px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:20}.layer-row-menu button{align-items:center;background:#0000;border:0;border-radius:8px;color:#334155;display:flex;font-size:12px;font-weight:600;gap:8px;justify-content:space-between;padding:8px 10px;text-align:left}.layer-row-menu button:hover:not(:disabled){background:#eef2ff;color:#4338ca}.layer-row-menu button:disabled{color:#94a3b8;cursor:not-allowed}.layer-menu-note{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.layer-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.layer-mini-toggle{align-items:center;background:#fff;border:1px solid #dbe3ec;border-radius:999px;color:#475569;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:800;gap:4px;min-height:26px;padding:0 8px 0 6px}.layer-mini-toggle.is-active{background:#f0fdf4;border-color:#86efac;color:#166534}.layer-action-link{background:#0000;border:0;color:#2563eb;cursor:pointer;font-size:12px;font-weight:700;padding:0 4px}.layer-action-link:disabled{color:#94a3b8;cursor:not-allowed}.layer-inline-help{border-radius:999px;color:#94a3b8;height:18px;justify-content:center;width:18px}.layer-inline-help,.layer-row-move{align-items:center;display:inline-flex}.layer-row-move{gap:2px;margin-left:auto}.ribbon-group-edit{background:#ff980014;border:1px solid #e65100;border-radius:4px;padding:2px 6px}.ribbon-group-edit span{color:#e65100;font-weight:600}.ribbon-group-session span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-confirm-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.delete-confirm-msg{color:#b71c1c;flex:1 1;font-size:13px;font-weight:600}.delete-confirm-yes{background:#c62828;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:5px 14px}.delete-confirm-yes:hover{background:#b71c1c}.delete-confirm-no{background:#e0e0e0;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:13px;padding:5px 14px}.delete-confirm-no:hover{background:#bdbdbd}.empty-note{color:#60758f;font-size:13px;margin-bottom:10px}.layers-loading{animation:pulse-opacity 1.2s ease-in-out infinite;font-style:italic}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.4}}.ol-mouse-position{background:#ffffffdb;border:1px solid #97a7bb;border-radius:4px;bottom:6px;color:#1d334d;font-size:11px;left:auto;padding:2px 6px;right:10px;top:auto}.map-bottom-sheet{display:contents}.mobile-bottom-sheet-handle{display:none}@media (max-width:1000px){#root,body,html{height:100%;overflow:hidden}body{position:fixed;width:100%}.app-shell{height:100vh;min-height:0;overflow:hidden;padding-bottom:0}.map-layout{flex-direction:row;height:100%;overflow:hidden;position:relative}.map-panel{flex:none;inset:0;min-height:0;order:0;position:absolute;z-index:0}.map-bottom-sheet{--sheet-height-collapsed:130px;--sheet-height-half:45vh;--sheet-height-full:calc(100vh - 64px);--sheet-current-height:var(--sheet-height-half);--layers-fraction:0.38;--tabs-fraction:0.62;background:#f8fafc;box-shadow:0 -8px 24px #0f172a2e;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;touch-action:pan-y;transition:height .25s cubic-bezier(.16,1,.3,1),bottom .25s cubic-bezier(.16,1,.3,1);z-index:1300}.map-layout[data-sheet-state=collapsed] .map-bottom-sheet--layers{bottom:62px;height:78px}.map-layout[data-sheet-state=collapsed] .map-bottom-sheet--tabs{height:62px}.map-layout[data-sheet-state=full] .map-bottom-sheet{--sheet-current-height:var(--sheet-height-full)}.map-layout[style*="--sheet-drag-height"] .map-bottom-sheet{--sheet-current-height:var(--sheet-drag-height);transition:none}.map-bottom-sheet--layers{border-top:1px solid #cbd5e1;border-top-left-radius:16px;border-top-right-radius:16px;bottom:calc(var(--sheet-current-height)*var(--tabs-fraction));height:calc(var(--sheet-current-height)*var(--layers-fraction))}.map-bottom-sheet--tabs{border-top:1px solid #e2e8f0;bottom:0;height:calc(var(--sheet-current-height)*var(--tabs-fraction))}.mobile-bottom-sheet-handle{align-items:center;background:#0000;border:0;cursor:grab;display:flex;flex:0 0 28px;height:28px;justify-content:center;padding:0;touch-action:none;width:100%}.mobile-bottom-sheet-handle:active{cursor:grabbing}.mobile-bottom-sheet-handle-grip{background:#cbd5e1;border-radius:999px;display:block;height:5px;width:44px}.sidebar{-webkit-overflow-scrolling:touch;border-left:none;border-radius:0;border-right:none;border-top:none;flex:1 1;height:auto;max-height:none;max-width:none;min-height:0;min-width:0!important;overflow-y:auto;width:100%!important}.map-layout[data-sheet-state=collapsed] .sidebar{overflow:hidden}.resize-handle,.street-view-divider{display:none}.street-view-host{border-left:none;flex:none!important;inset:0!important;max-width:none;min-width:0;position:fixed!important;width:auto!important;z-index:1500}.mobile-workspace-tabs{display:none!important}.map-quick-actions{bottom:132px;gap:6px;left:12px;max-width:none;padding:6px;right:12px}.map-quick-action-btn{flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;justify-content:center;min-width:120px;padding:0 10px}.feature-info-head--split{align-items:stretch;flex-direction:column}.feature-info-actions{width:100%}.feature-info-tab-btn{flex:1 1}.attribute-editor-row{gap:8px;grid-template-columns:minmax(0,1fr);padding-bottom:10px;padding-top:10px}.layer-row-main{flex-wrap:wrap}.layer-group-header{grid-template-columns:auto auto minmax(0,1fr)}.layer-group-header .layer-row-move{grid-column:1/-1;justify-content:flex-end;margin-left:0}}.edit-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000;z-index:var(--z-modal-strong)}.edit-modal{background:#fff;border-radius:10px;box-shadow:0 12px 40px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:95vw;overflow:hidden;width:480px}.edit-modal-header{align-items:center;background:#0f2035;color:#fff;display:flex;flex-shrink:0;gap:12px;padding:14px 20px}.edit-modal-title{flex:1 1;font-size:16px;font-weight:700}.edit-modal-fid{color:#ffffffa6;font-size:12px}.edit-modal-layer{background:#ffffff26;border-radius:3px;font-size:11px;max-width:160px;overflow:hidden;padding:2px 7px;text-overflow:ellipsis;white-space:nowrap}.edit-modal-body{flex:1 1;overflow-y:auto;padding:16px 20px}.edit-modal-empty{color:#60758f;font-size:13px}.edit-modal-table{border-collapse:collapse;width:100%}.edit-modal-table tr+tr td{border-top:1px solid #f0f4f8}.edit-modal-field-name{color:#294863;font-size:13px;font-weight:600;padding:7px 12px 7px 0;vertical-align:middle;width:38%}.edit-modal-input{border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:4px;box-sizing:border-box;font-size:13px;outline:none;padding:6px 9px;transition:border-color .15s;width:100%}.edit-modal-input:focus{border-color:#165391;border-color:var(--c-form-blue)}.edit-modal-footer{background:#f8fafb;border-top:1px solid #e3eaf2;display:flex;flex-shrink:0;gap:10px;padding:12px 20px}.edit-modal-save-btn{background:#165391;background:var(--c-form-blue);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 24px;transition:background .15s}.edit-modal-save-btn:disabled{background:#9ab0c8;cursor:not-allowed}.edit-modal-save-btn:not(:disabled):hover{background:#0f3d6e;background:var(--c-form-blue-dark)}.edit-modal-cancel-btn{background:#0000;border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:5px;color:#294863;cursor:pointer;font-size:13px;padding:8px 20px;transition:background .15s}.edit-modal-cancel-btn:hover{background:#f0f4f8}.edit-modal-required{color:#d32f2f;font-weight:700;margin-left:2px}input[type=date].edit-modal-input,input[type=datetime-local].edit-modal-input,input[type=number].edit-modal-input{font-family:inherit}.ribbon-attr-table-btn{background:#fff;border:1px solid #90afd1;border-radius:4px;color:#0b63c9;cursor:pointer;font-weight:600;padding:7px 9px}.ribbon-attr-table-btn:hover{background:#e8f1ff;border-color:#0b63c9}.attr-table-panel{background:#fff;border-radius:4px 4px 0 0;border-top:2px solid #2c4a63;box-shadow:0 -4px 16px #0000002e;display:flex;flex-direction:row;min-height:150px;min-width:300px;overflow:hidden}.attr-table-side-handle{background:#c8d4e0;cursor:ew-resize;flex:0 0 6px;transition:background .15s;-webkit-user-select:none;user-select:none;width:6px}.attr-table-side-handle:hover{background:#9ab0c5}.attr-table-content{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.attr-table-resize-handle{background:#c8d4e0;cursor:ns-resize;flex:0 0 5px;height:5px;-webkit-user-select:none;user-select:none}.attr-table-resize-handle:hover{background:#9ab0c5}.attr-table-header{align-items:center;background:#2c4a63;color:#fff;cursor:grab;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;padding:5px 10px;-webkit-user-select:none;user-select:none}.attr-table-header:active{cursor:grabbing}.attr-table-title{font-size:13px;font-weight:700;margin-right:4px;white-space:nowrap}.attr-table-title-wrap{align-items:center;display:flex;gap:8px;min-width:0}.attr-table-badge{align-items:center;background:#d8f1d7;border-radius:999px;color:#0c5a2b;display:inline-flex;font-size:11px;font-weight:700;padding:2px 8px;white-space:nowrap}.attr-table-controls{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.attr-table-layer-select{background:#1a3149;border:1px solid #9ab0c5;border-radius:3px;color:#fff;font-size:13px;max-width:200px;padding:3px 6px}.attr-table-columns-wrap{position:relative}.attr-table-columns-btn{background:#2c4a63;border:1px solid #4a6a83;border-radius:3px;color:#d0ea5b;cursor:pointer;font-size:13px;font-weight:700;padding:3px 10px;white-space:nowrap}.attr-table-columns-btn:hover:not(:disabled){background:#1a3149}.attr-table-columns-btn:disabled{cursor:not-allowed;opacity:.4}.attr-table-columns-popover{background:#fff;border:1px solid #b7c8d8;border-radius:6px;box-shadow:0 8px 20px #0000002e;color:#1a3149;display:flex;flex-direction:column;gap:8px;left:0;max-height:320px;padding:10px;position:absolute;top:calc(100% + 6px);width:260px;z-index:2100}.attr-table-columns-search{border:1px solid #b7c8d8;border-radius:4px;box-sizing:border-box;font-size:12px;padding:6px 8px;width:100%}.attr-table-columns-actions{display:flex;justify-content:flex-end}.attr-table-columns-actions button{background:#eef4f9;border:1px solid #b7c8d8;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px}.attr-table-columns-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.attr-table-columns-item{align-items:center;display:flex;font-size:12px;gap:8px}.attr-table-columns-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attr-table-columns-empty{color:#6b7f91;font-size:12px;font-style:italic}.attr-table-filter-btns{display:flex;gap:4px}.attr-filter-btn{background:#fff;border:1px solid #90afd1;border-radius:3px;color:#0b63c9;cursor:pointer;font-size:13px;padding:3px 10px;transition:background .12s;white-space:nowrap}.attr-filter-btn:hover{background:#e8f1ff;border-color:#0b63c9}.attr-filter-btn.active{background:#0b63c9;border-color:#0b63c9;color:#fff;font-weight:700}.attr-table-load-btn{background:#fff;border:1px solid #90afd1;border-radius:3px;color:#0b63c9;cursor:pointer;font-size:13px;font-weight:700;padding:3px 14px;transition:background .12s;white-space:nowrap}.attr-table-load-btn:hover:not(:disabled){background:#e8f1ff;border-color:#0b63c9}.attr-table-load-btn:disabled{background:#6a8a7a;cursor:not-allowed}.attr-table-csv-btn{background:#2c4a63;border:1px solid #4a6a83;border-radius:3px;color:#d0ea5b;cursor:pointer;font-size:13px;font-weight:700;padding:3px 10px;transition:background .12s;white-space:nowrap}.attr-table-csv-btn:hover:not(:disabled){background:#1a3149}.attr-table-csv-btn:disabled{cursor:not-allowed;opacity:.4}.attr-table-delete-btn{background:#0000;border:1px solid #b91c1c;border-radius:3px;color:#f3c2c2;cursor:pointer;font-size:13px;line-height:1;padding:3px 10px;transition:background .12s,color .12s}.attr-table-delete-btn:hover:not(:disabled){background:#b91c1c;color:#fff}.attr-table-delete-btn:disabled{cursor:not-allowed;opacity:.4}.attr-table-select-col{min-width:28px;padding:4px 6px;text-align:center;width:28px}.attr-table-close-btn{background:#0000;border:1px solid #4a6a83;border-radius:3px;color:#c8d8e8;cursor:pointer;font-size:13px;line-height:1;margin-left:auto;padding:2px 8px;transition:background .12s}.attr-table-close-btn:hover{background:#b91c1c;border-color:#b91c1c;color:#fff}.attr-table-body{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.attr-table-error{color:#b91c1c;font-size:13px;padding:10px 14px}.attr-table-empty{color:#6b7f91;font-size:13px;font-style:italic;padding:14px}.attr-table-scroll{flex:1 1;overflow:auto}.attr-table{border-collapse:collapse;font-size:13px;width:100%}.attr-table th{background:#e8eef4;border:1px solid #c8d4e0;color:#1a3149;font-weight:700;padding:5px 10px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:1}.attr-table td{border:1px solid #e3eaf2;color:#2a3f54;max-width:220px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;white-space:nowrap}.attr-table tr:nth-child(2n) td{background:#f5f8fb}.attr-table-row{cursor:pointer}.attr-table-row:hover td{background:#dceeff}.attr-table-row.selected td{background:#b3d9ff;font-weight:600}.attr-table-footer{align-items:center;background:#f0f4f8;border-top:1px solid #dce6ef;color:#6b7f91;display:flex;flex-shrink:0;font-size:11px;gap:12px;justify-content:flex-end;padding:3px 12px;text-align:right}.attr-table-pagination{align-items:center;color:#2a3f54;display:inline-flex;gap:6px;white-space:nowrap}.attr-table-pagination button{background:#fff;border:1px solid #b7c8d8;border-radius:3px;color:#0b63c9;cursor:pointer;font-size:11px;font-weight:700;padding:2px 8px}.attr-table-pagination button:disabled{cursor:not-allowed;opacity:.45}.top-search-bar{background:#0000;flex:0 1 340px;min-width:240px;padding:0;position:relative;z-index:500}.top-search-input-wrapper{align-items:center;background:#f8fafc;border:1px solid #cbd7e6;border-radius:9px;display:flex;gap:10px;height:44px;padding:0 12px;transition:border-color .15s,background .15s,box-shadow .15s;width:100%}.top-search-input-wrapper:focus-within{background:#fff;border-color:#93b5e6;box-shadow:0 0 0 3px #3b82f61f}.top-search-icon{color:#7c8da2;display:inline-flex;pointer-events:none}.top-search-input{background:#0000;border:none;color:#0f172a;flex:1 1;font-size:13px;min-width:0;outline:none;padding:8px 0}.top-search-input::placeholder{color:#8493a7}.top-search-clear{background:none;border:none;color:#7c8da2;cursor:pointer;font-size:13px;font-weight:800;line-height:1;padding:2px 4px;transition:color .12s}.top-search-clear:hover{color:#1d4ed8}.top-search-spinner{animation:top-search-spin .7s linear infinite;border:2px solid #d9e3ef;border-radius:50%;border-top-color:#2563eb;display:inline-block;flex-shrink:0;height:14px;width:14px}@keyframes top-search-spin{to{transform:rotate(1turn)}}.top-search-dropdown{background:#fff;border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:12px;box-shadow:0 16px 35px #0f172a2e;left:0;max-height:340px;max-width:680px;min-width:100%;overflow-y:auto;position:absolute;top:calc(100% + 6px);z-index:2000;z-index:var(--z-modal-strong)}.top-search-dropdown-item{align-items:center;border-bottom:1px solid #edf0f4;color:#18314d;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:9px 14px;-webkit-user-select:none;user-select:none}.top-search-dropdown-item:last-child{border-bottom:none}.top-search-dropdown-item:hover,.top-search-highlighted{background:#edf4ff}.top-search-coord-item{color:#1a6a3a;font-style:italic}.top-search-coord-item.top-search-highlighted,.top-search-coord-item:hover{background:#e8f5ed}.top-search-osm-item{color:#4a4a9a}.top-search-item-icon{background:#eef4ff;border-radius:999px;color:#315b95;flex-shrink:0;font-size:10px;font-weight:800;min-width:34px;padding:2px 6px;text-align:center}.top-search-status-item{color:#60758f;cursor:default;font-style:italic}.top-search-error-item{color:#c0392b;cursor:default}.attr-invalid-input{background:#fff3e0!important;border:2px solid #e65100!important;outline:none}.attr-validation-msg{background:#fde8e8;border:1px solid #f5a5a5;border-left:3px solid #ef5350;border-radius:4px;color:#b71c1c;font-size:13px;margin-bottom:6px;padding:5px 8px}.edit-modal-input-required{background:#fff5f5!important;border:2px solid #c62828!important}.edit-modal-input-invalid{background:#fff3e0!important;border:2px solid #e65100!important}.edit-modal-validation-msg{background:#fde8e8;border-bottom:1px solid #f5a5a5;border-top:1px solid #f5a5a5;color:#b71c1c;font-size:13px;padding:7px 16px}.legend-list{display:flex;flex-direction:column}.legend-empty{color:#8fa5b8;font-size:12px;font-style:italic;padding:4px 2px;text-align:center}.legend-group{border-bottom:1px solid #eef2f7}.legend-group:last-child{border-bottom:none}.legend-group-header{align-items:center;border-radius:3px;cursor:pointer;display:flex;gap:5px;padding:5px 2px;-webkit-user-select:none;user-select:none}.legend-group-header:hover{background:#f4f8fc}.legend-group-toggle{color:#7a94ab;flex-shrink:0;font-size:11px;text-align:center;width:10px}.legend-group-name{color:#294863;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.legend-group-body{display:flex;flex-direction:column;gap:5px;padding:2px 4px 6px 17px}.legend-row{align-items:center;display:flex;gap:7px}.legend-swatch{display:block;flex-shrink:0;height:16px;image-rendering:pixelated;width:16px}.legend-swatch-wms{image-rendering:auto}.legend-layer-name{color:#1e293b;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmarks-panel{padding:4px 0}.bm-save-row{display:flex;gap:6px;margin-bottom:8px}.bm-name-input{border:1px solid #c0ccd8;border-radius:4px;flex:1 1;font-size:13px;padding:5px 8px}.bm-name-input:focus{border-color:#1a73e8;border-color:var(--c-link-blue);outline:none}.bm-save-btn{background:#1a73e8;background:var(--c-link-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:5px 10px;white-space:nowrap}.attr-table-th-inner{display:flex;flex-direction:column;gap:6px;min-width:120px}.attr-table-th-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.attr-table-th-label{overflow:hidden;text-overflow:ellipsis}.attr-table-th-actions{align-items:center;display:inline-flex;gap:2px}.attr-table-sort-btn{background:#fff;border:1px solid #b7c8d8;border-radius:3px;color:#35526c;cursor:pointer;font-size:10px;height:20px;line-height:1;padding:0;width:20px}.attr-table-sort-btn:hover{background:#dbe7f1}.attr-table-sort-btn.active{background:#0b63c9;border-color:#0b63c9;color:#fff}.attr-table-col-filter{background:#fff;border:1px solid #c9d6e2;border-radius:3px;box-sizing:border-box;font-size:12px;padding:4px 6px;width:100%}.bm-save-btn:hover{background:#1558b0;background:var(--c-link-blue-dark)}.bm-empty{color:#888;font-size:13px;line-height:1.4;padding:10px 4px;text-align:center}.bm-list{flex-direction:column;list-style:none;margin:0;padding:0}.bm-item,.bm-list{display:flex;gap:4px}.bm-item{align-items:center;background:#f3f7fb;border:1px solid #dde5ee;border-radius:4px;padding:5px 6px}.bm-name{color:#1a3a5c;cursor:pointer;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-name:hover{color:#1a73e8;color:var(--c-link-blue);text-decoration:underline}.bm-delete-btn,.bm-share-btn{background:#fff;border:1px solid #c0ccd8;border-radius:3px;cursor:pointer;flex-shrink:0;font-size:13px;line-height:1;padding:2px 6px}.bm-share-btn:hover{background:#e8f0fe;border-color:#1a73e8;border-color:var(--c-link-blue)}.bm-delete-btn:hover{background:#fde8e8;border-color:#e53935;color:#e53935}.ribbon-print-btn{background:#fff;border:1px solid #90afd1;border-radius:4px;color:#0b63c9;cursor:pointer;font-weight:600;padding:7px 9px}.ribbon-print-btn:hover{background:#e8f1ff;border-color:#0b63c9}.print-modal-overlay{align-items:center;background:#00000085;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200;z-index:var(--z-modal)}.print-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #00000047;display:flex;flex-direction:column;max-height:92vh;max-width:95vw;overflow:hidden;width:820px}.print-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;font-size:16px;font-weight:700;justify-content:space-between;padding:12px 16px}.print-modal-close{background:none;border:none;color:#555;cursor:pointer;font-size:20px;line-height:1}.print-modal-close:hover{color:#e53935}.print-modal-controls{align-items:center;border-bottom:1px solid #eee;display:flex;flex-shrink:0;flex-wrap:wrap;font-size:13px;gap:14px;padding:10px 16px}.print-modal-controls label{align-items:center;color:#334;display:flex;gap:6px}.print-modal-controls select{padding:4px 6px}.print-modal-controls select,.print-title-input{border:1px solid #c0ccd8;border-radius:4px;font-size:13px}.print-title-input{padding:4px 8px;width:180px}.print-capture-btn{background:#1a73e8;background:var(--c-link-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px}.print-capture-btn:hover:not(:disabled){background:#1558b0;background:var(--c-link-blue-dark)}.print-capture-btn:disabled{cursor:not-allowed;opacity:.6}.print-capture-err{color:#c62828;font-size:13px}.print-layout{background:#f8f9fb;flex:1 1;overflow-y:auto;padding:12px 16px}.print-header-row{align-items:flex-start;border-bottom:2px solid #234;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.print-title{color:#112;font-size:16px;font-weight:700}.print-meta{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.print-north{color:#223;font-size:18px;font-weight:700}.print-date{color:#666;font-size:11px}.print-map-img{border:1px solid #ccc;display:block;width:100%}.print-map-placeholder{align-items:center;background:#e8eef5;border:1px dashed #aab;border-radius:4px;color:#667;display:flex;font-size:13px;justify-content:center;min-height:260px;padding:20px;text-align:center}.print-scale-bar-row{align-items:center;color:#334;display:flex;font-size:11px;gap:8px;padding:6px 0}.print-scale-bar{background:#333;flex-shrink:0;height:6px;max-width:40%;min-width:20px}.print-scale-label{font-size:11px}.print-legend{border-top:1px solid #dde5ee;display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;padding-top:8px}.print-pipeline-section{display:flex;flex-direction:column;gap:12px;margin-top:10px}.print-pipeline-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.print-pipeline-card{background:#fff;border:1px solid #dbe4f1;border-radius:10px;padding:12px 14px}.print-pipeline-heading{color:#14233d;font-size:12px;font-weight:700;margin-bottom:8px}.print-pipeline-legend{display:flex;flex-wrap:wrap;gap:8px 14px}.print-pipeline-group-head,.print-pipeline-legend-item,.print-pipeline-segment-row{align-items:center;display:flex;gap:8px}.print-pipeline-legend-item{color:#334155;font-size:11px}.print-pipeline-muted{color:#64748b}.print-pipeline-swatch{border:1px solid #0f172a1f;border-radius:999px;flex-shrink:0;height:12px;width:12px}.print-pipeline-summary-meta{grid-gap:4px;color:#334155;display:grid;font-size:11px;gap:4px}.print-pipeline-warning{background:#fff7ed;border-radius:8px;color:#9a3412;font-size:11px;margin-top:8px;padding:8px 10px}.print-pipeline-group-list{grid-gap:10px;display:grid;gap:10px}.print-pipeline-group{border-top:1px solid #e2e8f0;padding-top:10px}.print-pipeline-segment-list{grid-gap:4px;color:#334155;display:grid;font-size:11px;gap:4px;margin-top:6px}.print-pipeline-segment-row{justify-content:space-between}.print-pipeline-grand-total,.print-pipeline-subtotal{color:#0f172a;font-size:12px;font-weight:700;margin-top:8px}.print-pipeline-grand-total{border-top:2px solid #cbd5e1;padding-top:10px}.print-legend-item{align-items:center;color:#334;display:flex;font-size:11px;gap:5px}.print-legend-swatch{border:1px solid #aaa;border-radius:2px;flex-shrink:0;height:14px;width:14px}.print-modal-footer{border-top:1px solid #eee;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:10px 16px}.print-btn{background:#1a73e8;background:var(--c-link-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px}.print-btn:hover:not(:disabled){background:#1558b0;background:var(--c-link-blue-dark)}.print-btn:disabled{cursor:not-allowed;opacity:.55}.print-cancel-btn{background:#fff;border:1px solid #c0ccd8;border-radius:4px;cursor:pointer;font-size:13px;padding:8px 16px}.print-cancel-btn:hover{background:#f0f4f8}@media print{body{background:#fff!important;margin:0!important}body *{visibility:hidden!important}.print-modal-overlay{background:#fff!important;display:block!important;inset:0!important;overflow:visible!important;position:fixed!important;z-index:9999!important;z-index:var(--z-max)!important}.print-modal-overlay,.print-modal-overlay *{visibility:visible!important}.print-modal{border-radius:0!important;box-shadow:none!important;display:block!important;max-height:none!important;max-width:100%!important;width:100%!important}.print-modal-controls,.print-modal-footer,.print-modal-header{display:none!important}.print-layout{background:#fff!important;display:block!important;overflow:visible!important;padding:0!important}.print-map-img{max-width:100%;page-break-inside:avoid}}.map-book-panel{padding:4px 0}.mb-controls{border-bottom:1px solid #e8eef5;display:flex;flex-direction:column;gap:8px;padding-bottom:10px}.mb-row{align-items:center;color:#334;display:flex;font-size:13px;gap:6px}.mb-label{color:#556;font-size:12px;min-width:38px}.mb-num-input{border:1px solid #c0ccd8;border-radius:4px;font-size:13px;padding:4px 5px;text-align:center;width:46px}.mb-x{color:#667;font-size:12px}.mb-select{padding:4px 6px}.mb-select,.mb-title-input{border:1px solid #c0ccd8;border-radius:4px;font-size:13px}.mb-title-input{flex:1 1;padding:4px 8px}.mb-num-input:focus,.mb-title-input:focus{border-color:#1a73e8;border-color:var(--c-link-blue);outline:none}.mb-action-row{gap:8px!important}.mb-btn{background:#1a73e8;background:var(--c-link-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.mb-btn:hover:not(:disabled){background:#1558b0;background:var(--c-link-blue-dark)}.mb-btn:disabled{cursor:not-allowed;opacity:.55}.mb-print-all-btn{background:#388e3c}.mb-print-all-btn:hover:not(:disabled){background:#2e7d32}.mb-cells{display:flex;flex-direction:column;gap:4px;margin-top:10px;max-height:260px;overflow-y:auto}.mb-cell-row{align-items:center;background:#f3f7fb;border:1px solid #dde5ee;border-radius:4px;display:flex;gap:8px;padding:4px 6px}.mb-cell-label{color:#334;flex:1 1;font-size:12px}.mb-cell-print-btn{background:#e8f0fe;border:1px solid #1a73e8;border:1px solid var(--c-link-blue);border-radius:3px;color:#1a3a5c;cursor:pointer;font-size:11px;font-weight:600;padding:2px 10px}.mb-cell-print-btn:hover:not(:disabled){background:#c5d8f5}.mb-cell-print-btn:disabled{cursor:not-allowed;opacity:.5}.map-login-page{align-items:center;background:linear-gradient(135deg,#0f2035,#1a3a5c);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;min-height:100vh}.map-login-card{background:#fff;border-radius:12px;box-shadow:0 12px 40px #00000059;padding:40px 36px;width:340px}.map-login-logo{display:flex;justify-content:center;margin-bottom:12px}.map-login-title{color:#0f2035;font-size:22px;font-weight:700;margin:0 0 4px;text-align:center}.map-login-subtitle{color:#6b7c93;font-size:13px;margin:0 0 24px;text-align:center}.map-login-form{display:flex;flex-direction:column;gap:12px}.map-login-input{border:1px solid #c3cdda;border:1px solid var(--c-input-border);border-radius:6px;box-sizing:border-box;font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.map-login-input:focus{border-color:#165391;border-color:var(--c-form-blue);box-shadow:0 0 0 3px #1653911f}.map-login-error{background:#fde8e8;border-radius:5px;color:#c0392b;font-size:13px;padding:8px 12px}.map-login-btn{background:#165391;background:var(--c-form-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:4px;padding:11px;transition:background .15s}.map-login-btn:hover:not(:disabled){background:#0f3d6e;background:var(--c-form-blue-dark)}.map-login-btn:disabled{background:#9ab0c8;cursor:not-allowed}.map-login-divider{align-items:center;color:#a0b4c4;display:flex;font-size:12px;gap:12px;margin:20px 0 16px}.map-login-divider:after,.map-login-divider:before{background:#d8e4ed;content:"";flex:1 1;height:1px}.auth-portal-page,.map-login-google{display:flex;justify-content:center}.auth-portal-page{align-items:center;background:radial-gradient(circle at top left,#5eb8ff38,#0000 32%),linear-gradient(145deg,#102338,#18385a 48%,#091421);min-height:100vh;padding:24px}.auth-portal-card{background:#fffffff7;border:1px solid #a0b4c447;border-radius:20px;box-shadow:0 24px 60px #00000052;padding:32px 30px;width:min(420px,100%)}.auth-portal-logo{display:flex;justify-content:center;margin-bottom:14px}.auth-portal-title{color:#0f2035;font-size:28px;font-weight:800;letter-spacing:.01em;margin:0;text-align:center}.auth-portal-version{color:#a0b0c4;font-size:11px;letter-spacing:.04em;margin:2px 0 6px;text-align:center}.auth-portal-subtitle{color:#60758f;font-size:14px;line-height:1.5;margin:8px 0 22px;text-align:center}.auth-portal-tabs{grid-gap:8px;background:#edf3f8;border-radius:14px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin-bottom:18px;padding:6px}.auth-portal-tabs button{background:#0000;border:none;border-radius:10px;color:#49617c;cursor:pointer;font-size:13px;font-weight:700;padding:10px 12px;transition:background .15s,color .15s,box-shadow .15s}.auth-portal-tabs button.is-active{background:#0b63c9;box-shadow:0 10px 24px #0b63c938;color:#fff}.auth-portal-form{display:flex;flex-direction:column;gap:12px}.auth-portal-input{background:#fff;border:1px solid #c6d3df;border-radius:10px;box-sizing:border-box;color:#0f2035;font-size:14px;outline:none;padding:12px 14px;transition:border-color .15s,box-shadow .15s,transform .15s;width:100%}.auth-portal-input:focus{border-color:#165391;border-color:var(--c-form-blue);box-shadow:0 0 0 4px #1653911f}.auth-portal-btn{background:linear-gradient(135deg,#165391,#0f3d6e);background:linear-gradient(135deg,var(--c-form-blue) 0,var(--c-form-blue-dark) 100%);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:800;padding:12px 14px;transition:transform .15s,box-shadow .15s,opacity .15s}.auth-portal-btn:hover:not(:disabled){box-shadow:0 10px 20px #16539140;transform:translateY(-1px)}.auth-portal-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.auth-portal-error,.auth-portal-note{border-radius:10px;font-size:13px;line-height:1.45;margin-bottom:14px;padding:10px 12px}.auth-portal-note{background:#eef6ff;color:#27435f}.auth-portal-error,.auth-portal-note-error{background:#fde8e8;color:#b42318}.auth-portal-divider{align-items:center;color:#90a4b7;display:flex;font-size:12px;gap:12px;letter-spacing:.08em;margin:22px 0 16px;text-transform:uppercase}.auth-portal-divider:after,.auth-portal-divider:before{background:#d8e4ed;content:"";flex:1 1;height:1px}.auth-portal-google{display:flex;justify-content:center}.auth-portal-footnote{color:#6b7c93;font-size:12px;line-height:1.5;margin:18px 0 0;text-align:center}@media (max-width:640px){.auth-portal-page{padding:16px}.auth-portal-card{border-radius:16px;padding:26px 22px}.auth-portal-title{font-size:24px}}.right-workspace-sidebar{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));padding:.5rem}.right-workspace-shell{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.right-workspace-tabs{grid-gap:.25rem;--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));border-bottom-width:1px;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));display:grid;gap:.25rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:.25rem;position:relative;z-index:10}.right-workspace-tabs button{--tw-text-opacity:1;background-color:initial;border-color:#0000;border-radius:.5rem;border-width:1px;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;font-weight:700;line-height:1rem;min-height:2.25rem;padding:.5rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.right-workspace-tabs button.is-active,.right-workspace-tabs button:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.right-workspace-body{flex:1 1;min-height:0;overflow:hidden;position:relative;z-index:0}.right-workspace-panel{height:100%;overflow-y:auto;padding:1rem .75rem .75rem}.right-workspace-panel[hidden]{display:none}.right-workspace-heading{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.right-workspace-heading h3{--tw-text-opacity:1;color:#020617;color:rgb(2 6 23/var(--tw-text-opacity,1));font-size:1rem;font-weight:800;line-height:1.5rem;margin:0}.right-workspace-heading p{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;line-height:1.625;margin:.25rem 0 0}.right-workspace-card{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);margin-bottom:.75rem;padding:.75rem}.right-workspace-card--plain{padding:0}.right-workspace-card-head{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.right-workspace-card-head strong{--tw-text-opacity:1;color:#020617;color:rgb(2 6 23/var(--tw-text-opacity,1));font-size:.875rem;font-weight:700;line-height:1.25rem}.right-workspace-card-head span{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;line-height:1.625}.right-tool-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(1,minmax(0,1fr));margin-bottom:.75rem}.right-tool-grid button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;gap:.75rem;padding:.75rem;text-align:left;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.right-tool-grid button.is-active,.right-tool-grid button:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1));color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.right-tool-grid-panel{margin-bottom:0}.right-tool-grid-panel.is-active{background:#fbfcff;border-top:1px solid #c7d2fe;border-top-left-radius:0;border-top-right-radius:0;margin-top:-8px}.right-tool-grid button.right-tool-card.is-active{border-bottom-color:#c7d2fe;border-bottom-left-radius:0;border-bottom-right-radius:0}.right-tool-icon{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));border-radius:.75rem;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));display:inline-flex;flex:none;height:2.5rem;justify-content:center;width:2.5rem}.right-tool-grid button.is-active .right-tool-icon,.right-tool-grid button:hover .right-tool-icon{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.right-tool-body{display:flex;flex:1 1;flex-direction:column;min-width:0}.right-tool-grid strong{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));font-size:.875rem;font-weight:700;line-height:1.25rem;line-height:1.25}.right-tool-grid button.is-active strong,.right-tool-grid button:hover strong{--tw-text-opacity:1;color:#312e81;color:rgb(49 46 129/var(--tw-text-opacity,1))}.right-tool-desc{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;line-height:1.375;margin-top:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-tool-grid em{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1));border-radius:.375rem;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));display:inline-flex;flex:none;font-size:.75rem;font-style:normal;font-weight:700;justify-content:center;line-height:1rem;margin-left:auto;padding:.25rem .75rem}.right-tool-grid button.is-active em,.right-tool-grid button:hover em{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.right-tool-info{--tw-text-opacity:1;align-items:center;border-radius:9999px;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1));display:inline-flex;flex:none;height:1.25rem;justify-content:center;width:1.25rem}.right-workspace-actions{display:flex;flex-wrap:wrap;gap:.5rem}.right-workspace-primary,.right-workspace-secondary{align-items:center;border-radius:.5rem;display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;line-height:1rem;min-height:2rem;padding:.375rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.right-workspace-primary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));border-color:#4338ca;border-color:rgb(67 56 202/var(--tw-border-opacity,1));border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.right-workspace-primary:hover{--tw-bg-opacity:1;background-color:#4338ca;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.right-workspace-secondary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-width:1px;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.right-workspace-secondary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));color:#020617;color:rgb(2 6 23/var(--tw-text-opacity,1))}.right-workspace-note{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;line-height:1.625;margin:.75rem 0 0}.ai-workflow-steps{--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;padding:.75rem}.ai-workflow-step{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1));font-size:.75rem;font-weight:700;gap:.5rem;line-height:1rem;padding:.375rem .75rem}.ai-workflow-step,.ai-workflow-step span{align-items:center;border-radius:9999px;display:inline-flex}.ai-workflow-step span{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1));color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));font-size:10px;font-weight:800;height:1.25rem;justify-content:center;width:1.25rem}.ai-workflow-step.is-active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1));border-width:1px;color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.ai-workflow-step.is-active span{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.ai-workflow-arrow{--tw-text-opacity:1;color:#cbd5e1;color:rgb(203 213 225/var(--tw-text-opacity,1));font-size:.75rem;font-weight:800;line-height:1rem}.ai-section-label{--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1));font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.ai-workspace-inputs{grid-gap:.5rem;--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.75rem;padding:.75rem}.ai-workspace-inputs button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));font-size:.75rem;font-weight:700;line-height:1rem;min-height:2.5rem;padding:.5rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ai-workspace-inputs button.is-active,.ai-workspace-inputs button:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1));color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.ai-workspace-prompt{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#e0e7ff;border-color:rgb(224 231 255/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:.75rem}.ai-workspace-prompt strong{--tw-text-opacity:1;color:#312e81;color:rgb(49 46 129/var(--tw-text-opacity,1));font-size:.875rem;font-weight:700;line-height:1.25rem}.ai-workspace-prompt span{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-radius:.5rem;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;line-height:1.625;padding:.75rem}.ai-workspace-prompt .right-workspace-primary{width:100%}.ai-panel-tabs{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;display:inline-flex;margin-bottom:.75rem;padding:.25rem}.ai-panel-tabs button{--tw-text-opacity:1;border-radius:.5rem;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1));font-size:.75rem;font-weight:700;line-height:1rem;padding:.5rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ai-panel-tabs button.is-active,.ai-panel-tabs button:hover{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.panel-loading-state{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;color:#52637a;font-size:13px;padding:16px;text-align:center}.layer-dialog-backdrop{align-items:center;background:#0f172a57;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200;z-index:var(--z-modal)}.layer-dialog{background:#fff;border:1px solid #d6dfeb;border-radius:20px;box-shadow:0 24px 60px #0f172a3d;max-height:min(80vh,760px);overflow:auto;width:min(640px,100%)}.layer-dialog-head{align-items:flex-start;border-bottom:1px solid #e5edf6;display:flex;gap:14px;justify-content:space-between;padding:18px 20px 14px}.layer-dialog-head h3{color:#0f172a;font-size:22px;margin:4px 0}.layer-dialog-head p,.layer-dialog-note{color:#52637a;line-height:1.5;margin:0}.layer-dialog-kicker{color:#4f46e5;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.layer-dialog-close{background:#fff;border:1px solid #d6dfeb;border-radius:999px;color:#334155;cursor:pointer;font-size:22px;height:38px;line-height:1;min-width:38px}.layer-dialog-body{padding:18px 20px}.layer-dialog-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.layer-dialog-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:flex;flex-direction:column;gap:5px;padding:12px 14px}.layer-dialog-grid span{color:#64748b;font-size:12px}.layer-dialog-grid strong{color:#0f172a;font-size:14px;word-break:break-word}.layer-dialog-actions{display:flex;justify-content:flex-end;padding:0 20px 20px}@media (max-width:640px){.layer-dialog-grid{grid-template-columns:1fr}.layer-dialog{border-radius:16px}}.spatial-run-btn{align-items:center;background:#4f46e5;border:1px solid #4338ca;border-radius:8px;box-shadow:0 1px 2px #0f172a14;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-height:32px;padding:6px 14px}.spatial-run-btn:hover{background:#4338ca}.spatial-run-btn:disabled{background:#94a3b8;border-color:#94a3b8;color:#fff;cursor:not-allowed}.spatial-clear-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-height:32px;padding:6px 14px}.spatial-clear-btn:hover{background:#f1f5f9;color:#0f172a}.spatial-tools__draw-btn,.spatial-tools__source-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;min-height:28px;padding:4px 10px}.spatial-tools__draw-btn:hover,.spatial-tools__source-btn:hover{background:#f1f5f9;color:#0f172a}.spatial-tools__source-btn--ghost{background:#0000;border-color:#e2e8f0;color:#64748b}.spatial-tools__source-btn--ghost:hover{background:#f8fafc;color:#334155}.spatial-op--active,.spatial-tools__draw-btn--active{background:#4f46e5!important;border-color:#4338ca!important;color:#fff!important}.spatial-op{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;min-height:30px;padding:4px 10px}.spatial-op:hover{background:#f1f5f9;color:#0f172a}.road-distance__quota{color:#475569;font-size:11px}.road-distance__quota--warning{color:#b45309}.network-trace{display:flex;flex-direction:column;font-size:12px;gap:10px}.network-trace__field{color:#1f2937;display:flex;flex-direction:column;font-weight:600;gap:4px}.network-trace__field select{border:1px solid #c8d0da;border-radius:4px;font-size:13px;padding:7px 9px}.network-trace__hint{color:#4b5563;line-height:1.45}.network-trace__modes{display:flex;flex-wrap:wrap;gap:6px}.network-trace__mode-btn{background:#fff;border:1px solid #90afd1;border-radius:4px;color:#0b63c9;font-size:12px;padding:6px 10px}.network-trace__mode-btn:hover{background:#e8f1ff;border-color:#0b63c9}.network-trace__mode-btn--active,.network-trace__mode-btn--active:focus,.network-trace__mode-btn--active:hover{background:#0b63c9;border-color:#0b63c9;color:#fff}.network-trace__selection-card{background:#fbfcfe;border:1px solid #d7dee7;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:9px}.network-trace__selection-row{color:#355a84;display:flex;gap:8px;justify-content:space-between}.network-trace__action-btn,.network-trace__clear-btn,.network-trace__run-btn{border-radius:4px;font-size:12px}.network-trace__action-btn{background:#fff;border:1px solid #90afd1;color:#0b63c9;padding:6px 10px}.network-trace__action-btn--active,.network-trace__action-btn--active:focus,.network-trace__action-btn--active:hover{background:#0b63c9;border-color:#0b63c9;color:#fff}.network-trace__run{display:flex;flex-wrap:wrap;gap:8px}.network-trace__run-btn{padding:7px 16px}.network-trace__clear-btn,.network-trace__run-btn{background:#fff;border:1px solid #90afd1;color:#0b63c9;font-weight:600}.network-trace__clear-btn{padding:7px 12px}.network-trace__action-btn:hover:not(:disabled),.network-trace__clear-btn:hover:not(:disabled),.network-trace__run-btn:hover:not(:disabled){background:#e8f1ff;border-color:#0b63c9;color:#0a4f94}.network-trace__error{color:#b91c1c;font-size:12px}.network-trace__result{background:#eef8f0;border:1px solid #bcd6c3;border-radius:6px;color:#193622;display:flex;flex-direction:column;gap:6px;padding:10px}.network-trace__result--neutral{background:#f8fafc;border-color:#d7dee7;color:#1f2937}.network-trace__summary-row{display:flex;font-size:12px;gap:8px;justify-content:space-between;padding:2px 0}.network-trace__summary-row--barrier{color:#b91c1c}.network-trace__summary-row--valve{color:#0369a1;font-weight:600}.network-trace__export{display:flex;flex-wrap:wrap;gap:8px}.network-trace__multi-network{background:#fbfcfe;border:1px solid #d7dee7;border-radius:6px;padding:6px 9px}.network-trace__multi-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.network-trace__multi-item{align-items:center;cursor:pointer;display:flex;font-size:12px;gap:6px}.network-trace__field--inline{align-items:center;display:flex;gap:8px}.network-trace__cost-input{border:1px solid #d7dee7;border-radius:4px;font-size:12px;padding:4px 6px;width:100px}.network-trace__analysis{background:#f8fafc;border:1px solid #d7dee7;border-radius:6px}.network-trace__analysis-header{color:#334155;cursor:pointer;font-size:12px;font-weight:600;padding:8px 10px}.network-trace__analysis-body{display:flex;flex-direction:column;gap:8px;padding:8px 10px}.network-trace__inline-actions{display:flex;flex-wrap:wrap;gap:8px}.network-trace__compact-select{background:#fff;border:1px solid #c8d0da;border-radius:4px;color:#1f2937;font-size:12px;padding:6px 8px}.network-trace__section{background:#fbfcfe;border:1px solid #d7dee7;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:8px 10px}.network-trace__section-head{color:#334155;display:flex;flex-direction:column;gap:2px}.network-trace__list{display:flex;flex-direction:column;gap:6px}.network-trace__list-item{align-items:center;background:#fff;border:1px solid #d7dee7;border-radius:6px;display:flex;gap:8px;justify-content:space-between;padding:8px 9px}.network-trace__list-item--stack{align-items:start;flex-direction:column}.network-trace__mini-btn{background:#fff;border:1px solid #b8c3d1;border-radius:4px;color:#173a63;font-size:11px;padding:4px 8px}.network-trace__dual-columns{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.network-trace__dashboard{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.network-trace__metric-card{background:#fff;border:1px solid #d7dee7;border-radius:6px;color:#334155;display:flex;flex-direction:column;gap:4px;padding:10px 8px;text-align:center}.network-trace__metric-card strong{color:#0f3d6e;font-size:16px}.network-trace__metric-card--score{background:linear-gradient(180deg,#f7fff8,#eef8f0);border-color:#bcd6c3}.network-trace__profile{display:flex;flex-direction:column;gap:8px}.network-trace__profile-chart{background:linear-gradient(180deg,#fffdf8,#f8fafc);border:1px solid #d7dee7;border-radius:6px;height:auto;max-width:360px;width:100%}.network-trace__profile-axis{stroke:#94a3b8;stroke-width:1}.network-trace__profile-line{fill:none;stroke:#d72638;stroke-width:2.5}.road-distance__destinations{display:flex;flex-direction:column;gap:6px}.road-distance,.road-distance *{box-sizing:border-box}.road-distance__label-field{color:#0f172a;display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:5px;min-width:0;width:100%}.road-distance__label-field input,.road-distance__label-field select{border:1px solid #9db5d5;border-radius:4px;color:#0f172a;font-size:12px;max-width:100%;min-height:28px;min-width:0;padding:5px 7px;width:100%}.road-distance__label-field small{color:#5b6f8c;font-size:11px;font-weight:400}.road-distance__quota{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e3a8a;font-size:12px;line-height:1.35;padding:7px 9px}.road-distance__quota--warning{background:#fffbeb;border-color:#fbbf24;color:#92400e;font-weight:700}.road-distance__destination{align-items:center;color:#334155;display:flex;gap:8px;justify-content:space-between}.road-distance__destination span{min-width:0;overflow-wrap:anywhere}.road-distance__destination button{background:#fff;border:1px solid #d7dee7;border-radius:4px;color:#b91c1c;flex:0 0 auto;font-size:11px;padding:4px 7px}.road-distance__table-wrap{border:1px solid #d7dee7;border-radius:6px;overflow-x:auto}.road-distance__table{border-collapse:collapse;font-size:12px;min-width:760px;width:100%}.road-distance__table td,.road-distance__table th{border-bottom:1px solid #e5eaf0;padding:7px 8px;text-align:left;vertical-align:top}.road-distance__table th{background:#f1f5f9;color:#0f172a;font-weight:700}.road-distance__table tr:last-child td{border-bottom:0}.line-pack-panel{grid-gap:14px;display:grid;gap:14px;min-width:0}.line-pack-panel__card,.line-pack-panel__header,.line-pack-panel__results{background:#fff;border:1px solid #d7deea;border-radius:14px;min-width:0;padding:14px}.line-pack-panel__card-head,.line-pack-panel__header{grid-gap:4px;display:grid;gap:4px}.line-pack-panel__card-head strong,.line-pack-panel__header strong{color:#14324f}.line-pack-panel__area-status,.line-pack-panel__card-head span,.line-pack-panel__header span,.line-pack-panel__source-summary span,.line-pack-panel__summary-note{color:#5f6f83;font-size:.93rem}.line-pack-panel__actions,.line-pack-panel__inline-options{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.line-pack-panel__inline-options label{align-items:center;background:#f8fbff;border:1px solid #d7deea;border-radius:999px;color:#14324f;display:inline-flex;font-weight:500;gap:6px;line-height:1.2;padding:8px 12px}.line-pack-panel__inline-options input[type=radio]{accent-color:#0d5cab;flex:0 0 auto}.line-pack-panel__field{grid-gap:6px;color:#27445f;display:grid;font-size:.92rem;gap:6px}.line-pack-panel__field input,.line-pack-panel__field select{background:#fff;border:1px solid #c8d5e6;border-radius:10px;color:#17324b;font:inherit;padding:9px 10px}.line-pack-panel__field input::placeholder{color:#6a7d92;opacity:1}.line-pack-panel__field option,.line-pack-panel__field select{color:#14324f}.line-pack-panel__defaults-grid,.line-pack-panel__mapping-grid,.line-pack-panel__summary-grid{grid-gap:10px;display:grid;gap:10px}.line-pack-panel__defaults-grid,.line-pack-panel__mapping-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:12px}.line-pack-panel__summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));min-width:0}.line-pack-panel__ghost,.line-pack-panel__primary,.line-pack-panel__secondary{border-radius:999px;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;line-height:1.1;padding:7px 12px}.line-pack-panel__primary{background:#0d5cab;border:1px solid #0d5cab;color:#fff}.line-pack-panel__secondary{background:#eef4fb;border:1px solid #98b2d0;color:#14324f}.line-pack-panel__ghost{background:#fff;border:1px solid #d4dfec;color:#14324f}.line-pack-panel__primary:focus-visible,.line-pack-panel__primary:hover{background:#0a4f94;border-color:#0a4f94;color:#fff}.line-pack-panel__secondary:focus-visible,.line-pack-panel__secondary:hover{background:#ddeafb;border-color:#7f9fc5;color:#102d47}.line-pack-panel__ghost:focus-visible,.line-pack-panel__ghost:hover{background:#f5f8fc;border-color:#bfcfe1;color:#102d47}.line-pack-panel__ghost:disabled,.line-pack-panel__primary:disabled,.line-pack-panel__secondary:disabled{cursor:not-allowed;opacity:.82}.line-pack-panel__primary:disabled{color:#f7fbff}.line-pack-panel__ghost:disabled,.line-pack-panel__secondary:disabled{color:#5b6f84}.line-pack-panel__area-tools,.line-pack-panel__source-summary{grid-gap:8px;background:#f6f9fd;border-radius:10px;display:grid;gap:8px;margin-top:12px;padding:10px 12px}.line-pack-panel__area-status,.line-pack-panel__error,.line-pack-panel__source-summary strong,.line-pack-panel__summary-note{color:#14324f}.line-pack-panel__error{background:#fff4f4;border:1px solid #f1c0c0;border-radius:12px;color:#a33d3d;padding:11px 12px}.line-pack-panel__summary-card{grid-gap:4px;background:#fbfdff;border:1px solid #dde7f3;border-radius:12px;display:grid;gap:4px;min-width:0;padding:10px 11px}.line-pack-panel__summary-card strong{color:#14324f;font-size:.92rem}.line-pack-panel__summary-card span{color:#61758d;font-size:.82rem;line-height:1.25}.line-pack-panel__summary-note{margin-top:12px;overflow-wrap:anywhere}.line-pack-panel__table-wrap{margin-top:12px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;width:100%}.line-pack-panel__table{border-collapse:collapse;min-width:860px;width:100%}.line-pack-panel__table td,.line-pack-panel__table th{border-bottom:1px solid #e3ebf4;font-size:.82rem;line-height:1.35;padding:7px 9px;text-align:left;vertical-align:top}.line-pack-panel__table th{background:#f6f9fd;color:#17324b;font-size:.8rem}.line-pack-panel__table td{color:#466075}.line-pack-panel__table tbody tr{cursor:pointer}.line-pack-panel__table tbody tr:hover{background:#f7fbff}.line-pack-panel__table tbody tr:hover td{color:#14324f}.line-pack-panel__table tbody tr.is-active{background:#eef6ff}.line-pack-panel__table tbody tr.is-active td{color:#14324f}.ai-analysis-panel{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));display:flex;flex-direction:column;gap:.75rem}.ai-analysis-header{--tw-border-opacity:1;--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#f8fafc var(--tw-gradient-to-position);--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-image:linear-gradient(to bottom,var(--tw-gradient-stops));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;gap:.5rem;padding:1rem}.ai-analysis-kicker-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.ai-analysis-kicker{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-radius:9999px;color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1));display:inline-flex;font-size:.75rem;font-weight:700;letter-spacing:.025em;line-height:1rem;padding:.25rem .625rem;text-transform:uppercase}.ai-analysis-kicker--suggested{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1));color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1))}.ai-analysis-title{--tw-text-opacity:1;color:#020617;color:rgb(2 6 23/var(--tw-text-opacity,1));font-size:1.125rem;font-weight:800;line-height:1.75rem;line-height:1.25}.ai-analysis-guide{display:flex;flex-wrap:wrap;gap:.5rem}.ai-analysis-step{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:9999px;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:inline-flex;font-size:.75rem;gap:.5rem;line-height:1rem;padding:.5rem .75rem}.ai-analysis-step--ready{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1));border-color:#a7f3d0;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.ai-analysis-step-index{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));border-radius:9999px;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));display:inline-flex;font-size:.75rem;font-weight:700;height:1.25rem;justify-content:center;line-height:1rem;width:1.25rem}.ai-analysis-step--ready .ai-analysis-step-index{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#d1fae5;background-color:rgb(209 250 229/var(--tw-bg-opacity,1));color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1))}.ai-analysis-card-head strong,.ai-analysis-inline-field span,.ai-analysis-step strong,.ai-analysis-summary-block strong{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));display:block;font-size:.75rem;font-weight:700;line-height:1rem;margin-bottom:.125rem}.ai-analysis-card-head span,.ai-analysis-layer-item span,.ai-analysis-layer-tools span,.ai-analysis-step span,.ai-analysis-summary-block span,.ai-analysis-toggle span{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));display:block;font-size:.75rem;line-height:1rem;line-height:1.625}.ai-analysis-step span{display:none}.ai-analysis-note{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;line-height:1.625;margin:0}.ai-analysis-note--subtle{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.ai-analysis-actions,.ai-analysis-context-summary,.ai-analysis-prompt-ideas,.ai-analysis-status{display:flex;flex-wrap:wrap;gap:.5rem}.ai-analysis-pill{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));border-radius:9999px;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1));display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;line-height:1rem;padding:.25rem .625rem}.ai-analysis-pill--ready{--tw-bg-opacity:1;--tw-text-opacity:1;--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1));background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1));color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1))}.ai-analysis-pill--ready,.ai-analysis-pill--warn{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ai-analysis-pill--warn{--tw-bg-opacity:1;--tw-text-opacity:1;--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1));background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1));color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.ai-analysis-card{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.ai-analysis-card-head{display:flex;flex-direction:column;gap:.25rem}.ai-analysis-input-grid{grid-gap:.5rem;display:grid;gap:.5rem}.ai-analysis-summary-block{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;padding:.75rem}.ai-analysis-inline-field{display:flex;flex-direction:column;gap:.375rem}.ai-analysis-inline-field input{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-sizing:border-box;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;font:inherit;outline:2px solid #0000;outline-offset:2px;padding:.5rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.ai-analysis-inline-field input:focus{--tw-border-opacity:1;--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);--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1));border-color:#6366f1;border-color:rgb(99 102 241/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ai-analysis-btn{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));border-color:#4338ca;border-color:rgb(67 56 202/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1));display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;line-height:1rem;line-height:1.25;min-height:2rem;padding:.375rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ai-analysis-btn:hover:not(:disabled){--tw-bg-opacity:1;background-color:#4338ca;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.ai-analysis-btn:disabled{cursor:not-allowed;opacity:.5}.ai-analysis-btn--secondary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.ai-analysis-btn--secondary:hover:not(:disabled){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));color:#020617;color:rgb(2 6 23/var(--tw-text-opacity,1))}.ai-analysis-btn--ghost{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));border-color:#0000;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.ai-analysis-btn--ghost:hover:not(:disabled){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1));color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.ai-analysis-layer-item,.ai-analysis-toggle{grid-gap:.5rem;--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:flex-start;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:grid;gap:.5rem;grid-template-columns:16px 1fr;padding:.5rem .75rem}.ai-analysis-layer-item input,.ai-analysis-toggle input{accent-color:#4f46e5;margin-top:.25rem}.ai-analysis-toggle--disabled{opacity:.6}.ai-analysis-layer-tools{--tw-bg-opacity:1;align-items:flex-start;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border-radius:.5rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.75rem}.ai-analysis-layer-tool-actions{display:flex;flex-wrap:wrap;gap:.5rem}.ai-analysis-layer-list{grid-gap:.5rem;display:grid;gap:.5rem;max-height:9rem;overflow-y:auto;padding-right:.25rem}.ai-analysis-layer-item--active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.ai-analysis-layer-empty{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border:1px dashed #cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:.5rem;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;line-height:1.625;padding:.75rem}.ai-analysis-mode-switch{display:inline-flex;flex-wrap:wrap;gap:.5rem}.ai-analysis-chip,.ai-analysis-mode-btn{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);align-items:center;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:9999px;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));display:inline-flex;font-size:.75rem;font-weight:600;line-height:1rem;min-height:1.75rem;padding:.25rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ai-analysis-chip:hover,.ai-analysis-mode-btn--active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1));color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.ai-analysis-error{background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1));border-color:#fee2e2;border-color:rgb(254 226 226/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1));padding:.5rem .75rem}.ai-analysis-error,.ai-analysis-result{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;font-size:.75rem;line-height:1rem;line-height:1.625}.ai-analysis-result{background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1));border-color:#d1fae5;border-color:rgb(209 250 229/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;padding:.75rem}.ai-analysis-list,.ai-analysis-result{color:#065f46;color:rgb(6 95 70/var(--tw-text-opacity,1))}.ai-analysis-list{--tw-text-opacity:1;font-size:.75rem;line-height:1rem;line-height:1.625;margin:0;padding-left:1rem}.ai-analysis-list li+li{margin-top:.25rem}.ai-analysis-result-note{--tw-text-opacity:1;color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1));margin-top:.25rem}.ai-analysis-preview{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);overflow:hidden}.ai-analysis-preview img{display:block;width:100%}.ai-analysis-preview-label{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-top-width:1px;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;padding:.5rem .75rem}.ai-analysis-history{display:flex;flex-direction:column;gap:.75rem;max-height:18rem;overflow-y:auto;padding-right:.25rem}.ai-analysis-history-empty{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border:1px dashed #cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:.75rem;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;line-height:1.625;padding:1rem;text-align:center}.ai-analysis-message{display:flex;flex-direction:column;gap:.375rem}.ai-analysis-message-head{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.ai-analysis-message-role{color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-weight:700;letter-spacing:.025em;text-transform:uppercase}.ai-analysis-message-role,.ai-analysis-message-time{--tw-text-opacity:1;font-size:.75rem;line-height:1rem}.ai-analysis-message-time{color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.ai-analysis-message-head-right{align-items:center;display:flex;gap:.375rem}.ai-analysis-speak-btn{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:9999px;border-width:1px;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));display:inline-flex;flex-shrink:0;height:1.75rem;justify-content:center;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.75rem}.ai-analysis-speak-btn:focus-visible,.ai-analysis-speak-btn:hover:not(:disabled){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1));color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.ai-analysis-speak-btn--active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1));border-color:#a5b4fc;border-color:rgb(165 180 252/var(--tw-border-opacity,1));color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.ai-analysis-speak-btn--active:focus-visible,.ai-analysis-speak-btn--active:hover:not(:disabled){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#4338ca;background-color:rgb(67 56 202/var(--tw-bg-opacity,1));border-color:#818cf8;border-color:rgb(129 140 248/var(--tw-border-opacity,1));color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.ai-analysis-speak-btn svg{height:1rem;width:1rem}@media (max-width:1000px){.ai-analysis-speak-btn{height:2.25rem;width:2.25rem}.ai-analysis-speak-btn svg{height:18px;width:18px}}.ai-analysis-bubble{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1));font-size:.875rem;line-height:1.25rem;line-height:1.625;overflow-wrap:anywhere;padding:.75rem;white-space:pre-wrap}.ai-analysis-message--user .ai-analysis-bubble{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#e0e7ff;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.ai-analysis-message--assistant .ai-analysis-bubble{white-space:normal}.ai-analysis-reading{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1));font-size:.875rem;line-height:1.25rem;line-height:1.625}.ai-analysis-reading-line{border-radius:.25rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ai-analysis-reading-line--active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#e0e7ff;background-color:rgb(224 231 255/var(--tw-bg-opacity,1));box-decoration-break:clone;-webkit-box-decoration-break:clone;color:#312e81;color:rgb(49 46 129/var(--tw-text-opacity,1));font-weight:500;padding:0 2px}.ai-analysis-bubble p{margin-bottom:.5rem;margin-top:0}.ai-analysis-bubble p:last-child{margin-bottom:0}.ai-analysis-bubble h1,.ai-analysis-bubble h2,.ai-analysis-bubble h3,.ai-analysis-bubble h4{--tw-text-opacity:1;color:#312e81;color:rgb(49 46 129/var(--tw-text-opacity,1));font-weight:700;line-height:1.375;margin-bottom:.25rem;margin-top:.75rem}.ai-analysis-bubble h1{font-size:1rem;line-height:1.5rem}.ai-analysis-bubble h2,.ai-analysis-bubble h3,.ai-analysis-bubble h4{font-size:.875rem;line-height:1.25rem}.ai-analysis-bubble>:first-child{margin-top:0}.ai-analysis-bubble>:last-child{margin-bottom:0}.ai-analysis-bubble ol,.ai-analysis-bubble ul{margin-bottom:.5rem;margin-top:.25rem;padding-left:1.25rem}.ai-analysis-bubble li{margin-bottom:.25rem;margin-top:.25rem}.ai-analysis-bubble li>p{margin:0}.ai-analysis-bubble strong{--tw-text-opacity:1;color:#312e81;color:rgb(49 46 129/var(--tw-text-opacity,1))}.ai-analysis-bubble code{border-radius:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;line-height:1rem;padding:.125rem .25rem}.ai-analysis-bubble code,.ai-analysis-bubble pre{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.ai-analysis-bubble pre{border-radius:.5rem;margin-bottom:.5rem;margin-top:.5rem;overflow-x:auto;padding:.75rem}.ai-analysis-bubble pre code{background-color:initial;padding:0}.ai-analysis-bubble a{--tw-text-opacity:1;color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1));text-decoration-line:underline}.ai-analysis-bubble blockquote{--tw-border-opacity:1;--tw-text-opacity:1;border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-left-width:4px;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1));margin-bottom:.5rem;margin-top:.5rem;padding-left:.75rem}.ai-analysis-message-meta{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem}.ai-analysis-compose{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.ai-analysis-speak{display:inline-flex;position:relative}.ai-analysis-voice-menu{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;gap:.125rem;margin-top:.25rem;min-width:7.5rem;padding:.25rem;position:absolute;right:0;top:100%;z-index:20}.ai-analysis-voice-menu-item{--tw-text-opacity:1;align-items:center;border-radius:.375rem;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));display:flex;font-size:.75rem;font-weight:500;gap:.5rem;line-height:1rem;padding:.375rem .625rem;text-align:left;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ai-analysis-voice-menu-item:focus-visible,.ai-analysis-voice-menu-item:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.ai-analysis-voice-menu-item--active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.ai-analysis-voice-menu-icon{--tw-text-opacity:1;color:#6366f1;color:rgb(99 102 241/var(--tw-text-opacity,1));font-size:.875rem;font-weight:600;line-height:1.25rem;line-height:1}@media (max-width:1000px){.ai-analysis-voice-menu-item{font-size:.875rem;line-height:1.25rem;padding-bottom:.5rem;padding-top:.5rem}}.ai-analysis-inline-field select{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-sizing:border-box;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem;font:inherit;outline:2px solid #0000;outline-offset:2px;padding:.5rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.ai-analysis-inline-field select:focus{--tw-border-opacity:1;--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);--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1));border-color:#6366f1;border-color:rgb(99 102 241/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ai-pipeline-panel{padding-bottom:.5rem}.ai-pipeline-grid{grid-gap:.75rem;display:grid;gap:.75rem}@media (min-width:768px){.ai-pipeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-pipeline-point-grid,.ai-pipeline-simple-grid{grid-gap:.75rem;display:grid;gap:.75rem}@media (min-width:768px){.ai-pipeline-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-pipeline-avoid-grid{grid-gap:.5rem;display:grid;gap:.5rem}@media (min-width:768px){.ai-pipeline-avoid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-pipeline-segment-table-wrap{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;overflow-x:auto}.ai-pipeline-segment-table{border-collapse:collapse;font-size:.875rem;line-height:1.25rem;min-width:100%}.ai-pipeline-segment-table td,.ai-pipeline-segment-table th{--tw-border-opacity:1;border-bottom-width:1px;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));padding:.5rem .75rem;text-align:left;vertical-align:middle}.ai-pipeline-segment-table th{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.75rem;font-weight:600;letter-spacing:.025em;line-height:1rem;text-transform:uppercase}.ai-pipeline-segment-table input,.ai-pipeline-segment-table select{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-sizing:border-box;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));font-size:.875rem;line-height:1.25rem;font:inherit;outline:2px solid #0000;outline-offset:2px;padding:.5rem .75rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.ai-pipeline-segment-table input:focus,.ai-pipeline-segment-table select:focus{--tw-border-opacity:1;--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);--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1));border-color:#6366f1;border-color:rgb(99 102 241/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ai-pipeline-pipe-chip{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:9999px;border-width:1px;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1));display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;line-height:1rem;padding:.25rem .5rem;white-space:nowrap}.ai-pipeline-summary-grid{grid-gap:.75rem;display:grid;gap:.75rem}@media (min-width:768px){.ai-pipeline-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-pipeline-summary-card{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;padding:.75rem}.ai-pipeline-summary-title{--tw-text-opacity:1;align-items:center;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));display:flex;font-size:.875rem;gap:.5rem;line-height:1.25rem;margin-bottom:.5rem}.ai-pipeline-swatch{--tw-border-opacity:1;border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));border-radius:9999px;border-width:1px;display:inline-flex;height:.75rem;width:.75rem}.ai-pipeline-grand-total,.ai-pipeline-summary-total{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1));font-size:.875rem;font-weight:600;line-height:1.25rem;margin-top:.5rem}.ai-pipeline-grand-total{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1));border-color:#e0e7ff;border-color:rgb(224 231 255/var(--tw-border-opacity,1));border-radius:.75rem;border-width:1px;padding:.5rem .75rem}.ai-analysis-error--soft{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1));border-color:#fef3c7;border-color:rgb(254 243 199/var(--tw-border-opacity,1));color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.ai-analysis-compose-main{display:flex;flex-wrap:wrap;gap:.5rem}.ai-analysis-context-summary{flex-wrap:nowrap;gap:.375rem;overflow-x:auto;padding-bottom:.25rem}.ai-analysis-context-summary .ai-analysis-pill{flex:none}.admin-login-page{align-items:center;background:#0f2035;display:flex;justify-content:center;min-height:100vh}.admin-login-card{background:#fff;border-radius:10px;box-shadow:0 8px 32px #00000047;padding:40px 40px 48px;width:360px}.admin-login-logo{display:block;height:52px;margin:0 auto 16px;width:52px}.admin-login-logo svg{height:100%;width:100%}.admin-login-title{color:#0f2035;font-size:22px;font-weight:700;margin:0 0 12px;text-align:center}.admin-login-hint{color:#5a7288;font-size:13px;margin:0 0 24px;text-align:center}.admin-login-form{display:flex;flex-direction:column;gap:16px}.admin-login-form label{color:#294863;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px}.admin-login-form input{border:1px solid #c3cdda;border-radius:5px;font-size:14px;outline:none;padding:9px 12px;transition:border-color .15s}.admin-login-form input:focus{border-color:#165391}.admin-login-error{background:#fde8e8;border-radius:4px;color:#c0392b;font-size:13px;padding:8px 12px}.admin-login-btn{background:#165391;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:4px;padding:11px;transition:background .15s}.admin-login-btn:hover{background:#0f3d6e}.admin-shell{background:#f5f5f7;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100vh;overflow:hidden}.admin-header{background:#1c1c1e;flex-shrink:0;gap:0;height:56px;padding:0 28px}.admin-header,.admin-header-brand{align-items:center;color:#fff;display:flex}.admin-header-brand{background:none;border:none;cursor:pointer;gap:10px;padding:0;text-decoration:none}.admin-header-brand:hover .admin-header-title{color:#e07b2c}.admin-brand-icon{align-items:center;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.admin-brand-icon svg{height:100%;width:100%}.admin-header-title{font-size:16px;font-weight:700;letter-spacing:.3px;transition:color .15s}.admin-breadcrumb{align-items:center;display:flex;flex:1 1;gap:8px}.admin-bc-sep{color:#ffffff59;font-size:20px;line-height:1;margin-left:10px}.admin-bc-current{color:#e07b2c;font-size:15px;font-weight:600}.admin-header-user{align-items:center;display:flex;gap:10px;margin-left:auto}.admin-header-email{color:#fffc;font-size:13px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-logout-btn{background:#ffffff1f;border:1px solid #ffffff4d;border-radius:5px;color:#fff;cursor:pointer;font-size:13px;padding:6px 14px;transition:background .15s}.admin-logout-btn:hover{background:#ffffff38}.admin-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:960px;overflow-y:auto;padding:32px;width:100%}.admin-dashboard{align-items:center;display:flex;flex-direction:column;padding-top:32px}.admin-dashboard-subtitle{color:#888;font-size:14px;letter-spacing:.2px;margin:0 0 36px}.admin-card-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,160px);justify-content:center}@media (max-width:600px){.admin-card-grid{grid-template-columns:repeat(2,140px)}}.admin-card{align-items:center;background:#fff;border:1px solid #e8eaed;border-radius:12px;box-shadow:0 1px 4px #00000012;cursor:pointer;display:flex;flex-direction:column;gap:14px;justify-content:center;padding:28px 16px 22px;text-decoration:none;transition:box-shadow .18s,transform .15s,border-color .18s}.admin-card:hover{border-color:#e07b2c;box-shadow:0 6px 20px #00000021;transform:translateY(-3px)}.admin-card:active{box-shadow:0 2px 8px #0000001a;transform:translateY(0)}.admin-card-icon{align-items:center;display:flex;height:64px;justify-content:center;width:64px}.admin-card-icon svg{height:100%;width:100%}.admin-card-label{color:#3a3a3a;font-size:13px;font-weight:600;letter-spacing:.2px;text-align:center}.admin-card-desc{color:#aaa;font-size:11px;letter-spacing:.1px;line-height:1.4;margin-top:-6px;text-align:center}.config-tab-title{color:#0f2035;font-size:22px;font-weight:700;margin:0 0 8px}.config-tab-desc{color:#4a6076;font-size:14px;margin:0 0 24px}.config-layers-list{display:flex;flex-direction:column;gap:12px}.config-layer-card{background:#fff;border:1px solid #d0dbe8;border-radius:8px;overflow:hidden}.config-layer-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:14px 18px;transition:background .12s;-webkit-user-select:none;user-select:none}.config-layer-header:hover{background:#f4f8fc}.config-layer-name{color:#0f2035;display:flex;flex:1 1;flex-direction:column;font-size:14px;font-weight:600;gap:2px}.config-layer-internal-name{color:#8a9bb0;font-family:Courier New,monospace;font-size:11px;font-weight:400}.config-layer-meta{color:#60758f;font-size:12px;white-space:nowrap}.config-dirty-badge{background:#fff3cd;border:1px solid #ffd966;border-radius:3px;color:#856404;font-size:11px;padding:2px 7px}.config-fields-loading{color:#60758f;font-size:13px;padding:12px 18px}.config-fields{border-top:1px solid #e3eaf2;padding:16px 18px}.config-fields-grid{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:14px}.config-field-label{align-items:center;color:#294863;cursor:pointer;display:flex;font-size:13px;gap:6px}.config-section-title{color:#7a94ab;font-size:11px;font-weight:700;letter-spacing:.6px;margin:16px 0 8px;text-transform:uppercase}.config-color-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:6px}.config-color-label,.config-label-select-label{align-items:center;color:#294863;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px}.config-label-select{background:#fff;border:1px solid #c3cdda;border-radius:4px;color:#0f2035;cursor:pointer;font-size:13px;min-width:180px;padding:5px 10px}.config-label-select:focus{border-color:#165391;outline:none}.config-color-input{background:none;border:1px solid #c3cdda;border-radius:4px;cursor:pointer;height:28px;padding:2px;width:38px}.config-color-input:focus{border-color:#165391;outline:none}.config-clear-color-btn{background:none;border:1px solid #c3cdda;border-radius:4px;color:#60758f;cursor:pointer;font-size:12px;padding:4px 10px;transition:background .12s,color .12s}.config-clear-color-btn:hover{background:#fde8e8;border-color:#f5a5a5;color:#c0392b}.config-color-hint{color:#8fa5b8;font-size:12px;font-style:italic}.config-layer-header-right{align-items:center;display:flex;gap:8px}.config-color-swatch{border:1px solid #0003;border-radius:3px;display:inline-block;flex-shrink:0;height:14px;width:14px}.config-color-inline{align-items:center;display:flex;gap:6px}.config-font-select{background:#fff;border:1px solid #c3cdda;border-radius:4px;color:#0f2035;cursor:pointer;font-size:13px;min-width:160px;padding:5px 8px}.config-font-select:focus{border-color:#165391;outline:none}.config-size-select{background:#fff;border:1px solid #c3cdda;border-radius:4px;color:#0f2035;cursor:pointer;font-size:13px;padding:5px 8px;width:70px}.config-size-select:focus{border-color:#165391;outline:none}.config-zoom-input{border:1px solid #c3cdda;border-radius:4px;font-size:13px;margin-left:6px;padding:5px 8px;width:60px}.config-zoom-input:focus{border-color:#165391;outline:none}.config-fields-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.config-field-row{align-items:center;display:flex;flex-wrap:nowrap;gap:12px}.config-field-row>.config-field-label{flex:0 0 160px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-field-alias-input{border:1px solid #c8d6e5;border-radius:4px;color:#294863;flex:1 1;font-size:12px;min-width:0;padding:3px 8px}.config-field-alias-input:focus{border-color:#165391;outline:none}.config-field-alias-input::placeholder{color:#a0b4c4;font-style:italic}.config-field-header{border-bottom:1px solid #d0dbe8;margin-bottom:4px;padding-bottom:4px}.config-field-attr-col{flex:0 0 52px;min-width:52px}.config-field-order-col{display:flex;flex:0 0 52px;gap:2px}.config-order-btn{background:#eef3f8;border:1px solid #c8d6e5;border-radius:3px;color:#294863;cursor:pointer;font-size:11px;line-height:1.4;padding:1px 5px}.config-order-btn:disabled{cursor:default;opacity:.35}.config-order-btn:not(:disabled):hover{background:#d4e4f4}.config-display-name-input{border:1px solid #c8d6e5;border-radius:4px;font-size:13px;max-width:360px;padding:5px 8px;width:100%}.config-display-name-input:focus{border-color:#165391;outline:none}.config-font-preview{background:#f4f8fc;border:1px solid #d0dbe8;border-radius:4px;display:inline-block;font-weight:700;margin:6px 0 10px;padding:4px 10px}.config-field-actions{align-items:center;display:flex;gap:12px}.config-save-btn{background:#165391;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 20px;transition:background .15s}.config-save-btn:disabled{background:#9ab0c8;cursor:not-allowed}.config-save-btn:not(:disabled):hover{background:#0f3d6e}.config-status-ok{color:#1a7f37;font-size:13px}.config-status-err{color:#c0392b;font-size:13px}.admin-loading{color:#60758f;font-size:14px;padding:32px}.admin-error{align-items:center;background:#fde8e8;border-radius:6px;color:#c0392b;display:flex;font-size:14px;gap:12px;padding:16px}.admin-noaccess-card{background:#fff;border:1px solid #d7e3ef;border-radius:12px;box-shadow:0 6px 18px #0f203514;margin:48px auto 0;max-width:560px;padding:28px 30px}.admin-noaccess-title{color:#0f2035;font-size:22px;margin:0 0 10px}.admin-noaccess-text{color:#5a7288;font-size:14px;line-height:1.6;margin:0 0 10px}.symbol-picker{position:relative;width:100%}.symbol-picker-toggle{align-items:center;background:#f4f8fc;border:1px solid #c3cdda;border-radius:5px;box-sizing:border-box;color:#294863;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 12px;transition:border-color .12s,background .12s;width:100%}.symbol-picker-toggle:hover{background:#eaf2fb;border-color:#165391}.symbol-picker-toggle img{flex-shrink:0}.symbol-picker-panel{background:#fff;border:1px solid #d0dbe8;border-radius:6px;box-shadow:0 6px 20px #0000001f;left:0;max-height:480px;min-width:260px;overflow-y:auto;padding:10px 12px;position:absolute;right:0;top:calc(100% + 4px);z-index:500}.symbol-picker-category{color:#8fa5b8;font-size:11px;font-weight:700;letter-spacing:.6px;margin:8px 0 4px;text-transform:uppercase}.symbol-picker-category:first-child{margin-top:0}.symbol-picker-grid{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:4px}.symbol-picker-grid-lines{flex-direction:column;gap:4px}.symbol-picker-item{align-items:center;background:#f9fbfd;border:1px solid #c8d6e5;border-radius:4px;cursor:pointer;display:flex;height:40px;justify-content:center;position:relative;transition:border-color .12s,background .12s;width:40px}.symbol-picker-item-line{box-sizing:border-box;gap:10px;height:32px;justify-content:flex-start;padding:0 10px;width:100%}.symbol-picker-line-label{color:#444;font-size:12px;white-space:nowrap}.symbol-picker-item:hover{background:#eaf2fb;border-color:#165391}.symbol-picker-item.selected{background:#e8f0fe;border:2px solid #165391}.symbol-picker-none{align-items:center;background:#f9fbfd;border:1px dashed #c8d6e5;border-radius:4px;box-sizing:border-box;color:#8fa5b8;cursor:pointer;display:flex;font-size:11px;font-style:italic;height:28px;justify-content:center;margin-bottom:8px;transition:border-color .12s,background .12s;width:100%}.symbol-picker-none:hover{background:#fff5f5;border-color:#c0392b;color:#c0392b}.symbol-picker-check{color:#165391;font-size:11px;font-weight:700;line-height:1;position:absolute;right:2px;top:1px}.symbol-swatch{flex-shrink:0;height:18px;vertical-align:middle;width:18px}.my-apps-tab{padding-top:4px}.my-apps-grid{display:flex;flex-wrap:wrap;gap:20px;margin-top:8px}.my-app-card{align-items:center;background:#fff;border:1px solid #d0dbe8;border-radius:10px;color:inherit;display:flex;flex-direction:column;gap:10px;padding:28px 24px;text-decoration:none;transition:box-shadow .15s,border-color .15s;width:220px}.my-app-card:hover{border-color:#165391;box-shadow:0 4px 16px #0000001f}.my-app-icon{font-size:40px}.my-app-name{color:#0f2035;font-size:16px;font-weight:700}.my-app-desc{color:#60758f;font-size:12px;line-height:1.5;text-align:center}.enums-tab{padding:0 0 40px}.enums-header-bar{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding:18px 24px 10px}.enums-title{color:#0f2035;font-size:17px;font-weight:700;margin:0 0 4px}.enums-subtitle{color:#60758f;font-size:12px;margin:0}.enums-empty{color:#60758f;font-size:14px;line-height:1.7;padding:40px 24px}.enums-empty strong{color:#0f2035}.enums-layers-list{display:flex;flex-direction:column;gap:0}.enums-layer-card{border-bottom:1px solid #e2e8f0}.enums-layer-header{align-items:center;background:#f8fafc;cursor:pointer;display:flex;gap:8px;padding:10px 24px;transition:background .12s;-webkit-user-select:none;user-select:none}.enums-layer-header:hover{background:#eef4ff}.enums-layer-toggle{color:#60758f;flex-shrink:0;font-size:13px;width:14px}.enums-layer-name{color:#0f2035;flex:1 1;font-size:14px;font-weight:600}.enums-layer-meta{align-items:center;color:#60758f;display:flex;font-size:12px;gap:6px}.enums-defined-badge{background:#dcfce7;border-radius:10px;color:#166534;font-size:11px;font-weight:600;padding:1px 6px}.enums-group-tag{background:#1a73e8;border-radius:10px;color:#fff;font-size:11px;padding:1px 8px;white-space:nowrap}.enums-layer-body{background:#fff;padding:12px 24px 16px 36px}.enums-field-row{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;gap:16px;padding:8px 0}.enums-field-row:last-of-type{border-bottom:none}.enums-field-label{flex-shrink:0;padding-top:6px;width:180px}.enums-field-name{color:#1e293b;display:block;font-size:13px;font-weight:600}.enums-field-raw{color:#94a3b8;display:block;font-family:monospace;font-size:11px}.enums-free-text-hint{background:#f1f5f9;border-radius:8px;color:#94a3b8;display:inline-block;font-size:11px;margin-top:3px;padding:1px 6px}.enums-field-values{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.enums-chip{align-items:center;background:#e8f0fe;border:1px solid #b3c7f7;border-radius:14px;display:inline-flex;font-size:12px;gap:2px;padding:2px 4px 2px 6px}.enums-chip-label{color:#1a3d8f;font-weight:500;padding:0 4px}.enums-chip-move{background:none;border:none;color:#60758f;cursor:pointer;font-size:11px;line-height:1;padding:0 2px}.enums-chip-move:disabled{cursor:default;opacity:.25}.enums-chip-remove{background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;font-size:14px;font-weight:700;line-height:1;padding:0 3px}.enums-chip-remove:hover{background:#fecaca;color:#b91c1c}.enums-add-row{align-items:center;display:flex;gap:6px}.enums-add-input{border:1px solid #cbd5e1;border-radius:4px;font-size:12px;height:28px;outline:none;padding:0 8px;width:140px}.enums-add-input:focus{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.enums-add-btn{background:#1a73e8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;height:28px;padding:0 10px;white-space:nowrap}.enums-add-btn:hover{background:#1558b0}.enums-save-row{align-items:center;border-top:1px solid #f1f5f9;display:flex;gap:10px;margin-top:12px;padding-top:10px}.enums-save-btn{background:#1a73e8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;height:30px;padding:0 18px}.enums-save-btn:hover:not(:disabled){background:#1558b0}.enums-save-btn:disabled{cursor:default;opacity:.6}.enums-status-saved{color:#166534;font-size:12px;font-weight:600}.enums-status-error{color:#b91c1c;font-size:12px;font-weight:600}.enums-loading{color:#60758f;font-size:13px;padding:24px}.enums-create-card{background:linear-gradient(180deg,#fbfdff,#f5f8fc);border:1px solid #dbe5ef;border-radius:10px;margin:0 24px 14px;padding:16px 18px}.enums-create-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:minmax(240px,320px) minmax(260px,1fr)}.enums-create-field{display:flex;flex-direction:column;gap:6px}.enums-create-field--wide{min-width:0}.enums-create-label{color:#1e293b;font-size:12px;font-weight:600}.enums-create-input,.enums-create-textarea{background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:13px;outline:none;padding:8px 10px;width:100%}.enums-create-input{height:36px}.enums-create-textarea{font-family:inherit;min-height:78px;resize:vertical}.enums-create-input:focus,.enums-create-textarea:focus{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.enums-create-footer{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:12px}.enums-create-preview{color:#64748b;font-size:12px}.enums-create-preview code{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.enums-create-btn{background:#1a73e8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;height:34px;padding:0 14px;white-space:nowrap}.enums-create-btn:hover:not(:disabled){background:#1558b0}.enums-create-btn:disabled{cursor:default;opacity:.55}.enums-top-status{padding:0 24px 10px}.enums-search-row{padding:10px 24px 6px}.enums-search{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:13px;height:32px;max-width:420px;outline:none;padding:0 10px;width:100%}.enums-search:focus{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.enums-layer-raw{color:#94a3b8;flex:1 1;font-family:monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enums-count-badge{background:#e0f2fe;border-radius:10px;color:#075985;flex-shrink:0;font-size:11px;font-weight:600;padding:1px 7px;white-space:nowrap}.enums-values-grid{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;padding:6px 0 10px}.enums-empty-values{color:#94a3b8;font-size:12px;font-style:italic}.enums-add-btn:disabled{cursor:default;opacity:.5}.enums-table-actions{align-items:center;border-top:1px solid #edf2f7;display:flex;gap:10px;margin-top:6px;padding-top:10px}.enums-delete-table-btn{background:#fff5f5;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:12px;font-weight:600;height:30px;padding:0 10px}.enums-delete-table-btn:hover:not(:disabled){background:#fee2e2}.enums-delete-table-btn:disabled{cursor:default;opacity:.55}@media (max-width:900px){.enums-create-grid{grid-template-columns:1fr}.enums-create-footer{align-items:stretch;flex-direction:column}.enums-create-btn{width:100%}}.config-enum-mapping-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:10px;padding:5px 0}.config-enum-mapping-row:last-of-type{border-bottom:none}.config-enum-mapping-label{color:#1e293b;flex-shrink:0;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:180px}.config-enum-mapping-select{background:#fff;border:1px solid #cbd5e1;border-radius:4px;flex:1 1;font-size:12px;height:28px;max-width:340px;outline:none;padding:0 6px}.config-enum-mapping-select:focus{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.cfg-ss{flex:1 1;max-width:340px;position:relative}.cfg-ss-trigger{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;display:flex;font-size:12px;gap:6px;height:30px;justify-content:space-between;outline:none;padding:0 8px;text-align:left;transition:border-color .12s,box-shadow .12s;width:100%}.cfg-ss-trigger:focus,.cfg-ss-trigger:hover{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e81f}.cfg-ss-value{color:#1e293b;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfg-ss-placeholder{color:#94a3b8;flex:1 1;font-style:italic}.cfg-ss-arrow{color:#64748b;flex-shrink:0;font-size:11px}.cfg-ss-dropdown{background:#fff;border:1px solid #c3cdda;border-radius:5px;box-shadow:0 6px 20px #00000021;display:flex;flex-direction:column;left:0;position:absolute;right:0;top:calc(100% + 3px);z-index:9999}.cfg-ss-filter{background:#f8fafc;border:none;border-bottom:1px solid #e3eaf2;border-radius:5px 5px 0 0;box-sizing:border-box;font-size:12px;height:32px;outline:none;padding:0 10px;width:100%}.cfg-ss-filter:focus{background:#fff}.cfg-ss-options{max-height:200px;overflow-y:auto}.cfg-ss-option{color:#1e293b;cursor:pointer;font-size:12px;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.cfg-ss-option:hover{background:#f0f6ff}.cfg-ss-option.selected{background:#e8f0fe;color:#165391;font-weight:600}.cfg-ss-none{border-bottom:1px solid #f1f5f9;color:#64748b}.cfg-ss-no-results{color:#94a3b8;font-size:12px;font-style:italic;padding:8px 10px}.admin-content.config-mode{display:flex;flex-direction:column;margin:0;max-width:none;overflow:hidden;padding:0}.admin-content.datamodel-mode{margin:0;max-width:none;overflow-y:auto;padding:18px 20px}.config-split{display:flex;flex:1 1;min-height:0;overflow:hidden}.config-sidebar{background:#fff;border-right:1px solid #d0dbe8;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;width:260px}.config-sidebar-hdr{color:#0f2035;font-size:13px;font-weight:700;letter-spacing:.2px;padding:14px 16px 10px}.config-sidebar-hdr,.config-sidebar-search{border-bottom:1px solid #e3eaf2;flex-shrink:0}.config-sidebar-search{padding:8px 10px}.config-sidebar-search input{border:1px solid #c3cdda;border-radius:5px;box-sizing:border-box;color:#294863;font-size:12px;height:30px;outline:none;padding:0 8px;transition:border-color .12s;width:100%}.config-sidebar-search input:focus{border-color:#165391}.config-sidebar-list{flex:1 1;overflow-y:auto}.config-sidebar-item{border-bottom:1px solid #f0f4f8;border-left:3px solid #0000;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:9px 14px 9px 12px;position:relative;transition:background .1s}.config-sidebar-item:hover{background:#f4f8fc}.config-sidebar-item.active{background:#eef4ff;border-left-color:#165391}.config-sidebar-item-name{color:#0f2035;font-size:13px;font-weight:600;padding-right:16px}.config-sidebar-item-name,.config-sidebar-item-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-sidebar-item-sub{color:#94a3b8;font-family:Courier New,monospace;font-size:11px}.config-sidebar-dirty-dot{background:#ff9500;border-radius:50%;flex-shrink:0;height:7px;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:7px}.config-sidebar-empty{color:#8fa5b8;font-size:12px;font-style:italic;padding:20px 14px}.config-main{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.config-main-empty{align-items:center;color:#8fa5b8;display:flex;flex:1 1;font-size:14px;justify-content:center}.config-main-header{align-items:center;background:#fff;border-bottom:1px solid #d0dbe8;display:flex;flex-shrink:0;gap:10px;padding:12px 20px}.config-main-header-left{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.config-main-layer-name{color:#0f2035;font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-main-layer-sub{color:#94a3b8;font-family:Courier New,monospace;font-size:11px}.config-main-header-swatches{align-items:center;display:flex;flex-shrink:0;gap:6px}.config-inner-tabs{background:#fff;border-bottom:1px solid #d0dbe8;display:flex;flex-shrink:0;gap:0;overflow-x:auto;padding:0 16px}.config-inner-tabs::-webkit-scrollbar{height:3px}.config-inner-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#60758f;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;padding:10px 12px;position:relative;transition:color .12s,border-color .12s;white-space:nowrap}.config-inner-tab:hover{color:#0f2035}.config-inner-tab.active{border-bottom-color:#165391;color:#165391}.config-tab-dot{background:#ff9500;border-radius:50%;display:inline-block;flex-shrink:0;height:6px;width:6px}.config-tab-bar{align-items:center;background:#fff;border-bottom:1px solid #e3eaf2;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 20px}.config-tab-bar-title{color:#7a94ab;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.config-tab-bar-actions{align-items:center;display:flex;gap:8px}.config-apply-btn{background:#165391;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 18px;transition:background .15s}.config-apply-btn:disabled{background:#9ab0c8;cursor:not-allowed}.config-apply-btn:not(:disabled):hover{background:#0f3d6e}.config-cancel-btn{background:#fff;border:1px solid #c3cdda;border-radius:5px;color:#60758f;cursor:pointer;font-size:13px;padding:5px 14px;transition:background .15s,color .15s,border-color .15s}.config-cancel-btn:disabled{cursor:not-allowed;opacity:.45}.config-cancel-btn:not(:disabled):hover{background:#fde8e8;border-color:#f5a5a5;color:#c0392b}.config-tab-content{flex:1 1;overflow-y:auto;padding:20px}.roles-tab{padding:8px 0}.roles-header-row{margin-bottom:24px}.roles-title{color:#0f2035;font-size:22px;font-weight:700;margin:0 0 6px}.roles-subtitle{color:#60758f;font-size:14px;line-height:1.5;margin:0}.roles-loading{color:#60758f;font-size:14px;padding:16px 0}.roles-load-err{background:#fde8e8;border:1px solid #f5a5a5;border-radius:6px;color:#c0392b;font-size:13px;margin-bottom:16px;padding:10px 14px}.roles-table-wrap{overflow-x:auto}.roles-table{background:#fff;border:1px solid #d0dbe8;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 4px #0000000f;font-size:13px;overflow:hidden;width:100%}.roles-th{background:#f0f5fb;border-bottom:2px solid #d0dbe8;color:#27435f;font-size:12px;font-weight:600;letter-spacing:.04em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.roles-th-name{min-width:180px}.roles-th-perm{min-width:100px;text-align:center}.roles-th-actions{min-width:160px}.roles-row{border-bottom:1px solid #e8eef5;transition:background .1s}.roles-row:last-child{border-bottom:none}.roles-row:hover{background:#f7fafd}.roles-new-row{background:#f0f7ff}.roles-new-row:hover{background:#e8f2ff}.roles-cell{padding:8px 12px;vertical-align:middle}.roles-name-cell{min-width:180px}.roles-perm-cell{text-align:center}.roles-actions-cell{align-items:center;display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px}.roles-name-input{background:#fff;border:1px solid #c3cdda;border-radius:5px;box-sizing:border-box;color:#0f2035;font-size:13px;padding:5px 8px;transition:border-color .15s;width:100%}.roles-name-input:focus{border-color:#165391;box-shadow:0 0 0 2px #1653911f;outline:none}.roles-name-input-new{background:#fff}.roles-inline-err{color:#c0392b;font-size:11px;margin-top:3px}.roles-checkbox{accent-color:#165391;cursor:pointer;height:16px;width:16px}.roles-save-btn{background:#165391;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:background .15s,opacity .15s;white-space:nowrap}.roles-save-btn:hover:not(:disabled){background:#0e3a6a}.roles-save-btn:disabled{cursor:not-allowed;opacity:.45}.roles-delete-btn{background:#fff;border:1px solid #f5a5a5;border-radius:5px;color:#c0392b;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:background .15s,border-color .15s;white-space:nowrap}.roles-delete-btn:hover{background:#fde8e8;border-color:#c0392b}.roles-cancel-btn{background:#fff;border:1px solid #c3cdda;border-radius:5px;color:#60758f;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;white-space:nowrap}.roles-cancel-btn:hover{background:#f0f5fb}.roles-status-ok{color:#1a7f37}.roles-status-err,.roles-status-ok{font-size:12px;font-weight:600;white-space:nowrap}.roles-status-err{color:#c0392b;cursor:help}.roles-empty-cell{color:#89a;font-size:14px;font-style:italic;padding:24px;text-align:center}.roles-add-btn{background:#f0f5fb;border:1px dashed #9ab0c8;border-radius:6px;color:#165391;cursor:pointer;font-size:13px;font-weight:600;margin-top:14px;padding:8px 18px;transition:background .15s,border-color .15s}.roles-add-btn:hover{background:#dce9f7;border-color:#165391}.admin-login-divider{align-items:center;color:#a0b4c4;display:flex;font-size:12px;gap:12px;margin:20px 0 16px}.admin-login-divider:after,.admin-login-divider:before{background:#d8e4ed;content:"";flex:1 1;height:1px}.admin-login-google{display:flex;justify-content:center}.users-tab{padding:8px 0}.users-header-row{margin-bottom:24px}.users-title{color:#0f2035;font-size:22px;font-weight:700;margin:0 0 6px}.users-subtitle{color:#60758f;font-size:14px;line-height:1.5;margin:0}.users-loading{color:#60758f;font-size:14px;padding:16px 0}.users-load-err{background:#fde8e8;border:1px solid #f5a5a5;border-radius:6px;color:#c0392b;font-size:13px;margin-bottom:16px;padding:10px 14px}.users-table-wrap{overflow-x:auto}.users-table{background:#fff;border:1px solid #d0dbe8;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 4px #0000000f;font-size:13px;overflow:hidden;width:100%}.users-th{background:#f0f5fb;border-bottom:2px solid #d0dbe8;color:#27435f;font-size:12px;font-weight:600;letter-spacing:.04em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.users-row{border-bottom:1px solid #e8eef5;transition:background .1s}.users-row:last-child{border-bottom:none}.users-row:hover{background:#f7fafd}.users-new-row{background:#f0f7ff}.users-editing-row{background:#fffaf0}.users-cell{color:#1e293b;font-size:13px;padding:8px 12px;vertical-align:middle}.users-actions-cell{align-items:center;display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px}.users-empty-val{color:#94a3b8;font-style:italic}.users-role-badge{background:#e8f0fe;color:#1a3d8f}.users-role-badge,.users-status-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.users-status-badge.active{background:#dcfce7;color:#166534}.users-status-badge.inactive{background:#fee2e2;color:#991b1b}.users-input{background:#fff;border:1px solid #c3cdda;border-radius:5px;box-sizing:border-box;color:#0f2035;font-size:13px;padding:5px 8px;transition:border-color .15s;width:100%}.users-input:focus{border-color:#165391;box-shadow:0 0 0 2px #1653911f;outline:none}.users-pw-input{max-width:180px}.users-select{background:#fff;border:1px solid #c3cdda;border-radius:5px;color:#0f2035;cursor:pointer;font-size:13px;padding:5px 8px;width:100%}.users-select:focus{border-color:#165391;outline:none}.users-active-label{align-items:center;color:#294863;cursor:pointer;display:flex;font-size:13px;gap:6px}.users-inline-err{color:#c0392b;font-size:11px;margin-top:3px}.users-edit-btn{background:#f0f5fb;border:1px solid #c3cdda;border-radius:5px;color:#165391;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.users-edit-btn:hover{background:#dce9f7}.users-save-btn{background:#165391;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px}.users-save-btn:hover:not(:disabled){background:#0e3a6a}.users-save-btn:disabled{cursor:not-allowed;opacity:.45}.users-cancel-btn{background:#fff;border:1px solid #c3cdda;border-radius:5px;color:#60758f;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.users-cancel-btn:hover{background:#f0f5fb}.users-delete-btn{background:#fff;border:1px solid #f5a5a5;border-radius:5px;color:#c0392b;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.users-delete-btn:hover{background:#fde8e8}.users-status-ok{color:#1a7f37;font-size:12px;font-weight:600}.users-status-err{color:#c0392b;cursor:help;font-size:12px;font-weight:600}.users-empty-cell{color:#89a;font-size:14px;font-style:italic;padding:24px;text-align:center}.users-add-btn{background:#f0f5fb;border:1px dashed #9ab0c8;border-radius:6px;color:#165391;cursor:pointer;font-size:13px;font-weight:600;margin-top:14px;padding:8px 18px}.users-add-btn:hover{background:#dce9f7;border-color:#165391}.dm-tab{display:flex;flex-direction:column;height:auto}.dm-split,.dm-tab{gap:16px;min-height:0;overflow:visible}.dm-split{grid-gap:16px;align-items:start;display:grid;grid-template-columns:minmax(250px,280px) minmax(0,1fr) minmax(280px,320px)}.dm-list-panel{background:#f7fafd;border:1px solid #d0dce8;border-radius:12px;display:flex;flex-direction:column;height:clamp(380px,48vh,520px);min-width:0;overflow:hidden;width:auto}.dm-list-header{align-items:center;border-bottom:1px solid #d0dce8;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 16px 10px}.dm-list-title{color:#0f2035;font-size:15px;font-weight:700;margin:0}.dm-new-btn{background:#165391;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px}.dm-new-btn:hover{background:#0e3a6a}.dm-list-empty,.dm-load-err,.dm-loading{color:#89a;font-size:13px;font-style:italic;padding:24px 16px}.dm-load-err{color:#c0392b;font-style:normal}.dm-list-table{border-collapse:collapse;display:block;font-size:13px;height:100%;overflow-x:hidden;overflow-y:auto;width:100%}.dm-list-panel tbody,.dm-list-panel thead{display:table;table-layout:fixed;width:100%}.dm-list-th{background:#edf2f8;border-bottom:1px solid #d0dce8;color:#4b6580;font-size:11px;font-weight:600;letter-spacing:.05em;padding:8px 10px;text-transform:uppercase;white-space:nowrap}.dm-list-th-center{text-align:center}.dm-list-row{border-bottom:1px solid #e8eef5;cursor:pointer;transition:background .12s}.dm-list-row:hover{background:#e8f0fb}.dm-list-row-active{background:#dce9f7!important}.dm-list-cell{color:#294863;overflow:hidden;padding:9px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.dm-list-name{color:#0f2035;font-family:monospace;font-weight:600}.dm-list-center{text-align:center}.dm-list-actions{text-align:right;white-space:nowrap;width:74px}.dm-list-del-btn{background:#fff;border:1px solid #f5a5a5;border-radius:4px;color:#c0392b;cursor:pointer;font-size:11px;font-weight:600;padding:3px 10px}.dm-list-del-btn:hover:not(:disabled){background:#fde8e8}.dm-list-del-btn:disabled{cursor:not-allowed;opacity:.4}.dm-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.dm-badge-draft{background:#e8eef5;color:#5a7288}.dm-badge-deployed{background:#d4edda;color:#155724}.dm-badge-error{background:#f8d7da;color:#721c24}.dm-editor-panel{background:#fff;overflow-y:auto}.dm-editor-panel,.dm-erd-panel{border:1px solid #d0dce8;border-radius:12px;display:flex;flex-direction:column;height:clamp(380px,48vh,520px);min-width:0}.dm-erd-panel{background:#f8fbff;overflow:hidden;width:auto}.dm-erd-header{align-items:flex-start;background:#edf4fb;border-bottom:1px solid #dbe6f2;display:flex;gap:10px;justify-content:space-between;padding:14px 14px 10px}.dm-erd-title{color:#12395a;font-size:14px;font-weight:700;margin:0}.dm-erd-subtitle{color:#58758f;font-size:12px;line-height:1.4;margin-top:4px}.dm-erd-refresh-btn{background:#fff;border:1px solid #b7cde3;border-radius:6px;color:#1c4f7a;cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px;white-space:nowrap}.dm-erd-refresh-btn:hover:not(:disabled){background:#e8f1fa}.dm-erd-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.dm-erd-toggle{align-items:center;background:#f4f9ff;border-bottom:1px solid #e1ecf7;color:#3d5f7d;display:flex;font-size:12px;gap:8px;padding:10px 14px}.dm-erd-content{flex:1 1;min-height:0;overflow-y:auto;padding:10px 12px 12px}.dm-erd-list{display:flex;flex-direction:column;gap:8px}.dm-erd-item{background:#fff;border:1px solid #d7e4f2;border-radius:8px;box-shadow:0 1px 2px #0000000a;padding:8px 9px}.dm-erd-main-row{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.dm-erd-table{background:#f1f6fc;border:1px solid #d6e3f1;border-radius:4px;color:#11395a;font-family:Consolas,Courier New,monospace;font-size:11px;padding:2px 5px}.dm-erd-card{border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.03em;padding:2px 7px;text-transform:uppercase}.dm-erd-card-11{background:#d4edda;color:#155724}.dm-erd-card-n1{background:#e4ecff;color:#234a91}.dm-erd-card-1n{background:#e8f4fd;color:#1a5276}.dm-erd-card-nm{background:#fce8f1;color:#8e2a57}.dm-erd-meta-row{color:#4a6783;display:flex;flex-direction:column;font-size:11px;gap:3px;margin-top:6px}.dm-erd-meta-row code{color:#143f64;font-family:Consolas,Courier New,monospace}.dm-erd-empty{background:#f5f9ff;border:1px dashed #c5d8ea;border-radius:8px;color:#5e7a95;font-size:12px;padding:14px}.dm-erd-error{background:#fdecec;border:1px solid #f3c3c3;border-radius:8px;color:#b54444;font-size:12px;padding:12px}@media (max-width:1180px){.dm-split{grid-template-columns:1fr}.dm-list-panel{height:auto;max-height:240px;min-height:220px;width:100%}.dm-editor-panel{height:auto;min-height:320px}.dm-erd-panel{height:auto;max-height:320px;min-width:0;width:100%}.dm-extra-grid,.dm-extra-section{grid-template-columns:1fr}}.dm-editor-placeholder{align-items:center;color:#89a;display:flex;font-size:14px;font-style:italic;justify-content:center;min-height:320px;padding:40px;text-align:center}.dm-editor{display:flex;flex-direction:column;gap:0;min-width:0;padding:20px 24px}.dm-editor-header{align-items:center;border-bottom:1px solid #e8eef5;display:flex;gap:12px;margin-bottom:16px;padding-bottom:12px}.dm-editor-title{color:#0f2035;font-size:16px;font-weight:700;margin:0}.dm-readonly-banner{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;color:#795548;font-size:13px;margin-bottom:14px;padding:8px 14px}.dm-editor-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.dm-form-row{align-items:center;display:flex;gap:12px}.dm-label{color:#4b6580;flex-shrink:0;font-size:13px;font-weight:600;width:120px}.dm-input{border:1px solid #c3cdda;border-radius:6px;color:#0f2035;flex:1 1;font-size:13px;padding:6px 10px}.dm-input:focus{border-color:#165391;outline:none}.dm-input:disabled,.dm-input[readOnly]{background:#f0f5fb;color:#7a8fa3;cursor:not-allowed}.dm-input-sm{max-width:140px}.dm-select{background:#fff;border:1px solid #c3cdda;border-radius:6px;color:#0f2035;font-size:13px;padding:6px 10px}.dm-select:focus{border-color:#165391;outline:none}.dm-select:disabled{background:#f0f5fb;color:#7a8fa3;cursor:not-allowed}.dm-fields-section{margin-bottom:16px}.dm-fields-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.dm-fields-title{color:#294863;font-size:14px;font-weight:700}.dm-add-field-btn{background:#f0f5fb;border:1px dashed #9ab0c8;border-radius:6px;color:#165391;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px}.dm-add-field-btn:hover{background:#dce9f7;border-color:#165391}.dm-fields-empty{color:#89a;font-size:13px;font-style:italic;padding:12px 0}.dm-fields-table-wrap{background:#d8e4f0;border:1px solid #cbd9e8;border-radius:6px;max-height:430px;overflow-x:auto;overflow-y:auto}.dm-fields-table{border-collapse:collapse;font-size:12px;table-layout:fixed;width:100%}.dm-field-th{background:#c7d6e5;border-bottom:1px solid #b4c6d9;color:#27435c;font-size:12px;font-weight:700;letter-spacing:.01em;padding:8px 10px;position:sticky;text-align:left;text-transform:none;top:0;white-space:nowrap;z-index:1}.dm-field-row{background:#dce7f2;border-bottom:1px solid #d4deea}.dm-field-row:nth-child(2n){background:#d2deec}.dm-field-cell{border-bottom:1px solid #d4deea;padding:5px 8px;vertical-align:middle}.dm-field-center{text-align:center}.dm-field-input{background:#eef4fa;border:1px solid #b6c7d9;border-radius:5px;box-sizing:border-box;color:#0f2035;font-size:12px;padding:4px 9px;width:100%}.dm-field-input:focus{border-color:#165391;outline:none}.dm-field-input[readOnly]{background:#e8eff7;color:#7a8fa3}.dm-field-name{font-family:monospace}.dm-field-select{background:#eef4fa;border:1px solid #b6c7d9;border-radius:5px;font-size:12px;padding:4px 8px;width:100%}.dm-field-select:disabled{background:#e8eff7;color:#7a8fa3}.dm-field-del-btn{background:#fff;border:1px solid #f5a5a5;border-radius:4px;color:#c0392b;cursor:pointer;font-size:11px;font-weight:700;padding:2px 8px}.dm-field-del-btn:hover{background:#fde8e8}.dm-err{background:#fde8e8;border:1px solid #f5a5a5;border-radius:6px;color:#c0392b;font-size:13px;margin-bottom:12px;padding:8px 12px}.dm-deploy-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin-bottom:12px;padding:12px 14px}.dm-deploy-success-title{color:#155724;font-size:13px;font-weight:700;margin-bottom:8px}.dm-sql-preview{background:#f0f5fb;border-radius:4px;color:#2c3e50;font-family:monospace;font-size:11px;margin:0;max-height:200px;overflow-x:auto;overflow-y:auto;padding:10px;white-space:pre}.dm-confirm-bar{align-items:center;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;color:#795548;display:flex;font-size:13px;gap:10px;margin-bottom:12px;padding:10px 14px}.dm-confirm-yes-btn{background:#d32f2f;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:5px 16px}.dm-confirm-yes-btn:hover:not(:disabled){background:#b71c1c}.dm-confirm-yes-btn:disabled{cursor:not-allowed;opacity:.45}.dm-confirm-no-btn{background:#fff;border:1px solid #c3cdda;border-radius:5px;color:#60758f;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.dm-confirm-no-btn:hover{background:#f0f5fb}.dm-editor-footer{align-items:center;border-top:1px solid #e8eef5;display:flex;flex-wrap:wrap;gap:10px;padding-top:14px}.dm-save-btn{background:#165391;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 20px}.dm-save-btn:hover:not(:disabled){background:#0e3a6a}.dm-save-btn:disabled{cursor:not-allowed;opacity:.45}.dm-deploy-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 20px}.dm-deploy-btn:hover:not(:disabled){background:#1b5e20}.dm-deploy-btn:disabled{cursor:not-allowed;opacity:.45}.dm-cancel-btn{background:#fff;border:1px solid #c3cdda;border-radius:6px;color:#60758f;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px}.dm-cancel-btn:hover{background:#f0f5fb}.dm-extra-section{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:16px;min-height:0}.dm-extra-card{background:#fff;border:1px solid #d0dce8;border-radius:10px;display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px}.dm-extra-card-header{display:flex;flex-direction:column;gap:4px}.dm-extra-title{color:#0f2035;font-size:15px;margin:0}.dm-extra-subtitle{color:#58758f;font-size:12px;line-height:1.4}.dm-extra-grid{grid-gap:10px 12px;display:grid;gap:10px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.dm-extra-label{color:#4b6580;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px}.dm-sql-editor{border:1px solid #c3cdda;border-radius:8px;box-sizing:border-box;color:#0f2035;font-family:Consolas,Courier New,monospace;font-size:12px;min-height:180px;padding:12px;resize:vertical;width:100%}.admin-content:has(.mobile-controller){max-width:1280px}.dm-sql-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:13px;padding:8px 12px}.dm-sql-history{border-top:1px solid #e8eef5;padding-top:12px}.dm-sql-history-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.dm-sql-history-item{background:#f8fbff;border:1px solid #d8e4f0;border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:10px}.dm-sql-history-meta{color:#4b6580;display:flex;flex-wrap:wrap;font-size:11px;gap:10px}.dm-sql-history-query{color:#11395a;font-size:11px;white-space:pre-wrap;word-break:break-word}.dm-cred-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.dm-cred-modal{background:#fff;border-radius:10px;box-shadow:0 8px 32px #00000038;overflow:hidden;padding:0;width:320px}.dm-cred-title{background:#1a73e8;color:#fff;font-size:14px;font-weight:600;padding:12px 16px}.dm-cred-body{display:flex;flex-direction:column;gap:6px;padding:16px}.dm-cred-label{color:#555;font-size:12px;font-weight:600}.dm-cred-input{border:1px solid #ccc;border-radius:5px;box-sizing:border-box;font-size:13px;margin-bottom:6px;padding:7px 10px;width:100%}.dm-cred-input:focus{border-color:#1a73e8;outline:none}.dm-cred-err{background:#fdecea;border-radius:4px;color:#c62828;font-size:12px;margin-top:2px;padding:6px 8px}.dm-cred-footer{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px 14px}.dm-cred-connect-btn{background:#1a73e8;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px}.dm-cred-connect-btn:disabled{cursor:not-allowed;opacity:.6}.dm-cred-connect-btn:hover:not(:disabled){background:#1558b0}.dm-cred-cancel-btn{background:#f5f5f5;border:1px solid #ccc;border-radius:5px;color:#333;cursor:pointer;font-size:13px;padding:8px 16px}.dm-cred-cancel-btn:hover{background:#e8e8e8}.dm-gs-reauth-btn{background:none;border:none;cursor:pointer;font-size:14px;margin-left:auto;opacity:.7;padding:0 4px}.dm-gs-reauth-btn:hover{opacity:1}.dm-gs-section{background:#f0f7ff;border:1px solid #b3d4f5;border-radius:8px;margin:16px 0 4px;padding:14px 16px}.dm-gs-section-title{align-items:center;color:#0e3a6a;display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:10px;margin-bottom:10px}.dm-gs-published-badge{align-items:center;background:#d4edda;border-radius:12px;color:#155724;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:2px 10px}.dm-gs-published-badge code{background:none;font-family:monospace;font-size:11px}.dm-gs-info-row{align-items:center;color:#294863;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;margin-bottom:10px}.dm-gs-info-label{color:#4b6580;font-weight:600}.dm-gs-info-row code{background:#e0eaf5;border-radius:3px;font-family:monospace;font-size:11px;padding:1px 5px}.dm-gs-info-sep{background:#b3cce0;height:14px;margin:0 4px;width:1px}.dm-gs-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dm-gs-label{color:#4b6580;font-size:12px;font-weight:600;white-space:nowrap}.dm-gs-input{background:#fff;border:1px solid #9ab0c8;border-radius:5px;color:#0f2035;font-size:12px;padding:5px 9px;width:140px}.dm-gs-input:focus{border-color:#165391;outline:none}.dm-gs-select{background:#fff;border:1px solid #9ab0c8;border-radius:5px;color:#0f2035;cursor:pointer;font-size:12px;min-width:140px;padding:5px 8px}.dm-gs-select:focus{border-color:#165391;outline:none}.dm-gs-publish-btn{background:#1565c0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:6px 18px;white-space:nowrap}.dm-gs-publish-btn:hover:not(:disabled){background:#0d47a1}.dm-gs-publish-btn:disabled{cursor:not-allowed;opacity:.45}.dm-gs-err{background:#fde8e8;border:1px solid #f5a5a5;border-radius:5px;color:#c0392b;font-size:12px;margin-top:8px;padding:6px 10px}.dm-pg-section{background:#eef4fb;border:1px solid #d0dce8;border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;max-height:360px;overflow:hidden;width:100%}.dm-pg-header-row{align-items:center;border-bottom:1px solid #cddaeb;display:flex;flex-shrink:0;gap:10px;padding-right:10px}.dm-pg-search{background:#fff;border:1px solid #b8ccde;border-radius:14px;color:#0f2035;flex:0 0 260px;font-size:12px;max-width:260px;outline:none;padding:4px 10px}.dm-pg-search:focus{border-color:#165391}.dm-pg-section-toggle{align-items:center;background:none;border:none;box-sizing:border-box;color:#294863;cursor:pointer;display:flex;flex:1 1 auto;flex-shrink:0;gap:8px;min-width:0;padding:8px 16px;text-align:left}.dm-pg-section-toggle:hover{background:#dce9f7}.dm-pg-toggle-icon{color:#5a7288;flex-shrink:0;font-size:11px;width:12px}.dm-pg-section-title{color:#294863;flex:1 1;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.dm-pg-count{background:#d0dce8;border-radius:10px;color:#89a;font-size:11px;padding:1px 8px;white-space:nowrap}.dm-pg-empty,.dm-pg-err,.dm-pg-loading{color:#89a;font-size:12px;font-style:italic;padding:6px 16px 10px}.dm-pg-err{color:#c0392b;font-style:normal}.dm-pg-table-wrap{flex:1 1;min-height:180px;overflow-x:auto;overflow-y:auto}.dm-pg-table{border-collapse:collapse;font-size:12px;table-layout:fixed;width:100%}.dm-pg-th{background:#c8d6e6;border-bottom:1px solid #b3c4d7;color:#27435c;font-size:11px;font-weight:700;letter-spacing:.03em;padding:7px 12px;position:sticky;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.dm-pg-row{background:#dbe5f1;border-bottom:1px solid #d4deea}.dm-pg-row:nth-child(2n){background:#d2deec}.dm-pg-row:hover{background:#c4d5e8}.dm-pg-cell{color:#21384d;overflow:hidden;padding:7px 12px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.dm-pg-schema{color:#9ab0c8;font-family:monospace;font-size:11px}.dm-pg-tname{color:#0f2035;font-family:monospace;font-weight:600}.dm-pg-badge-yes{background:#d4edda;color:#155724;font-weight:700}.dm-pg-badge-no,.dm-pg-badge-yes{border-radius:8px;display:inline-block;font-size:11px;padding:1px 6px;white-space:nowrap}.dm-pg-badge-no{background:#e8eef5;color:#5a7288}.dm-pg-row-click{cursor:pointer}.dm-pg-row-click:hover{background:#c4d5e8!important}.dm-pg-row-active{background:#aec5de!important}.dm-pg-row-active .dm-pg-tname{color:#0e3a6a}.dm-import-banner{background:#e8f4fd;border:1px solid #9ec5e8;border-radius:6px;color:#1a5276;font-size:13px;line-height:1.5;margin-bottom:14px;padding:8px 14px}.dm-badge-import{background:#d6eaf8;color:#1a5276}.dm-register-btn{background:#1565c0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 20px}.dm-register-btn:hover:not(:disabled){background:#0d47a1}.dm-register-btn:disabled{cursor:not-allowed;opacity:.45}.mig-tab{flex-direction:column;padding-bottom:24px}.mig-header,.mig-tab{display:flex;gap:18px}.mig-header{align-items:flex-start;flex-wrap:wrap;justify-content:space-between}.mig-title{color:#0f2035;font-size:24px;font-weight:700;margin:0}.mig-subtitle{color:#60758f;font-size:14px;line-height:1.6;margin:8px 0 0;max-width:820px}.mig-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.mig-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.mig-grid-details{align-items:start}.mig-panel{background:#fff;border:1px solid #d7e3ef;border-radius:12px;box-shadow:0 1px 4px #0f20350d;padding:18px}.mig-panel-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.mig-panel-title{color:#16344f;font-size:15px;font-weight:700;margin:0}.mig-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.mig-form-row,.mig-run-actions,.mig-upload-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.mig-label{color:#4b6580;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px}.mig-label-wide{grid-column:span 2}.mig-check{align-items:center;color:#294863;display:flex;font-size:13px;font-weight:600;gap:8px}.mig-input,.mig-select{background:#fff;border:1px solid #c4d2e0;border-radius:8px;color:#0f2035;font-size:13px;min-width:0;padding:9px 12px}.mig-input:focus,.mig-select:focus{border-color:#165391;box-shadow:0 0 0 3px #1653911f;outline:none}.mig-input:disabled,.mig-select:disabled{background:#eef3f8;color:#8aa0b5}.mig-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:700;padding:9px 16px}.mig-btn:disabled{cursor:not-allowed;opacity:.45}.mig-btn-primary{background:#165391;color:#fff}.mig-btn-primary:hover:not(:disabled){background:#0d3f72}.mig-btn-secondary{background:#edf4fb;border:1px solid #c8d8ea;color:#165391}.mig-btn-secondary:hover:not(:disabled){background:#deebf8}.mig-hint{color:#6d8298;font-size:12px;line-height:1.5;margin-top:10px}.mig-error{background:#fdecec;border:1px solid #f3c3c3;border-radius:8px;color:#b54444}.mig-error,.mig-result{font-size:13px;margin-top:12px;padding:10px 12px}.mig-result{border-radius:8px}.mig-result-ok{background:#e8f7e8;border:1px solid #c9e7c9;color:#1f6c2d}.mig-result-warn{background:#fff8e8;border:1px solid #f3ddab;color:#8a5d10}.mig-empty{background:#f8fbff;border:1px dashed #c6d6e7;border-radius:10px;color:#6b8097;font-size:13px;padding:14px}.mig-session-badge{background:#edf4fb;border-radius:999px;color:#165391;display:inline-flex;font-size:12px;font-weight:700;margin-top:12px;padding:5px 10px}.mig-kpi-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.mig-kpi{background:linear-gradient(180deg,#f8fbff,#eef4fb);border:1px solid #d8e4f1;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:12px}.mig-kpi span{color:#7a8fa3;font-size:11px;letter-spacing:.05em;text-transform:uppercase}.mig-kpi strong{color:#16344f;font-size:14px}.mig-scroll{overflow:auto}.mig-table{border-collapse:collapse;font-size:12px;width:100%}.mig-table th{background:#edf4fb;border-bottom:1px solid #d4e2ef;color:#47637d;padding:10px;position:sticky;text-align:left;top:0;white-space:nowrap}.mig-table td{border-bottom:1px solid #e6edf5;color:#21384d;padding:10px;vertical-align:top}.mig-table tbody tr:nth-child(2n){background:#fbfdff}.mig-map-table td{min-width:120px}.mig-cell-stack{display:flex;flex-direction:column;gap:6px}.mig-row-error{background:#fff5f5!important}.mig-row-warning{background:#fffaf0!important}.mig-issue-tag{align-self:flex-start;border-radius:999px;display:inline-flex;font-size:10px;font-weight:700;padding:2px 8px}.mig-issue-tag-error{background:#fde2e2;color:#b54444}.mig-issue-tag-warning{background:#fff0c8;color:#916312}.mig-issues{grid-gap:10px;display:grid;gap:10px;margin-top:14px}.mig-issue-card{background:#fafcff;border:1px solid #dde6ef;border-radius:10px;color:#254157;display:flex;flex-direction:column;font-size:13px;gap:6px;padding:12px 14px}.mig-issue-card-error{background:#fff3f3;border-color:#f3c3c3}.mig-issue-card-warning{background:#fff9ec;border-color:#f2dca8}.mig-issue-head{align-items:center;display:flex;font-size:11px;gap:10px;justify-content:space-between;letter-spacing:.04em;text-transform:uppercase}@media (max-width:1080px){.mig-form-grid,.mig-grid{grid-template-columns:1fr}.mig-label-wide{grid-column:span 1}.mig-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.mig-header{flex-direction:column}.mig-form-row,.mig-header-actions,.mig-run-actions,.mig-upload-row{align-items:stretch;flex-direction:column}.mig-kpi-grid{grid-template-columns:1fr}}.admin-module{display:flex;flex-direction:column;gap:16px;width:100%}.admin-module-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.admin-module-header h1{color:#13283b;font-size:24px;margin:0}.admin-module-header p{color:#60758f;font-size:13px;margin:6px 0 0}.admin-panel{background:#fff;border:1px solid #dce6f0;border-radius:8px;box-shadow:0 8px 22px #1c38520f;padding:16px}.admin-panel h2{color:#13283b;font-size:16px;margin:0 0 12px}.admin-hint{color:#60758f;font-size:13px;margin:10px 0 0}.admin-control-help{color:#60758f;display:block;font-size:12px;font-weight:400;line-height:1.45;margin:2px 0 0}.admin-success{background:#e8f8ee;border:1px solid #b9e7c8;border-radius:8px;color:#166534;font-size:13px;padding:12px 14px}.admin-empty{color:#60758f;font-size:13px;margin:0}.admin-inline-form button,.admin-stack-form button,.secondary-btn{background:#f7fbff;border:1px solid #b8c7d8;border-radius:7px;color:#16324d;cursor:pointer;font-weight:700;padding:9px 13px}.admin-inline-form button:disabled,.admin-stack-form button:disabled,.secondary-btn:disabled{cursor:not-allowed;opacity:.55}.admin-inline-form{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;margin-bottom:14px}.admin-inline-form input,.admin-stack-form input,.admin-stack-form select{background:#fff;border:1px solid #c7d5e5;border-radius:7px;box-sizing:border-box;color:#13283b;font-size:13px;min-width:0;padding:9px 10px;width:100%}.admin-stack-form{grid-gap:12px;display:grid;gap:12px}.admin-stack-form label{grid-gap:6px;color:#334e68;display:grid;font-size:12px;font-weight:700;gap:6px}.mobile-controller-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr)}.mobile-controller-tabbed{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:220px minmax(0,1fr)}.mobile-side-tabs{background:#f9fcff;border:1px solid #dce7f2;border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:8px;position:sticky;top:16px}.mobile-side-tab{background:#0000;border:1px solid #0000;border-radius:6px;color:#294863;cursor:pointer;display:block;font-size:13px;font-weight:600;padding:10px 14px;text-align:left;transition:background .12s,border-color .12s,color .12s;width:100%}.mobile-side-tab:hover{background:#eaf2fb}.mobile-side-tab.active{background:#fff;border-color:#b8cee5;box-shadow:inset 3px 0 0 #165391;color:#0f3d6e}.mobile-tab-content{min-width:0}.mobile-tab-content>.admin-panel{margin:0}.mobile-group-list{grid-gap:8px;display:grid;gap:8px}.mobile-group-row{grid-gap:4px;background:#f9fbfe;border:1px solid #dce6f0;border-radius:8px;color:#13283b;cursor:pointer;display:grid;gap:4px;padding:10px 12px;text-align:left}.mobile-group-row span{color:#60758f;font-size:12px}.mobile-group-row.selected{background:#eef6ff;border-color:#2f80ed}.mobile-subform{border-top:1px solid #e6eef7;margin-top:16px;padding-top:14px}.mobile-field-editor h3,.mobile-layer-overrides h3,.mobile-review-panel h3,.mobile-snap-targets h3,.mobile-subform h3{color:#1b3d5d;font-size:13px;margin:0}.mobile-field-editor,.mobile-layer-overrides,.mobile-publish-options,.mobile-review-panel,.mobile-snap-targets{grid-gap:10px;background:#f9fcff;border:1px solid #e4edf6;border-radius:8px;display:grid;gap:10px;padding:12px}.mobile-publish-options{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-publish-options .admin-control-help{grid-column:1/-1}.mobile-layer-overrides{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-layer-overrides h3,.mobile-layer-overrides>.admin-control-help{grid-column:1/-1}.mobile-layer-overrides input{box-sizing:border-box;min-width:0;width:100%}.mobile-inherited-field{background:#eef4fb;border:1px solid #dce7f2;border-radius:6px;display:flex;flex-direction:column;gap:4px;padding:6px 10px}.mobile-inherited-label{color:#45617c;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.mobile-inherited-value{color:#132f49;font-size:13px;font-weight:600}.mobile-fields-list{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.mobile-field-row{align-items:center;background:#0000;border:none;border-radius:0;display:flex;flex-wrap:nowrap;gap:12px;padding:4px 6px}.mobile-field-header{border-bottom:1px solid #d0dbe8;margin-bottom:2px;padding-bottom:4px}.mobile-field-label-col{color:#294863;flex:0 0 200px;font-size:13px}.mobile-field-label-col,.mobile-field-type-col{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-field-type-col{color:#132f49;flex:0 0 110px;font-size:12px;font-weight:600}.mobile-field-attr-col{flex:0 0 62px;min-width:62px}.mobile-field-req-col{flex:0 0 90px;min-width:90px;text-align:center}.mobile-field-row select{min-width:0}.mobile-field-type,.mobile-source-metadata{grid-gap:4px;display:grid;gap:4px}.mobile-source-metadata{background:#f7fbff;border:1px solid #dce7f2;border-radius:8px;padding:10px 12px}.mobile-field-type>span:first-child,.mobile-source-metadata-label{color:#45617c;font-size:11px;font-weight:700}.mobile-field-type strong,.mobile-source-metadata strong{color:#132f49;font-size:13px}.mobile-field-requirement{background:#edf3f8;border-radius:999px;color:#60778d;display:inline-block;font-size:11px;font-weight:700;line-height:1.5;padding:2px 8px}.mobile-field-requirement.is-required{background:#fff0e8;color:#a64b1c}.mobile-checkbox-label{align-items:center;color:#27435c!important;display:inline-flex!important;font-size:12px!important;font-weight:700!important;gap:7px!important;grid-template-columns:none!important}.mobile-checkbox-label input{width:auto!important}.mobile-domain-preview{background:#edf4fb;border-radius:6px;color:#54708c;font-size:11px;grid-column:1/-1;line-height:1.45;overflow-wrap:anywhere;padding:7px 8px}.mobile-snap-targets{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-snap-targets h3{grid-column:1/-1}.mobile-review-panel{margin-top:14px}.mobile-review-panel textarea{background:#fff;border:1px solid #c7d5e5;border-radius:7px;box-sizing:border-box;color:#13283b;font-size:13px;padding:9px 10px;resize:vertical;width:100%}.mobile-review-actions{display:flex;flex-wrap:wrap;gap:8px}.mobile-review-actions button{background:#f7fbff;border:1px solid #b8c7d8;border-radius:7px;color:#16324d;cursor:pointer;font-weight:700;padding:7px 10px}.mobile-review-actions button:disabled{cursor:not-allowed;opacity:.55}.mobile-submission-panel{grid-column:1/-1}.admin-table-wrap{border:1px solid #e3ebf3;border-radius:8px;overflow:auto}.admin-table{border-collapse:collapse;font-size:13px;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e7eef6;padding:10px 12px;text-align:left}.admin-table th{background:#f3f7fb;color:#47637d}@media (max-width:860px){.admin-inline-form,.admin-module-header{flex-direction:column;grid-template-columns:1fr}.mobile-controller-tabbed{grid-template-columns:1fr}.mobile-side-tabs{flex-direction:row;flex-wrap:wrap;position:static}.mobile-side-tab{flex:1 1 auto;text-align:center}.mobile-side-tab.active{box-shadow:inset 0 -3px 0 #165391}.mobile-controller-grid,.mobile-layer-overrides,.mobile-publish-options,.mobile-snap-targets{grid-template-columns:1fr}.mobile-field-row{flex-wrap:wrap;gap:6px 10px}.mobile-field-label-col{flex:1 1 100%}.mobile-domain-preview{justify-self:start}}.topology-tab{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:260px minmax(0,1fr)}.topology-tab--snapping{grid-template-columns:minmax(0,1fr)}.topology-tab--snapping .topology-list{display:none}.topology-editor,.topology-list{background:#fff;border:1px solid #d7dee7;border-radius:12px;padding:16px}.topology-list{display:flex;flex-direction:column;gap:10px}.topology-editor__footer,.topology-editor__header,.topology-list__header,.topology-section__head{align-items:center;display:flex;gap:12px;justify-content:space-between}.topology-list__item{align-items:center;background:#f8fafc;border:1px solid #d7dee7;border-radius:8px;color:#173a63;display:flex;gap:8px;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.topology-list__item--active{background:#eef4fb;border-color:#173a63}.topology-list__item small{color:#6b7280}.topology-panel-tabs{align-self:flex-start;background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;display:inline-flex;padding:3px}.topology-panel-tab{background:#0000;border:none;border-radius:7px;color:#475569;font-size:13px;font-weight:700;min-width:132px;padding:8px 12px}.topology-panel-tab--active{background:#173a63;color:#fff}.topology-editor{display:flex;flex-direction:column;gap:16px}.topology-editor__header p{color:#4b5563;margin:4px 0 0}.topology-section{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:10px;padding-top:12px}.topology-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.topology-grid--edge,.topology-grid--relation{grid-template-columns:repeat(3,minmax(0,1fr))}.topology-grid--snap-rule{grid-template-columns:repeat(6,minmax(0,1fr))}.topology-grid label,.topology-grid__wide{color:#374151;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:4px}.topology-field-help{color:#64748b;display:block;font-size:11px;font-weight:400;line-height:1.25}.topology-grid input,.topology-grid select{border:1px solid #cbd5e1;border-radius:6px;font-size:13px;padding:8px 10px}.topology-grid__wide{grid-column:1/-1}.topology-checkbox{grid-column-gap:8px;align-items:center;align-self:end;column-gap:8px;display:grid;grid-template-columns:auto minmax(0,1fr)}.topology-checkbox .topology-field-help{grid-column:1/-1;margin-left:22px}.topology-row-card{background:#fbfcfe;border:1px solid #d7dee7;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:12px}.topology-row-card--snap{background:#f8fbff}.topology-section--snap{border-color:#dbeafe}.topology-snap-type-list{display:flex;flex-wrap:wrap;gap:8px}.topology-snap-type-pill{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#334155;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 9px}.topology-geometry-rules{display:flex;flex-direction:column;gap:10px}.topology-geometry-rule{align-items:flex-start;background:#fbfdff;border:1px solid #dbeafe;border-radius:10px;display:flex;gap:16px;padding:10px 12px}.topology-geometry-rule strong{color:#173a63;min-width:90px}.topology-geometry-rule__label{min-width:112px}.topology-danger-btn,.topology-primary-btn,.topology-remove-btn,.topology-secondary-btn{border-radius:8px;font-size:13px}.topology-primary-btn{background:#173a63;border:none;color:#fff;padding:9px 14px}.topology-secondary-btn{background:#f8fafc;border:1px solid #cbd5e1;color:#1f2937;padding:8px 12px}.topology-danger-btn,.topology-remove-btn{background:#fff5f5;border:1px solid #ef4444;color:#b91c1c;padding:8px 12px}.topology-status{color:#355a84}.topology-empty,.topology-empty-inline,.topology-error,.topology-loading{color:#4b5563}@media (max-width:1200px){.topology-tab{grid-template-columns:1fr}.topology-grid,.topology-grid--edge,.topology-grid--relation,.topology-grid--snap-rule{grid-template-columns:1fr 1fr}}@media (max-width:720px){.topology-grid,.topology-grid--edge,.topology-grid--relation,.topology-grid--snap-rule{grid-template-columns:1fr}.topology-geometry-rule{flex-direction:column}}
/*# sourceMappingURL=main.0db11266.css.map*/