@charset "UTF-8";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-800:oklch(44.4% .177 26.899);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{touch-action:pan-x pan-y;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-10{top:calc(var(--spacing)*-10)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-3{left:calc(var(--spacing)*3)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-6{margin-inline:calc(var(--spacing)*6)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing)*3)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[18px\]{height:18px}.h-\[50px\]{height:50px}.h-full{height:100%}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-\[75vh\]{max-height:75vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[3rem\]{min-height:3rem}.min-h-\[4\.5rem\]{min-height:4.5rem}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-24{width:calc(var(--spacing)*24)}.w-\[18px\]{width:18px}.w-\[45\%\]{width:45%}.w-\[55\%\]{width:55%}.w-\[500px\]{width:500px}.w-\[920px\]{width:920px}.w-full{width:100%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[95vw\]{max-width:95vw}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-2{--tw-scale-x:2%;--tw-scale-y:2%;--tw-scale-z:2%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-ew-resize{cursor:ew-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-14{gap:calc(var(--spacing)*14)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-purple-200{border-color:var(--color-purple-200)}.border-red-200{border-color:var(--color-red-200)}.border-rose-200{border-color:var(--color-rose-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/70{border-color:#e2e8f0b3}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/70{border-color:color-mix(in oklab,var(--color-slate-200)70%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-400{border-color:var(--color-slate-400)}.border-slate-500{border-color:var(--color-slate-500)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.border-l-transparent{border-left-color:#0000}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\/50{background-color:#f9fafb80}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\/50{background-color:color-mix(in oklab,var(--color-gray-50)50%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.from-amber-500{--tw-gradient-from:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-rose-500{--tw-gradient-from:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-3{padding:calc(var(--spacing)*3)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-800{color:var(--color-amber-800)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-emerald-600{color:var(--color-emerald-600)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-indigo-600{color:var(--color-indigo-600)}.text-purple-600{color:var(--color-purple-600)}.text-red-500{color:var(--color-red-500)}.text-red-800{color:var(--color-red-800)}.text-rose-600{color:var(--color-rose-600)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-amber-500\/20{--tw-shadow-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.shadow-amber-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-amber-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-blue-500\/20{--tw-shadow-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.shadow-blue-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-blue-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-emerald-500\/20{--tw-shadow-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-emerald-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-indigo-500\/20{--tw-shadow-color:#625fff33}@supports (color:color-mix(in lab,red,red)){.shadow-indigo-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-purple-500\/20{--tw-shadow-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.shadow-purple-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-rose-500\/20{--tw-shadow-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.shadow-rose-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-rose-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.group-hover\:scale-100:is(:where(.group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-blue-100\/70:hover{background-color:#dbeafeb3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-100\/70:hover{background-color:color-mix(in oklab,var(--color-blue-100)70%,transparent)}}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200\/60:hover{background-color:#e5e7eb99}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-200\/60:hover{background-color:color-mix(in oklab,var(--color-gray-200)60%,transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-slate-800:hover{color:var(--color-slate-800)}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-blue-400:focus{border-color:var(--color-blue-400)}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-amber-400:focus{--tw-ring-color:var(--color-amber-400)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-blue-500\/40:focus{--tw-ring-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.focus\:ring-blue-500\/40:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.focus\:outline-none:focus,.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-blue-800:active{background-color:var(--color-blue-800)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.cursor-select{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 4 7.07 17 2.51-7.39L21 11.07 4 4z'/%3E%3C/svg%3E") 4 4,auto}.cursor-pan{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 -960 960 960' width='28' fill='%23000000' stroke='%23000000' stroke-width='24'%3E%3Cpath d='M436.62-100q-24.94 0-46.55-11.19-21.61-11.19-36.3-32.35l-245-359.15 8.61-8.39q12.85-12.84 30.39-13.92t32.38 9.31L320-418.54v-339.15q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75t5.73 14.25v416.23L183.54-464.69l203.15 298.23q8.08 12.61 21.31 19.54 13.23 6.92 28.62 6.92H660q42.23 0 71.12-28.88Q760-197.77 760-240v-500q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T800-740v500q0 58.31-40.85 99.15Q718.31-100 660-100H436.62Zm30.3-400v-337.69q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75t5.73 14.25V-500h-40Zm146.93 0v-297.69q0-8.5 5.75-14.25 5.76-5.75 14.27-5.75t14.25 5.75q5.73 5.75 5.73 14.25V-500h-40Zm-141.7 180Z'/%3E%3C/svg%3E") 14 14,grab}.cursor-pan:active,.cursor-pan-grabbing{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 -960 960 960' width='28' fill='%23000000' stroke='%23000000' stroke-width='24'%3E%3Cpath d='M436.62-100q-24.94 0-46.55-11.19-21.61-11.19-36.3-32.35l-245-359.15 8.61-8.39q12.85-12.84 30.39-13.92t32.38 9.31L320-418.54v-339.15q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75t5.73 14.25v416.23L183.54-464.69l203.15 298.23q8.08 12.61 21.31 19.54 13.23 6.92 28.62 6.92H660q42.23 0 71.12-28.88Q760-197.77 760-240v-500q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T800-740v500q0 58.31-40.85 99.15Q718.31-100 660-100H436.62Zm30.3-400v-337.69q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75t5.73 14.25V-500h-40Zm146.93 0v-297.69q0-8.5 5.75-14.25 5.76-5.75 14.27-5.75t14.25 5.75q5.73 5.75 5.73 14.25V-500h-40Zm-141.7 180Z'/%3E%3C/svg%3E") 14 14,grabbing}.cursor-draw-add{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") 12 12,auto}.cursor-question{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z' fill='%233b82f6'/%3E%3C/svg%3E") 12 12,auto}.cursor-hazard{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z' fill='%23ef4444'/%3E%3C/svg%3E") 12 12,auto}.cursor-stamp{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a855f7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 22h14M5 2h14M17 22V7l-5-5H7v20'/%3E%3Cpath d='M9 15h6M9 11h6M9 7h6'/%3E%3C/svg%3E") 12 12,auto}.context-menu{position:fixed;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;min-width:180px;z-index:10000;padding:4px 0}.context-menu-section{display:flex;flex-direction:column}.context-menu-label{padding:8px 16px 4px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.context-menu-item{padding:8px 16px;cursor:pointer;font-size:14px;color:#374151;transition:background .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;gap:24px}.context-menu-item-simple{justify-content:flex-start}.context-menu-item:hover{background:#f3f4f6}.context-menu-item:active{background:#e5e7eb}.context-menu-divider{height:1px;background:#e5e7eb;margin:4px 0}.context-menu-shortcut{font-size:12px;color:#9ca3af;font-weight:400}.context-menu-item-with-submenu{position:relative}.context-menu-arrow{font-size:16px;color:#6b7280;margin-left:auto}.context-submenu{position:fixed;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;min-width:180px;z-index:10001;padding:4px 0}@media(max-width:768px){.context-menu-item{padding:14px 20px;min-height:44px;font-size:16px}.context-menu{min-width:200px}}.embedded-table-layer{position:absolute;inset:0;z-index:40;pointer-events:none}.embedded-table-widget{position:absolute;background:#fff;border:none;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.embedded-table-widget.is-selected{outline:none}.embedded-table-header{min-height:1.5em;padding:0 .4em;background:#fff;border-bottom:none;display:flex;align-items:center;gap:.4em;color:#000;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.embedded-table-header-title,.embedded-table-header-title-input{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.embedded-table-header-title{cursor:text;font-weight:700}.embedded-table-header-title-input{border:1px solid #000;background:#fff;padding:2px 4px;margin:0;font-family:inherit;font-weight:700;-webkit-user-select:text;-moz-user-select:text;user-select:text}.embedded-table-header button{width:1.4em;min-width:1.4em;height:1.4em;border:none;outline:none;background:#fff;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:1em;color:#000;opacity:.4;transition:opacity .15s}.embedded-table-btn-content{display:inline-flex;align-items:center;justify-content:center;line-height:1}.embedded-table-header button:focus{outline:none}.embedded-table-header:hover button{opacity:1}.embedded-table-edit-btn{opacity:.4}.embedded-table-edit-btn:hover{opacity:1}.embedded-table-edit-icon{display:inline-flex;align-items:center;justify-content:center;width:.5625em;height:.5625em;flex-shrink:0;transform:translateY(.1em)}.embedded-table-edit-icon svg{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.embedded-table-scroll{flex:1;overflow:auto;padding-top:.5em}.embedded-table-scroll table{border-collapse:collapse;width:-moz-max-content;width:max-content;min-width:100%}.embedded-table-scroll th,.embedded-table-scroll td{border:1px solid #000;padding:3px 6px;white-space:nowrap;color:#000;background:#fff}.embedded-table-scroll thead th{background:#fff;font-weight:600}.embedded-table-scroll td.cell-editable{cursor:text;background:#fff}.embedded-table-scroll td.cell-muted{color:#666}.embedded-table-scroll input{width:100%;font-size:inherit;border:1px solid #000;background:#fff;color:#000;padding:2px 4px}.embedded-table-expand-cell{display:inline-flex;align-items:center;justify-content:center;width:1.2em;height:1.2em;min-width:1.2em;min-height:1.2em;margin-right:.25em;cursor:pointer;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none}.embedded-table-expand-cell:hover{opacity:.8}.embedded-table-chevron{display:inline-block;font-size:1em;line-height:1;transition:transform .15s ease}.embedded-table-th-grouped{background:#e5e7eb}.embedded-table-group-row td:first-child{background:#f3f4f6;font-weight:600}.embedded-table-group-row:hover td:first-child{background:#e5e7eb}.embedded-table-group-count{opacity:.7;font-weight:400;margin-left:.25em}.tool-switcher-wrapper{position:fixed;bottom:20px;left:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.plan-date-display{position:relative;display:flex;align-items:center;background:#ffffffe6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(226,232,240,.6);border-radius:9999px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #94a3b81a;padding:4px;gap:4px;height:42px;max-width:142px}.plan-date-text{flex:1;min-width:0;font-size:13px;font-weight:500;color:#374151;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-date-text-btn{flex:1;min-width:0;width:100%;cursor:pointer;border:none;background:transparent;padding:0;font-size:13px;font-weight:500;color:#374151;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}.plan-date-text-btn:hover{color:#1f2937}.plan-date-display-with-calendar .plan-date-text-btn{flex:1;min-width:0}.plan-date-calendar-popup{background:#fffffff2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(226,232,240,.8);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:8px;z-index:10005;min-width:220px}.plan-date-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px;border-bottom:1px solid #e5e7eb;margin-bottom:8px}.plan-date-calendar-month{font-size:14px;font-weight:600;color:#374151}.plan-date-calendar-nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#64748b;font-size:20px;line-height:1;transition:background .15s,color .15s;padding:0}.plan-date-calendar-nav:hover{background:#f3f4f6;color:#374151}.plan-date-calendar-day-names{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.plan-date-calendar-day-name{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:#64748b;text-align:center;line-height:1;height:28px}.plan-date-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.plan-date-calendar-day{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#374151;font-size:13px;line-height:1;padding:0;transition:background .15s,color .15s}.plan-date-calendar-day:hover{background:#f3f4f6;color:#1e293b}.plan-date-calendar-day.other-month{color:#94a3b8}.plan-date-calendar-day.selected{background:#3b82f6;color:#fff;font-weight:500}.plan-date-calendar-day.selected:hover{background:#2563eb}.plan-date-calendar-day.today{font-weight:600;background:#f3f4f6}.plan-date-calendar-day.today.selected{background:#3b82f6}.plan-date-step-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;border:none;background:transparent;border-radius:9999px;cursor:pointer;color:#374151;transition:background-color .2s;flex-shrink:0;padding:0}.plan-date-step-btn:hover{background:#f3f4f6;color:#1f2937}.plan-date-step-btn:active{background:#e5e7eb}.plan-date-step-btn svg{width:14px;height:14px}.tool-switcher-controls{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.zoom-controls{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.zoom-display{display:flex!important;align-items:center;background:#ffffffe6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(226,232,240,.6);border-radius:9999px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #94a3b81a;padding:4px;gap:4px}.zoom-button{position:relative;display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;border:none!important;background:transparent!important;cursor:pointer;border-radius:9999px;color:#374151!important;transition:background-color .2s;flex-shrink:0;padding:0!important;margin:0!important;visibility:visible!important;opacity:1!important}.zoom-button svg{color:#374151!important;width:16px!important;height:16px!important;display:block!important;flex-shrink:0;stroke:#374151!important;stroke-width:2!important;fill:none!important;opacity:1!important;visibility:visible!important;pointer-events:none}.zoom-button svg path{stroke:#374151!important;fill:none!important}.zoom-button:hover{background:#f3f4f6}.zoom-button:hover svg{color:#1f2937!important}.zoom-button:active{background:#e5e7eb}.zoom-percentage-button{position:relative;display:flex;align-items:center;justify-content:center;min-width:60px;height:32px;padding:0 12px;border:none;background:transparent;cursor:pointer;border-radius:9999px;color:#374151;font-size:14px;font-weight:500;transition:background-color .2s}.zoom-percentage-button:hover{background:#f3f4f6}.zoom-display-button{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;border:none;background:transparent;cursor:pointer;border-radius:9999px;color:#374151;transition:all .15s ease;flex-shrink:0;padding:0;margin:0}.zoom-display-button svg{color:#374151;width:16px;height:16px;display:block;flex-shrink:0;stroke:#374151;stroke-width:2;fill:none;pointer-events:none}.zoom-display-button:hover{background:#f3f4f6}.zoom-display-button:hover svg{color:#1f2937}.zoom-display-button.active{background:#3b82f6;color:#fff}.zoom-display-button.active svg{color:#fff;stroke:#fff}.zoom-display-button.active:hover{background:#2563eb}.zoom-menu{position:absolute;bottom:calc(100% + 8px);right:0;background:#fffffff2;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:4px;min-width:200px;display:flex;flex-direction:column;z-index:1002}.layer-visibility-menu{left:0;right:auto;min-width:auto;padding:4px;gap:4px;flex-direction:row;background:transparent;border:none;box-shadow:none}.layer-visibility-menu .layer-visibility-button{opacity:1;visibility:visible}.zoom-menu-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:none;background:transparent;cursor:pointer;border-radius:4px;color:#374151;font-size:14px;transition:background-color .2s;gap:12px}.zoom-menu-item:hover:not(:disabled){background:#f3f4f6}.zoom-menu-item:active:not(:disabled){background:#e5e7eb}.zoom-menu-item:disabled{opacity:.5;cursor:not-allowed}.zoom-shortcut{color:#9ca3af;font-size:12px;font-family:monospace}.zoom-icon{color:#6b7280;margin-left:auto}.layer-visibility-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;min-height:26px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;box-shadow:0 2px 6px #00000014;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .2s ease;outline:none;color:#64748b;padding:0;margin:0}.layer-visibility-button svg{display:block;flex-shrink:0}.layer-visibility-button:hover:not(.active){color:#1e293b;transform:scale(1.05)}.layer-visibility-button svg{stroke:currentColor;transition:stroke .2s ease}.layer-visibility-button.active{border:none;color:#fff;background:var(--layer-color, #3b82f6);box-shadow:0 4px 12px #0000004d}.layer-visibility-button.active svg{stroke:#fff;color:#fff}.layer-visibility-button.active svg path,.layer-visibility-button.active svg circle,.layer-visibility-button.active svg line,.layer-visibility-button.active svg polyline{stroke:#fff}.layer-visibility-button:not(.active){color:#64748b}.layer-visibility-button:not(.active) svg{stroke:#64748b}.layer-visibility-button:not(.active) svg path,.layer-visibility-button:not(.active) svg circle,.layer-visibility-button:not(.active) svg line,.layer-visibility-button:not(.active) svg polyline{stroke:#64748b}.layer-visibility-button:focus,.layer-visibility-button:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--layer-color, #3b82f6)}.layer-visibility-button.exit-isolate-button{margin-left:4px;border-left:1px solid rgba(0,0,0,.1)}@media(max-width:768px){.tool-switcher-controls{bottom:20px;left:10px}.zoom-controls{bottom:20px;right:10px}.zoom-display{flex-direction:column!important;border-radius:9999px;padding:6px 4px;gap:6px;width:42px;align-items:center}.zoom-percentage-button{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;font-size:12px}.zoom-menu{min-width:180px;bottom:calc(100% + 8px);right:0;top:auto}.zoom-menu{max-width:calc(100vw - 20px)}}.viewpoint-frame-dialog-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.viewpoint-frame-dialog{background:#fff;border-radius:8px;padding:24px;min-width:400px;max-width:500px;box-shadow:0 4px 6px #0000001a;position:relative;margin:auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:#111827}.viewpoint-frame-dialog-header{margin-bottom:20px}.viewpoint-frame-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.viewpoint-frame-dialog-form{display:flex;flex-direction:column;gap:16px}.viewpoint-frame-dialog-field{display:flex;flex-direction:column;gap:8px}.viewpoint-frame-dialog-field label{font-weight:500;font-size:14px;color:#374151;margin-bottom:4px}.viewpoint-frame-dialog-field input[type=text]{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box;background-color:#fff;color:#111827}.viewpoint-frame-dialog-field input[type=text]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.viewpoint-frame-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.viewpoint-frame-dialog-cancel,.viewpoint-frame-dialog-confirm{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.viewpoint-frame-dialog-cancel{background:#f3f4f6;color:#374151}.viewpoint-frame-dialog-cancel:hover{background:#e5e7eb}.viewpoint-frame-dialog-confirm{background:#3b82f6;color:#fff}.viewpoint-frame-dialog-confirm:hover:not(:disabled){background:#2563eb}.viewpoint-frame-dialog-confirm:disabled{opacity:.5;cursor:not-allowed}.set-scale-dialog-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.set-scale-dialog{background:#fff;border-radius:8px;padding:24px;min-width:400px;max-width:500px;box-shadow:0 4px 6px #0000001a;position:relative;margin:auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:#111827}.set-scale-dialog-header{margin-bottom:20px}.set-scale-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.set-scale-dialog-form{display:flex;flex-direction:column;gap:16px}.set-scale-dialog-field{display:flex;flex-direction:column;gap:8px}.set-scale-dialog-field label{font-weight:500;font-size:14px;color:#374151;margin-bottom:4px}.set-scale-dialog-fields{display:flex;gap:12px;align-items:flex-end}.set-scale-dialog-fields .set-scale-dialog-field:first-child{flex:1;min-width:0}.set-scale-dialog-fields .set-scale-dialog-field:last-child{flex-shrink:0;width:140px}.set-scale-dialog-field input[type=text],.set-scale-dialog-field input[type=number]{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box;background-color:#fff;color:#111827}.set-scale-dialog-field input[type=text]:focus,.set-scale-dialog-field input[type=number]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.set-scale-dialog-field select{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box;background-color:#fff;color:#111827;cursor:pointer}.set-scale-dialog-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.set-scale-dialog-error{color:#dc2626;font-size:12px;margin-top:4px}.set-scale-dialog-hint{color:#6b7280;font-size:12px;margin-top:4px;font-style:italic}.set-scale-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.set-scale-dialog-cancel,.set-scale-dialog-confirm{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.set-scale-dialog-cancel{background:#f3f4f6;color:#374151}.set-scale-dialog-cancel:hover{background:#e5e7eb}.set-scale-dialog-confirm{background:#3b82f6;color:#fff}.set-scale-dialog-confirm:hover:not(:disabled){background:#2563eb}.set-scale-dialog-confirm:disabled{opacity:.5;cursor:not-allowed}.gantt-context-menu{position:fixed;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d;min-width:220px;padding:6px 0}.gantt-context-menu-separator{height:1px;background:#e5e7eb;margin:6px 12px}.gantt-context-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 14px;text-align:left;font-size:13px;color:#374151;background:transparent;border:none;cursor:pointer}.gantt-context-menu-item:disabled{color:#9ca3af;cursor:not-allowed}.gantt-context-menu-item:not(:disabled):hover{color:#1d4ed8;background:#eff6ff}.gantt-context-menu-item--danger:not(:disabled):hover{color:#b91c1c;background:#fef2f2}.gantt-context-menu-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:inherit}.gantt-context-menu-icon svg{width:16px;height:16px}.gantt-context-menu-label{flex:1}.gantt-context-menu-badge{font-size:11px;font-weight:500;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}.deps-dialog-scroll::-webkit-scrollbar{width:8px}.deps-dialog-scroll::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.deps-dialog-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.deps-dialog-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.deps-dialog-scroll{scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.activity-inspector-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px 16px;z-index:2000}.activity-inspector{background:#fff;border-radius:10px;box-shadow:0 20px 40px -10px #00000026;min-width:360px;max-width:480px;max-height:calc(100vh - 80px);display:flex;flex-direction:column}.activity-inspector-header{position:relative;padding:16px 20px 12px;border-bottom:1px solid #e5e7eb}.activity-inspector-title{margin:0;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.activity-inspector-task-name{margin:4px 0 0;font-size:16px;font-weight:600;color:#111827}.activity-inspector-close{position:absolute;top:12px;right:12px;padding:6px;background:none;border:none;color:#6b7280;cursor:pointer;border-radius:6px}.activity-inspector-close:hover{background:#f3f4f6;color:#374151}.activity-inspector-content{padding:16px;overflow-y:auto}.activity-inspector-empty{padding:24px 0;text-align:center;color:#6b7280;font-size:14px;line-height:1.5}.activity-inspector-empty-hint{margin-top:12px;font-size:13px;color:#9ca3af}.activity-inspector-list{display:flex;flex-direction:column;gap:10px}.activity-inspector-item{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.activity-inspector-item-main{display:flex;flex-direction:column;gap:4px}.activity-inspector-item-name{font-weight:600;font-size:14px;color:#111827}.activity-inspector-item-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#6b7280}.activity-inspector-ref-sheet{font-weight:500;color:#374151;max-width:100%;overflow:hidden;text-overflow:ellipsis}.activity-inspector-item-meta span:after{content:"·";margin-left:8px;color:#9ca3af}.activity-inspector-item-meta span:last-child:after{display:none}.activity-inspector-item-detail{display:flex;gap:12px;font-size:12px;color:#6b7280}.activity-inspector-profile{font-weight:500}.activity-inspector-item-actions{display:flex;gap:8px;flex-wrap:wrap}.activity-inspector-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;border:none;border-radius:6px;cursor:pointer}.activity-inspector-btn--view{background:#eff6ff;color:#1d4ed8}.activity-inspector-btn--view:hover{background:#dbeafe}.activity-inspector-btn--props{background:#f3f4f6;color:#374151}.activity-inspector-btn--props:hover{background:#e5e7eb}.gantt-panel{position:fixed;bottom:0;left:0;right:0;background:#f8fafc;border-radius:12px 12px 0 0;box-shadow:0 -8px 24px #0000001f,0 0 0 1px #0f172a14;z-index:1100;transition:transform .3s ease}.gantt-panel-full{position:fixed;inset:0;background:#fff;z-index:1100;display:flex;flex-direction:column}.gantt-panel-resizable{position:fixed;bottom:0;left:0;right:0;background:#f8fafc;border-radius:12px 12px 0 0;box-shadow:0 -8px 24px #0000001f,0 0 0 1px #0f172a14;z-index:1100;display:flex;flex-direction:column}.gantt-panel-resize-handle{position:absolute;top:0;left:0;right:0;height:12px;background:transparent;cursor:ns-resize;display:flex;align-items:center;justify-content:center;z-index:251;transition:background-color .2s;-moz-user-select:none;user-select:none;-webkit-user-select:none;outline:none}.gantt-panel-resize-handle:focus{outline:none}.gantt-panel-resize-handle:hover,.gantt-panel-resize-handle:active{background:transparent}.gantt-panel-resize-handle svg{color:transparent;opacity:0}.gantt-panel.collapsed{transform:translateY(calc(100% - 48px))}.gantt-panel-actions{display:flex;gap:8px}.gantt-panel-toggle,.gantt-panel-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#6b7280;transition:background-color .2s,color .2s}.gantt-panel-toggle:hover,.gantt-panel-close:hover{background-color:#e5e7eb;color:#374151}.gantt-panel-content{max-height:400px;overflow-y:auto;padding:16px 20px}.gantt-panel-content-full{flex:1;display:flex;flex-direction:column;overflow:hidden}.gantt-panel-empty{padding:40px 20px;text-align:center;color:#6b7280}.gantt-panel-empty p{margin:8px 0;font-size:14px}.gantt-panel-empty-hint{font-size:12px;color:#9ca3af}.gantt-tasks-list{display:flex;flex-direction:column;gap:8px}.gantt-task-item{padding:12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.gantt-task-child{background-color:#f3f4f6}.gantt-task-name{font-weight:600;font-size:14px;color:#111827;margin-bottom:6px}.gantt-task-details{display:flex;gap:16px;font-size:12px;color:#6b7280;margin-bottom:8px}.gantt-task-edit{display:flex;gap:8px}.gantt-task-input{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px}.gantt-task-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.gantt-panel-note{margin-top:20px;padding:12px;background-color:#fef3c7;border:1px solid #fde68a;border-radius:4px;font-size:12px;color:#92400e}.gantt-panel-note p{margin:4px 0}.task-grid-header-container{flex-shrink:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.task-grid-header-container::-webkit-scrollbar{height:0;display:none}.task-grid-row:hover{filter:brightness(.97)}.gantt-task-grid-pane:focus{outline:none}.task-grid-resize-handle{position:absolute;top:0;right:0;width:8px;height:100%;background:#eef2f7;border-left:1px solid #eef2f7;cursor:ew-resize;display:flex;align-items:center;justify-content:center;z-index:11;-moz-user-select:none;user-select:none;-webkit-user-select:none;outline:none}.task-grid-resize-handle:focus{outline:none}.task-grid-resize-handle:hover{background:#e2e8f0;border-left-color:#e2e8f0}.task-grid-resize-handle-grab{position:absolute;left:50%;top:calc(50% + 25px);transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:#eef2f7;border:1px solid #eef2f7;box-shadow:none;display:flex;align-items:center;justify-content:center;outline:none}.task-grid-resize-handle-grab:focus{outline:none}.task-grid-resize-handle:hover .task-grid-resize-handle-grab{background:#e2e8f0;border-color:#e2e8f0}.task-grid-resize-handle-grab .material-symbols-outlined{font-size:20px;color:#64748b}.task-grid-resize-handle:hover .task-grid-resize-handle-grab .material-symbols-outlined{color:#475569}.gantt-canvas-scroll::-webkit-scrollbar,.gantt-timescale-scroll::-webkit-scrollbar{width:12px;height:12px}.gantt-canvas-scroll::-webkit-scrollbar-track,.gantt-timescale-scroll::-webkit-scrollbar-track{background:#f3f4f6;border-radius:6px}.gantt-canvas-scroll::-webkit-scrollbar-thumb,.gantt-timescale-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:6px;border:2px solid #f3f4f6}.gantt-canvas-scroll::-webkit-scrollbar-thumb:hover,.gantt-timescale-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.gantt-canvas-scroll,.gantt-timescale-scroll{scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.task-grid-scroll::-webkit-scrollbar{width:12px}.task-grid-scroll::-webkit-scrollbar-track{background:#f3f4f6;border-radius:6px}.task-grid-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:6px;border:2px solid #f3f4f6}.task-grid-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.task-grid-scroll{scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6;scrollbar-gutter:stable}@media(max-width:768px){.gantt-panel{height:80vh;max-height:80vh;z-index:1900}.gantt-panel-toggle,.gantt-panel-close{width:44px;height:44px;min-width:44px;min-height:44px}}.toolbar{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;padding:8px;box-shadow:0 4px 6px -1px #0000001a;z-index:1000}.toolbar-section{display:flex;gap:4px;padding:0 8px;border-right:1px solid #e5e7eb}.toolbar-section:last-child{border-right:none}.toolbar-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#f5f5f5;border-radius:6px;cursor:pointer;color:#374151;transition:all .15s ease;padding:0;margin:0;font-size:inherit;font-weight:inherit;font-family:inherit}.toolbar-button svg{display:block;width:20px;height:20px;flex-shrink:0}.toolbar-button svg{color:#374151}.toolbar-button:hover:not(:disabled){background:#f3f4f6}.toolbar-button:hover:not(:disabled) svg{color:#1f2937}.toolbar-button.active{background:#3b82f6;color:#fff}.toolbar-button.active svg{color:#fff}.toolbar-button.active svg path,.toolbar-button.active svg rect,.toolbar-button.active svg circle,.toolbar-button.active svg line{stroke:#fff}.toolbar-button.active svg path[fill]:not([fill=none]){fill:#ffffff4d}.toolbar-button.active:hover{background:#3b82f6;color:#fff}.toolbar-button.active:hover svg{color:#fff}.toolbar-button.active:hover svg path,.toolbar-button.active:hover svg rect,.toolbar-button.active:hover svg circle,.toolbar-button.active:hover svg line{stroke:#fff}.toolbar-button.active:hover svg path[fill]:not([fill=none]){fill:#ffffff4d}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar.disabled{opacity:.5;pointer-events:none}@media(max-width:768px){.toolbar{position:fixed;inset:auto 0 0;transform:none;border-radius:0;border-left:none;border-right:none;border-bottom:none;padding:12px 8px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;z-index:1500;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.toolbar::-webkit-scrollbar{height:6px}.toolbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.toolbar-section{border-right:none;padding:0 4px;flex-shrink:0}.toolbar-button{width:48px;height:48px;min-width:48px;min-height:48px}.toolbar-button svg{width:24px;height:24px}.toolbar-section-shapes{display:flex!important;flex-shrink:0}.toolbar-section-panels{display:none}.toolbar-section{flex-shrink:0}}@media(min-width:769px){.toolbar-section-shapes{display:none}}.shape-toolbar{position:absolute;top:80px;left:50%;transform:translate(-50%);display:flex;gap:4px;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;padding:8px;box-shadow:0 4px 6px -1px #0000001a;z-index:1000}.shape-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#f5f5f5;border-radius:4px;cursor:pointer;color:#374151;transition:all .2s;padding:0;margin:0;font-size:inherit;font-weight:inherit;font-family:inherit}.shape-button svg{display:block;width:20px;height:20px;flex-shrink:0}.shape-button.active svg path,.shape-button.active svg rect,.shape-button.active svg circle,.shape-button.active svg line,.shape-button.active svg text,.shape-button.active svg polyline{stroke:#fff;fill:#fff}.shape-button:hover{background:#f3f4f6}.shape-button.active{background:#3b82f6;color:#fff}.shape-toolbar.disabled{opacity:.5;pointer-events:none}@media(max-width:768px){.shape-toolbar{display:none}}.properties-panel{position:absolute;top:20px;right:20px;width:280px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1100;overflow:hidden}.properties-header{padding:14px 20px;border-bottom:1px solid #e2e8f0;font-weight:600;font-size:14px;color:#64748b;text-align:center;background:#fff}.properties-empty{padding:40px 20px;text-align:center;color:#64748b;font-size:13px}.properties-content{padding:20px;background:#fff}.collapsible-section{border-top:1px solid #e5e7eb;padding-top:12px;margin-top:12px}.collapsible-section:first-child{border-top:none;padding-top:0;margin-top:0}.collapsible-header{display:flex;align-items:center;gap:8px;width:100%;padding:0;margin:0;border:none;background:none;font-size:13px;font-weight:700;color:#374151;cursor:pointer}.collapsible-title{flex:1;text-align:left}.chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:transparent;font-size:12px;color:#374151;transition:transform .15s ease}.chevron-left{margin-right:0}.chevron-right{margin-left:auto}.chevron.open{transform:rotate(180deg)}.collapsible-body{margin-top:12px}.property-section{margin-bottom:24px}.property-section:last-child{margin-bottom:0}.section-label{display:block;font-size:11px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.property-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:0}.property-row:last-child{margin-bottom:0}.property-field{display:flex;flex-direction:column;gap:4px}.property-field label{font-size:10px;font-weight:500;color:#374151;text-transform:uppercase;letter-spacing:.3px}.property-field input,.property-field select{padding:5px 8px;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;background:#fff;color:#374151;transition:all .15s ease;width:100%}.property-field input:focus,.property-field select:focus{outline:none;border-color:#9333ea;box-shadow:0 0 0 3px #9333ea33}.property-field input:hover,.property-field select:hover{border-color:#d1d5db}.color-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;justify-content:flex-start}.color-palette-primary{grid-template-columns:repeat(8,1fr);gap:6px}.color-palette-primary .color-swatch{width:22px;height:22px;border-radius:50%}.color-swatch{width:28px;height:28px;border:2px solid #e5e7eb;border-radius:50%;cursor:pointer;transition:all .15s ease;position:relative;padding:0;margin:0;box-sizing:border-box}.color-swatch:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000001a;transform:scale(1.05)}.color-swatch.active{border-color:#9333ea;border-width:3px;box-shadow:0 0 0 2px #f5f5f5,0 0 0 4px #9333ea}.color-swatch-white{border:1px solid #d1d5db}.color-swatch-white.active{border-color:#9333ea}.slider-group{display:flex;flex-direction:column;gap:12px}.stroke-slider{flex:1;height:18px;border-radius:3px;background:transparent;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;padding:0;box-sizing:border-box}.stroke-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#e5e7eb;margin-top:6px;margin-bottom:6px}.stroke-slider::-moz-range-track{height:6px;border-radius:3px;background:#e5e7eb}.stroke-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#2563eb;border:2px solid #2563eb;cursor:pointer;box-shadow:0 2px 4px #0000004d;-webkit-transition:all .15s ease;transition:all .15s ease;margin-top:-6px}.stroke-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 8px #2563eb80}.stroke-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#2563eb;border:2px solid #2563eb;cursor:pointer;box-shadow:0 2px 4px #0000004d;-moz-transition:all .15s ease;transition:all .15s ease}.stroke-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 8px #2563eb80}.slider-value{font-size:12px;font-weight:600;color:#374151;min-width:24px;text-align:center;line-height:18px;display:flex;align-items:center;justify-content:center}.font-select{font-family:inherit}.font-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.font-button{padding:10px;border:2px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;transition:all .15s ease;font-size:18px;font-weight:600;color:#374151}.font-button:hover{border-color:#d1d5db;background:#f9fafb}.font-button.active{border-color:#9333ea;background:#fff;color:#9333ea}.text-style-buttons{display:flex;gap:8px}.style-button{padding:8px 16px;border:2px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;transition:all .15s ease;font-size:16px;font-weight:600;color:#374151;min-width:40px}.style-button:hover{border-color:#d1d5db;background:#f9fafb}.style-button.active{border-color:#9333ea;background:#fff;color:#9333ea}.text-align-buttons{display:flex;gap:8px}.align-button{padding:8px 16px;border:none;border-radius:6px;background:#fff;cursor:pointer;transition:all .15s ease;font-size:18px;color:#374151;flex:1}.align-button:hover{background:#f9fafb}.align-button.active{background:#fff;color:#9333ea}.align-button svg{display:block;width:16px;height:16px;margin:0 auto}.crop-button-property{width:100%;padding:10px 16px;border:2px solid #9333ea;border-radius:6px;background:#9333ea;color:#fff;cursor:pointer;transition:all .15s ease;font-size:14px;font-weight:500}.crop-button-property:hover{background:#7c3aed;border-color:#7c3aed;box-shadow:0 2px 8px #9333ea66}.button-group{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap}.button-group .preset-button{flex:1;min-width:0}.button-group:has(.preset-button svg) .preset-button{aspect-ratio:1;min-width:36px;width:36px;flex:0 0 36px}.preset-button{flex:1;min-height:36px;padding:8px;border:2px solid #e5e7eb;border-radius:4px;background:#fff;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;color:#374151;position:relative}.preset-button:hover{border-color:#d1d5db;background:#f9fafb}.preset-button.active{border-color:#9333ea;background:#fff}.preset-button svg{width:100%;height:100%;max-width:24px;max-height:16px;color:currentColor}.preset-button.active svg{color:#9333ea}.toggle-switch{display:flex;align-items:center;gap:12px}.toggle-button{position:relative;width:44px;height:24px;border:2px solid #d1d5db;border-radius:12px;background:#e5e7eb;cursor:pointer;transition:all .2s ease;padding:0;margin:0;outline:none}.toggle-button:hover{border-color:#9ca3af;background:#d1d5db}.toggle-button.active{border-color:#9333ea;background:#9333ea}.toggle-slider{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-button.active .toggle-slider{transform:translate(20px)}.toggle-label{font-size:12px;font-weight:500;color:#374151;-webkit-user-select:none;-moz-user-select:none;user-select:none}.properties-panel.disabled{opacity:.5;pointer-events:none}@media(max-width:768px){.properties-panel{position:fixed;inset:auto 0 73px;width:100%;max-height:140px;height:auto;min-height:80px;border-radius:12px 12px 0 0;transform:translateY(100%);transition:transform .3s ease,opacity .3s ease;z-index:1800;pointer-events:none;opacity:0;visibility:hidden;background:#fff;border:1px solid #e2e8f0;border-bottom:none;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.properties-panel:not(.mobile-open){transform:translateY(calc(100% + 20px));display:none!important;opacity:0;visibility:hidden}.properties-panel.mobile-open{transform:translateY(0);pointer-events:auto;opacity:1;visibility:visible;display:block!important}.properties-header{display:none}.properties-content{display:flex;flex-direction:column;gap:10px;padding:14px 12px;min-height:100%;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;-webkit-overflow-scrolling:touch}.properties-content>.mobile-compact-row{display:flex;align-items:center;gap:10px;flex-shrink:0;width:100%}.properties-content>.collapsible-section{display:none}.properties-content>.property-section{margin-bottom:0;flex-shrink:0}.properties-content .color-palette,.properties-content .color-palette-primary{display:flex;gap:6px;flex-wrap:nowrap;grid-template-columns:none;flex-shrink:0}.properties-content .color-swatch{width:28px;height:28px;min-width:28px;min-height:28px;flex-shrink:0}.properties-content .slider-group{display:flex;align-items:center;gap:8px;flex-direction:row}.properties-content .slider-container{display:flex;align-items:center;gap:6px;min-width:100px;flex-shrink:0}.properties-content .stroke-slider{width:70px;flex:0 0 70px}.properties-content .slider-value{min-width:20px;text-align:center;font-size:11px;color:#374151;flex-shrink:0}.properties-content .section-label{display:none}.properties-content .text-style-buttons{display:flex;gap:4px;flex-shrink:0}.properties-content .style-button{width:32px;height:32px;min-width:32px;min-height:32px;padding:4px;font-size:14px;flex-shrink:0}.properties-content .mobile-compact-colors{flex:0 0 auto;flex-shrink:0}.properties-content .mobile-compact-slider{flex:1 1 auto;min-width:100px;display:flex;align-items:center;justify-content:center}.properties-content .mobile-compact-styles,.properties-content .mobile-compact-fill{flex:0 0 auto;flex-shrink:0}.properties-content .mobile-compact-corners,.properties-content .mobile-compact-edges{flex:0 0 auto;flex-shrink:0;margin-left:auto}.properties-content .mobile-compact-corners .button-group,.properties-content .mobile-compact-edges .button-group{display:flex;gap:6px}.properties-content .mobile-compact-corners .preset-button,.properties-content .mobile-compact-edges .preset-button{width:36px;height:36px;min-width:36px;min-height:36px;padding:6px;flex-shrink:0}.properties-content .mobile-compact-row .property-section{margin-bottom:0}.property-field input,.property-field select{padding:8px 12px;font-size:16px;min-height:44px}.color-swatch{width:40px;height:40px;min-width:40px;min-height:40px}.preset-button{min-height:48px;padding:12px}.font-button,.style-button,.align-button{min-height:44px;padding:12px 16px;font-size:18px}.crop-button-property{min-height:48px;padding:14px 20px;font-size:16px}}.viewpoint-panel{width:100%;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;overflow:hidden}.viewpoint-header{padding:14px 20px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;background:#f5f5f5;font-weight:600;font-size:14px;color:#1f2937}.viewpoint-title{display:inline-flex;align-items:center;gap:6px}.viewpoint-header-actions{display:inline-flex;align-items:center;gap:4px}.viewpoint-icon-btn{border:none;background:transparent;padding:6px;border-radius:6px;cursor:pointer;color:#6b7280}.viewpoint-icon-btn:hover{background:#e5e7eb;color:#374151}.viewpoint-icon-btn.active{background:#3b82f6;color:#fff}.viewpoint-icon-btn.active:hover{background:#2563eb;color:#fff}.viewpoint-icon-btn.danger{color:#c92a2a}.viewpoint-icon-btn.danger:hover{background:#ffe3e3;color:#7f1d1d}.viewpoint-save-row{display:flex;gap:8px;padding:12px 14px 0;align-items:center;min-width:0}.viewpoint-input{flex:1;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid #e0e0e0;outline:none;background:#fff;font-size:13px}.viewpoint-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f62e}.viewpoint-frame-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;color:#6b7280;border:1px solid #e0e0e0;border-radius:8px;padding:8px 12px;cursor:pointer;white-space:nowrap;font-size:12px;font-weight:500;flex-shrink:0;transition:all .2s}.viewpoint-frame-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.viewpoint-frame-btn.active{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border-color:#3b82f6}.viewpoint-frame-btn.active:hover{opacity:.96}.viewpoint-save-btn{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border:none;border-radius:8px;padding:8px 10px;cursor:pointer;white-space:nowrap;font-size:12px;font-weight:500;flex-shrink:0}.viewpoint-save-btn:hover{opacity:.96}.viewpoint-content{padding:10px 14px 14px;display:flex;flex-direction:column;gap:8px}.viewpoint-section-title{font-size:12px;font-weight:700;color:#4b5563;text-transform:uppercase;letter-spacing:.4px}.viewpoint-scroll{margin-top:4px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:400px;padding-right:4px}.viewpoint-scroll::-webkit-scrollbar{width:8px}.viewpoint-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.viewpoint-level-card,.viewpoint-section{border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:10px}.viewpoint-level-name{font-weight:700;font-size:13px;color:#1f2937;margin-bottom:6px}.viewpoint-item{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:6px;background:#fff;border:1px solid #ececec;margin-top:6px}.viewpoint-label{font-size:13px;color:#111827}.viewpoint-actions{display:inline-flex;gap:6px}.viewpoint-empty,.viewpoint-empty-small{color:#6b7280;font-size:12px}.viewpoint-empty{padding:8px 0}.viewpoint-empty-small{padding:2px 0 0}.viewpoint-edit-input{flex:1;min-width:0;padding:6px 8px;border-radius:4px;border:2px solid #3b82f6;outline:none;background:#fff;font-size:13px;font-family:inherit}.viewpoint-edit-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.viewpoint-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.viewpoint-confirm-dialog{background:#fff;border-radius:8px;padding:24px;min-width:400px;max-width:500px;box-shadow:0 10px 25px #0003}.viewpoint-confirm-dialog h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.viewpoint-confirm-dialog p{margin:0 0 24px;font-size:14px;color:#374151;line-height:1.5}.viewpoint-confirm-dialog p strong{color:#111827;font-weight:600}.viewpoint-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.viewpoint-confirm-cancel,.viewpoint-confirm-ok{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background-color .2s}.viewpoint-confirm-cancel{background:#f3f4f6;color:#374151}.viewpoint-confirm-cancel:hover{background:#e5e7eb}.viewpoint-confirm-ok{background:#3b82f6;color:#fff}.viewpoint-confirm-ok:hover{background:#2563eb}@media(max-width:768px){.viewpoint-panel{position:fixed;inset:0;width:100%;max-height:100vh;border-radius:0;z-index:1900}.viewpoint-icon-btn{width:40px;height:40px;min-width:40px;min-height:40px}.viewpoint-save-btn{min-height:44px;padding:10px 14px;font-size:14px}}.left-panel{background:#fff;border:2px solid #64748b;border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d,0 0 20px #64748b66;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.left-panel.draggable-resizable{resize:none}.left-panel-header{padding:14px 20px;border-bottom:1px solid #e5e7eb;position:relative;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to right,#475569,#64748b);color:#fff}.left-panel-header h3{flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0;font-size:14px;font-weight:600;color:#fff}.left-panel-header-actions{display:flex;gap:8px;align-items:center;position:relative;z-index:1}.left-panel-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:#fff3;color:#fff;cursor:pointer;transition:background-color .2s,color .2s}.left-panel-close-btn:hover{background-color:#ffffff4d;color:#fff}.left-panel-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;background:#e5e7eb;border-top-left-radius:8px;display:flex;align-items:center;justify-content:center;cursor:nwse-resize;z-index:10;opacity:.7;transition:opacity .2s}.left-panel-resize-handle:hover{opacity:1;background:#d1d5db}.left-panel-content{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:12px;padding:8px;position:relative;width:100%;min-width:0;height:0}.left-panel-content .viewpoint-panel{background:transparent;border:none;border-radius:0;box-shadow:none}.left-panel-content .viewpoint-header{display:none}.left-panel-content .viewpoint-save-row{padding-top:0}.left-panel-content::-webkit-scrollbar{width:8px}.left-panel-content::-webkit-scrollbar-track{background:transparent;border-radius:4px}.left-panel-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.left-panel-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.left-panel-content{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.left-panel-section{flex-shrink:0}.left-panel-save{flex-shrink:0;padding:0}@media(max-width:768px){.left-panel{position:fixed;inset:0;width:100%;max-height:100vh;border-radius:0;z-index:1900}.left-panel-content{margin-bottom:0;padding:20px}}.mobile-menu-button{display:none;position:fixed;top:20px;right:20px;width:48px;height:48px;border:none;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;color:#374151;z-index:2000;box-shadow:0 4px 6px -1px #0000001a;align-items:center;justify-content:center;transition:all .15s ease}.mobile-menu-button:hover{background:#f3f4f6}.mobile-menu-button:active{background:#e5e7eb}.mobile-menu-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:1998;animation:fadeIn .2s ease}.mobile-menu{display:none;position:fixed;top:0;right:0;width:280px;height:100vh;background:#f5f5f5;border-left:1px solid #e5e7eb;z-index:1999;box-shadow:-4px 0 12px #00000026;animation:slideIn .3s ease;overflow-y:auto}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e5e7eb}.mobile-menu-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.mobile-menu-close{width:40px;height:40px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#374151;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.mobile-menu-close:hover{background:#e5e7eb}.mobile-menu-items{display:flex;flex-direction:column;padding:8px}.mobile-menu-section{display:flex;flex-direction:column}.mobile-menu-section-title{padding:12px 16px 8px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.mobile-menu-divider{height:1px;background:#e5e7eb;margin:8px 0}.mobile-menu-item{display:flex;align-items:center;gap:12px;padding:16px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#374151;text-align:left;font-size:16px;font-weight:500;transition:all .15s ease;min-height:56px}.mobile-menu-item:hover{background:#f3f4f6}.mobile-menu-item.active{background:#eff6ff;color:#3b82f6}.mobile-menu-item.active svg{color:#3b82f6}.mobile-menu-item svg{color:#374151;flex-shrink:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:768px){.mobile-menu-button{display:flex}.mobile-menu-overlay,.mobile-menu{display:block}}.image-crop-overlay{z-index:2000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.crop-box{border:2px solid #3b82f6;box-shadow:0 0 0 1px #ffffff80;background:transparent}.crop-handle{position:absolute;width:12px;height:12px;background:#3b82f6;border:2px solid white;border-radius:2px;box-shadow:0 2px 4px #0003}.crop-handle-nw{top:-6px;left:-6px;cursor:nw-resize}.crop-handle-ne{top:-6px;right:-6px;cursor:ne-resize}.crop-handle-sw{bottom:-6px;left:-6px;cursor:sw-resize}.crop-handle-se{bottom:-6px;right:-6px;cursor:se-resize}.crop-handle-n{top:-6px;left:50%;transform:translate(-50%);cursor:n-resize}.crop-handle-s{bottom:-6px;left:50%;transform:translate(-50%);cursor:s-resize}.crop-handle-e{right:-6px;top:50%;transform:translateY(-50%);cursor:e-resize}.crop-handle-w{left:-6px;top:50%;transform:translateY(-50%);cursor:w-resize}.crop-controls{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);display:flex;gap:8px}.crop-button{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.crop-button-apply{background:#3b82f6;color:#fff}.crop-button-apply:hover{background:#2563eb;box-shadow:0 4px 8px #3b82f64d}.crop-button-cancel{background:#6b7280;color:#fff}.crop-button-cancel:hover{background:#4b5563;box-shadow:0 4px 8px #6b72804d}.error-dialog-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.error-dialog{background:#fff;border-radius:8px;padding:24px;min-width:400px;max-width:500px;box-shadow:0 4px 6px #0000001a;position:relative;margin:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:#111827}.error-dialog-header{margin-bottom:20px}.error-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:#111827;display:block;visibility:visible;opacity:1}.error-dialog-content{margin-bottom:20px}.error-dialog-content p{margin:0;font-size:14px;color:#374151;line-height:1.5}.error-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.error-dialog-ok{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;background-color:#3b82f6;color:#fff}.error-dialog-ok:hover{background-color:#2563eb}.error-dialog-ok:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}@media(max-width:768px){.error-dialog{min-width:auto;width:calc(100% - 40px);max-width:calc(100% - 40px);margin:20px}.error-dialog-ok{min-height:44px;padding:12px 24px;font-size:16px;width:100%}}.share-dialog-bulk-emails{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid rgba(0,0,0,.12);font-family:inherit;font-size:.875rem;resize:vertical}.share-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.share-dialog{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5}.share-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.share-dialog-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px}.share-dialog-close:hover{background:#f0f0f0}.share-dialog-content{padding:20px;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.share-dialog-input-section{display:flex;gap:8px;align-items:center}.share-dialog-input-group{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f5f5f5;border-radius:6px;border:1px solid #e0e0e0}.share-dialog-input-group svg{color:#666;flex-shrink:0}.share-dialog-input-group input{flex:1;border:none;background:none;outline:none;font-size:14px;color:#333}.share-dialog-input-group input::-moz-placeholder{color:#999;opacity:1}.share-dialog-input-group input::placeholder{color:#999;opacity:1}.share-dialog-role-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;color:#333}.share-dialog-share-btn{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.share-dialog-share-btn:hover:not(:disabled){background:#0056b3}.share-dialog-share-btn:disabled{opacity:.6;cursor:not-allowed}.share-dialog-permissions h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.share-dialog-list{display:flex;flex-direction:column;gap:8px}.share-dialog-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:6px;background:#f9f9f9}.share-dialog-item-content{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.share-dialog-item-email{font-size:14px;color:#333}.share-dialog-role-select-small{padding:4px 8px;border:1px solid #e0e0e0;border-radius:4px;font-size:12px;background:#fff;cursor:pointer;color:#333}.share-dialog-remove{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#dc3545;border-radius:4px}.share-dialog-remove:hover{background:#ffe0e0}.share-dialog-loading,.share-dialog-empty{padding:20px;text-align:center;color:#666;font-size:14px}.share-dialog-share-link-section{display:flex;flex-direction:column;gap:12px}.share-dialog-share-link-section h3{margin:0;font-size:16px;font-weight:600;color:#333}.share-dialog-share-link-controls{display:flex;flex-direction:column;gap:12px}.share-dialog-toggle-share{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;align-self:flex-start}.share-dialog-toggle-share:hover:not(:disabled){background:#218838}.share-dialog-toggle-share:disabled{opacity:.6;cursor:not-allowed}.share-dialog-link-display{display:flex;gap:8px;align-items:center}.share-dialog-link-input{flex:1;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;color:#333;background:#f9f9f9;font-family:monospace}.share-dialog-copy-btn{padding:8px 12px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.share-dialog-copy-btn:hover{background:#0056b3}.share-dialog-share-link-note{margin:0;font-size:12px;color:#666;font-style:italic}.share-dialog-divider{height:1px;background:#e5e5e5;margin:8px 0}.share-dialog-setting-group{display:flex;flex-direction:column;gap:6px}.share-dialog-setting-label{font-size:12px;font-weight:500;color:#666}.share-dialog-setting-input{padding:6px 10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;color:#333;background:#fff}.share-dialog-expiration-inputs{display:flex;gap:8px;align-items:center}.share-dialog-expiration-inputs input{flex:1}.share-dialog-clear-btn{padding:6px 8px;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666}.share-dialog-clear-btn:hover{background:#e0e0e0}.share-dialog-update-settings-btn{padding:8px 16px;background:#17a2b8;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;align-self:flex-start}.share-dialog-update-settings-btn:hover:not(:disabled){background:#138496}.share-dialog-update-settings-btn:disabled{opacity:.6;cursor:not-allowed}.share-dialog-expiration-note,.share-dialog-password-note{color:#28a745;font-weight:500}.presence-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffffe6;border-radius:20px;box-shadow:0 2px 8px #0000001a}.presence-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid white;box-shadow:0 1px 3px #0003}.presence-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.presence-avatar-initial{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#007bff;color:#fff;font-weight:600;font-size:14px}.document-switcher{display:flex;align-items:center;gap:8px}.document-switcher-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;height:48px;min-width:48px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;transition:all .2s ease;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);outline:none}.document-switcher-button:focus,.document-switcher-button:focus-visible,.document-switcher-button:focus-within{outline:none}.document-switcher-button-static{cursor:default}.document-switcher-button-static:hover{background:#fff;border-color:#e2e8f0;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;transform:none}.document-switcher-button svg{color:inherit;flex-shrink:0}.document-switcher-button:hover{background:#fff;border-color:#e2e8f0;color:#1e293b;transform:scale(1.1)}.document-switcher-title{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.document-title-input{background:transparent;border:1px solid rgba(55,65,81,.3);border-radius:4px;padding:2px 6px;color:inherit;font-size:inherit;font-family:inherit;min-width:100px;flex:1;outline:none}.document-title-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.document-switcher-share{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:#fff;border:1px solid #e2e8f0;border-radius:16px;cursor:pointer;color:#64748b;transition:all .2s ease;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);outline:none}.document-switcher-share:focus,.document-switcher-share:focus-visible,.document-switcher-share:focus-within{outline:none}.document-switcher-share:hover{background:#fff;border-color:#e2e8f0;color:#1e293b;transform:scale(1.1)}.top-left-controls{position:fixed;top:20px;left:20px;display:flex;flex-direction:column;gap:8px;z-index:1000;width:auto;align-items:flex-start}.top-left-controls-row{display:flex;align-items:center;gap:12px}.top-left-controls-row>.context-location-bar{flex:1 1 auto;min-width:0;max-width:min(420px,calc(100vw - 200px));min-height:0;align-self:center}.control-button-logo{box-shadow:0 4px 14px #00000026}.control-button-logo svg{width:43px!important;height:43px!important}.control-button-logo:hover{transform:scale(1.12);box-shadow:0 6px 20px #0003}.control-button-logo svg{display:block}.app-logo-dark svg{filter:invert(1)}.control-buttons-container{display:flex;flex-direction:column;gap:8px;width:-moz-fit-content;width:fit-content}.control-buttons-container .control-button-wrapper{margin-bottom:0;position:relative;width:40px}.control-button-wrapper{position:relative;width:40px}.control-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #e2e8f0;background:#fff;border-radius:16px;cursor:pointer;color:#64748b;transition:all .2s ease;padding:0;margin:0;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);outline:none}.control-button:focus,.control-button:focus-visible,.control-button:focus-within{outline:none}.control-button svg{display:block;width:20px;height:20px;flex-shrink:0;color:inherit}.control-button:hover{background:#fff;color:#1e293b;transform:scale(1.1)}.control-button:hover svg{color:inherit}.control-button.active{background:#3b82f6;color:#fff}.control-button.active svg{color:#fff}.control-button.active:hover{background:#2563eb}.control-menu{position:absolute;top:calc(100% + 8px);left:0;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;min-width:180px;z-index:1001}.control-menu.create-menu,.control-menu.tools-menu{position:absolute;top:0;left:calc(100% + 12px);background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:visible;padding:8px;min-width:auto;width:auto;z-index:1001}.control-button-wrapper>.control-menu.create-menu,.control-button-wrapper>.control-menu.tools-menu{position:absolute!important;left:calc(100% + 12px)!important;top:0!important}.create-menu .menu-toolbar,.tools-menu .menu-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;align-items:flex-start;overflow:visible}.toolbar-divider{width:1px;height:36px;background:#e5e7eb;margin:0 4px}.control-button-wrapper .control-menu.settings-menu{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:auto!important;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:visible;padding:8px;min-width:auto;width:auto;z-index:1001}.settings-menu .menu-toolbar{display:flex!important;flex-direction:column!important;gap:4px;align-items:flex-start;overflow:visible}.toolbar-item-wrapper{position:relative;width:100%;overflow:visible}.toolbar-item{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#374151;transition:all .15s ease;padding:0;margin:0}.toolbar-item:hover{background:#f3f4f6}.toolbar-item.active{background:#3b82f6;color:#fff}.toolbar-item.active svg{color:#fff}.toolbar-item.active:hover{background:#2563eb}.toolbar-item:disabled{opacity:.5;cursor:not-allowed}.toolbar-item svg{display:block;width:18px;height:18px;flex-shrink:0;color:#374151}.toolbar-submenu{position:absolute;left:calc(100% + 20px);top:0;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;min-width:180px;z-index:1002;white-space:nowrap}.context-location-bar{display:flex;align-items:center;gap:4px;max-width:min(420px,calc(100vw - 40px));min-height:0;padding:0 20px;box-sizing:border-box;background:none;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:12px;font-weight:500;color:#334155;flex-wrap:nowrap;line-height:1.25;text-shadow:0 0 1px rgba(255,255,255,.85),0 1px 2px rgba(0,0,0,.12)}.context-crumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;line-height:1.25}.context-crumb-button{border:none;background:transparent;padding:0 1px;margin:0;font:inherit;font-size:inherit;font-weight:500;color:inherit;cursor:pointer;text-align:left;border-radius:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#33415573;transition:color .15s,text-decoration-color .15s}.context-crumb-button:hover{color:#0f172a;text-decoration-color:#0f172abf}.context-crumb-button:active{color:#020617}.context-crumb-page{max-width:180px;padding:0 1px;margin:0;font-weight:600;color:inherit;cursor:default;font-size:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#33415573}.context-crumb-sep{flex-shrink:0;color:#64748ba6;margin:0;opacity:.9}.context-crumb-sep svg{width:10px;height:10px}.menu-item{padding:10px 16px;cursor:pointer;font-size:14px;color:#374151;transition:background .2s;display:flex;align-items:center;gap:8px}.menu-item:hover{background:#f3f4f6}.menu-item:not(:last-child){border-bottom:1px solid #e5e7eb}.menu-divider{height:1px;background:#e5e7eb;margin:4px 0}.menu-user-info{flex-direction:column;align-items:flex-start;gap:4px;cursor:default}.menu-user-info:hover{background:transparent}.user-email{font-size:12px;color:#6b7280}.user-display-name{font-size:14px;font-weight:500;color:#1f2937}.top-left-controls.disabled{opacity:.5;pointer-events:none}.clear-canvas-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.clear-canvas-confirm-dialog{background:#fff;border-radius:16px;padding:24px;min-width:400px;max-width:500px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.clear-canvas-confirm-dialog h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.clear-canvas-confirm-dialog p{margin:0 0 24px;font-size:14px;color:#374151;line-height:1.5}.clear-canvas-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.clear-canvas-confirm-cancel,.clear-canvas-confirm-ok{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid #e2e8f0;transition:all .2s ease}.clear-canvas-confirm-cancel{background:#f3f4f6;color:#374151}.clear-canvas-confirm-cancel:hover{background:#e5e7eb}.clear-canvas-confirm-ok{background:#ef4444;color:#fff;border-color:#ef4444}.clear-canvas-confirm-ok:hover{background:#dc2626;border-color:#dc2626}@media(max-width:768px){.top-left-controls{display:none}.clear-canvas-confirm-dialog{min-width:calc(100vw - 40px);max-width:calc(100vw - 40px)}}.materials-takeoff-panel{background:#f5f5f5;border:2px solid #10b981;border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 20px #10b9814d;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.materials-takeoff-panel.draggable-resizable{resize:none}.materials-takeoff-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;background:#e5e7eb;border-top-left-radius:8px;display:flex;align-items:center;justify-content:center;cursor:nwse-resize;z-index:10;opacity:.7;transition:opacity .2s}.materials-takeoff-resize-handle:hover{opacity:1;background:#d1d5db}.materials-takeoff-header{padding:14px 20px;border-bottom:1px solid #e5e7eb;position:relative;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to right,#10b981,#14b8a6);color:#fff}.materials-takeoff-header h2{flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0;font-size:14px;font-weight:600;color:#fff}.materials-takeoff-header-actions{display:flex;gap:8px;align-items:center;position:relative;z-index:1}.materials-takeoff-export{display:flex;align-items:center;gap:6px;background:#fff3;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;transition:background .2s;font-size:14px;font-weight:500}.materials-takeoff-export span{color:#fff}.materials-takeoff-export:hover{background:#ffffff4d}.materials-takeoff-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:#fff3;color:#fff;cursor:pointer;transition:background-color .2s,color .2s}.materials-takeoff-close:hover{background:#ffffff4d;color:#fff}.materials-takeoff-content{flex:1;overflow-x:auto;overflow-y:auto;padding:8px;position:relative;width:100%;min-width:0;height:0;background:#fff;display:flex;flex-direction:column}.materials-takeoff-empty{padding:40px 20px;text-align:center;color:#6b7280}.materials-takeoff-empty p{margin:8px 0;font-size:14px}.materials-takeoff-empty-hint{font-size:12px;color:#9ca3af}.materials-takeoff-table{width:100%;border-collapse:collapse;font-size:13px}.materials-takeoff-table thead{background:#f9fafb;position:sticky;top:0;z-index:10}.materials-takeoff-table th{padding:10px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;border-right:1px solid #e5e7eb;position:relative;min-width:120px;width:auto}.materials-takeoff-table th:last-child{border-right:none}.materials-takeoff-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s}.materials-takeoff-table th.sortable:hover{background-color:#f3f4f6}.materials-takeoff-table th.sorted{background-color:#eff6ff}.materials-takeoff-table th.grouped{background-color:#fef3c7}.materials-takeoff-table th.sorted.grouped{background-color:#fde68a}.th-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.th-indicators{display:flex;align-items:center;gap:4px;color:#6b7280}.materials-takeoff-table th.sorted .th-indicators{color:#3b82f6}.materials-takeoff-table th.grouped .th-indicators{color:#d97706}.materials-takeoff-table td{padding:8px 12px;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;color:#111827;cursor:text}.materials-takeoff-table td:last-child{border-right:none}.materials-takeoff-table tbody tr:hover{background:#f9fafb}.materials-takeoff-table tbody tr.group-header{background:#fef3c7;font-weight:600}.materials-takeoff-table tbody tr.group-header:hover{background:#fde68a}.materials-takeoff-table tbody tr.group-item{background:#fffbeb}.materials-takeoff-table tbody tr.group-item:hover{background:#fef3c7}.group-header-content{display:flex;align-items:center;gap:8px;color:#92400e}.group-header-content svg{flex-shrink:0}.group-count{font-weight:400;color:#a16207;font-size:12px}.materials-takeoff-table td.editing{padding:0}.materials-takeoff-table td input{width:100%;padding:8px 12px;border:2px solid #3b82f6;border-radius:0;outline:none;font-size:13px;font-family:inherit;background:#fff}.materials-takeoff-table td input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.level-select{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;font-family:inherit;background:#fff;cursor:pointer;outline:none}.level-select:hover{border-color:#9ca3af}.level-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-column-header{padding:8px!important;width:40px;min-width:40px;max-width:40px}.add-column-button{width:100%;height:100%;padding:4px;border:1px dashed #d1d5db;border-radius:4px;background:transparent;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-column-button:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.add-column-input-wrapper{width:100%}.add-column-input{width:100%;padding:4px 6px;border:2px solid #3b82f6;border-radius:4px;font-size:12px;font-family:inherit;outline:none}.th-remove-column{background:transparent;border:none;padding:2px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:all .2s}.th-remove-column:hover{background:#fee2e2;color:#dc2626}.materials-takeoff-content::-webkit-scrollbar{width:12px;height:12px}.materials-takeoff-content::-webkit-scrollbar-track{background:#f3f4f6}.materials-takeoff-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:6px;border:2px solid #f3f4f6}.materials-takeoff-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.materials-takeoff-content{scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.materials-takeoff-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.materials-takeoff-confirm-dialog{background:#fff;border-radius:8px;padding:24px;min-width:400px;max-width:500px;box-shadow:0 10px 25px #0003}.materials-takeoff-confirm-dialog h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.materials-takeoff-confirm-dialog p{margin:0 0 24px;font-size:14px;color:#374151;line-height:1.5}.materials-takeoff-confirm-dialog p strong{color:#111827;font-weight:600}.materials-takeoff-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.materials-takeoff-confirm-cancel,.materials-takeoff-confirm-ok{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background-color .2s}.materials-takeoff-confirm-cancel{background:#f3f4f6;color:#374151}.materials-takeoff-confirm-cancel:hover{background:#e5e7eb}.materials-takeoff-confirm-ok{background:#3b82f6;color:#fff}.materials-takeoff-confirm-ok:hover{background:#2563eb}@media(max-width:768px){.materials-takeoff-panel{position:fixed;inset:0;width:100%!important;height:100%!important;max-width:none;max-height:none;border-radius:0;z-index:1900}.materials-takeoff-header{padding:16px}.materials-takeoff-header h2{font-size:16px}.materials-takeoff-close{width:40px;height:40px}.materials-takeoff-table{font-size:12px}.materials-takeoff-table th,.materials-takeoff-table td{padding:8px}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.as-built-panel{display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000014;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;border:1px solid #e2e8f0}.as-built-header{background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-left:3px solid #3b82f6}.as-built-header-content{display:flex;justify-content:space-between;align-items:center;padding:10px 14px}.as-built-header h2{margin:0;font-size:13px;font-weight:600;color:#1e293b;letter-spacing:-.01em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.as-built-header-actions{display:flex;gap:4px;align-items:center}.as-built-header-btn{background:transparent;border:none;width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s,color .15s;color:#64748b;flex-shrink:0;padding:0}.as-built-header-btn:hover{background:#e2e8f0;color:#334155}.as-built-header-btn.active{background:#dbeafe;color:#2563eb}.as-built-content{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:16px;background:#fff}.as-built-block{display:flex;flex-direction:column;gap:8px}.as-built-label{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.as-built-tags-flow{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.as-built-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;color:#475569;font-size:12px;font-weight:500;white-space:nowrap}.as-built-tag:hover{border-color:#cbd5e1;background:#f1f5f9;color:#334155}.as-built-tag.active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8;font-weight:600}.as-built-tag svg{flex-shrink:0;opacity:.85}.as-built-tag.active svg{opacity:1}.as-built-tag-custom{padding-right:4px}.as-built-tag-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:4px;background:transparent;border:none;cursor:pointer;color:#94a3b8;opacity:0;transition:opacity .15s,background-color .15s,color .15s;margin-left:2px;flex-shrink:0;position:relative;z-index:3}.as-built-tag:hover .as-built-tag-remove,.as-built-tag.active .as-built-tag-remove{opacity:1}.as-built-tag-remove:hover{background:#fee2e2;color:#dc2626}.as-built-tag.active .as-built-tag-remove:hover{background:#3b82f633;color:#1d4ed8}.as-built-tag-add{border-style:dashed;border-color:#cbd5e1;color:#94a3b8;background:transparent}.as-built-tag-add:hover{background:#f8fafc;border-color:#94a3b8;color:#64748b}.as-built-tag-input-container{display:inline-flex}.as-built-tag-input{padding:5px 10px;border:1px solid #3b82f6;border-radius:6px;font-size:12px;color:#111827;background:#fff;font-family:inherit;width:110px;transition:border-color .15s,box-shadow .15s}.as-built-tag-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #3b82f633;width:140px}.as-built-tag-input::-moz-placeholder{color:#94a3b8}.as-built-tag-input::placeholder{color:#94a3b8}.as-built-date-block{gap:6px}.as-built-date-field{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;transition:border-color .15s,background-color .15s;cursor:pointer;width:100%;text-align:left;font-family:inherit;font-size:12px;color:#334155}.as-built-date-field:hover{border-color:#cbd5e1;background:#f1f5f9}.as-built-date-field svg{flex-shrink:0;color:#94a3b8}.as-built-block .react-datepicker-wrapper input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;padding:0!important;border:none!important;margin:0!important}.react-datepicker-popper{z-index:10005!important}.react-datepicker__portal{z-index:10005!important;position:fixed!important;inset:0!important;pointer-events:none!important;display:flex!important;align-items:center!important;justify-content:center!important}.react-datepicker__portal .react-datepicker{pointer-events:all!important;position:relative!important;z-index:10005!important}.as-built-date-picker-calendar{border-radius:8px!important;border:1px solid #e2e8f0!important;box-shadow:0 10px 40px #0000001f!important;font-family:inherit!important;z-index:10005!important}.as-built-date-picker-calendar .react-datepicker__header{background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;border-radius:8px 8px 0 0!important;padding:10px 0!important}.as-built-date-picker-calendar .react-datepicker__current-month{color:#1e293b!important;font-weight:600!important;font-size:13px!important;padding-bottom:6px!important}.as-built-date-picker-calendar .react-datepicker__day-name{color:#64748b!important;font-weight:600!important;font-size:11px!important;width:32px!important;line-height:32px!important;margin:2px!important}.as-built-date-picker-calendar .react-datepicker__day{border-radius:6px!important;margin:2px!important;width:32px!important;line-height:32px!important;color:#334155!important;font-size:12px!important;transition:background-color .15s!important}.as-built-date-picker-calendar .react-datepicker__day:hover{background:#f1f5f9!important;color:#1e293b!important}.as-built-date-picker-calendar .react-datepicker__day--selected,.as-built-date-picker-calendar .react-datepicker__day--keyboard-selected{background:#3b82f6!important;color:#fff!important;font-weight:600!important}.as-built-date-picker-calendar .react-datepicker__day--selected:hover{background:#2563eb!important}.as-built-date-picker-calendar .react-datepicker__day--today{font-weight:600!important;background:#e2e8f0!important}.as-built-date-picker-calendar .react-datepicker__day--disabled{color:#cbd5e1!important;cursor:not-allowed!important}.as-built-date-picker-calendar .react-datepicker__navigation{top:14px!important}.as-built-date-picker-calendar .react-datepicker__navigation-icon:before{border-color:#64748b!important;border-width:2px 2px 0 0!important}.as-built-date-picker-calendar .react-datepicker__triangle{display:none!important}.as-built-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#cbd5e1;cursor:nwse-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s}.as-built-resize-handle:hover{color:#94a3b8}.as-built-content::-webkit-scrollbar{width:6px}.as-built-content::-webkit-scrollbar-track{background:transparent}.as-built-content::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.as-built-content::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.asbuilt-takeoff-panel{display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;border:2px solid #3b82f6}.asbuilt-takeoff-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(to right,#3b82f6,#06b6d4);color:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:12px}.asbuilt-takeoff-header h2{margin:0;font-size:16px;font-weight:600;flex:1}.asbuilt-takeoff-header-actions{display:flex;gap:8px;align-items:center}.asbuilt-takeoff-export{display:flex;align-items:center;gap:6px;background:#fff3;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;transition:background .2s;font-size:14px;font-weight:500}.asbuilt-takeoff-export span{color:#fff}.asbuilt-takeoff-export:hover{background:#ffffff4d}.asbuilt-takeoff-close{background:#fff3;border:none;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.asbuilt-takeoff-close:hover{background:#ffffff4d}.asbuilt-takeoff-content{flex:1;overflow:auto;position:relative}.asbuilt-takeoff-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8;padding:40px;text-align:center}.asbuilt-takeoff-empty p{margin:8px 0;font-size:15px}.asbuilt-takeoff-empty-hint{font-size:13px;color:#cbd5e1}.asbuilt-takeoff-table{width:100%;border-collapse:collapse;font-size:13px}.asbuilt-takeoff-table thead{position:sticky;top:0;z-index:10;background:#f8fafc}.asbuilt-takeoff-table th{padding:10px 12px;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0;white-space:nowrap;background:#f8fafc}.asbuilt-takeoff-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.asbuilt-takeoff-table th.sortable:hover{background:#f1f5f9}.asbuilt-takeoff-table th.sorted{color:#3b82f6}.asbuilt-takeoff-table th.grouped{background:#eff6ff}.asbuilt-takeoff-table .th-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.asbuilt-takeoff-table .th-indicators{display:flex;align-items:center;gap:4px;color:#3b82f6}.asbuilt-takeoff-table .th-remove-column{background:none;border:none;color:#94a3b8;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all .2s}.asbuilt-takeoff-table .th-remove-column:hover{background:#fee2e2;color:#ef4444}.asbuilt-takeoff-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#64748b}.asbuilt-takeoff-table tr:hover td{background:#f8fafc}.asbuilt-takeoff-table td.editing{padding:4px}.asbuilt-takeoff-table td input{width:100%;padding:6px 8px;border:2px solid #3b82f6;border-radius:4px;font-size:13px;font-family:inherit;color:#475569}.asbuilt-takeoff-table td input:focus{outline:none;border-color:#2563eb}.asbuilt-takeoff-table .level-select{padding:4px 8px;border:1px solid #e2e8f0;border-radius:4px;font-size:13px;color:#64748b;background:#fff;cursor:pointer;font-family:inherit}.asbuilt-takeoff-table .level-select:hover{border-color:#cbd5e1}.asbuilt-takeoff-table .level-select:focus{outline:none;border-color:#3b82f6}.asbuilt-takeoff-table .group-header td{background:#f1f5f9;font-weight:600;color:#475569;padding:8px 12px}.asbuilt-takeoff-table .group-header-content{display:flex;align-items:center;gap:8px}.asbuilt-takeoff-table .group-count{font-weight:400;color:#94a3b8;font-size:12px}.asbuilt-takeoff-table .group-item td{padding-left:32px}.asbuilt-takeoff-table .add-column-header{width:40px;padding:4px}.asbuilt-takeoff-table .add-column-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s;color:#94a3b8}.asbuilt-takeoff-table .add-column-button:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.asbuilt-takeoff-table .add-column-input-wrapper{padding:4px}.asbuilt-takeoff-table .add-column-input{width:120px;padding:4px 8px;border:2px solid #3b82f6;border-radius:4px;font-size:12px;font-family:inherit}.asbuilt-takeoff-table .add-column-input:focus{outline:none;border-color:#2563eb}.asbuilt-takeoff-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.asbuilt-takeoff-confirm-dialog{background:#fff;border-radius:12px;padding:24px;max-width:400px;box-shadow:0 20px 60px #0000004d}.asbuilt-takeoff-confirm-dialog h3{margin:0 0 12px;font-size:18px;color:#1e293b}.asbuilt-takeoff-confirm-dialog p{margin:0 0 20px;font-size:14px;color:#64748b;line-height:1.5}.asbuilt-takeoff-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.asbuilt-takeoff-confirm-cancel,.asbuilt-takeoff-confirm-ok{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.asbuilt-takeoff-confirm-cancel{background:#f1f5f9;color:#64748b}.asbuilt-takeoff-confirm-cancel:hover{background:#e2e8f0}.asbuilt-takeoff-confirm-ok{background:#3b82f6;color:#fff}.asbuilt-takeoff-confirm-ok:hover{background:#2563eb}.asbuilt-takeoff-resize-handle{position:absolute;bottom:0;right:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#cbd5e1;cursor:nwse-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.asbuilt-takeoff-resize-handle:hover{color:#94a3b8}.asbuilt-takeoff-content::-webkit-scrollbar{width:8px;height:8px}.asbuilt-takeoff-content::-webkit-scrollbar-track{background:#f1f5f9}.asbuilt-takeoff-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.asbuilt-takeoff-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.highlight-button.active{background:#dbeafe;border-color:#3b82f6;color:#3b82f6}.highlight-button.active:hover{background:#bfdbfe;border-color:#2563eb}.hazards-panel{display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000014;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;border:1px solid #e2e8f0}.hazards-header{display:flex;flex-direction:column;gap:0;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;color:#334155;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0;border-left:3px solid #ef4444}.hazards-header-row{display:flex;align-items:center;padding:0 14px;gap:8px}.hazards-header-title-row{padding:10px 12px 6px;justify-content:space-between;min-height:36px}.hazards-header-single-row .hazards-header-title-row{padding-bottom:10px}.hazards-header h2{margin:0;font-size:13px;font-weight:600;flex:1;display:flex;align-items:center;gap:6px;min-width:0;color:#1e293b}.hazards-header-drag-icon{flex-shrink:0;opacity:.7;color:#64748b}.hazards-header-close{width:26px;height:26px;flex-shrink:0;background:transparent;border:none;border-radius:6px;color:#64748b;cursor:pointer;transition:background-color .15s,color .15s}.hazards-header-close:hover{background:#e2e8f0;color:#334155}.hazards-header-toolbar,.hazards-header-actions{display:flex;align-items:center;gap:8px;padding:6px 12px 10px;flex-wrap:wrap}.hazards-header-group{display:flex;align-items:center;gap:4px;position:relative}.hazards-header-group+.hazards-header-group{margin-left:8px;padding-left:8px;border-left:1px solid #e2e8f0}.hazards-header-group-view .hazards-header-btn{width:26px;height:26px}.hazards-header-btn{background:transparent;border:none;height:26px;min-width:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:background-color .15s,color .15s;flex-shrink:0;padding:0 6px;color:#64748b;font-size:12px;font-weight:500}.hazards-header-btn:hover{background:#e2e8f0;color:#334155}.hazards-header-btn.active{background:#fee2e2;color:#b91c1c}.hazards-header-btn-primary{padding:0 10px;font-weight:600}.hazards-header-btn-primary.active{background:#fee2e2;color:#b91c1c}.hazards-content{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:16px;background:#fff}.hazards-section{display:flex;flex-direction:column;gap:10px}.hazards-section h3{margin:0;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.hazards-form{display:flex;flex-direction:column;gap:12px}.hazards-form-group{display:flex;flex-direction:column;gap:6px}.hazards-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hazards-form-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.hazards-input,.hazards-textarea,.hazards-select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#334155;background:#fff;transition:border-color .15s;font-family:inherit}.hazards-input:hover,.hazards-textarea:hover,.hazards-select:hover{border-color:#cbd5e1}.hazards-input:focus,.hazards-textarea:focus,.hazards-select:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 2px #ef444426}.hazards-textarea{resize:vertical;min-height:60px}.hazards-select{cursor:pointer}.hazards-form-actions{display:flex;gap:8px;margin-top:8px}.hazards-submit-btn{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.hazards-submit-btn:hover{background:#dc2626}.hazards-cancel-btn{padding:8px 16px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.hazards-cancel-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.hazards-list{display:flex;flex-direction:column;gap:8px}.hazards-list-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;transition:background-color .15s,border-color .15s}.hazards-list-item:hover{background:#f1f5f9;border-color:#e2e8f0}.hazards-list-item-content{display:flex;flex-direction:column;gap:8px}.hazards-list-item-header{display:flex;justify-content:space-between;align-items:center}.hazards-list-item-header>div{display:flex;align-items:center;gap:8px}.hazards-list-item-header strong{font-size:13px;color:#1e293b}.hazards-status-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.hazards-status-open{background:#fee2e2;color:#991b1b}.hazards-status-in-progress{background:#fef3c7;color:#92400e}.hazards-status-resolved{background:#d1fae5;color:#065f46}.hazards-status-closed{background:#e5e7eb;color:#374151}.hazards-list-item-actions{display:flex;gap:4px}.hazards-action-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s,color .15s}.hazards-action-btn:hover{background:#e2e8f0;color:#334155}.hazards-list-item-description{font-size:12px;color:#64748b;line-height:1.4}.hazards-list-item-meta{display:flex;gap:12px;font-size:11px;color:#94a3b8;flex-wrap:wrap}.hazards-empty{text-align:center;padding:24px 16px;color:#94a3b8;font-size:13px}.hazards-table-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:6px}.hazards-table{width:100%;border-collapse:collapse;font-size:12px}.hazards-table thead{background:#f8fafc}.hazards-table th{padding:8px 12px;text-align:left;font-weight:600;color:#64748b;border-bottom:1px solid #e2e8f0;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.hazards-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;color:#334155}.hazards-table tbody tr:hover{background:#f8fafc}.hazards-table td:last-child{display:flex;gap:4px}.hazards-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#cbd5e1;cursor:nwse-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s}.hazards-resize-handle:hover{color:#94a3b8}.hazards-content::-webkit-scrollbar{width:6px}.hazards-content::-webkit-scrollbar-track{background:transparent}.hazards-content::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.hazards-content::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.site-diary-panel.hazards-panel .hazards-header{border-left-color:#0284c7}.site-diary-panel .hazards-header-btn.active{background:#e0f2fe;color:#0369a1}.site-diary-panel .hazards-input:focus,.site-diary-panel .hazards-textarea:focus,.site-diary-panel .hazards-select:focus{border-color:#0284c7;box-shadow:0 0 0 2px #0284c733}.site-diary-ai-bar{flex-shrink:0}.site-diary-meta-footer{margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0;font-size:11px;color:#64748b}.estimate-panel{display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000014;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;border:1px solid #e2e8f0}.estimate-header{background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-left:3px solid #10b981}.estimate-header-content{display:flex;justify-content:space-between;align-items:center;padding:10px 14px}.estimate-header h2{margin:0;font-size:13px;font-weight:600;color:#1e293b;letter-spacing:-.01em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.estimate-header-actions{display:flex;gap:4px;align-items:center}.estimate-header-btn{background:transparent;border:none;width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s,color .15s;color:#64748b;flex-shrink:0;padding:0}.estimate-header-btn:hover{background:#e2e8f0;color:#334155}.estimate-header-btn.active{background:#d1fae5;color:#059669}.estimate-content{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:16px;background:#fff}.estimate-block{display:flex;flex-direction:column;gap:8px}.estimate-label{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.estimate-subtype-row{display:flex;gap:8px;align-items:center}.estimate-subtype-input{flex:1;padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px}.estimate-subtype-pick-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:11px;color:#64748b;white-space:nowrap}.estimate-subtype-pick-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.estimate-subtype-pick-btn.active{background:#dbeafe;border-color:#3b82f6;color:#2563eb}.estimate-tags-flow{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.estimate-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;color:#475569;font-size:12px;font-weight:500;white-space:nowrap}.estimate-tag:hover{border-color:#cbd5e1;background:#f1f5f9;color:#334155}.estimate-tag.active{background:#ecfdf5;border-color:#10b981;color:#047857;font-weight:600}.estimate-tag svg{flex-shrink:0;opacity:.85}.estimate-tag.active svg{opacity:1}.estimate-tag-custom{padding-right:4px}.estimate-tag-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:4px;background:transparent;border:none;cursor:pointer;color:#94a3b8;opacity:0;transition:opacity .15s,background-color .15s,color .15s;margin-left:2px;flex-shrink:0;position:relative;z-index:3}.estimate-tag:hover .estimate-tag-remove,.estimate-tag.active .estimate-tag-remove{opacity:1}.estimate-tag-remove:hover{background:#fee2e2;color:#dc2626}.estimate-tag.active .estimate-tag-remove:hover{background:#10b98126;color:#047857}.estimate-tag-add{border-style:dashed;border-color:#cbd5e1;color:#94a3b8;background:transparent}.estimate-tag-add:hover{background:#f8fafc;border-color:#94a3b8;color:#64748b}.estimate-tag-input-container{display:inline-flex}.estimate-tag-input{padding:5px 10px;border:1px solid #10b981;border-radius:6px;font-size:12px;color:#111827;background:#fff;font-family:inherit;width:110px;transition:border-color .15s,box-shadow .15s}.estimate-tag-input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 2px #10b98133;width:140px}.estimate-tag-input::-moz-placeholder{color:#94a3b8}.estimate-tag-input::placeholder{color:#94a3b8}.estimate-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#cbd5e1;cursor:nwse-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s}.estimate-resize-handle:hover{color:#94a3b8}.estimate-content::-webkit-scrollbar{width:6px}.estimate-content::-webkit-scrollbar-track{background:transparent}.estimate-content::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.estimate-content::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.estimate-takeoff-panel{display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;border:2px solid #10b981}.estimate-takeoff-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(to right,#10b981,#059669);color:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:12px}.estimate-takeoff-header h2{margin:0;font-size:16px;font-weight:600;flex:1}.estimate-takeoff-header-actions{display:flex;gap:8px;align-items:center}.estimate-takeoff-export{display:flex;align-items:center;gap:6px;background:#fff3;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;transition:background .2s;font-size:14px;font-weight:500}.estimate-takeoff-export span{color:#fff}.estimate-takeoff-export:hover{background:#ffffff4d}.estimate-takeoff-close{background:#fff3;border:none;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.estimate-takeoff-close:hover{background:#ffffff4d}.estimate-takeoff-content{flex:1;overflow:auto;position:relative}.estimate-takeoff-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8;padding:40px;text-align:center}.estimate-takeoff-empty p{margin:8px 0;font-size:15px}.estimate-takeoff-empty-hint{font-size:13px;color:#cbd5e1}.estimate-takeoff-table{width:100%;border-collapse:collapse;font-size:13px}.estimate-takeoff-table thead{position:sticky;top:0;z-index:10;background:#f8fafc}.estimate-takeoff-table th{padding:10px 12px;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0;white-space:nowrap;background:#f8fafc}.estimate-takeoff-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.estimate-takeoff-table th.sortable:hover{background:#f1f5f9}.estimate-takeoff-table th.sorted{color:#10b981}.estimate-takeoff-table th.grouped{background:#f0fdf4}.estimate-takeoff-table .th-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.estimate-takeoff-table .th-indicators{display:flex;align-items:center;gap:4px;color:#10b981}.estimate-takeoff-table .th-remove-column{background:none;border:none;color:#94a3b8;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all .2s}.estimate-takeoff-table .th-remove-column:hover{background:#fee2e2;color:#ef4444}.estimate-takeoff-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#64748b}.estimate-takeoff-table tr:hover td{background:#f8fafc}.estimate-takeoff-table td.editing{padding:4px}.estimate-takeoff-table td input{width:100%;padding:6px 8px;border:2px solid #10b981;border-radius:4px;font-size:13px;font-family:inherit;color:#475569}.estimate-takeoff-table td input:focus{outline:none;border-color:#059669}.estimate-takeoff-table .level-select{padding:4px 8px;border:1px solid #e2e8f0;border-radius:4px;font-size:13px;color:#64748b;background:#fff;cursor:pointer;font-family:inherit}.estimate-takeoff-table .level-select:hover{border-color:#cbd5e1}.estimate-takeoff-table .level-select:focus{outline:none;border-color:#10b981}.estimate-takeoff-table .group-header td{background:#f1f5f9;font-weight:600;color:#475569;padding:8px 12px}.estimate-takeoff-table .group-header-content{display:flex;align-items:center;gap:8px}.estimate-takeoff-table .group-count{font-weight:400;color:#94a3b8;font-size:12px}.estimate-takeoff-table .group-item td{padding-left:32px}.estimate-takeoff-table .add-column-header{width:40px;padding:4px}.estimate-takeoff-table .add-column-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s;color:#94a3b8}.estimate-takeoff-table .add-column-button:hover{background:#f8fafc;border-color:#10b981;color:#10b981}.estimate-takeoff-table .add-column-input-wrapper{padding:4px}.estimate-takeoff-table .add-column-input{width:120px;padding:4px 8px;border:2px solid #10b981;border-radius:4px;font-size:12px;font-family:inherit}.estimate-takeoff-table .add-column-input:focus{outline:none;border-color:#059669}.estimate-takeoff-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.estimate-takeoff-confirm-dialog{background:#fff;border-radius:12px;padding:24px;max-width:400px;box-shadow:0 20px 60px #0000004d}.estimate-takeoff-confirm-dialog h3{margin:0 0 12px;font-size:18px;color:#1e293b}.estimate-takeoff-confirm-dialog p{margin:0 0 20px;font-size:14px;color:#64748b;line-height:1.5}.estimate-takeoff-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.estimate-takeoff-confirm-cancel,.estimate-takeoff-confirm-ok{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.estimate-takeoff-confirm-cancel{background:#f1f5f9;color:#64748b}.estimate-takeoff-confirm-cancel:hover{background:#e2e8f0}.estimate-takeoff-confirm-ok{background:#10b981;color:#fff}.estimate-takeoff-confirm-ok:hover{background:#059669}.estimate-takeoff-resize-handle{position:absolute;bottom:0;right:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#cbd5e1;cursor:nwse-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.estimate-takeoff-resize-handle:hover{color:#94a3b8}.estimate-takeoff-content::-webkit-scrollbar{width:8px;height:8px}.estimate-takeoff-content::-webkit-scrollbar-track{background:#f1f5f9}.estimate-takeoff-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.estimate-takeoff-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.highlight-button{display:flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:6px 12px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:500;color:#64748b;font-family:inherit;white-space:nowrap}.highlight-button:hover{background:#e2e8f0;border-color:#cbd5e1;color:#475569}.highlight-button.active{background:#dcfce7;border-color:#10b981;color:#10b981}.highlight-button.active:hover{background:#bbf7d0;border-color:#059669}.highlight-button svg{flex-shrink:0}.embed-popout-backdrop{position:fixed;inset:0;background:#00000059;z-index:1700;display:flex;align-items:center;justify-content:center}.embed-popout{width:min(1100px,92vw);height:min(780px,90vh);background:#fff;color-scheme:light;color:#111827;border-radius:10px;box-shadow:0 14px 48px #0000003d;display:flex;flex-direction:column;overflow:hidden}.embed-popout-header,.embed-popout-footer{padding:12px 16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.embed-popout-footer{border-top:1px solid #e5e7eb;border-bottom:none}.embed-popout-body{padding:12px 16px;display:grid;grid-template-columns:repeat(2,minmax(180px,260px)) 1fr;gap:12px;overflow:hidden;flex:1}.embed-popout-body label{display:flex;flex-direction:column;gap:6px;font-size:13px}.embed-selection-grid label{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left}.embed-popout-body select{height:34px;border:1px solid #d1d5db;border-radius:6px;padding:0 8px;background:#fff;color:inherit}.embed-popout button{border-radius:8px;border:1px solid #d1d5db;background:#f9fafb;color:inherit}.embed-popout button:hover{background:#f3f4f6;border-color:#9ca3af}.embed-popout button:disabled{opacity:.5;cursor:not-allowed}.embed-popout-header button,.embed-popout-footer button{padding:8px 12px}.embed-popout-body input{background:#fff;color:inherit}.embed-selection-grid{grid-column:1 / 3;display:grid;grid-template-columns:minmax(140px,1fr) minmax(200px,1.4fr);gap:10px;min-height:0}.embed-columns-picker,.embed-rows-picker,.embed-preview{border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px;overflow:auto}.embed-rows-picker{display:flex;flex-direction:column;min-height:0}.embed-rows-list{flex:1;min-height:0;overflow-y:auto}.embed-rows-list .embed-picker-row{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;text-align:left;width:100%;box-sizing:border-box}.embed-preview{grid-column:3 / 4;grid-row:1 / span 2}.embed-picker-title{font-size:12px;font-weight:600;color:#374151;margin-bottom:6px;flex-shrink:0}.embed-picker-item{display:flex;align-items:center;gap:6px;margin-bottom:2px;font-size:12px}.embed-picker-row{display:flex;align-items:center;gap:6px;min-height:36px;padding:8px 16px 8px 0;border-bottom:1px solid #f9fafb;cursor:pointer;transition:background-color .15s;font-size:13px}.embed-picker-row:hover{background-color:#f9fafb}.embed-picker-row-selected{background-color:#eff6ff}.embed-picker-row-selected:hover{background-color:#dbeafe}.embed-row-spacer{width:20px;flex-shrink:0}.embed-row-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.embed-row-expand-btn{flex-shrink:0;width:20px;height:20px;padding:0;font-size:10px;line-height:1;border:none;background:transparent;cursor:pointer;color:#6b7280}.embed-row-expand-btn:hover{color:#374151}.embed-preview table{border-collapse:collapse;font-size:12px;width:-moz-max-content;width:max-content;min-width:100%}.embed-preview th,.embed-preview td{border:1px solid #e5e7eb;padding:4px 8px;white-space:nowrap}.embed-preview-th-row-label{font-weight:600;background:#f9fafb}.embed-preview-td-row-label{display:flex;align-items:center;gap:6px}.embed-preview-td-row-label .embed-row-expand-btn{flex-shrink:0;width:18px;height:18px;padding:0;font-size:10px;line-height:1;border:none;background:transparent;cursor:pointer;color:#6b7280}.embed-preview-td-row-label .embed-row-expand-btn:hover{color:#374151}.embed-preview-td-row-label .embed-row-spacer{display:inline-block;width:18px;flex-shrink:0}.embed-preview-th-draggable{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embed-preview-th-draggable.embed-preview-th-dragging{opacity:.5}.embed-preview td.embed-cell-selected{background:#dbeafe}.insert-from-markup-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1200}.insert-from-markup-dialog{background:#fff;border-radius:10px;box-shadow:0 12px 28px #0003;max-width:520px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.insert-from-markup-dialog.insert-from-markup-compact{max-width:600px}.insert-from-markup-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.insert-from-markup-header h3{margin:0;font-size:13px;font-weight:600;color:#0f172a}.insert-from-markup-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#64748b}.insert-from-markup-close:hover{background:#f1f5f9;color:#475569}.insert-from-markup-empty{padding:16px;text-align:center;color:#64748b;font-size:12px}.insert-from-markup-table-wrap{flex:1;overflow:auto}.insert-from-markup-table{width:100%;border-collapse:collapse;font-size:11px}.insert-from-markup-th-name,.insert-from-markup-td-name{position:sticky;left:0;background:#f8fafc;z-index:1}.insert-from-markup-th-name{padding:6px 8px;text-align:left;font-weight:600;color:#475569;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;min-width:80px}.insert-from-markup-th-field{padding:6px;text-align:center;font-weight:600;color:#64748b;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;min-width:48px}.insert-from-markup-td-name{padding:4px 8px;color:#334155;border-right:1px solid #e2e8f0;border-bottom:1px solid #f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.insert-from-markup-cell{padding:4px 6px;text-align:center;color:#334155;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}.insert-from-markup-cell:hover{background:#eff6ff}.insert-from-markup-dialog.embed-popout{max-width:none}.insert-from-markup-dialog.insert-from-markup-resizable{position:relative}.insert-from-markup-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;background:linear-gradient(135deg,transparent 50%,#94a3b8 50%);border-radius:0 0 10px;cursor:nwse-resize;z-index:10}.insert-from-markup-resize-handle:hover{background:linear-gradient(135deg,transparent 50%,#64748b 50%)}.insert-from-markup-preview-table{border-collapse:collapse;font-size:12px;width:-moz-max-content;width:max-content;min-width:100%}.insert-from-markup-preview-table th,.insert-from-markup-preview-table td{border:1px solid #e5e7eb;padding:4px 8px;white-space:nowrap;cursor:default}.insert-from-markup-preview-table.insert-cells-mode tbody td{cursor:pointer}.insert-selection-count{font-weight:400;color:#64748b;font-size:12px}.estimate-workbook-panel{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}.estimate-workbook-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.estimate-workbook-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#0f172a}.estimate-workbook-title svg{color:#64748b}.estimate-workbook-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#94a3b8;transition:color .15s,background .15s}.estimate-workbook-close:hover{background:#f1f5f9;color:#475569}.estimate-workbook-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.estimate-workbook-insert-markup{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569;cursor:pointer;transition:background .15s,border-color .15s}.estimate-workbook-insert-markup:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;color:#1e40af}.estimate-workbook-insert-markup:disabled{opacity:.5;cursor:not-allowed}.estimate-workbook-cell-ref{min-width:48px;font-size:12px;font-weight:600;color:#64748b}.estimate-workbook-io-error{padding:6px 12px;font-size:12px;color:#991b1b;background:#fef2f2;border-bottom:1px solid #fecaca;flex-shrink:0}.estimate-workbook-sheets{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0;overflow-x:auto}.estimate-workbook-sheet-tab-wrap{display:inline-flex;align-items:center;gap:2px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;transition:border-color .15s}.estimate-workbook-sheet-tab-wrap.active{border-color:#3b82f6}.estimate-workbook-sheet-tab{padding:6px 8px 6px 12px;font-size:12px;border:none;border-radius:0;background:transparent;color:#475569;cursor:pointer;white-space:nowrap;transition:background .15s}.estimate-workbook-sheet-tab-wrap:hover .estimate-workbook-sheet-tab{background:#f1f5f9}.estimate-workbook-sheet-tab-wrap.active .estimate-workbook-sheet-tab{background:#fff;color:#1e40af;font-weight:600}.estimate-workbook-sheet-tab-delete{display:flex;align-items:center;justify-content:center;width:20px;height:24px;padding:0;margin:0 4px 0 0;border:none;border-radius:4px;background:transparent;color:#94a3b8;cursor:pointer;transition:color .15s,background .15s}.estimate-workbook-sheet-tab-delete:hover{background:#fee2e2;color:#dc2626}.estimate-workbook-sheet-tab-wrap:hover .estimate-workbook-sheet-tab-delete{color:#94a3b8}.estimate-workbook-add-sheet,.estimate-workbook-remove-sheet{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px dashed #cbd5e1;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;transition:color .15s,border-color .15s}.estimate-workbook-add-sheet:hover,.estimate-workbook-remove-sheet:hover{border-color:#94a3b8;color:#475569}.estimate-workbook-grid-wrap{flex:1;overflow:auto;outline:none}.estimate-workbook-fortunesheet-wrap{overflow:hidden}.estimate-workbook-loading{padding:12px;font-size:13px;color:#64748b}.estimate-workbook-fortunesheet{width:100%;height:100%}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu{border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 18px 35px #0f172a2e;padding:6px;background:#fff;color:#0f172a;font-size:13px;min-width:240px}.estimate-workbook-fortunesheet .fortune-context-menu-divider{margin:6px 4px;background-color:#e2e8f0}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem{padding:0;margin:0}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:#334155;line-height:1.1}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem:hover,.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem-hover{background:transparent}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem:hover .luckysheet-cols-menuitem-content,.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem-hover .luckysheet-cols-menuitem-content{background:#f1f5f9;color:#0f172a}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem:active .luckysheet-cols-menuitem-content{background:#e2e8f0}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem .luckysheet-cols-menuitem-content:before{content:"";width:16px;height:16px;flex:0 0 16px;background-color:#64748b;mask-repeat:no-repeat;mask-position:center;mask-size:16px 16px;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:16px 16px;opacity:.95}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem:hover .luckysheet-cols-menuitem-content:before,.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem-hover .luckysheet-cols-menuitem-content:before{background-color:#475569}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=copy] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=paste] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21H9a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2Z'/%3E%3Cpath d='M12 3h2a2 2 0 0 1 2 2v0'/%3E%3Cpath d='M8 3h2a2 2 0 0 1 2 2v0'/%3E%3Crect x='9' y='1' width='6' height='4' rx='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21H9a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2Z'/%3E%3Cpath d='M12 3h2a2 2 0 0 1 2 2v0'/%3E%3Cpath d='M8 3h2a2 2 0 0 1 2 2v0'/%3E%3Crect x='9' y='1' width='6' height='4' rx='1'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=row_above] .luckysheet-cols-menuitem-content:before,.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=row_below] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=col_left] .luckysheet-cols-menuitem-content:before,.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=col_right] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M7 5h10'/%3E%3Cpath d='M7 19h10'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M7 5h10'/%3E%3Cpath d='M7 19h10'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=clear] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M6 6l1 16h10l1-16'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M6 6l1 16h10l1-16'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=sort_asc] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5h10'/%3E%3Cpath d='M11 9h7'/%3E%3Cpath d='M11 13h4'/%3E%3Cpath d='M3 17l3 3 3-3'/%3E%3Cpath d='M6 4v16'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5h10'/%3E%3Cpath d='M11 9h7'/%3E%3Cpath d='M11 13h4'/%3E%3Cpath d='M3 17l3 3 3-3'/%3E%3Cpath d='M6 4v16'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=sort_desc] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5h4'/%3E%3Cpath d='M11 9h7'/%3E%3Cpath d='M11 13h10'/%3E%3Cpath d='M3 7l3-3 3 3'/%3E%3Cpath d='M6 4v16'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5h4'/%3E%3Cpath d='M11 9h7'/%3E%3Cpath d='M11 13h10'/%3E%3Cpath d='M3 7l3-3 3 3'/%3E%3Cpath d='M6 4v16'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=filter] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9v7l4 2v-9l8-9Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9v7l4 2v-9l8-9Z'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=image] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem[data-fs-menu-action=link] .luckysheet-cols-menuitem-content:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 1 0-7l1-1a5 5 0 0 1 7 7l-1 1'/%3E%3Cpath d='M14 11a5 5 0 0 1 0 7l-1 1a5 5 0 0 1-7-7l1-1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 1 0-7l1-1a5 5 0 0 1 7 7l-1 1'/%3E%3Cpath d='M14 11a5 5 0 0 1 0 7l-1 1a5 5 0 0 1-7-7l1-1'/%3E%3C/svg%3E")}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem:not([data-fs-menu-action]) .luckysheet-cols-menuitem-content:before{display:none}.estimate-workbook-fortunesheet .fortune-context-menu.luckysheet-cols-menu .luckysheet-cols-menuitem:not([data-fs-menu-action]) .luckysheet-cols-menuitem-content{padding-left:10px;gap:0}.estimate-workbook-grid{border-collapse:collapse;font-size:12px}.estimate-workbook-corner{width:36px;min-width:36px;background:#f1f5f9;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.estimate-workbook-grid th{background:#f8fafc;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:4px 8px;text-align:center;font-weight:600;color:#64748b;position:sticky;top:0;z-index:1}.estimate-workbook-col-header{position:relative}.estimate-workbook-col-header-inner{display:flex;align-items:center;justify-content:center;gap:4px}.estimate-workbook-col-menu-btn{display:flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#94a3b8}.estimate-workbook-col-menu-btn:hover{background:#e2e8f0;color:#475569}.estimate-workbook-col-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:2px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:4px;z-index:20;min-width:120px}.estimate-workbook-col-menu button{display:block;width:100%;padding:6px 10px;border:none;background:transparent;text-align:left;font-size:12px;cursor:pointer;border-radius:4px;color:#334155}.estimate-workbook-col-menu button:hover{background:#f1f5f9}.estimate-workbook-row-header{background:#f8fafc;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:0 8px;text-align:right;font-size:11px;color:#64748b;min-width:36px;position:sticky;left:0;z-index:1}.estimate-workbook-cell{border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:2px 6px;color:#334155;cursor:cell;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-workbook-cell:hover{background:#f8fafc}.estimate-workbook-cell.selected{background:#eff6ff;outline:2px solid #3b82f6;outline-offset:-2px;z-index:0}.estimate-workbook-cell.formula-ref{background:#fef3c7;outline:1px solid #f59e0b;outline-offset:-1px}.estimate-workbook-panel.draggable-resizable{display:flex;flex-direction:column;overflow:hidden}.estimate-workbook-panel .estimate-workbook-header{cursor:grab}.estimate-workbook-panel .estimate-workbook-header:active{cursor:grabbing}.estimate-workbook-grip{opacity:.6;margin-right:4px}.estimate-workbook-resize-handle{position:absolute;bottom:0;right:0;width:16px;height:16px;background:linear-gradient(135deg,transparent 50%,#cbd5e1 50%);cursor:nwse-resize;z-index:10}.estimate-workbook-resize-scrim{position:fixed;inset:0;z-index:1099;background:transparent;cursor:nwse-resize;pointer-events:all}.share-password-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.share-password-dialog{background:#fff;border-radius:8px;width:90%;max-width:400px;box-shadow:0 4px 20px #0003}.share-password-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #e5e5e5}.share-password-header h2{margin:0;font-size:18px;font-weight:600;color:#333;flex:1}.share-password-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px}.share-password-close:hover{background:#f0f0f0}.share-password-form{padding:20px;display:flex;flex-direction:column;gap:16px}.share-password-message{margin:0;font-size:14px;color:#666;line-height:1.5}.share-password-error{padding:10px;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:14px}.share-password-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;color:#333;background:#fff}.share-password-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.share-password-actions{display:flex;gap:12px;justify-content:flex-end}.share-password-cancel{padding:8px 16px;background:#f0f0f0;color:#333;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.share-password-cancel:hover{background:#e0e0e0}.share-password-submit{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.share-password-submit:hover:not(:disabled){background:#0056b3}.share-password-submit:disabled{opacity:.6;cursor:not-allowed}.project-setup-dialog-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.project-setup-dialog{background:#fff;border-radius:8px;padding:24px;min-width:450px;max-width:550px;box-shadow:0 4px 6px #0000001a;position:relative;margin:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:#111827;display:flex;flex-direction:column;max-height:90vh}.project-setup-dialog-header{margin-bottom:20px}.project-setup-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.project-setup-dialog-tabs{display:flex;gap:8px;margin-bottom:20px;padding:4px;background:#f5f5f5;border-radius:8px;border:1px solid #e5e7eb}.project-setup-tab{padding:10px 20px;border:none;background:transparent;color:#374151;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s ease;flex:1}.project-setup-tab:hover{background:#f3f4f6;color:#1f2937}.project-setup-tab.active{background:#3b82f6;color:#fff}.project-setup-tab.active:hover{background:#2563eb;color:#fff}.project-setup-dialog-content{flex:1;overflow-y:auto;min-height:200px}.project-setup-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.project-setup-dialog-cancel,.project-setup-dialog-back,.project-setup-dialog-next,.project-setup-dialog-confirm{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.project-setup-dialog-cancel{background-color:#f3f4f6;color:#374151}.project-setup-dialog-cancel:hover{background-color:#e5e7eb}.project-setup-dialog-back{background-color:#f3f4f6;color:#374151}.project-setup-dialog-back:hover{background-color:#e5e7eb}.project-setup-dialog-next,.project-setup-dialog-confirm{background-color:#3b82f6;color:#fff}.project-setup-dialog-next:hover,.project-setup-dialog-confirm:hover{background-color:#2563eb}.project-setup-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.project-setup-field label{font-weight:500;font-size:14px;color:#374151;display:block;margin-bottom:4px}.project-setup-field input[type=text],.project-setup-field input[type=number]{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box;background-color:#fff;color:#111827;-moz-appearance:textfield}.project-setup-field input[type=text]::-webkit-inner-spin-button,.project-setup-field input[type=text]::-webkit-outer-spin-button,.project-setup-field input[type=number]::-webkit-inner-spin-button,.project-setup-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.project-setup-field input[type=text]:focus,.project-setup-field input[type=number]:focus{outline:none;border-color:#9333ea;box-shadow:0 0 0 3px #9333ea33}.project-setup-summary{padding:12px;background-color:#f5f5f5;border-radius:4px;font-size:14px;text-align:center;margin-top:8px;color:#374151;font-weight:500}.slider-container{display:flex;align-items:center;gap:12px;min-height:18px}.project-setup-slider{flex:1;height:18px;border-radius:3px;background:transparent;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;padding:0;box-sizing:border-box}.project-setup-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#e5e7eb;margin-top:6px;margin-bottom:6px}.project-setup-slider::-moz-range-track{height:6px;border-radius:3px;background:#e5e7eb}.project-setup-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#3b82f6;border:2px solid #3b82f6;cursor:pointer;box-shadow:0 2px 4px #0003;-webkit-transition:all .15s ease;transition:all .15s ease;margin-top:-6px}.project-setup-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 8px #3b82f666;background:#2563eb;border-color:#2563eb}.project-setup-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#3b82f6;border:2px solid #3b82f6;cursor:pointer;box-shadow:0 2px 4px #0003;-moz-transition:all .15s ease;transition:all .15s ease}.project-setup-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 8px #3b82f666;background:#2563eb;border-color:#2563eb}.project-setup-slider-input{width:60px;padding:6px 8px;border:1px solid #e5e7eb;border-radius:4px;font-size:14px;text-align:center;background-color:#fff;color:#111827;-moz-appearance:textfield}.project-setup-slider-input::-webkit-inner-spin-button,.project-setup-slider-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.project-setup-slider-input:focus{outline:none;border-color:#9333ea;box-shadow:0 0 0 3px #9333ea33}.slider-value{font-size:14px;font-weight:600;color:#374151;min-width:32px;text-align:center;line-height:18px;display:flex;align-items:center;justify-content:center}.drawing-types-list{margin-top:16px}.drawing-types-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.drawing-types-list-header label{font-weight:500;font-size:14px;color:#374151}.drawing-type-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background-color:#3b82f6;color:#fff;cursor:pointer;transition:background-color .2s}.drawing-type-add-btn:hover{background-color:#2563eb}.drawing-type-item{display:flex;gap:8px;align-items:center;margin-bottom:8px}.drawing-type-name-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;box-sizing:border-box;background-color:#fff;color:#111827}.drawing-type-name-input:focus{outline:none;border-color:#9333ea;box-shadow:0 0 0 3px #9333ea33}.drawing-type-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background-color:#ef4444;color:#fff;cursor:pointer;transition:background-color .2s}.drawing-type-remove-btn:hover{background-color:#dc2626}.drawing-types-actions{display:flex;gap:8px;margin-bottom:16px}.project-setup-csv-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;background-color:#3b82f6;color:#fff}.project-setup-csv-btn:hover{background-color:#2563eb}.project-setup-csv-btn svg{width:16px;height:16px}.project-setup-none-btn{padding:8px 16px;border:1px solid #e5e7eb;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;background-color:#f3f4f6;color:#374151}.project-setup-none-btn:hover{background-color:#e5e7eb;border-color:#d1d5db}.project-setup-error{padding:10px 12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:13px;margin-bottom:16px}.drawing-types-empty{padding:20px;text-align:center;color:#6b7280;font-size:14px;background-color:#f5f5f5;border-radius:4px;border:1px dashed #e5e7eb}@media(max-width:768px){.project-setup-dialog{min-width:auto;width:calc(100% - 40px);max-width:calc(100% - 40px);margin:20px}.project-setup-dialog-cancel,.project-setup-dialog-back,.project-setup-dialog-next,.project-setup-dialog-confirm{min-height:44px;padding:12px 24px;font-size:16px;flex:1}}.pdf-importer{display:inline-block}.pdf-importer-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#10b981;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.pdf-importer-button:hover:not(:disabled){background-color:#059669}.pdf-importer-button:disabled{background-color:#9ca3af;cursor:not-allowed}.pdf-importer-button.compact{width:32px;height:32px;padding:0;gap:0;justify-content:center;background-color:#3b82f6}.pdf-importer-button.compact:hover:not(:disabled){background-color:#2563eb}.pdf-importer-button.compact:disabled{background-color:#93c5fd}.pdf-importer-spinner{animation:pdf-importer-spin .8s linear infinite}@keyframes pdf-importer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drawing-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.drawing-selector{background:#fff;border-radius:8px;width:90%;max-width:600px;height:80vh;max-height:600px;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026;color:#333}.drawing-selector-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5;flex-shrink:0}.drawing-selector-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.drawing-selector-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;transition:background-color .15s ease}.drawing-selector-close:hover{background:#f0f0f0}.drawing-selector-toolbar{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e5e5;flex-shrink:0}.drawing-selector-search{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f5f5f5;border-radius:6px;border:1px solid #e0e0e0}.drawing-selector-search svg{color:#666;flex-shrink:0}.drawing-selector-title-mode{display:flex;align-items:center;gap:6px}.drawing-selector-title-mode-label{font-size:13px;color:#666}.drawing-selector-title-mode select{padding:6px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;background:#fff;cursor:pointer}.drawing-selector-search input{flex:1;border:none;background:none;outline:none;font-size:14px;color:#333}.drawing-selector-upload-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .15s ease}.drawing-selector-upload-btn:hover:not(:disabled){background:#0056b3}.drawing-selector-upload-btn:disabled{opacity:.6;cursor:not-allowed}.drawing-selector-content{flex:1;overflow:auto;padding:12px}.drawing-selector-loading,.drawing-selector-empty{padding:40px 20px;text-align:center;color:#666;font-size:14px}.drawing-selector-list{display:flex;flex-direction:column;gap:8px}.drawing-selector-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;cursor:pointer;transition:background-color .15s ease;border:1px solid transparent}.drawing-selector-item:hover{background:#f5f5f5;border-color:#e0e0e0}.drawing-selector-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#6b7280}.drawing-selector-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.drawing-selector-item-title{font-weight:500;font-size:15px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawing-selector-item-meta{font-size:12px;color:#6b7280}.zone-manager{background:#fff;border:2px solid #64748b;border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d,0 0 20px #64748b66;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.zone-manager.draggable-resizable{resize:none}.zone-manager-header{padding:14px 20px;border-bottom:1px solid #e5e7eb;position:relative;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to right,#475569,#64748b);color:#fff}.zone-manager-header h3{flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.zone-manager-header-actions{display:flex;gap:8px;align-items:center;position:relative;z-index:1}.zone-manager-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;background:#e5e7eb;border-top-left-radius:8px;display:flex;align-items:center;justify-content:center;cursor:nwse-resize;z-index:10;opacity:.7;transition:opacity .2s}.zone-manager-resize-handle:hover{opacity:1;background:#d1d5db}.zone-manager-header h3{margin:0;font-size:14px;font-weight:600;color:#fff}.zone-manager-header-actions{display:flex;align-items:center;gap:8px}.zone-manager-view-toggle{display:flex;gap:4px;background:#fff3;border-radius:4px;padding:2px}.zone-manager-view-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:3px;background:#fff3;color:#fff;cursor:pointer;transition:background-color .2s,color .2s}.zone-manager-view-btn:hover{background-color:#ffffff4d;color:#fff}.zone-manager-view-btn.active{background-color:#fff6;color:#fff;box-shadow:0 0 0 2px #ffffff80}.zone-manager-create-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s,border-color .2s}.zone-manager-create-btn:hover{background-color:#ffffff4d;border-color:#ffffff80;color:#fff}.zone-manager-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:#fff3;color:#fff;cursor:pointer;transition:background-color .2s,color .2s}.zone-manager-close-btn:hover{background-color:#ffffff4d;color:#fff}.zone-manager-content{flex:1;overflow-x:auto;overflow-y:auto;padding:8px;position:relative;width:100%;min-width:0;height:0}.zone-manager-empty{padding:40px 20px;text-align:center;color:#6b7280;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.zone-manager-empty p{margin:0 0 16px}.zone-manager-empty .zone-manager-create-btn{margin:0 auto}.zone-manager-grid{display:flex;flex-direction:column;gap:1px;width:-moz-max-content;width:max-content}.zone-grid-header{display:grid;gap:1px;margin-bottom:1px;position:sticky;top:0;background:#f5f5f5;z-index:10;padding-bottom:1px}.zone-grid-corner{background:#f9fafb;border:1px solid #e5e7eb;border-radius:2px;padding:4px;min-width:80px}.zone-grid-column-header{background:#f9fafb;border:1px solid #e5e7eb;border-radius:2px;padding:4px;display:flex;align-items:center;justify-content:center;position:relative;min-width:60px}.zone-grid-column-header-content{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.zone-grid-column-name{font-size:10px;font-weight:500;color:#374151;cursor:pointer;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.2}.zone-grid-column-actions{display:flex;gap:2px;opacity:0;transition:opacity .2s}.zone-grid-column-header:hover .zone-grid-column-actions{opacity:1}.zone-grid-header-input{width:100%;padding:4px 8px;border:1px solid #3b82f6;border-radius:4px;font-size:12px;text-align:center;background-color:#fff;color:#374151}.zone-grid-row{display:grid;gap:1px;margin-bottom:1px}.zone-grid-floor-header{background:#f9fafb;border:1px solid #e5e7eb;border-radius:2px;padding:4px;display:flex;align-items:center;justify-content:center;min-width:80px}.zone-grid-floor-header-content{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.zone-grid-floor-name{font-size:10px;font-weight:500;color:#374151;cursor:pointer;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.2}.zone-grid-floor-actions{display:flex;gap:2px;opacity:0;transition:opacity .2s}.zone-grid-floor-header:hover .zone-grid-floor-actions{opacity:1}.zone-grid-floor-input{width:100%;padding:4px 8px;border:1px solid #3b82f6;border-radius:4px;font-size:12px;text-align:center;background-color:#fff;color:#374151}.zone-grid-cell{background:#fff;border:1px solid #e5e7eb;border-radius:2px;padding:2px;min-height:40px;min-width:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,border-color .2s;position:relative}.zone-grid-cell:hover{background:#f3f4f6;border-color:#3b82f6}.zone-grid-cell.has-content{background:#eff6ff;border-color:#3b82f6}.zone-grid-cell-count{position:absolute;top:2px;right:2px;background:#3b82f6;color:#fff;border-radius:8px;padding:1px 4px;font-size:9px;font-weight:600;min-width:16px;text-align:center;line-height:1.2;z-index:2}.zone-grid-cell-add-btn{position:absolute;bottom:2px;right:2px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background-color:#3b82f6;border:none;border-radius:3px;cursor:pointer;color:#fff;transition:background-color .2s,transform .2s;opacity:0;z-index:3}.zone-grid-cell:hover .zone-grid-cell-add-btn{opacity:1}.zone-grid-cell-add-btn:hover{background-color:#2563eb;transform:scale(1.1)}.zone-grid-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background-color:transparent;border:none;border-radius:3px;cursor:pointer;color:#6b7280;transition:background-color .2s,color .2s}.zone-grid-action-btn:hover{background-color:#e5e7eb;color:#374151}.zone-grid-add-column-btn,.zone-grid-add-floor-btn{display:flex;align-items:center;justify-content:center;width:24px;height:40px;padding:0;background-color:#f3f4f6;border:1px dashed #d1d5db;border-radius:2px;cursor:pointer;color:#6b7280;transition:background-color .2s,border-color .2s;min-width:24px}.zone-grid-add-column-btn:hover,.zone-grid-add-floor-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.zone-manager-list{display:flex;flex-direction:column;gap:8px}.zone-list-floor-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden}.zone-list-floor-header{display:flex;align-items:center;justify-content:space-between;padding:12px;cursor:pointer;transition:background-color .2s}.zone-list-floor-header:hover{background-color:#f3f4f6}.zone-list-floor-name{font-size:14px;font-weight:500;color:#1f2937}.zone-list-floor-header-actions{display:flex;gap:4px}.zone-list-types{padding:8px;background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:4px}.zone-list-type-item{display:flex;align-items:center;justify-content:space-between;padding:8px;background:#f9fafb;border-radius:4px}.zone-list-type-name{font-size:13px;color:#374151;flex:1}.zone-list-type-count{font-size:12px;font-weight:600;color:#3b82f6;background:#eff6ff;padding:2px 8px;border-radius:10px;margin-right:8px}.zone-list-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background-color:transparent;border:none;border-radius:4px;cursor:pointer;color:#6b7280;transition:background-color .2s,color .2s}.zone-list-action-btn:hover{background-color:#e5e7eb;color:#374151}.zone-manager-content::-webkit-scrollbar{width:8px}.zone-manager-content::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.zone-manager-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.zone-manager-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.zone-manager-content{scrollbar-width:thin;scrollbar-color:#d1d5db #f5f5f5}@media(max-width:768px){.zone-manager{position:fixed;inset:0;width:100%;max-height:100vh;border-radius:0;z-index:1900}.zone-grid-header,.zone-grid-row{grid-template-columns:120px repeat(auto-fit,minmax(80px,1fr)) 32px}.zone-grid-cell{min-height:50px;font-size:11px}}.drawing-choice-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.drawing-choice-dialog{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:400px;max-width:500px;overflow:hidden}.drawing-choice-dialog-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to right,#475569,#64748b);color:#fff}.drawing-choice-dialog-header h3{margin:0;font-size:18px;font-weight:600}.drawing-choice-dialog-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.drawing-choice-dialog-close:hover{background:#fff3}.drawing-choice-dialog-content{padding:30px}.drawing-choice-dialog-content p{margin:0 0 20px;font-size:16px;color:#374151;text-align:center}.drawing-choice-buttons{display:flex;flex-direction:column;gap:12px}.drawing-choice-btn{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;font-size:15px;color:#374151;text-align:left}.drawing-choice-btn:hover{background:#f3f4f6;border-color:#3b82f6;color:#3b82f6}.drawing-choice-btn svg{flex-shrink:0}.drawing-choice-btn span{flex:1}.item-properties-dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.item-properties-dialog{background:#fff;border-radius:8px;padding:24px;min-width:500px;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a;color:#111827}.item-properties-dialog-header{margin-bottom:20px}.item-properties-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.item-properties-dialog-form{display:flex;flex-direction:column;gap:20px}.item-properties-field{display:flex;flex-direction:column;gap:8px}.item-properties-field label{font-weight:500;font-size:14px;color:#111827}.item-properties-field input,.item-properties-field select{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#111827;background-color:#fff}.item-properties-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.item-properties-category-row{display:flex;gap:8px;align-items:center}.item-properties-category-add{display:flex;gap:8px;align-items:center;margin-top:6px}.item-properties-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.item-properties-section{display:flex;flex-direction:column;gap:12px}.item-properties-section-header{display:flex;justify-content:space-between;align-items:center}.item-properties-section-header label{font-weight:500;font-size:14px;color:#111827}.item-properties-add-btn{padding:6px 12px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;font-size:12px;color:#374151;cursor:pointer;transition:background-color .2s}.item-properties-add-btn:hover{background-color:#e5e7eb}.item-properties-category-add-btn{width:32px;height:32px;padding:0;background-color:#3b82f6;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-properties-category-add-btn:hover{background-color:#2563eb}.item-properties-list{display:flex;flex-direction:column;gap:8px}.item-properties-empty{padding:16px;text-align:center;color:#9ca3af;font-size:14px}.item-property-item{display:flex;gap:8px;align-items:center}.item-property-key,.item-property-value{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;color:#111827;background-color:#fff}.item-property-key::-moz-placeholder,.item-property-value::-moz-placeholder{color:#9ca3af}.item-property-key::placeholder,.item-property-value::placeholder{color:#9ca3af}.item-property-key{font-weight:500}.item-property-value{flex:1.5}.item-property-unit{flex:0 0 72px;min-width:72px;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;color:#111827;background-color:#fff}.item-property-unit::-moz-placeholder{color:#9ca3af}.item-property-unit::placeholder{color:#9ca3af}.item-property-unit:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.item-property-item-new{background-color:#f9fafb;border:1px dashed #d1d5db;padding:4px;border-radius:4px}.item-property-confirm{width:28px;height:28px;padding:0;background-color:#d1fae5;color:#065f46;border:none;border-radius:4px;font-size:18px;line-height:1;cursor:pointer;transition:background-color .2s}.item-property-confirm:hover:not(:disabled){background-color:#a7f3d0}.item-property-confirm:disabled{opacity:.5;cursor:not-allowed}.item-property-remove{width:28px;height:28px;padding:0;background-color:#fee2e2;color:#dc2626;border:none;border-radius:4px;font-size:20px;line-height:1;cursor:pointer;transition:background-color .2s}.item-property-remove:hover{background-color:#fecaca}.item-properties-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.item-properties-cancel,.item-properties-save{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.item-properties-cancel{background-color:#f3f4f6;color:#374151}.item-properties-cancel:hover{background-color:#e5e7eb}.item-properties-save{background-color:#3b82f6;color:#fff}.item-properties-save:hover{background-color:#2563eb}@media(max-width:768px){.item-properties-dialog{min-width:auto;width:calc(100% - 40px);max-width:calc(100% - 40px);margin:20px}.item-properties-cancel,.item-properties-save{min-height:44px;padding:12px 24px;font-size:16px;flex:1}.item-properties-category-add-btn,.item-property-confirm,.item-property-remove{width:40px;height:40px;min-width:40px;min-height:40px}.item-properties-field input,.item-properties-field select{min-height:44px;font-size:16px}}.library-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:background-color .2s,border-color .2s,transform .2s}.library-item:hover{background-color:#f3f4f6;border-color:#d1d5db}.library-item.dragging{opacity:.5}.library-item-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#e0e7ff;border-radius:6px;color:#4f46e5;flex-shrink:0}.library-item-preview{background-color:#f8fafc;border:1px solid #e2e8f0;padding:0;overflow:hidden}.library-item-preview svg{display:block}.library-item-content{flex:1;min-width:0}.library-item-name{font-weight:600;font-size:14px;color:#111827;margin-bottom:4px;word-break:break-word}.library-item-properties{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.library-item-property{font-size:11px;color:#6b7280;background-color:#f3f4f6;padding:2px 6px;border-radius:3px}.library-item-property-more{font-size:11px;color:#9ca3af;font-style:italic}.library-item-shapes{font-size:12px;color:#9ca3af}.library-item-actions{display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .2s}.library-item:hover .library-item-actions{opacity:1}.library-item-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background-color:transparent;border:none;border-radius:4px;cursor:pointer;color:#6b7280;transition:background-color .2s,color .2s}.library-item-action:hover{background-color:#e5e7eb;color:#374151}.library-panel-overlay{display:none}.library-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 20px #00000014;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.library-panel.draggable-resizable{resize:none}.library-panel-header{padding:10px 14px;border-bottom:1px solid #e2e8f0;border-left:3px solid #f59e0b;position:relative;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);color:#334155}.library-panel-header h2{flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0;font-size:13px;font-weight:600;color:#1e293b}.library-panel-header-actions{display:flex;gap:8px;align-items:center;position:relative;z-index:1}.library-panel-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:nwse-resize;z-index:10;color:#cbd5e1;transition:color .15s}.library-panel-resize-handle:hover{color:#94a3b8}.library-panel-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;transition:background-color .15s,color .15s}.library-panel-close:hover{background:#e2e8f0;color:#334155}.library-panel-close svg{width:16px;height:16px}.library-panel-actions{padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#fff}.library-panel-save-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 14px;background-color:#f59e0b;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.library-panel-save-btn:hover:not(:disabled){background-color:#d97706}.library-panel-save-btn:disabled{background-color:#94a3b8;cursor:not-allowed}.library-panel-import-export{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.library-panel-action-secondary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:6px 12px;background-color:#f8fafc;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.library-panel-action-secondary:hover:not(:disabled){background-color:#f1f5f9;border-color:#cbd5e1}.library-panel-action-secondary:disabled{opacity:.6;cursor:not-allowed}.library-panel-content{flex:1;overflow-x:auto;overflow-y:auto;padding:12px 16px 16px;position:relative;width:100%;min-width:0;height:0;background:#fff}.library-panel-empty{padding:32px 20px;text-align:center;color:#94a3b8;font-size:13px}.library-panel-empty p{margin:8px 0;font-size:13px}.library-panel-empty-hint{font-size:12px;color:#94a3b8}.library-items-list{display:flex;flex-direction:column;gap:10px}.library-category-group{display:flex;flex-direction:column;gap:8px;border:1px solid #e2e8f0;border-radius:6px;padding:12px;background:#f8fafc}.library-category-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:12px;color:#334155}.library-category-count{background:#e2e8f0;color:#475569;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.library-category-items{display:flex;flex-direction:column;gap:8px}.library-panel-content::-webkit-scrollbar{width:6px}.library-panel-content::-webkit-scrollbar-track{background:transparent}.library-panel-content::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.library-panel-content::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.library-panel-content{scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}@media(max-width:768px){.library-panel{position:fixed;inset:0;width:100%;max-height:100vh;border-radius:0;z-index:1900}.library-panel-close{width:36px;height:36px;min-width:36px;min-height:36px}.library-panel-save-btn,.library-panel-action-secondary{min-height:40px;padding:10px 16px;font-size:14px}}.schedule-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 20px #00000014;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.schedule-panel.draggable-resizable{resize:none}.schedule-panel-header{padding:10px 14px;border-bottom:1px solid #e2e8f0;border-left:3px solid #64748b;position:relative;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);color:#334155}.schedule-panel-header h2{flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0;font-size:13px;font-weight:600;color:#1e293b}.schedule-panel-header-actions{display:flex;gap:8px;align-items:center;position:relative;z-index:1}.schedule-panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;transition:background-color .2s,color .2s}.schedule-panel-close:hover{background:#e2e8f0;color:#334155}.schedule-panel-close svg{width:16px;height:16px}.schedule-panel-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;background:#f1f5f9;border-top-left-radius:8px;display:flex;align-items:center;justify-content:center;cursor:nwse-resize;z-index:10;opacity:.7;transition:opacity .2s;color:#94a3b8}.schedule-panel-resize-handle:hover{opacity:1;background:#e2e8f0;color:#64748b}.schedule-panel-content{flex:1;overflow-x:auto;overflow-y:auto;padding:16px;position:relative;width:100%;min-width:0;height:0}.schedule-panel-empty{padding:48px 24px;text-align:center;color:#94a3b8;font-size:14px;line-height:1.5}.schedule-panel-empty p{margin:0}.schedule-panel-sections{display:flex;flex-direction:column;gap:16px}.schedule-panel-section{display:flex;flex-direction:column;gap:10px}.schedule-panel-collapse-trigger{display:flex;align-items:center;gap:6px;padding:0;border:none;background:none;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:color .2s}.schedule-panel-collapse-trigger:hover{color:#1e293b}.schedule-panel-collapse-trigger svg{flex-shrink:0;opacity:.7}.schedule-panel-section-title{margin:0;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.schedule-panel-section-title-context{text-transform:none;letter-spacing:0;font-size:12px;color:#475569}.schedule-panel-section-title-context .schedule-panel-active-task{color:#1e293b;font-weight:600}.schedule-panel-section-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.schedule-panel-section-actions{display:flex;gap:8px;align-items:center}.schedule-panel-fields{display:flex;flex-direction:column;gap:10px}.schedule-panel-field{display:flex;flex-direction:column;gap:4px}.schedule-panel-field label{font-size:11px;font-weight:500;color:#94a3b8}.schedule-panel-field input,.schedule-panel-field select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;color:#1e293b;transition:border-color .2s,box-shadow .2s}.schedule-panel-field input:focus,.schedule-panel-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.schedule-panel-field input:hover,.schedule-panel-field select:hover{border-color:#cbd5e1}.schedule-panel-field input::-moz-placeholder{color:#94a3b8}.schedule-panel-field input::placeholder{color:#94a3b8}.schedule-panel-link-activity-wrap{position:relative}.schedule-panel-link-activity{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;background:#fff;color:#334155;cursor:pointer;min-width:140px}.schedule-panel-link-activity:hover{border-color:#cbd5e1}.schedule-panel-link-activity:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.schedule-panel-link-activity-popover{position:absolute;top:100%;left:0;margin-top:4px;min-width:220px;max-width:320px;max-height:280px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 40px #0000001a,0 0 0 1px #0000000d;z-index:100;display:flex;flex-direction:column;overflow:hidden}.schedule-panel-link-activity-search{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.schedule-panel-link-activity-search-icon{flex-shrink:0;color:#94a3b8}.schedule-panel-link-activity-search input{flex:1;min-width:0;padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;background:#fff;color:#1e293b}.schedule-panel-link-activity-search input::-moz-placeholder{color:#94a3b8}.schedule-panel-link-activity-search input::placeholder{color:#94a3b8}.schedule-panel-link-activity-search input:focus{outline:none;border-color:#3b82f6}.schedule-panel-link-activity-list{overflow-y:auto;padding:6px 0;max-height:220px}.schedule-panel-link-activity-empty{padding:12px;font-size:12px;color:#94a3b8;text-align:center}.schedule-panel-link-activity-group{margin-bottom:2px}.schedule-panel-link-activity-group:last-child{margin-bottom:0}.schedule-panel-link-activity-group-header{display:flex;align-items:center;gap:6px;width:100%;padding:6px 12px;border:none;background:transparent;font-size:12px;font-weight:600;color:#475569;cursor:pointer;text-align:left;transition:background-color .15s,color .15s}.schedule-panel-link-activity-group-header:hover{background:#f1f5f9;color:#334155}.schedule-panel-link-activity-group-header svg{flex-shrink:0;opacity:.8}.schedule-panel-link-activity-group-items{padding-left:20px}.schedule-panel-link-activity-item{display:block;width:100%;padding:6px 12px;border:none;background:transparent;font-size:12px;color:#334155;cursor:pointer;text-align:left;transition:background-color .15s,color .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-panel-link-activity-item:hover{background:#eff6ff;color:#1e40af}.schedule-panel-link-activity-item-linked{opacity:.6;cursor:default}.schedule-panel-link-activity-item-linked:hover{background:transparent;color:#334155}.schedule-panel-link-activity-tree-node{margin:0}.schedule-panel-link-activity-tree-row{display:flex;align-items:center;gap:4px;min-height:28px}.schedule-panel-link-activity-tree-expand{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:4px;flex-shrink:0;transition:background-color .15s,color .15s}.schedule-panel-link-activity-tree-expand:hover{background:#f1f5f9;color:#334155}.schedule-panel-link-activity-tree-placeholder{display:inline-block;width:20px;height:20px;flex-shrink:0}.schedule-panel-link-activity-tree-row .schedule-panel-link-activity-item{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-panel-link-activity-tree-children{margin:0}.schedule-panel-manage-profiles{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer;transition:background-color .2s,color .2s}.schedule-panel-manage-profiles:hover{background:#f1f5f9;color:#64748b}.schedule-panel-empty-hint{font-size:12px;color:#94a3b8;margin:0;line-height:1.5;padding:10px 0}.schedule-panel-associations-list{display:flex;flex-direction:column;gap:6px}.schedule-panel-association-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid #f1f5f9;border-radius:6px;background:#fafbfc;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s}.schedule-panel-association-item:hover{background:#f1f5f9;border-color:#cbd5e1}.schedule-panel-association-item.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f640}.schedule-panel-association-name{font-size:13px;font-weight:500;color:#334155;flex:1;overflow:hidden;text-overflow:ellipsis;min-width:0}.schedule-panel-association-item.selected .schedule-panel-association-name{color:#1e40af}.schedule-panel-unlink{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer;transition:background-color .2s,color .2s;flex-shrink:0}.schedule-panel-unlink:hover{background:#fee2e2;color:#dc2626}.schedule-panel-detail-card{display:flex;flex-direction:column;gap:10px;padding:12px 0;border-top:1px solid #f1f5f9}.schedule-panel-dates-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-panel-measurement-inline{display:block;margin-top:4px;font-size:12px;font-weight:500;color:#64748b}.schedule-panel-content::-webkit-scrollbar{width:8px}.schedule-panel-content::-webkit-scrollbar-track{background:#f8fafc;border-radius:4px}.schedule-panel-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.schedule-panel-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.schedule-panel-content{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc}@media(max-width:768px){.schedule-panel{position:fixed;inset:0;width:100%;max-height:100vh;border-radius:0;z-index:1900}.schedule-panel-dates-row{grid-template-columns:1fr}}.spm-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.spm-dialog{background:#fff;border-radius:8px;padding:24px;min-width:480px;max-width:560px;max-height:90vh;box-shadow:0 4px 6px #0000001a;position:relative;margin:auto;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:#111827}.spm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.spm-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.spm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:4px;background:transparent;color:#6b7280;cursor:pointer;transition:background-color .2s,color .2s}.spm-close:hover{background:#f3f4f6;color:#111827}.spm-description{margin:0 0 16px;font-size:13px;color:#6b7280;line-height:1.4}.spm-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.spm-list-header label{font-weight:500;font-size:14px;color:#374151}.spm-add-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;background-color:#3b82f6;color:#fff}.spm-add-btn:hover{background-color:#2563eb}.spm-list{flex:1;overflow-y:auto;min-height:120px;max-height:50vh}.spm-empty{padding:20px;text-align:center;color:#6b7280;font-size:14px;background-color:#f9fafb;border-radius:4px;border:1px dashed #e5e7eb}.spm-profile-item{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;overflow:hidden}.spm-profile-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f9fafb;cursor:pointer}.spm-profile-header:hover{background:#f3f4f6}.spm-chevron{flex-shrink:0;color:#6b7280}.spm-name-input{flex:1;padding:6px 10px;border:1px solid #e5e7eb;border-radius:4px;font-size:14px;background:#fff;color:#111827}.spm-name-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.spm-delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:#6b7280;cursor:pointer;transition:background-color .2s,color .2s}.spm-delete-btn:hover{background:#fee2e2;color:#dc2626}.spm-profile-form{padding:16px;background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:20px}.spm-appearance-section{padding:12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.spm-appearance-title{margin:0 0 12px;font-size:13px;font-weight:600;color:#374151}.spm-field-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.spm-field-row:last-child{margin-bottom:0}.spm-field-row label{font-size:13px;color:#4b5563;min-width:70px}.spm-checkbox-row{margin-bottom:8px}.spm-checkbox-row label{min-width:auto;margin-left:8px;cursor:pointer}.spm-checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}.spm-color-input{width:40px;height:32px;padding:2px;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;background:#fff}.spm-color-text{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;font-family:monospace}.spm-fill-input,.spm-opacity-input{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.spm-opacity-input{max-width:80px;-moz-appearance:textfield}.spm-opacity-input::-webkit-inner-spin-button,.spm-opacity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.spm-actions{display:flex;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.spm-close-btn{padding:8px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;background-color:#3b82f6;color:#fff;transition:background-color .2s}.spm-close-btn:hover{background-color:#2563eb}@media(max-width:600px){.spm-dialog{min-width:auto;width:calc(100% - 32px);margin:16px}}.mode-dock-container{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;align-items:center}.as-built-palette-wrapper{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.as-built-palette-tools{position:absolute;width:100%;height:100%;pointer-events:none}.as-built-palette-tools>div{pointer-events:auto}.as-built-palette-tools .mode-dock-secondary-tool-button{border-radius:50%!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;box-sizing:border-box!important}.mode-dock-secondary-tool-button{background-color:#fff!important;border:1px solid #e2e8f0!important}.mode-dock-secondary-tool-button:focus,.mode-dock-secondary-tool-button:focus-visible,.mode-dock-secondary-tool-button:focus-within,.mode-dock-secondary-tool-button:active{outline:none!important;box-shadow:none!important;border:1px solid #e2e8f0!important}.mode-dock-secondary-tool-button.border-blue-200,.mode-dock-secondary-tool-button.border-blue-200:focus,.mode-dock-secondary-tool-button.border-blue-200:active{border:1px solid #bfdbfe!important}.mode-dock-secondary-tool-button.border-amber-200,.mode-dock-secondary-tool-button.border-amber-200:focus,.mode-dock-secondary-tool-button.border-amber-200:active{border:1px solid #fde68a!important}.mode-dock-secondary-tool-button.border-emerald-200,.mode-dock-secondary-tool-button.border-emerald-200:focus,.mode-dock-secondary-tool-button.border-emerald-200:active{border:1px solid #a7f3d0!important}.mode-dock-secondary-tool-button.border-purple-200,.mode-dock-secondary-tool-button.border-purple-200:focus,.mode-dock-secondary-tool-button.border-purple-200:active{border:1px solid #e9d5ff!important}.mode-dock-secondary-tool-button.border-indigo-200,.mode-dock-secondary-tool-button.border-indigo-200:focus,.mode-dock-secondary-tool-button.border-indigo-200:active{border:1px solid #c7d2fe!important}.mode-dock-secondary-tool-button.border-rose-200,.mode-dock-secondary-tool-button.border-rose-200:focus,.mode-dock-secondary-tool-button.border-rose-200:active{border:1px solid #fecdd3!important}.mode-dock-secondary-tool-button.text-blue-600{background:linear-gradient(to right,#3b82f6,#06b6d4)!important;border:none!important;color:#fff!important;box-shadow:0 4px 12px #3b82f64d!important}.mode-dock-secondary-tool-button.text-amber-600{background:linear-gradient(to right,#f59e0b,#f97316)!important;border:none!important;color:#fff!important;box-shadow:0 4px 12px #f59e0b4d!important}.mode-dock-secondary-tool-button.text-emerald-600{background:linear-gradient(to right,#10b981,#14b8a6)!important;border:none!important;color:#fff!important;box-shadow:0 4px 12px #10b9814d!important}.mode-dock-secondary-tool-button.text-purple-600{background:linear-gradient(to right,#a855f7,#c084fc)!important;border:none!important;color:#fff!important;box-shadow:0 4px 12px #a855f74d!important}.mode-dock-secondary-tool-button.text-indigo-600{background:linear-gradient(to right,#475569,#64748b)!important;border:none!important;color:#fff!important;box-shadow:0 4px 12px #64748b66!important}.mode-dock-secondary-tool-button.text-rose-600{background:linear-gradient(to right,#e11d48,#ec4899)!important;border:none!important;color:#fff!important;box-shadow:0 4px 12px #e11d484d!important}.mode-dock{display:flex;align-items:center;justify-content:center;padding:6px;gap:8px;background:#ffffffe6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(226,232,240,.6);border-radius:9999px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #94a3b81a;position:relative}.mode-dock-left,.mode-dock-right{display:flex;align-items:center;gap:8px}.mode-dock-button{position:relative;padding:10px 20px;border-radius:9999px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500;font-size:14px;border:none;background:transparent;cursor:pointer;color:#64748b;transition:all .3s ease-out;outline:none}.mode-dock-button:focus,.mode-dock-button:focus-visible{outline:none}.mode-dock-button:hover:not(.selected){background:#f1f5f9;color:#1e293b}.mode-dock-button.selected{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.mode-dock-button-create{padding:12px!important;width:50px;height:50px;min-width:50px;border-radius:50%;aspect-ratio:1}.mode-dock-button-create .mode-dock-active-pill{border-radius:50%}.mode-dock-active-pill{position:absolute;inset:0;border-radius:9999px;pointer-events:none;z-index:0}.mode-dock-pill-build{background:linear-gradient(to right,#3b82f6,#06b6d4)}.mode-dock-pill-plan{background:linear-gradient(to right,#f59e0b,#f97316)}.mode-dock-pill-estimate{background:linear-gradient(to right,#10b981,#14b8a6)}.mode-dock-pill-create{background:linear-gradient(to right,#a855f7,#c084fc)}.mode-dock-pill-setup{background:linear-gradient(to right,#475569,#64748b)}.mode-dock-pill-pins{background:linear-gradient(to right,#e11d48,#ec4899)}.mode-dock-button-content{position:relative;z-index:10;display:flex;align-items:center;gap:8px}.mode-dock-button-label{overflow:hidden;white-space:nowrap}.mode-dock-divider{width:1px;height:22px;background:#e2e8f0;margin:0 4px;flex-shrink:0}.mode-dock-menu-button{padding:10px;border-radius:9999px;border:none;background:transparent;cursor:pointer;color:#94a3b8;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;outline:none}.mode-dock-menu-button:focus,.mode-dock-menu-button:focus-visible{outline:none}.mode-dock-menu-button:hover{background:#f1f5f9;color:#475569}@media(max-width:768px){.mode-dock-container{bottom:20px}.mode-dock{transform:scale(.85);transform-origin:center}.mode-dock-button{padding:10px 16px;font-size:13px}.mode-dock-button-label{display:none}}.questions-panel{display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000014;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;border:1px solid #e2e8f0}.questions-header{display:flex;flex-direction:column;gap:0;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;color:#334155;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0;border-left:3px solid #e11d48}.questions-header-row{display:flex;align-items:center;padding:0 14px;gap:8px}.questions-header-title-row{padding:10px 12px 6px;justify-content:space-between;min-height:36px}.questions-header-single-row .questions-header-title-row{padding-bottom:10px}.questions-header h2{margin:0;font-size:13px;font-weight:600;flex:1;display:flex;align-items:center;gap:6px;min-width:0;color:#1e293b}.questions-header-drag-icon{flex-shrink:0;opacity:.7;color:#64748b}.questions-header-close{width:26px;height:26px;flex-shrink:0;background:transparent;border:none;border-radius:6px;color:#64748b;cursor:pointer;transition:background-color .15s,color .15s}.questions-header-close:hover{background:#e2e8f0;color:#334155}.questions-header-toolbar{padding:6px 12px 10px;gap:0;flex-wrap:wrap}.questions-header-group{display:flex;align-items:center;gap:4px;position:relative}.questions-header-group+.questions-header-group{margin-left:8px;padding-left:8px;border-left:1px solid #e2e8f0}.questions-header-group-view .questions-header-btn{width:26px;height:26px}.questions-header-btn{background:transparent;border:none;height:26px;min-width:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:background-color .15s,color .15s;flex-shrink:0;padding:0 6px;color:#64748b;font-size:12px;font-weight:500}.questions-header-btn:hover{background:#e2e8f0;color:#334155}.questions-header-btn.active{background:#fce7f3;color:#be185d}.questions-header-btn-primary{padding:0 10px;font-weight:600}.questions-header-btn-primary.active{background:#fce7f3;color:#be185d}.questions-content{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:16px;background:#fff}.questions-section{display:flex;flex-direction:column;gap:10px}.questions-section h3{margin:0;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.questions-form{display:flex;flex-direction:column;gap:12px}.questions-form-group{display:flex;flex-direction:column;gap:6px}.questions-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.questions-form-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.questions-input,.questions-textarea{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#334155;background:#fff;transition:border-color .15s;font-family:inherit}.questions-input:hover,.questions-textarea:hover{border-color:#cbd5e1}.questions-input:focus,.questions-textarea:focus{outline:none;border-color:#e11d48;box-shadow:0 0 0 2px #e11d4826}.questions-textarea{resize:vertical;min-height:60px}.questions-form-actions{display:flex;gap:8px;margin-top:8px}.questions-submit-btn{padding:8px 16px;background:#e11d48;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.questions-submit-btn:hover{background:#be185d}.questions-cancel-btn{padding:8px 16px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.questions-cancel-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.questions-list{display:flex;flex-direction:column;gap:8px}.questions-list-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;transition:background-color .15s,border-color .15s}.questions-list-item:hover{background:#f1f5f9;border-color:#e2e8f0}.questions-list-item-content{display:flex;flex-direction:column;gap:8px}.questions-list-item-header{display:flex;justify-content:space-between;align-items:center;text-align:left}.questions-list-item-header strong{font-size:13px;color:#1e293b;text-align:left}.questions-list-item-actions{display:flex;gap:4px}.questions-action-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s,color .15s}.questions-action-btn:hover{background:#e2e8f0;color:#334155}.questions-list-item-description{font-size:12px;color:#64748b;line-height:1.4}.questions-list-item-meta{display:flex;gap:12px;font-size:11px;color:#94a3b8;text-align:left;flex-wrap:wrap}.questions-empty{text-align:center;padding:24px 16px;color:#94a3b8;font-size:13px}.questions-table-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:6px}.questions-table{width:100%;border-collapse:collapse;font-size:12px}.questions-table thead{background:#f8fafc}.questions-table th{padding:8px 12px;text-align:left;font-weight:600;color:#64748b;border-bottom:1px solid #e2e8f0;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.questions-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;color:#334155}.questions-table tbody tr:hover{background:#f8fafc}.questions-table td:last-child{display:flex;gap:4px}.questions-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#cbd5e1;cursor:nwse-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s}.questions-resize-handle:hover{color:#94a3b8}.questions-content::-webkit-scrollbar{width:6px}.questions-content::-webkit-scrollbar-track{background:transparent}.questions-content::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.questions-content::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.ss-overlay{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;background:#fff;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.ss-overlay,.ss-overlay *{color:inherit}.ss-overlay .ss-header-bar,.ss-overlay .ss-header-title,.ss-overlay .ss-header-icon,.ss-overlay .ss-tab,.ss-overlay .ss-tab-manager-btn,.ss-overlay .ss-tab-manager-label,.ss-overlay .ss-tab-manager-title,.ss-overlay .ss-tab-manager-item,.ss-overlay .ss-close-btn,.ss-overlay .ss-close-btn svg{color:#212529}.ss-overlay .ss-tab-active{color:#0d6efd}.ss-overlay input,.ss-overlay select,.ss-overlay .ss-cell-input,.ss-overlay .ss-filter-input{color:#212529!important;background:#fff!important;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ss-overlay .ss-cell-editable{cursor:text}.ss-overlay .ss-cell-text,.ss-overlay .ss-cell,.ss-overlay .ss-header-cell,.ss-overlay .ss-row-number{color:#212529}.ss-overlay .ss-cross-ref{color:#0d6efd}.ss-overlay .ss-empty-message,.ss-overlay .ss-row-count{color:#6c757d}.ss-header-bar{display:flex;align-items:center;height:44px;min-height:44px;padding:0 8px;background:#f8f9fa;border-bottom:1px solid #dee2e6;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ss-header-left{display:flex;align-items:center;gap:8px;padding-right:12px;border-right:1px solid #dee2e6;margin-right:4px}.ss-header-icon{color:#495057}.ss-header-title{font-size:14px;font-weight:600;color:#212529;white-space:nowrap}.ss-tab-bar{display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto;padding:0 4px}.ss-tab-bar::-webkit-scrollbar{height:3px}.ss-tab-bar::-webkit-scrollbar-thumb{background:#ced4da;border-radius:2px}.ss-tab{padding:6px 14px;font-size:12px;font-weight:500;color:#495057;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;border-radius:4px 4px 0 0;transition:all .15s ease}.ss-tab:hover{background:#e9ecef;color:#212529}.ss-tab-active{color:#0d6efd;border-bottom-color:#0d6efd;background:#fff;font-weight:600}.ss-tab-manager-wrapper{position:relative;margin-left:8px;flex-shrink:0;padding-left:8px;border-left:1px solid #dee2e6}.ss-tab-manager-btn{display:flex;align-items:center;justify-content:center;gap:4px;min-width:36px;height:28px;padding:0 8px;background:#e9ecef;border:1px solid #ced4da;border-radius:4px;cursor:pointer;color:#212529;font-size:12px;font-weight:500}.ss-tab-manager-btn:hover{background:#dee2e6;border-color:#adb5bd;color:#000}.ss-tab-manager-btn svg{flex-shrink:0}.ss-tab-manager-label{white-space:nowrap}.ss-tab-manager-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #0000001f;min-width:180px;z-index:100;padding:4px 0}.ss-tab-manager-title{padding:6px 12px;font-size:11px;font-weight:600;color:#868e96;text-transform:uppercase;letter-spacing:.5px}.ss-tab-manager-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;font-size:13px;color:#212529;background:transparent;border:none;cursor:pointer;text-align:left}.ss-tab-manager-item:hover{background:#f1f3f5}.ss-close-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-width:80px;height:32px;padding:0 12px;background:#e9ecef;border:1px solid #ced4da;border-radius:4px;cursor:pointer;color:#212529;font-size:13px;font-weight:500;flex-shrink:0}.ss-close-btn svg{color:#212529}.ss-close-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff}.ss-close-btn:hover svg{color:#fff}.ss-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.ss-table-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.ss-filter-bar{display:flex;align-items:center;gap:12px;padding:6px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.ss-filter-input{flex:0 0 260px;padding:4px 10px;font-size:12px;border:1px solid #dee2e6;border-radius:4px;outline:none;background:#fff}.ss-filter-input:focus{border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd26}.ss-row-count{font-size:11px;color:#868e96;white-space:nowrap}.ss-table-scroll{flex:1;overflow:auto;position:relative}.ss-header{display:flex;position:sticky;top:0;z-index:10;background:#f1f3f5;border-bottom:2px solid #dee2e6}.ss-header-cell{display:flex;align-items:center;padding:0 8px;height:30px;font-size:11px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid #dee2e6;position:relative;flex-shrink:0;white-space:nowrap;overflow:hidden}.ss-header-cell:hover{background:#e9ecef}.ss-header-sorted{background:#e2e6ea;color:#212529}.ss-header-label{overflow:hidden;text-overflow:ellipsis}.ss-sort-indicator{font-size:9px;margin-left:4px;flex-shrink:0}.ss-row-number-header{text-align:center;justify-content:center;background:#e9ecef;cursor:default}.ss-resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:5}.ss-resize-handle:hover{background:#0d6efd;opacity:.4}.ss-body{font-size:12px}.ss-row{display:flex;border-bottom:1px solid #f1f3f5;cursor:default}.ss-row-even{background:#fff}.ss-row-odd{background:#fafbfc}.ss-row:hover{background:#e7f5ff!important}.ss-row-highlighted{background:#fff3bf!important}.ss-header-grouped{background:#e9ecef}.ss-group-indicator{opacity:.7;margin-left:4px;vertical-align:middle}.ss-row.ss-group-header{background:#f1f3f5!important;cursor:default}.ss-row.ss-group-header:hover{background:#f1f3f5!important}.ss-group-header-cell{background:#f1f3f5!important;font-weight:600}.ss-group-count{opacity:.7;font-weight:400;margin-left:6px}.ss-cell{display:flex;align-items:center;padding:0 8px;height:32px;border-right:1px solid #f1f3f5;overflow:hidden;flex-shrink:0}.ss-row-number{text-align:center;justify-content:center;font-size:10px;color:#868e96;background:#f8f9fa;border-right:1px solid #e9ecef}.ss-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;width:100%}.ss-cell-editable{cursor:text}.ss-cell-editable:hover{background:#f0f4ff;border-radius:2px;padding:0 2px;margin:0 -2px}.ss-cell-editing{padding:0 2px;background:#fff;box-shadow:inset 0 0 0 2px #0d6efd;z-index:5}.ss-cell-input{width:100%;height:100%;border:none;outline:none;padding:0 6px;font-size:12px;font-family:inherit;background:transparent}.ss-cell-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.ss-cross-ref{color:#0d6efd;cursor:pointer;text-decoration:none;font-weight:500}.ss-cross-ref:hover{text-decoration:underline;color:#0a58ca}.ss-view-in-canvas-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;color:#212529;background:#e9ecef;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-family:inherit;white-space:nowrap}.ss-view-in-canvas-btn:hover{background:#dee2e6;border-color:#adb5bd}.ss-view-in-canvas-btn svg{flex-shrink:0}.ss-empty-message{display:flex;align-items:center;justify-content:center;padding:40px 20px;font-size:14px;color:#868e96;position:absolute;top:0;left:0;right:0}.reference-sheet-preview-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reference-sheet-preview-popout{background:#fff;border-radius:12px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003;overflow:hidden}.reference-sheet-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.reference-sheet-preview-header-left{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.reference-sheet-preview-ocr-error{font-size:12px;color:#dc2626;font-weight:500}.reference-sheet-preview-title{margin:0;font-size:15px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;padding-right:12px}.reference-sheet-preview-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.reference-sheet-preview-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;cursor:pointer;color:#475569;transition:all .15s ease;padding:0}.reference-sheet-preview-btn:hover{background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.reference-sheet-preview-btn.active{background:#dbeafe;color:#2563eb;border-color:#3b82f6}.reference-sheet-preview-btn-pick{gap:6px;padding:0 10px;width:auto}.reference-sheet-preview-btn-label{font-size:13px;font-weight:500}.reference-sheet-preview-btn .spin{animation:reference-sheet-spin .8s linear infinite}@keyframes reference-sheet-spin{to{transform:rotate(360deg)}}.reference-sheet-preview-content{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;position:relative}.reference-sheet-preview-canvas-container{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.reference-sheet-preview-canvas{display:block;width:100%;height:100%}.reference-sheet-preview-loading,.reference-sheet-preview-error{font-size:14px;color:#64748b}.reference-sheet-preview-error{color:#dc2626}.drawing-scale-calibrator-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:3000}.drawing-scale-calibrator{background:#fff;border-radius:8px;width:95%;max-width:1200px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d;color:#333}.drawing-scale-calibrator-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5;flex-shrink:0}.drawing-scale-calibrator-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.drawing-scale-calibrator-actions{display:flex;align-items:center;gap:8px}.drawing-scale-calibrator-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;color:#333;transition:all .15s ease}.drawing-scale-calibrator-btn:hover{background:#e5e5e5;border-color:#d0d0d0}.drawing-scale-calibrator-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:none;border-radius:6px;cursor:pointer;color:#666;transition:background-color .15s ease}.drawing-scale-calibrator-close:hover{background:#f0f0f0}.drawing-scale-calibrator-instructions{padding:12px 20px;background:#f9fafb;border-bottom:1px solid #e5e5e5;flex-shrink:0}.drawing-scale-calibrator-instructions{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawing-scale-calibrator-instructions p{margin:0;font-size:14px;color:#666;flex:1}.drawing-scale-calibrator-clear-btn{padding:6px 12px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:13px;color:#333;transition:all .15s ease}.drawing-scale-calibrator-clear-btn:hover{background:#e5e5e5;border-color:#d0d0d0}.drawing-scale-calibrator-canvas-container{flex:1;position:relative;overflow:hidden;background:#f5f5f5;border-radius:0 0 8px 8px}.drawing-scale-calibrator-canvas{display:block;width:100%;height:100%}.inherit-scale-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.inherit-scale-dialog{background:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026;color:#333}.inherit-scale-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e5e5}.inherit-scale-dialog-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.inherit-scale-dialog-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;transition:background-color .15s ease}.inherit-scale-dialog-close:hover{background:#f0f0f0}.inherit-scale-dialog-form{padding:24px}.inherit-scale-dialog-field{margin-bottom:24px}.inherit-scale-dialog-field label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.inherit-scale-dialog-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#333;background:#fff;outline:none;box-sizing:border-box;cursor:pointer}.inherit-scale-dialog-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.inherit-scale-dialog-empty{padding:20px;text-align:center;color:#999;font-size:14px;background:#f9fafb;border-radius:6px;border:1px solid #e5e5e5}.inherit-scale-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.inherit-scale-dialog-cancel,.inherit-scale-dialog-confirm{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.inherit-scale-dialog-cancel{background:#f5f5f5;color:#333}.inherit-scale-dialog-cancel:hover{background:#e5e5e5}.inherit-scale-dialog-confirm{background:#007bff;color:#fff}.inherit-scale-dialog-confirm:hover:not(:disabled){background:#0056b3}.inherit-scale-dialog-confirm:disabled{opacity:.6;cursor:not-allowed}.book-navigator-backdrop{position:fixed;inset:0;z-index:1100;pointer-events:auto}.book-navigator{position:fixed;top:0;left:0;bottom:0;width:340px;min-width:280px;max-width:50vw;background:#fffffff7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid #e2e8f0;box-shadow:4px 0 24px #00000014;z-index:1150;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow:hidden}.book-navigator.open{transform:translate(0)}.book-navigator-resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:10;transition:background-color .15s ease}.book-navigator-resizer:hover,.book-navigator-resizer:active{background:#3b82f626}.book-navigator-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;flex-shrink:0}.book-navigator-header-left{display:flex;align-items:center;gap:10px}.book-navigator-header-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#f0f4ff,#e8eeff);color:#3b82f6;flex-shrink:0}.book-navigator-context-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:6px 8px;padding:0 20px 14px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.book-navigator-context-segment{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:42%}.book-navigator-context-segment-page{max-width:100%;flex:1 1 auto}.book-navigator-context-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.book-navigator-context-value{font-size:13px;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-navigator-context-slash{color:#cbd5e1;font-size:13px;font-weight:500;padding:0 2px 2px;align-self:center}.book-navigator-title{font-size:16px;font-weight:700;color:#0f172a;letter-spacing:-.01em}.book-navigator-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#94a3b8;transition:all .15s ease;padding:0}.book-navigator-close:hover{background:#f1f5f9;color:#475569}.book-navigator-search{display:flex;align-items:center;gap:8px;margin:0 16px 12px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease;flex-shrink:0}.book-navigator-search:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f614;background:#fff}.book-navigator-search svg{color:#94a3b8;flex-shrink:0}.book-navigator-search input{flex:1;border:none;background:none;outline:none;font-size:13px;color:#1e293b;min-width:0}.book-navigator-search input::-moz-placeholder{color:#94a3b8}.book-navigator-search input::placeholder{color:#94a3b8}.book-navigator-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:8px}.book-navigator-content::-webkit-scrollbar{width:5px}.book-navigator-content::-webkit-scrollbar-track{background:transparent}.book-navigator-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.book-navigator-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.book-navigator-section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 6px;cursor:default}.book-navigator-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.book-navigator-section-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;color:#94a3b8;padding:0;transition:all .15s ease}.book-navigator-section-action:hover{background:#f1f5f9;color:#3b82f6}.book-navigator-divider{height:1px;background:#f1f5f9;margin:8px 16px}.book-navigator-book{margin:2px 8px}.book-navigator-book-header{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;cursor:pointer;transition:background-color .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.book-navigator-book-header:hover{background:#f8fafc}.book-navigator-book-header.active{background:#f0f7ff}.book-navigator-book-chevron{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#94a3b8;flex-shrink:0;transition:transform .15s ease}.book-navigator-book-chevron.expanded{transform:rotate(90deg)}.book-navigator-book-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#f59e0b;flex-shrink:0}.book-navigator-book-header.active .book-navigator-book-icon{color:#3b82f6}.book-navigator-book-name{flex:1;font-size:13px;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.book-navigator-book-count{font-size:11px;font-weight:500;color:#94a3b8;padding:1px 6px;background:#f1f5f9;border-radius:10px;flex-shrink:0}.book-navigator-book-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s ease;flex-shrink:0}.book-navigator-book-header:hover .book-navigator-book-actions{opacity:1}.book-navigator-book-action-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;color:#94a3b8;padding:0;transition:all .1s ease}.book-navigator-book-action-btn:hover{background:#e2e8f0;color:#3b82f6}.book-navigator-pages{padding-left:12px}.book-navigator-page{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 22px;margin:1px 8px 1px 0;border-radius:7px;cursor:pointer;transition:background-color .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.book-navigator-page:hover{background:#f8fafc}.book-navigator-page.current{background:#eff6ff}.book-navigator-page.current:before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:3px;height:16px;background:#3b82f6;border-radius:2px}.book-navigator-page-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#94a3b8;flex-shrink:0}.book-navigator-page.current .book-navigator-page-icon{color:#3b82f6}.book-navigator-page-info{flex:1;min-width:0}.book-navigator-page-title{font-size:13px;font-weight:500;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-navigator-page.current .book-navigator-page-title{color:#1e40af;font-weight:600}.book-navigator-page-meta{font-size:11px;color:#94a3b8;margin-top:1px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.book-navigator-page-indicators{display:inline-flex;align-items:center;gap:4px;margin-left:4px}.book-navigator-page-type-badge{display:inline-block;font-size:10px;font-weight:600;line-height:1;color:#64748b;background:#f1f5f9;padding:1px 5px;border-radius:4px}.book-navigator-page-style-badge{font-size:10px;opacity:.8;line-height:1}.book-navigator-page-mode-icons{display:inline-flex;align-items:center;gap:2px}.book-navigator-page-mode-icon{opacity:.7;flex-shrink:0}.book-navigator-page-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s ease;flex-shrink:0}.book-navigator-page:hover .book-navigator-page-actions{opacity:1}.book-navigator-inline-edit{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.book-navigator-inline-input{flex:1;padding:3px 8px;border:1.5px solid #3b82f6;border-radius:5px;font-size:13px;font-weight:500;color:#1e293b;background:#fff;outline:none;min-width:0}.book-navigator-inline-input:focus{box-shadow:0 0 0 2px #3b82f61f}.book-navigator-inline-actions{display:flex;gap:2px;flex-shrink:0}.book-navigator-inline-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:5px;cursor:pointer;padding:0;transition:all .1s ease}.book-navigator-inline-btn.confirm{color:#10b981}.book-navigator-inline-btn.confirm:hover{background:#d1fae5;color:#059669}.book-navigator-inline-btn.cancel{color:#94a3b8}.book-navigator-inline-btn.cancel:hover{background:#fee2e2;color:#ef4444}.book-navigator-ref-header{display:flex;align-items:center;gap:6px;padding:7px 12px;margin:2px 8px;border-radius:8px;cursor:pointer;transition:background-color .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:calc(100% - 16px);text-align:left}.book-navigator-ref-header:hover{background:#f8fafc}.book-navigator-ref-actions{display:flex;gap:2px;margin-left:auto;flex-shrink:0;opacity:0;transition:opacity .12s ease}.book-navigator-ref-header:hover .book-navigator-ref-actions{opacity:1}.book-navigator-ref-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6366f1;flex-shrink:0}.book-navigator-ref-label{flex:1;font-size:13px;font-weight:600;color:#334155}.book-navigator-ref-count{font-size:11px;font-weight:500;color:#94a3b8;padding:1px 6px;background:#f1f5f9;border-radius:10px;flex-shrink:0}.book-navigator-ref-toolbar{display:flex;gap:6px;padding:4px 8px 6px 20px;flex-wrap:wrap}.book-navigator-ref-toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:6px;cursor:pointer;font-size:11px;font-weight:500;color:#475569;transition:all .15s ease}.book-navigator-ref-toolbar-btn:hover:not(:disabled){border-color:#3b82f6;background:#f0f7ff;color:#3b82f6}.book-navigator-ref-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.book-navigator-ref-list{padding:2px 8px 2px 20px}.book-navigator-ref-select-row{display:flex;align-items:center;gap:8px;padding:4px 12px 6px;margin-bottom:2px;font-size:11px;color:#94a3b8}.book-navigator-ref-select-label{-webkit-user-select:none;-moz-user-select:none;user-select:none}.book-navigator-ref-checkbox{width:14px;height:14px;cursor:pointer;flex-shrink:0;accent-color:#3b82f6}.book-navigator-ref-folder-block{margin-bottom:2px}.book-navigator-ref-folder-header{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 20px;border-radius:6px;cursor:pointer;font-size:12px;color:#64748b;transition:background-color .1s ease}.book-navigator-ref-folder-header:hover{background:#f8fafc}.book-navigator-ref-folder-header.active{background:#f1f5f9}.book-navigator-ref-folder-icon{color:#94a3b8;flex-shrink:0}.book-navigator-ref-folder-name{flex:1;font-weight:500}.book-navigator-ref-folder-count{font-size:11px;color:#94a3b8}.book-navigator-ref-folder-sheets{padding-left:8px}.book-navigator-ref-item{display:flex;align-items:center;gap:8px;padding:5px 12px;margin:1px 0;border-radius:6px;cursor:default;font-size:12px;color:#64748b;transition:background-color .1s ease}.book-navigator-ref-item:hover{background:#f8fafc}.book-navigator-ref-item-clickable{cursor:pointer}.book-navigator-ref-item.selected{background:#eef2ff;color:#3b82f6}.book-navigator-ref-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#a5b4fc;flex-shrink:0}.book-navigator-ref-item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.book-navigator-ref-item-name-clickable{cursor:pointer}.book-navigator-ref-item-scale{font-size:10px;color:#94a3b8;flex-shrink:0}.book-navigator-ref-upload{display:flex;align-items:center;gap:6px;padding:6px 12px;margin:4px 8px 4px 20px;border-radius:6px;border:1px dashed #cbd5e1;background:transparent;cursor:pointer;font-size:12px;color:#64748b;transition:all .15s ease;width:calc(100% - 36px)}.book-navigator-ref-upload:hover{border-color:#3b82f6;color:#3b82f6;background:#f0f7ff}.book-navigator-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #f1f5f9;flex-shrink:0}.book-navigator-footer-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;color:#475569;transition:all .15s ease}.book-navigator-footer-btn:hover{background:#f8fafc;border-color:#cbd5e1}.book-navigator-footer-btn.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.book-navigator-footer-btn.primary:hover{background:#2563eb;border-color:#2563eb}.book-navigator-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;text-align:center}.book-navigator-empty-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#f8fafc;color:#cbd5e1}.book-navigator-empty-text{font-size:13px;color:#94a3b8;line-height:1.5}.book-navigator-empty-action{margin-top:4px;padding:6px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;color:#3b82f6;transition:all .15s ease}.book-navigator-empty-action:hover{background:#f0f7ff;border-color:#93c5fd}.book-navigator-loading{display:flex;align-items:center;justify-content:center;padding:24px 20px;font-size:13px;color:#94a3b8}.book-navigator-context{position:fixed;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:4px;min-width:160px;z-index:1200}.book-navigator-context-item{display:flex;align-items:center;gap:8px;padding:7px 12px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:13px;color:#334155;width:100%;text-align:left;transition:background-color .1s ease}.book-navigator-context-item:hover{background:#f1f5f9}.book-navigator-context-item.danger{color:#ef4444}.book-navigator-context-item.danger:hover{background:#fef2f2}.book-navigator-context-divider{height:1px;background:#f1f5f9;margin:4px 8px}.book-navigator-context-item-wrapper{position:relative}.book-navigator-context-item-with-submenu{display:flex;align-items:center}.book-navigator-context-chevron{margin-left:auto;opacity:.6}.book-navigator-context-submenu{position:absolute;left:100%;top:0;margin-left:2px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:160px;max-height:240px;overflow-y:auto;padding:4px;z-index:10001}.book-navigator-context-submenu-item.current{background-color:#eef2ff;color:#3b82f6;font-weight:500}.book-navigator-context-submenu-item.current:hover{background-color:#e0e7ff}.book-navigator-new-page-dialog{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1300}.book-navigator-new-page-card{background:#fff;border-radius:16px;padding:24px;width:380px;max-width:calc(100vw - 40px);box-shadow:0 20px 40px #00000026}.book-navigator-new-page-card h3{margin:0 0 16px;font-size:16px;font-weight:700;color:#0f172a}.book-navigator-new-page-input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;outline:none;margin-bottom:16px;box-sizing:border-box;transition:border-color .15s ease}.book-navigator-new-page-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f614}.book-navigator-template-section{margin-bottom:16px}.book-navigator-template-label{display:block;font-size:12px;font-weight:600;color:#64748b;margin-bottom:8px}.book-navigator-page-type-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.book-navigator-page-type-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:all .15s ease}.book-navigator-page-type-option:hover{border-color:#93c5fd;background:#f8fafc}.book-navigator-page-type-option.selected{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.book-navigator-style-options{display:flex;gap:8px}.book-navigator-style-option{flex:1;padding:8px 12px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:all .15s ease}.book-navigator-style-option:hover{border-color:#93c5fd;background:#f8fafc}.book-navigator-style-option.selected{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.book-navigator-mode-chips{display:flex;flex-wrap:wrap;gap:6px}.book-navigator-mode-chip{padding:6px 12px;border:1.5px solid #e2e8f0;border-radius:20px;background:#fff;cursor:pointer;font-size:12px;font-weight:500;color:#64748b;transition:all .15s ease}.book-navigator-mode-chip:hover{border-color:#93c5fd;background:#f8fafc}.book-navigator-mode-chip.selected{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.book-navigator-checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;color:#475569;cursor:pointer}.book-navigator-checkbox-row input{width:16px;height:16px}.book-navigator-page-settings-subtitle{margin:-8px 0 16px;font-size:13px;color:#94a3b8}.book-navigator-new-page-create{padding:8px 16px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease}.book-navigator-new-page-create:hover:not(:disabled){background:#2563eb}.book-navigator-new-page-create:disabled{opacity:.5;cursor:not-allowed}.book-navigator-new-page-options{display:flex;gap:8px;margin-bottom:16px}.book-navigator-new-page-option{flex:1;padding:12px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;text-align:center;transition:all .15s ease}.book-navigator-new-page-option:hover{border-color:#93c5fd;background:#f0f7ff}.book-navigator-new-page-option-title{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:2px}.book-navigator-new-page-option-desc{font-size:11px;color:#94a3b8}.book-navigator-new-page-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.book-navigator-new-page-cancel{padding:8px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:13px;color:#475569;transition:all .15s ease}.book-navigator-new-page-cancel:hover{background:#f8fafc}@media(max-width:768px){.book-navigator{width:100%;max-width:100%}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.legacy-toolbar-desktop-hidden{display:none}@media(min-width:769px){.legacy-toolbar-desktop-hidden{display:none}}@media(max-width:768px){#root{padding:0;margin:0;max-width:100%}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}body:has(.auth-page),#root:has(.auth-page){padding:0;margin:0;max-width:none;min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#e9ecef,#dee2e6)}.auth-page{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef,#dee2e6);padding:2rem 1rem;box-sizing:border-box}.auth-layout{width:100%;max-width:440px}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:#1a1a2e;margin-bottom:.5rem}.auth-tagline{font-size:1rem;color:#495057;line-height:1.5}.auth-card{background:#fff;border:1px solid #dee2e6;border-radius:12px;padding:2rem;box-shadow:0 4px 24px #00000014}.auth-card-title{font-size:1.5rem;font-weight:600;color:#212529;margin:0 0 1.5rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-field label{font-size:.875rem;font-weight:500;color:#495057}.auth-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid #ced4da;border-radius:8px;background:#fff;color:#212529;transition:border-color .2s,background .2s;box-sizing:border-box}.auth-input::-moz-placeholder{color:#6c757d}.auth-input::placeholder{color:#6c757d}.auth-input:focus{outline:none;border-color:#e07c24;background:#fff}.auth-btn-primary{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:#e07c24;color:#fff;cursor:pointer;transition:background .2s,opacity .2s}.auth-btn-primary:hover:not(:disabled){background:#c96a1a}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#dee2e6}.auth-divider span{font-size:.75rem;color:#6c757d;text-transform:uppercase;letter-spacing:.05em}.auth-oauth-buttons{display:flex;flex-direction:column;gap:.75rem}.auth-btn-oauth{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;border:1px solid #ced4da;border-radius:8px;background:#fff;color:#212529;cursor:pointer;transition:background .2s,border-color .2s}.auth-btn-oauth:hover{background:#f8f9fa;border-color:#adb5bd}.auth-btn-oauth svg{flex-shrink:0}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.9375rem;color:#6c757d}.auth-footer a{color:#e07c24;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-link-secondary{font-size:.875rem;color:#6c757d;background:none;border:none;cursor:pointer;padding:0;text-align:left}.auth-link-secondary:hover{text-decoration:underline}.auth-hint{font-size:.75rem;color:#6c757d}.auth-error{font-size:.875rem;color:#ff6b6b;background:#ff6b6b26;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(255,107,107,.3)}.auth-success{font-size:.875rem;color:#51cf66;background:#51cf6626;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(81,207,102,.3)}.auth-share-notice{font-size:.875rem;color:#495057;background:#e07c2426;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(224,124,36,.3);margin-bottom:1rem}.profile-completion-notice{margin-top:-.5rem}.profile-invite-status{margin:0 0 .75rem;font-size:.9375rem;color:#495057}@media(max-width:480px){.auth-card{padding:1.5rem}.auth-page{padding:1rem .75rem}}body:has(.workspace-admin-page),body:has(.workspace-manager-page),#root:has(.workspace-admin-page),#root:has(.workspace-manager-page){padding:0;margin:0;max-width:none;min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#e9ecef,#dee2e6)}.workspace-admin-page{min-height:100vh;box-sizing:border-box;padding:1.5rem 1.25rem 2.5rem}.workspace-admin{max-width:1100px;margin:0 auto;background:#fff;border:1px solid #dee2e6;border-radius:12px;box-shadow:0 4px 24px #00000014;overflow:hidden;color:#212529}.workspace-admin-header{padding:14px 20px;background:linear-gradient(to right,#475569,#64748b);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.workspace-admin-header-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.workspace-admin-back{color:#fff;text-decoration:none;font-size:.875rem;font-weight:500;opacity:.95;display:inline-flex;align-items:center;gap:.35rem}.workspace-admin-back:hover{text-decoration:underline;opacity:1}.workspace-admin-back-secondary{opacity:.8;font-weight:400}.workspace-admin-back-secondary:hover{opacity:1}.workspace-admin-header h1{margin:.65rem 0 0;font-size:1.25rem;font-weight:600;color:#fff;letter-spacing:-.02em}.workspace-admin-id{margin:.35rem 0 0;font-size:.75rem;opacity:.85;font-family:ui-monospace,monospace;color:#e2e8f0}.workspace-admin-body{padding:1.25rem 1.25rem 1.75rem}.workspace-admin-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.workspace-admin-tabs button{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;text-transform:capitalize;transition:background .2s,border-color .2s,color .2s}.workspace-admin-tabs button:hover{background:#e9ecef;border-color:#ced4da;color:#212529}.workspace-admin-tabs button.active{background:#e07c24;border-color:#c96a1a;color:#fff}.workspace-admin-message{background:#e07c241f;border:1px solid rgba(224,124,36,.35);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem;color:#495057}.workspace-admin-section h2,.workspace-admin-section h3{margin-top:0;color:#212529;font-weight:600}.workspace-admin-section h2{font-size:1.125rem;margin-bottom:.75rem}.workspace-admin-section h3{font-size:1rem;margin-bottom:.5rem;margin-top:1.5rem}.workspace-admin-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-bottom:1.5rem;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.workspace-admin-table th,.workspace-admin-table td{text-align:left;padding:.65rem .85rem;border-bottom:1px solid #e5e7eb}.workspace-admin-table thead th{background:#f8f9fa;font-weight:600;color:#495057;font-size:.8125rem}.workspace-admin-table tbody tr:last-child td{border-bottom:none}.workspace-admin-table tbody tr:hover td{background:#fafafa}.workspace-admin-table-select{padding:.35rem .5rem;border-radius:6px;border:1px solid #ced4da;background:#fff;color:#212529;font-size:.8125rem;font-family:inherit}.workspace-admin-table-select:focus{outline:none;border-color:#e07c24}.workspace-admin-table-revoke{margin-left:0!important;padding:.35rem .65rem!important;font-size:.8125rem!important}.workspace-admin-audit-toolbar{justify-content:space-between;width:100%;margin-bottom:.75rem}.workspace-admin-audit-toolbar h2{margin:0;flex:1}.workspace-admin-list-row-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.workspace-admin-list-main{flex:1;min-width:0}.workspace-admin-textarea{width:100%;max-width:560px;padding:.65rem .85rem;border-radius:8px;border:1px solid #ced4da;background:#fff;color:#212529;font-family:inherit;font-size:.875rem;box-sizing:border-box;resize:vertical;transition:border-color .2s;margin-bottom:.75rem}.workspace-admin-textarea:focus{outline:none;border-color:#e07c24}.workspace-admin-textarea::-moz-placeholder{color:#6c757d}.workspace-admin-textarea::placeholder{color:#6c757d}.workspace-admin-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.workspace-admin-row input,.workspace-admin-row select{padding:.5rem .75rem;border-radius:8px;border:1px solid #ced4da;background:#fff;color:#212529;font-size:.875rem;font-family:inherit}.workspace-admin-row input:focus,.workspace-admin-row select:focus{outline:none;border-color:#e07c24}.workspace-admin-row button{padding:.5rem 1rem;border-radius:8px;border:none;background:#e07c24;color:#fff;cursor:pointer;font-weight:600;font-size:.875rem;font-family:inherit;transition:background .2s}.workspace-admin-row button:hover:not(:disabled){background:#c96a1a}.workspace-admin-row button:disabled{opacity:.6;cursor:not-allowed}.workspace-admin-danger{background:#dc3545!important;margin-left:.5rem}.workspace-admin-danger:hover:not(:disabled){background:#c82333!important}.workspace-admin-list{list-style:none;padding:0;margin:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.workspace-admin-list li{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem;color:#212529;background:#fff}.workspace-admin-list li:last-child{border-bottom:none}.workspace-admin-audit{list-style:none;padding:0;margin:0;max-height:70vh;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.workspace-admin-audit li{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.25rem}.workspace-admin-audit li:last-child{border-bottom:none}.workspace-admin-audit-desc{font-size:.875rem;color:#212529}.workspace-admin-audit-meta{font-size:.7rem;color:#6c757d;text-transform:uppercase;letter-spacing:.04em}@media(max-width:640px){.workspace-admin-page{padding:.75rem .5rem 1.5rem}.workspace-admin-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.workspace-manager-page{min-height:100vh;box-sizing:border-box;padding:1.5rem 1.25rem 2.5rem}.workspace-manager-card{max-width:640px}.workspace-manager-subtitle{margin:.5rem 0 0;font-size:.875rem;line-height:1.45;opacity:.9;color:#e2e8f0}.workspace-manager-body{padding-top:1rem}.workspace-manager-actions{margin-bottom:1.25rem}.workspace-manager-primary{font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#3b82f6;color:#fff;cursor:pointer;transition:background .15s,border-color .15s}.workspace-manager-primary:hover{background:#2563eb;border-color:#ffffff59}.workspace-manager-empty{padding:1.5rem 0;color:#64748b;font-size:.9375rem;line-height:1.5}.workspace-manager-empty-hint{margin:.5rem 0 0;font-size:.8125rem;color:#94a3b8}.workspace-manager-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.workspace-manager-row-shell{display:flex;align-items:stretch;gap:8px}.workspace-manager-row{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa;text-decoration:none;color:inherit;transition:background .15s,border-color .15s,box-shadow .15s}.workspace-manager-row:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0f}.workspace-manager-row-pending{opacity:.65;pointer-events:none}.workspace-manager-delete{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;min-height:100%;border:1px solid #fecaca;border-radius:10px;background:#fff;color:#b91c1c;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.workspace-manager-delete:hover:not(:disabled){background:#fef2f2;border-color:#f87171;color:#991b1b}.workspace-manager-delete:disabled{opacity:.45;cursor:not-allowed}.workspace-manager-delete-label{display:inline}@media(max-width:520px){.workspace-manager-delete-label{display:none}.workspace-manager-delete{padding:0 12px}}.workspace-manager-row-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.workspace-manager-row-name{font-size:.9375rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.workspace-manager-row-badge{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#2563eb;background:#eff6ff;border-radius:4px;padding:2px 6px}.workspace-manager-row-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.workspace-manager-role{font-size:.75rem;font-weight:500;text-transform:capitalize;color:#64748b}.workspace-manager-row-chevron{color:#94a3b8;flex-shrink:0}
