@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-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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-space-x-reverse:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@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-500:#fb2c36;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-green-700:#008138;--color-teal-500:#00baa7;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-purple-400:#c07eff;--color-black:#000;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--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)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-green-700:lab(47.0329% -47.0239 31.4788);--color-teal-500:lab(67.3859% -49.0983 -2.63511);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-purple-400:lab(63.6946% 47.6127 -59.2066)}}}@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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.4}.table-numeric{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Roboto Mono,monospace;font-size:12px}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-2\.5{left:calc(var(--spacing)*2.5)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.col-span-12{grid-column:span 12/span 12}.float-left{float:left}.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}}.m-1{margin:calc(var(--spacing)*1)}.m-2{margin:calc(var(--spacing)*2)}.m-3{margin:calc(var(--spacing)*3)}.m-4{margin:calc(var(--spacing)*4)}.m-5{margin:calc(var(--spacing)*5)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-5{margin-inline:calc(var(--spacing)*5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-5{margin-right:calc(var(--spacing)*5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-32{height:calc(var(--spacing)*32)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[60px\]{min-height:60px}.min-h-\[80px\]{min-height:80px}.min-h-\[200px\]{min-height:200px}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.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-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-64{width:calc(var(--spacing)*64)}.w-\[380px\]{width:380px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-\[2\]{flex:2}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.\[appearance\:textfield\]{appearance:textfield}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.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-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*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)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.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-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.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-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-destructive\/40{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/40{border-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-l-primary{border-left-color:var(--primary)}.bg-background{background-color:var(--background)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-input{background-color:var(--input)}.bg-muted,.bg-muted\/10{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/10{background-color:color-mix(in oklab,var(--muted)10%,transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-sidebar{background-color:var(--sidebar)}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.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-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-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-5{padding-right:calc(var(--spacing)*5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-14{padding-left:calc(var(--spacing)*14)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.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-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-purple-400{color:var(--color-purple-400)}.text-red-500{color:var(--color-red-500)}.text-teal-500{color:var(--color-teal-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.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,)}.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-opacity{transition-property:opacity;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;user-select:none}.running{animation-play-state:running}@media (hover:hover){.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-ring:hover{border-color:var(--ring)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/20:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/20:hover{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.hover\:bg-muted\/30:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/30:hover{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-700:hover{color:var(--color-green-700)}.hover\:text-primary:hover{color:var(--primary)}.hover\:opacity-100:hover{opacity:1}}.focus\:border-primary:focus{border-color:var(--primary)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + 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-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-primary:focus,.focus\:ring-primary\/20:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-primary\/20:focus{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--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-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[drop-after\=true\]\:border-b-2[data-drop-after=true]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.data-\[drop-after\=true\]\:border-b-blue-500[data-drop-after=true]{border-bottom-color:var(--color-blue-500)}.data-\[drop-before\=true\]\:border-t-2[data-drop-before=true]{border-top-style:var(--tw-border-style);border-top-width:2px}.data-\[drop-before\=true\]\:border-t-blue-500[data-drop-before=true]{border-top-color:var(--color-blue-500)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:calc(1/2*-100%)}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:calc(48%*-1)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:calc(1/2*-100%)}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:calc(48%*-1)}@media (min-width:40rem){.sm\:inline-flex{display:inline-flex}.sm\:w-\[140px\]{width:140px}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-0{gap:calc(var(--spacing)*0)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-8{grid-column:span 8/span 8}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.25rem;--background:#050607;--foreground:#dedede;--card:#0a0b0d;--card-foreground:#dedede;--popover:#0e0f11;--popover-foreground:#dedede;--muted:#151618;--muted-foreground:#616368;--border:#191b1d;--input:#0e0f11;--ring:#0465af;--primary:#1f74bf;--primary-foreground:#f8f8f8;--secondary:#151618;--secondary-foreground:#dedede;--accent:#151618;--accent-foreground:#dedede;--success:#319751;--warning:#ce9042;--destructive:#cc272e;--table-header:#0a0b0d;--table-row:#050607;--table-row-alt:#080809;--table-row-hover:#0c0d0f;--table-row-selected:#0d1721;--table-border:#151618;--table-cell-focus:#0465af;--table-cell-editing:#0d1218;--table-cell-computed:#535559;--col-material:#11a68b;--col-hours:#5194d5;--col-labor:#51a556;--col-other:#e85854;--col-summary:#6f7276;--value-material:#30b69a;--value-hours:#6da3da;--value-labor:#61b565;--value-rate:#61b565;--value-other:#e09036;--value-total:#eee;--sidebar:#030304;--sidebar-foreground:#dedede;--sidebar-primary:#1f74bf;--sidebar-primary-foreground:#f8f8f8;--sidebar-accent:#101214;--sidebar-accent-foreground:#dedede;--sidebar-border:#101214;--sidebar-ring:#0465af}@supports (color:lab(0% 0 0)){:root{--background:lab(1.55741% -.0477061 -.391665);--foreground:lab(88.4% 0 .0000119209);--card:lab(3.04131% -.0983104 -.817773);--card-foreground:lab(88.4% 0 .0000119209);--popover:lab(4.42864% -.128903 -1.04602);--popover-foreground:lab(88.4% 0 .0000119209);--muted:lab(7.21025% -.220872 -1.80841);--muted-foreground:lab(41.9736% -.401497 -2.98081);--border:lab(9.49905% -.280581 -2.22493);--input:lab(4.42864% -.128903 -1.04602);--ring:lab(41.2342% -2.64815 -46.8883);--primary:lab(47.1027% -3.97182 -47.02);--primary-foreground:lab(97.68% -.0000298023 .0000119209);--secondary:lab(7.21025% -.220872 -1.80841);--secondary-foreground:lab(88.4% 0 .0000119209);--accent:lab(7.21025% -.220872 -1.80841);--accent-foreground:lab(88.4% 0 .0000119209);--success:lab(55.358% -42.3219 27.9624);--warning:lab(64.9964% 18.6017 50.0433);--destructive:lab(45.7636% 63.3818 40.1799);--table-header:lab(3.04131% -.0983104 -.817773);--table-row:lab(1.55741% -.0477061 -.391665);--table-row-alt:lab(2.2181% -.0614747 -.493872);--table-row-hover:lab(3.68927% -.135548 -1.17013);--table-row-selected:lab(7.16427% -1.6815 -8.53689);--table-border:lab(7.21025% -.220872 -1.80841);--table-cell-focus:lab(41.2342% -2.64815 -46.8883);--table-cell-editing:lab(5.24559% -.9728 -4.53259);--table-cell-computed:lab(36.1805% -.305951 -2.23823);--col-material:lab(60.9517% -42.2454 3.65248);--col-hours:lab(58.9565% -6.41894 -40.7207);--col-labor:lab(61.1029% -39.2614 32.4265);--col-other:lab(57.6104% 56.6725 33.4484);--col-summary:lab(47.7738% -.404984 -2.98274);--value-material:lab(66.7521% -42.0986 3.64801);--value-hours:lab(64.9032% -6.78036 -34.218);--value-labor:lab(66.9137% -39.237 32.1906);--value-rate:lab(66.9137% -39.237 32.1906);--value-other:lab(67.1002% 25.8334 58.261);--value-total:lab(94.2% 0 0);--sidebar:lab(.90082% -.0320524 -.273794);--sidebar-foreground:lab(88.4% 0 .0000119209);--sidebar-primary:lab(47.1027% -3.97182 -47.02);--sidebar-primary-foreground:lab(97.68% -.0000298023 .0000119209);--sidebar-accent:lab(5.25479% -.17564 -1.47416);--sidebar-accent-foreground:lab(88.4% 0 .0000119209);--sidebar-border:lab(5.25479% -.17564 -1.47416);--sidebar-ring:lab(41.2342% -2.64815 -46.8883)}}.page-shell{flex-direction:column;gap:16px;min-height:100vh;padding:16px 20px 24px;display:flex}.page-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-title{letter-spacing:-.01em;color:var(--foreground);font-size:18px;font-weight:600}.page-subtitle{color:var(--muted-foreground);font-size:12px}.page-actions{align-items:center;gap:8px;display:flex}.page-section{flex-direction:column;gap:12px;display:flex}.surface-card{background:var(--card);border:1px solid var(--border);border-radius:8px}.surface-card.padded{padding:12px}.surface-header{justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 0;display:flex}.surface-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);font-size:12px;font-weight:600}.table-shell{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead th{background:var(--table-header);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:500}.data-table tbody td{border-top:1px solid var(--border);color:var(--foreground);white-space:nowrap;padding:8px 10px;font-size:12px}.data-table tbody tr:hover{background:var(--table-row-hover)}.cell-muted{color:var(--muted-foreground)}.cell-mono{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Roboto Mono,monospace}.cell-actions{align-items:center;gap:6px;display:flex}.empty-state{text-align:center;padding:28px 16px}.empty-state-icon{width:40px;height:40px;color:var(--muted-foreground);margin:0 auto 12px}.empty-state-title{color:var(--foreground);margin-bottom:4px;font-size:14px;font-weight:600}.empty-state-description{color:var(--muted-foreground);font-size:12px}.auth-shell{background:radial-gradient(circle at top,#0b121a,var(--background));justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}@supports (color:lab(0% 0 0)){.auth-shell{background:radial-gradient(circle at top,lab(5.23127% -1.15929 -6.2068),var(--background))}}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:28px;box-shadow:0 20px 50px #00010899;box-shadow:0 20px 50px lab(.416552% .333846 -2.66945/.6)}.auth-title{text-align:center;color:var(--foreground);font-size:20px;font-weight:600}.auth-subtitle{text-align:center;color:var(--muted-foreground);margin-top:6px;font-size:12px}.auth-link{color:var(--primary);font-weight:500}.auth-link:hover{color:#53a3f2;color:lab(64.644% -6.73148 -47.3827)}.auth-actions{flex-direction:column;gap:12px;margin-top:16px;display:flex}.menu-panel{background:var(--popover);border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:0 10px 30px #00010899;box-shadow:0 10px 30px lab(.416552% .333846 -2.66945/.6)}.menu-item{width:100%;color:var(--foreground);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.menu-item:hover{background:var(--muted)}.menu-item.destructive{color:var(--destructive)}.spreadsheet{border-collapse:collapse;table-layout:fixed;width:100%}.spreadsheet th,.spreadsheet td{border:1px solid var(--table-border);vertical-align:middle;height:28px;padding:0;font-size:12px}.spreadsheet th{background:var(--table-header);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;text-align:left;z-index:10;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:0 6px;font-size:11px;font-weight:500;position:sticky;top:0}.spreadsheet th.checkbox-col{text-align:center;width:32px;padding:0}.spreadsheet td{background:var(--table-row);cursor:cell}.spreadsheet tbody tr:nth-child(2n) td{background:var(--table-row-alt)}.spreadsheet tbody tr:hover td{background:var(--table-row-hover)}.spreadsheet tbody tr[data-selected=true] td{background:var(--table-row-selected)}.spreadsheet td[data-focused=true]{outline:2px solid var(--table-cell-focus);outline-offset:-2px;z-index:5;position:relative}.spreadsheet td[data-editing=true]{background:var(--table-cell-editing);outline:2px solid var(--table-cell-focus);outline-offset:-2px;z-index:5;position:relative}.cell-content{text-overflow:ellipsis;white-space:nowrap;align-items:center;height:100%;padding:0 6px;display:flex;overflow:hidden}.cell-content.numeric{font-variant-numeric:tabular-nums;justify-content:flex-end;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Roboto Mono,monospace;font-size:12px}.cell-content.computed{color:var(--table-cell-computed)}.cell-input{width:100%;height:100%;color:var(--foreground);font-size:inherit;background:0 0;border:none;outline:none;padding:0 6px;font-family:inherit}.cell-input.numeric{text-align:right;font-variant-numeric:tabular-nums;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Roboto Mono,monospace;font-size:12px}.checkbox-cell{justify-content:center;align-items:center;height:100%;display:flex}.data-table{border-collapse:collapse;table-layout:fixed;width:100%}.data-table th,.data-table td{border:1px solid var(--table-border);vertical-align:middle;height:28px;padding:0;font-size:12px}.data-table th{background:var(--table-header);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;text-align:left;z-index:10;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:0 6px;font-size:11px;font-weight:500;position:sticky;top:0}.data-table td{background:var(--table-row);cursor:cell;padding:0 6px}.data-table tbody tr:nth-child(2n) td{background:var(--table-row-alt)}.data-table tbody tr:hover td{background:var(--table-row-hover)}.data-table tbody tr[data-selected=true] td{background:var(--table-row-selected)}.data-table td[data-focused=true]{outline:2px solid var(--table-cell-focus);outline-offset:-2px;z-index:5;position:relative}.data-table td[data-editing=true]{background:var(--table-cell-editing);outline:2px solid var(--table-cell-focus);outline-offset:-2px;z-index:5;position:relative}.data-table td.computed{color:var(--table-cell-computed)}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:8px 0;display:flex}.toolbar-group{align-items:center;gap:8px;display:flex}.sync-indicator{color:var(--muted-foreground);border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;transition:opacity .3s;display:flex}.sync-indicator.saving{color:#c5953b;color:lab(65.2518% 12.0728 52.7697)}.sync-indicator.saved{color:#4eb068;color:lab(64.6528% -42.1632 27.6794);animation:2s ease-in-out forwards fade-out}.sync-dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}@keyframes fade-out{0%,70%{opacity:1}to{opacity:0}}.toolbar-search{position:relative}.toolbar-search input{background:var(--input);border:1px solid var(--border);width:200px;height:28px;color:var(--foreground);border-radius:4px;padding:0 8px 0 28px;font-size:12px}.toolbar-search input::placeholder{color:var(--muted-foreground)}.toolbar-search input:focus{border-color:var(--ring);outline:none}.toolbar-search .search-icon{width:14px;height:14px;color:var(--muted-foreground);position:absolute;top:50%;left:8px;transform:translateY(-50%)}.toolbar-stats{color:var(--muted-foreground);align-items:center;gap:16px;font-size:11px;display:flex}.toolbar-stats .stat-value{color:var(--foreground);font-variant-numeric:tabular-nums;font-family:SF Mono,Monaco,monospace;font-weight:500}.sidebar-nav-item{width:40px;height:40px;color:var(--muted-foreground);border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.sidebar-nav-item:hover{color:var(--foreground);background:var(--muted)}.sidebar-nav-item.active{background:var(--primary);color:var(--primary-foreground)}.sidebar-tooltip{white-space:nowrap;background:var(--popover);border:1px solid var(--border);color:var(--foreground);opacity:0;visibility:hidden;pointer-events:none;z-index:100;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,visibility .15s;display:flex;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 4px 12px #0000004d}.sidebar-nav-item:hover .sidebar-tooltip{opacity:1;visibility:visible}.sidebar-tooltip .kbd{background:var(--muted);min-width:18px;height:18px;padding:0 4px;font-size:9px}.btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;gap:4px;height:28px;padding:0 10px;font-size:12px;font-weight:500;transition:all .1s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled){background:#0465af;background:lab(41.2342% -2.64815 -46.8883)}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:#1b1d20;background:lab(10.6592% -.282764 -2.22602)}.btn-ghost{color:var(--muted-foreground);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.btn-destructive{color:var(--destructive);background:0 0}.btn-destructive:hover:not(:disabled){background:#cc272e1a;background:lab(45.7636% 63.3818 40.1799/.1)}.btn-xs{height:20px;padding:0 6px;font-size:10px}.btn-icon{width:28px;padding:0}.btn-icon-sm{width:24px;height:24px;padding:0}.btn-icon-xs{width:20px;height:20px;padding:0}.input{background:var(--input);border:1px solid var(--border);width:100%;height:32px;color:var(--foreground);border-radius:4px;padding:0 10px;font-size:13px}.input::placeholder{color:var(--muted-foreground)}.input:focus{border-color:var(--ring);outline:none}.input:disabled{opacity:.5;cursor:not-allowed}.badge{text-transform:uppercase;letter-spacing:.02em;border-radius:3px;align-items:center;padding:2px 6px;font-size:10px;font-weight:500;display:inline-flex}.badge-default{color:var(--primary);background:#1f74bf33;background:lab(47.1027% -3.97182 -47.02/.2)}.badge-secondary{background:var(--muted);color:var(--muted-foreground)}.badge-outline{border:1px solid var(--border);color:var(--muted-foreground);background:0 0}.kbd{background:var(--muted);border:1px solid var(--border);min-width:20px;height:20px;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.02em;border-radius:3px;justify-content:center;align-items:center;padding:0 5px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:500;display:inline-flex}.filter-chip{height:28px;color:var(--muted-foreground);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.filter-chip:hover{background:var(--muted);color:var(--foreground)}.filter-chip.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.filter-chip .filter-icon{width:12px;height:12px}.filter-chip .filter-count{background:#0003;background:lab(0% 0 0/.2);border-radius:3px;padding:1px 5px;font-size:10px}.popover{background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:6px;overflow:hidden;box-shadow:0 4px 16px #0000004d;box-shadow:0 4px 16px lab(0% 0 0/.3)}.popover-item{cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:12px;transition:background .1s;display:flex}.popover-item:hover,.popover-item.selected{background:var(--accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}::selection{background:var(--primary);color:var(--primary-foreground)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.spreadsheet td:focus-visible,.spreadsheet td:focus,.data-table td:focus-visible,.data-table td:focus{outline:none}.placeholder{color:var(--muted-foreground);font-style:italic}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot.estimated{background:var(--warning)}.status-dot.pending_quote{background:#d86d38;background:lab(58.3577% 40.2962 48.6012)}.status-dot.firm_quoted{background:var(--success)}.status-dot.budget{background:#6568b6;background:lab(46.4195% 14.6904 -42.411)}.status-dot.allowance{background:#0d9298;background:lab(54.5664% -31.2941 -12.8478)}.badge-estimated{color:var(--warning);background:#ce904233;background:lab(64.9964% 18.6017 50.0433/.2)}.badge-pending{color:#fa8c58;color:lab(69.9918% 39.7716 46.6465);background:#d86d3833;background:lab(58.3577% 40.2962 48.6012/.2)}.badge-firm{color:var(--success);background:#31975133;background:lab(55.358% -42.3219 27.9624/.2)}.badge-budget{color:#9095e8;color:lab(63.9354% 13.0899 -42.7122);background:#6568b633;background:lab(46.4195% 14.6904 -42.411/.2)}.badge-allowance{color:#40b1b7;color:lab(66.1711% -31.3595 -12.905);background:#0d929833;background:lab(54.5664% -31.2941 -12.8478/.2)}.spreadsheet tbody tr[data-status=estimated] td:first-child,.data-table tbody tr[data-status=estimated] td:first-child{border-left:3px solid var(--warning)}.spreadsheet tbody tr[data-status=pending_quote] td:first-child,.data-table tbody tr[data-status=pending_quote] td:first-child{border-left:3px solid #d86d38;border-left:3px solid lab(58.3577% 40.2962 48.6012)}.spreadsheet tbody tr[data-status=firm_quoted] td:first-child,.data-table tbody tr[data-status=firm_quoted] td:first-child{border-left:3px solid var(--success)}.spreadsheet tbody tr[data-status=budget] td:first-child,.data-table tbody tr[data-status=budget] td:first-child{border-left:3px solid #6568b6;border-left:3px solid lab(46.4195% 14.6904 -42.411)}.spreadsheet tbody tr[data-status=allowance] td:first-child,.data-table tbody tr[data-status=allowance] td:first-child{border-left:3px solid #0d9298;border-left:3px solid lab(54.5664% -31.2941 -12.8478)}.col-group-header{text-transform:uppercase;letter-spacing:.05em;text-align:center;border-bottom:none;font-size:10px;font-weight:600;height:20px!important}.col-group-header.material{color:var(--col-material);background:#11a68b1a;background:lab(60.9517% -42.2454 3.65248/.1)}.col-group-header.labor{color:var(--col-labor);background:#51a5561a;background:lab(61.1029% -39.2614 32.4265/.1)}.col-group-header.other{color:var(--col-other);background:#e858541a;background:lab(57.6104% 56.6725 33.4484/.1)}.col-group-header.summary{color:var(--col-summary);background:#6f727626;background:lab(47.7738% -.404984 -2.98274/.15)}.category-row{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;background:#0c0d0f!important;background:lab(3.68927% -.135548 -1.17013)!important}.category-row:hover{background:#101214!important;background:lab(5.25171% -.202894 -1.78206)!important}.category-row td{border-top:1px solid #202225;border-top:1px solid lab(12.9794% -.286572 -2.22795);border-bottom:1px solid #202225;border-bottom:1px solid lab(12.9794% -.286572 -2.22795);padding:6px 8px!important}.category-row .category-name{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;font-size:11px;display:flex}.category-row .category-count{color:var(--muted-foreground);background:#151618;background:lab(7.21025% -.220872 -1.80841);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:500}.category-row .category-subtotal{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-family:SF Mono,Monaco,monospace;font-size:11px}.category-row .category-subtotal .value{color:var(--foreground);font-weight:500}.row-number-cell{text-align:center;width:32px;color:var(--muted-foreground);-webkit-user-select:none;user-select:none;font-family:SF Mono,Monaco,monospace;font-size:10px;background:var(--table-header)!important}.value-material{color:var(--value-material)!important}.value-hours{color:var(--value-hours)!important}.value-labor{color:var(--value-labor)!important}.value-rate{color:var(--value-rate)!important}.value-other{color:var(--value-other)!important}.value-total{font-weight:600;color:var(--value-total)!important}.estimate-footer{border-top:2px solid var(--border);z-index:20;background:#030304;background:lab(.90082% -.0320524 -.273794);justify-content:space-between;align-items:center;padding:8px 12px;display:flex;position:sticky;bottom:0}.estimate-footer .totals-group{align-items:center;gap:24px;display:flex}.estimate-footer .total-item{align-items:baseline;gap:6px;font-size:11px;display:flex}.estimate-footer .total-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;font-weight:500}.estimate-footer .total-value{font-variant-numeric:tabular-nums;font-family:SF Mono,Monaco,monospace;font-weight:600}.estimate-footer .total-value.material{color:var(--col-material)}.estimate-footer .total-value.labor{color:var(--col-labor)}.estimate-footer .total-value.hours{color:var(--value-hours)}.estimate-footer .total-value.subcontract{color:var(--col-other)}.estimate-footer .grand-total{align-items:baseline;gap:8px;display:flex}.estimate-footer .grand-total .label{color:var(--muted-foreground);text-transform:uppercase;font-size:11px;font-weight:500}.estimate-footer .grand-total .value{font-variant-numeric:tabular-nums;color:var(--foreground);font-family:SF Mono,Monaco,monospace;font-size:18px;font-weight:700}.add-item-row{background:0 0!important}.add-item-row td{border:none!important;padding:4px 6px!important}.add-item-row:hover td{background:#0a0b0d;background:lab(3.04131% -.0983104 -.817773)}.add-item-row .add-trigger{color:var(--muted-foreground);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.add-item-row .add-trigger:hover{color:var(--foreground)}.data-table.dense th,.data-table.dense td{height:26px;font-size:11px}.data-table.dense .cell-content{padding:0 4px}.data-table.dense .cell-input{padding:0 4px;font-size:11px}.estimate-table{border-collapse:collapse;table-layout:fixed;width:100%}.estimate-table th,.estimate-table td{border:1px solid var(--table-border);vertical-align:middle;height:28px;padding:0;font-size:12px}.estimate-table thead{z-index:20;position:sticky;top:0}.estimate-table th{background:var(--table-header);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:0 6px;font-size:10px;font-weight:500}.estimate-table th.col-material{color:var(--col-material)}.estimate-table th.col-hours{color:var(--col-hours)}.estimate-table th.col-labor{color:var(--col-labor)}.estimate-table th.col-other{color:var(--col-other)}.estimate-table .value-total{color:var(--foreground);font-weight:600}.estimate-table .col-num{text-align:center;width:32px}.estimate-table .col-description{width:280px;min-width:200px}.estimate-table .col-tags{width:100px}.estimate-table .col-waste{text-align:right;width:50px}.estimate-table .col-qty{text-align:right;width:55px}.estimate-table .col-unit{text-align:center;width:45px}.estimate-table .col-rate{text-align:right;width:70px}.estimate-table .col-ext-material{text-align:right;width:85px}.estimate-table .col-base-hr{text-align:right;width:55px}.estimate-table .col-fac{text-align:right;width:40px}.estimate-table .col-tot-hr{text-align:right;width:55px}.estimate-table .col-labor-rate{text-align:right;width:50px}.estimate-table .col-ext-labor{text-align:right;width:80px}.estimate-table .col-sub{text-align:right;width:70px}.estimate-table .col-total{text-align:right;width:90px}.estimate-table .col-notes{width:80px}.estimate-table .col-select{text-align:center;width:32px}.estimate-table .item-row td{background:var(--table-row)}.estimate-table .item-row:nth-child(2n) td{background:var(--table-row-alt)}.estimate-table .item-row:hover td{background:var(--table-row-hover)}.estimate-table .item-row[data-selected=true] td{background:var(--table-row-selected)}.estimate-table .cell-num{text-align:center;color:var(--muted-foreground);cursor:grab;-webkit-user-select:none;user-select:none;font-family:SF Mono,monospace;font-size:10px;transition:all .1s;background:var(--table-header)!important}.estimate-table .cell-num:active{cursor:grabbing}.estimate-table .cell-num:hover{color:var(--foreground);background:var(--row-hover)!important}.estimate-table .cell-num.selected{color:var(--primary-foreground);font-weight:600;background:var(--primary)!important}.estimate-table .cell-description{align-items:center;gap:6px;padding:0 6px;display:flex}.estimate-table .cell-text{padding:0}.estimate-table .cell-number{text-align:right;padding:0}.estimate-table .cell-select{padding:0 2px}.estimate-table .cell-computed{text-align:right;color:var(--table-cell-computed);font-variant-numeric:tabular-nums;padding:0 6px;font-family:SF Mono,monospace;font-size:11px}.estimate-table .cell-checkbox{text-align:center}.estimate-table .cell-checkbox input{cursor:pointer}.estimate-table .cell-input{width:100%;height:100%;color:var(--foreground);background:0 0;border:none;outline:none;padding:0 6px;font-size:12px}.estimate-table .cell-input:focus{background:var(--table-cell-editing);outline:2px solid var(--table-cell-focus);outline-offset:-2px;z-index:5;position:relative}.estimate-table .cell-input.numeric{text-align:right;font-variant-numeric:tabular-nums;font-family:SF Mono,monospace;font-size:11px}.estimate-table select.cell-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 4px center;background-repeat:no-repeat;padding-right:16px}.estimate-table select.cell-input option{background:var(--popover);color:var(--foreground)}.command-palette-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;background:lab(0% 0 0/.6);justify-content:center;align-items:flex-start;padding-top:15vh;animation:.1s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.command-palette{background:#08090b;background:lab(2.47033% -.100583 -.901192);border:1px solid #202225;border:1px solid lab(12.9794% -.286572 -2.22795);border-radius:12px;flex-direction:column;width:560px;max-width:95vw;max-height:70vh;animation:.15s ease-out slideDown;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000080,inset 0 0 0 1px #ffffff0d;box-shadow:0 24px 80px lab(0% 0 0/.5),inset 0 0 0 1px lab(100% 0 0/.05)}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.command-palette-header{border-bottom:1px solid #191b1d;border-bottom:1px solid lab(9.49905% -.280581 -2.22493);align-items:center;gap:10px;padding:12px 16px;display:flex}.command-palette-input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;font-size:15px;font-weight:400}.command-palette-input::placeholder{color:var(--muted-foreground)}.command-palette-quantity{background:#101214;background:lab(5.25479% -.17564 -1.47416);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;display:flex}.command-palette-qty-input{width:40px;color:var(--foreground);text-align:center;background:0 0;border:none;outline:none;font-family:SF Mono,Monaco,monospace;font-size:13px}.command-palette-list{flex:1;max-height:400px;padding:8px;overflow-y:auto}.command-palette-empty{justify-content:center;align-items:center;padding:32px;display:flex}.command-palette-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;transition:background 50ms;display:flex}.command-palette-item:hover,.command-palette-item.selected{background:#14161a;background:lab(7.19868% -.318386 -2.90275)}.command-palette-item.selected{background:#151b21;background:lab(9.49397% -1.37884 -5.2379)}.command-item-icon{width:28px;height:28px;color:var(--muted-foreground);background:#101214;background:lab(5.25479% -.17564 -1.47416);border-radius:6px;justify-content:center;align-items:center;display:flex}.command-palette-item.selected .command-item-icon{color:var(--primary);background:#1a222b;background:lab(12.9615% -1.76476 -6.95769)}.command-item-content{flex:1;min-width:0}.command-item-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.command-item-description{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.command-item-meta{font-variant-numeric:tabular-nums;font-family:SF Mono,Monaco,monospace;font-size:12px}.command-item-shortcut{gap:4px;display:flex}.command-item-shortcut kbd{min-width:20px;height:20px;color:var(--muted-foreground);background:#101214;background:lab(5.25479% -.17564 -1.47416);border:1px solid #202225;border:1px solid lab(12.9794% -.286572 -2.22795);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;display:inline-flex}.command-palette-footer{background:#050607;background:lab(1.55741% -.0477061 -.391665);border-top:1px solid #191b1d;border-top:1px solid lab(9.49905% -.280581 -2.22493);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.command-palette-footer kbd{min-width:16px;height:16px;color:var(--muted-foreground);background:#101214;background:lab(5.25479% -.17564 -1.47416);border:1px solid #202225;border:1px solid lab(12.9794% -.286572 -2.22795);border-radius:3px;justify-content:center;align-items:center;margin:0 2px;padding:0 3px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:9px;display:inline-flex}.command-palette-create{background:#050607;background:lab(1.55741% -.0477061 -.391665);border-top:1px solid #191b1d;border-top:1px solid lab(9.49905% -.280581 -2.22493);padding:16px}.command-palette-expanded{max-width:560px}.create-form-section{margin-bottom:16px}.create-form-section:last-of-type{margin-bottom:0}.create-form-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);margin-bottom:10px;padding-left:2px;font-size:10px;font-weight:600}.create-form-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.create-form-field{flex-direction:column;gap:4px;display:flex}.create-form-field.col-span-2{grid-column:span 2}.create-form-field.col-span-3{grid-column:span 3}.create-form-field.col-span-4{grid-column:span 4}.create-form-field label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:500}.create-form-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.create-form-row:last-of-type{margin-bottom:12px}.create-input{height:32px;color:var(--foreground);background:#0e0f11;background:lab(4.42864% -.128903 -1.04602);border:1px solid #202225;border:1px solid lab(12.9794% -.286572 -2.22795);border-radius:6px;outline:none;width:100%;padding:0 10px;font-size:13px;transition:border-color .1s}.create-input:focus{border-color:var(--primary)}.create-input::placeholder{color:var(--muted-foreground)}.create-input option{color:var(--foreground);background:#0e0f11;background:lab(4.42864% -.128903 -1.04602)}.create-form-hint{color:var(--muted-foreground);border-left:2px solid var(--primary);margin:12px 0;padding-left:10px;font-size:11px;font-style:italic}.create-form-actions{border-top:1px solid #191b1d;border-top:1px solid lab(9.49905% -.280581 -2.22493);justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;padding-top:12px;display:flex}.btn-sm{height:28px;padding:0 12px;font-size:12px}.view-selector{position:relative}.view-selector-btn{background:var(--secondary);border:1px solid var(--border);height:28px;color:var(--foreground);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:12px;transition:background .1s;display:flex}.view-selector-btn:hover{background:#1b1d20;background:lab(10.6592% -.282764 -2.22602)}.view-selector-dropdown{background:var(--popover);border:1px solid var(--border);z-index:50;border-radius:6px;min-width:160px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000004d;box-shadow:0 4px 16px lab(0% 0 0/.3)}.view-selector-item{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background 50ms;display:flex}.view-selector-item:hover{background:var(--accent)}.view-selector-item.active{color:var(--primary);background:#1f74bf26;background:lab(47.1027% -3.97182 -47.02/.15)}.view-selector-item .check-icon{width:14px;height:14px;color:var(--primary)}.view-mode-toggle{border:1px solid var(--border);border-radius:4px;align-items:center;display:flex;overflow:hidden}.view-mode-btn{background:var(--secondary);width:28px;height:26px;color:var(--muted-foreground);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .1s;display:flex}.view-mode-btn:not(:last-child){border-right:1px solid var(--border)}.view-mode-btn:hover{color:var(--foreground);background:#1b1d20;background:lab(10.6592% -.282764 -2.22602)}.view-mode-btn.active{background:var(--primary);color:var(--primary-foreground)}.tag-filter{position:relative}.tag-filter-btn{background:var(--secondary);border:1px solid var(--border);height:28px;color:var(--foreground);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:12px;transition:background .1s;display:flex}.tag-filter-btn:hover{background:#1b1d20;background:lab(10.6592% -.282764 -2.22602)}.tag-filter-btn.active{border-color:var(--primary);color:var(--primary);background:#1f74bf26;background:lab(47.1027% -3.97182 -47.02/.15)}.tag-filter-count{background:var(--primary);min-width:16px;height:16px;color:var(--primary-foreground);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:600;display:flex}.tag-filter-dropdown{background:var(--popover);border:1px solid var(--border);z-index:50;border-radius:6px;min-width:200px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 16px #0000004d;box-shadow:0 4px 16px lab(0% 0 0/.3)}.tag-filter-header{border-bottom:1px solid var(--border);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:500;display:flex}.tag-filter-clear{color:var(--primary);cursor:pointer;text-transform:none;letter-spacing:normal;background:0 0;border:none;font-size:11px}.tag-filter-clear:hover{text-decoration:underline}.tag-filter-list{max-height:240px;overflow-y:auto}.tag-filter-item{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background 50ms;display:flex}.tag-filter-item:hover{background:var(--accent)}.tag-filter-item.selected{background:#1f74bf1a;background:lab(47.1027% -3.97182 -47.02/.1)}.tag-filter-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary);margin:0}.tag-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tag-filter-item .tag-name{flex:1}.tag-filter-item .tag-count{color:var(--muted-foreground);font-size:11px}.active-tag-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.active-tag-chip{height:24px;color:var(--foreground);background:#1f74bf26;background:lab(47.1027% -3.97182 -47.02/.15);border:1px solid #1f74bf4d;border:1px solid lab(47.1027% -3.97182 -47.02/.3);border-radius:12px;align-items:center;gap:6px;padding:0 8px;font-size:11px;display:flex}.active-tag-chip .tag-color-dot{width:6px;height:6px}.remove-tag-btn{width:14px;height:14px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .1s;display:flex}.remove-tag-btn:hover{color:var(--destructive);background:#cc272e4d;background:lab(45.7636% 63.3818 40.1799/.3)}.cell-tags{width:80px;min-width:80px;max-width:100px;padding:2px 4px!important}.item-tags-cell{flex-wrap:nowrap;align-items:center;gap:3px;display:flex;position:relative;overflow:hidden}.item-tag-chip{color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;flex-shrink:0;align-items:center;gap:2px;max-width:50px;height:16px;padding:0 4px;font-size:9px;font-weight:500;display:inline-flex;overflow:hidden}.item-tag-remove{color:#fff;opacity:.7;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:2px;padding:0;display:flex}.item-tag-remove:hover{opacity:1}.item-tag-more{color:var(--muted-foreground);font-size:10px}.item-tag-add{background:var(--secondary);border:1px dashed var(--border);width:18px;height:18px;color:var(--muted-foreground);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0;transition:all .1s;display:flex}.item-tag-add:hover{background:var(--accent);color:var(--foreground);border-style:solid}.item-tag-picker{background:var(--popover);border:1px solid var(--border);z-index:100;border-radius:6px;min-width:160px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 16px #0000004d;box-shadow:0 4px 16px lab(0% 0 0/.3)}.item-tag-picker-header{border-bottom:1px solid var(--border);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;font-size:10px;font-weight:500}.item-tag-picker-list{max-height:160px;overflow-y:auto}.item-tag-picker-item{cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:11px;transition:background 50ms;display:flex}.item-tag-picker-item:hover{background:var(--accent)}.item-tag-picker-item.assigned{background:#1f74bf1a;background:lab(47.1027% -3.97182 -47.02/.1)}.item-tag-picker-item input[type=checkbox]{width:12px;height:12px;accent-color:var(--primary);margin:0}.item-tag-picker-empty{color:var(--muted-foreground);text-align:center;padding:12px 10px;font-size:11px}.col-tags{width:80px;min-width:80px;max-width:100px}.tag-manager{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px}.tag-manager-header{margin-bottom:16px}.tag-manager-title{margin:0 0 4px;font-size:16px;font-weight:600}.tag-manager-description{color:var(--muted-foreground);margin:0;font-size:13px}.tag-manager-loading{text-align:center;color:var(--muted-foreground);padding:20px;font-size:13px}.tag-manager-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.tag-manager-item{background:var(--secondary);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.tag-manager-item-content{align-items:center;gap:10px;display:flex}.tag-color-preview{border-radius:50%;flex-shrink:0;width:14px;height:14px}.tag-manager-item-name{font-size:14px;font-weight:500}.tag-manager-item-count{color:var(--muted-foreground);font-size:12px}.tag-manager-item-actions{opacity:0;align-items:center;gap:4px;transition:opacity .1s;display:flex}.tag-manager-item:hover .tag-manager-item-actions{opacity:1}.tag-manager-edit{align-items:center;gap:12px;width:100%;display:flex}.tag-color-picker{align-items:center;gap:4px;display:flex}.tag-color-option{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;transition:all .1s}.tag-color-option:hover{transform:scale(1.1)}.tag-color-option.selected{border-color:var(--foreground);box-shadow:0 0 0 2px var(--background)}.tag-name-input{background:var(--input);border:1px solid var(--border);min-width:0;height:32px;color:var(--foreground);border-radius:4px;flex:1;padding:0 10px;font-size:14px}.tag-name-input:focus{border-color:var(--primary);outline:none}.tag-edit-actions{align-items:center;gap:6px;display:flex}.tag-manager-empty{text-align:center;color:var(--muted-foreground);background:var(--secondary);border:1px dashed var(--border);border-radius:6px;padding:20px;font-size:13px}.tag-manager-create{background:var(--secondary);border:1px solid var(--primary);border-radius:6px;align-items:center;gap:12px;padding:12px;display:flex}.tag-manager-add-btn{border:1px dashed var(--border);width:100%;color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;transition:all .1s;display:flex}.tag-manager-add-btn:hover{background:var(--secondary);border-color:var(--primary);color:var(--foreground)}.labor-rate-manager{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px}.labor-rate-manager-header{margin-bottom:16px}.labor-rate-manager-title{margin:0 0 4px;font-size:16px;font-weight:600}.labor-rate-manager-description{color:var(--muted-foreground);margin:0;font-size:13px}.labor-rate-manager-loading{text-align:center;color:var(--muted-foreground);padding:20px;font-size:13px}.labor-rate-manager-list{flex-direction:column;gap:8px;display:flex}.labor-rate-manager-item{background:var(--secondary);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.labor-rate-manager-info{flex-direction:column;gap:2px;display:flex}.labor-rate-name{font-size:14px;font-weight:500}.labor-rate-meta{color:var(--muted-foreground);font-size:12px}.labor-rate-manager-controls{align-items:center;gap:8px;display:flex}.labor-rate-input{background:var(--input);border:1px solid var(--border);width:120px;height:32px;color:var(--foreground);text-align:right;border-radius:4px;padding:0 8px;font-family:SF Mono,Monaco,monospace;font-size:13px}.labor-rate-input:focus{border-color:var(--primary);outline:none}.labor-rate-manager-empty{text-align:center;color:var(--muted-foreground);background:var(--secondary);border:1px dashed var(--border);border-radius:6px;padding:20px;font-size:13px}.btn-icon-sm{justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.group-row{border-top:1px solid var(--border);background:#0c0d10;background:lab(3.68676% -.155643 -1.41581)}.group-row:hover{background:#0f1216;background:lab(5.23796% -.285208 -3.0582)}.group-row td{border-bottom:1px solid var(--border);padding:0}.group-toggle{cursor:pointer;width:18px;height:18px;color:var(--muted-foreground);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex}.group-toggle:hover{color:var(--foreground);background:#181b1f;background:lab(9.48197% -.41151 -3.68196)}.group-title{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.group-code{color:var(--primary);background:#021630;background:lab(6.81961% 1.00511 -20.5007);border-radius:3px;flex-shrink:0;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:600}.group-name{text-overflow:ellipsis;white-space:nowrap;color:var(--foreground);cursor:text;letter-spacing:.01em;border-radius:3px;padding:1px 4px;font-size:12px;font-weight:600;transition:background .1s;overflow:hidden}.group-name:hover{background:#181b1f;background:lab(9.48197% -.41151 -3.68196)}.group-path{color:var(--muted-foreground);opacity:.8;letter-spacing:.02em;font-size:10px}.group-quantity{flex-shrink:0;align-items:center;display:flex}.group-quantity-btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:2px;padding:2px 6px;font-size:11px;transition:all .15s;display:flex}.group-quantity-btn:hover{border-color:var(--border);color:var(--foreground);background:#181b1f;background:lab(9.48197% -.41151 -3.68196)}.group-quantity-btn.has-value{color:var(--primary);font-weight:600}.group-quantity-btn.has-value:hover{border-color:var(--primary)}.group-quantity-value{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace}.group-quantity-unit{text-transform:uppercase;opacity:.7;font-size:9px}.group-quantity-input{font-variant-numeric:tabular-nums;background:var(--input);border:1px solid var(--primary);width:60px;height:22px;color:var(--foreground);text-align:center;border-radius:3px;outline:none;padding:0 6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:11px}.group-quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.group-quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.group-count{color:var(--muted-foreground);background:#181b1f;background:lab(9.48197% -.41151 -3.68196);border-radius:999px;margin-left:2px;padding:1px 6px;font-size:10px;font-weight:600}.group-total-cell{color:var(--foreground);text-align:right;font-size:11px;font-weight:600;padding-right:12px!important}.cell-description-content{align-items:center;gap:6px;width:100%;display:flex}.cell-description-content .cell-input{flex:1}.cell-description-content .item-indent{width:calc(var(--depth,0)*12px);flex-shrink:0;height:1px}.estimate-table .col-type{text-align:center;width:42px}.estimate-table .cell-type{text-align:center}.type-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600;display:inline-block}.type-badge.type-material{color:#00b4bb;color:lab(66.3586% -37.5367 -15.4041);background:#00282a;background:lab(13.5711% -18.6384 -7.61343)}.type-badge.type-labor_only{color:#9095e8;color:lab(63.9354% 13.0899 -42.7122);background:#1c1d3e;background:lab(12.2816% 7.72318 -21.1496)}.type-badge.type-equipment{color:#d58b4b;color:lab(64.7531% 24.381 45.5224);background:#361900;background:lab(12.7324% 12.9102 19.5212)}.type-badge.type-subcontract{color:#bf85cd;color:lab(63.4748% 32.0822 -28.124);background:#2e1733;background:lab(12.1014% 16.1963 -13.9475)}.type-badge.type-allowance{color:#6096bb;color:lab(59.4043% -10.5722 -25.4178);background:#062437;background:lab(12.9472% -5.40556 -15.6351)}.type-badge.type-lump_sum{color:#6b8496;color:lab(53.633% -5.93442 -12.9139);background:#0d1c27;background:lab(9.51601% -3.84469 -9.50136)}.estimate-table .col-status{width:100px}.estimate-table .cell-status{padding:2px 4px!important}.status-select{border-left:3px solid var(--warning)!important;padding-left:6px!important;font-size:10px!important}.estimate-table .col-ref{width:70px}.estimate-table .col-spec,.estimate-table .col-area{width:65px}.estimate-table .col-phase{width:55px}.estimate-table .cell-waste{text-align:right;padding:0 8px!important}.waste-value{color:var(--muted-foreground);font-size:11px}.estimate-table .col-adj-qty{text-align:right;width:65px}.estimate-table .cell-adj-qty{color:var(--muted-foreground);font-size:11px}.adj-qty-indicator{color:var(--warning);margin-left:2px;font-weight:600}.rate-override-indicator{color:var(--warning);margin-left:6px;font-size:10px;font-weight:600}.estimate-table .cell-notes{overflow:hidden;padding:0 6px!important}.notes-text{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.group-row-content{align-items:center;gap:8px;padding:6px 10px;display:flex;position:relative}.group-drag-handle{width:16px;height:16px;color:var(--muted-foreground);cursor:grab;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:inline-flex}.group-drag-handle:hover{color:var(--foreground);background:#181b1f;background:lab(9.48197% -.41151 -3.68196)}.group-drag-handle:active{cursor:grabbing}.group-indent{flex-shrink:0;display:inline-block}.group-name-input{background:var(--input);border:1px solid var(--primary);color:var(--foreground);border-radius:3px;outline:none;flex:1;padding:2px 6px;font-size:12px;font-weight:500}.group-actions{opacity:0;align-items:center;gap:2px;transition:opacity .1s;display:flex;position:relative}.group-row:hover .group-actions{opacity:1}.group-action-btn{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex}.group-action-btn:hover{background:var(--muted);color:var(--foreground)}.group-menu{z-index:100;background:var(--popover);border:1px solid var(--border);border-radius:6px;min-width:120px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000004d}.group-menu-item{width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.group-menu-item:hover{background:var(--muted)}.group-menu-item.destructive{color:var(--destructive)}.group-menu-item.destructive:hover{background:#400c11;background:lab(12.1519% 25.6559 11.5479)}.group-menu-item-with-submenu{position:relative}.group-menu-item.has-submenu{justify-content:flex-start}.group-menu-item.has-submenu .ml-auto{margin-left:auto}.group-submenu{background:var(--popover);border:1px solid var(--border);opacity:0;visibility:hidden;border-radius:6px;min-width:140px;max-height:200px;padding:4px;transition:opacity .15s,visibility .15s;position:absolute;top:0;left:100%;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.group-menu-item-with-submenu:hover .group-submenu{opacity:1;visibility:visible}.create-group-inline{align-items:center;gap:6px;display:flex}.create-group-input{background:var(--input);border:1px solid var(--border);width:150px;color:var(--foreground);border-radius:4px;padding:4px 8px;font-size:12px}.create-group-input:focus{border-color:var(--primary);outline:none}.create-subgroup-row{background:var(--background)}.create-subgroup-inline{align-items:center;gap:8px;padding:8px 0;display:flex}.create-subgroup-input{background:var(--input);border:1px solid var(--border);max-width:200px;color:var(--foreground);border-radius:4px;flex:1;padding:4px 8px;font-size:12px}.create-subgroup-input:focus{border-color:var(--primary);outline:none}.estimate-table .item-row{cursor:grab}.estimate-table .item-row.dragging{opacity:.5;cursor:grabbing}.estimate-table .item-row.dragging td{color:#fff;background:var(--primary)!important}.estimate-table .item-row[data-drop-before=true]{box-shadow:inset 0 2px 0 0 var(--primary)}.estimate-table .item-row[data-drop-after=true]{box-shadow:inset 0 -2px 0 0 var(--primary)}.estimate-table .group-row.drag-over{outline:2px dashed var(--primary);outline-offset:-2px}.estimate-table .group-row.drag-over td{background:#001a3c!important;background:lab(8.81575% 3.42765 -27.3693)!important}.ungrouped-header-row{border-bottom:1px solid var(--border);border-top:2px solid var(--border);background:#0a0b0d;background:lab(3.03919% -.117414 -1.03128)}.ungrouped-header-row td{padding:0}.ungrouped-header-content{align-items:center;gap:8px;padding:6px 12px;display:flex}.ungrouped-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:11px;font-weight:600}.ungrouped-count{color:var(--muted-foreground);opacity:.7;font-size:10px}.estimate-table .ungrouped-header-row.drag-over{outline:2px dashed var(--primary);outline-offset:-2px}.estimate-table .ungrouped-header-row.drag-over td{background:#021630!important;background:lab(6.81961% 1.00511 -20.5007)!important}.estimate-table .cell-num:before{content:"⋮⋮";opacity:0;vertical-align:middle;letter-spacing:-1px;margin-right:2px;font-size:8px;transition:opacity .1s}.estimate-table .item-row:hover .cell-num:before{opacity:.5}.estimate-table .cell-num{position:relative}.estimate-table .cell-num .row-num{display:inline}.estimate-table .cell-num .qa-indicator{opacity:.85;justify-content:center;align-items:center;display:flex;position:absolute;top:1px;right:1px}.estimate-table .cell-num .qa-indicator.qa-error{color:var(--destructive)}.estimate-table .cell-num .qa-indicator.qa-warning{color:var(--warning)}.estimate-table .cell-num .qa-indicator.qa-info{color:var(--primary);opacity:.6}.estimate-table .cell-num.qa-error{border-left:2px solid var(--destructive)}.estimate-table .cell-num.qa-warning{border-left:2px solid var(--warning)}.estimate-table .cell-num.qa-info{border-left:2px solid var(--primary);border-left-style:dashed}.estimate-table .cell-num .qa-indicator.qa-info{opacity:0}.estimate-table .item-row:hover .cell-num .qa-indicator.qa-info{opacity:.6}.estimate-table .cell-num .qa-indicator.qa-error,.estimate-table .cell-num .qa-indicator.qa-warning{opacity:.85}.bulk-operations-bar{z-index:40;background:#0c121a;background:lab(5.21182% -.730597 -6.38116);border-bottom:1px solid #1b222b;border-bottom:1px solid lab(12.9363% -1.18607 -7.14462);padding:8px 16px;animation:.15s ease-out slideDown;position:sticky;top:0}.bulk-bar-content{align-items:center;gap:12px;max-width:100%;display:flex}.bulk-bar-selection{align-items:center;gap:6px;display:flex}.bulk-bar-count{color:var(--primary);text-align:center;background:#102239;background:lab(12.7317% -.923738 -17.3811);border-radius:10px;min-width:24px;padding:2px 8px;font-size:13px;font-weight:600}.bulk-bar-label{color:var(--muted-foreground);font-size:12px}.bulk-bar-clear{width:20px;height:20px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .1s;display:flex}.bulk-bar-clear:hover{color:var(--foreground);background:#1f2227;background:lab(12.9629% -.428468 -3.68954)}.bulk-bar-divider{background:#1f2227;background:lab(12.9629% -.428468 -3.68954);width:1px;height:24px}.bulk-bar-actions{align-items:center;gap:4px;display:flex}.bulk-action-group{position:relative}.bulk-action-btn{color:var(--foreground);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #26292e;border:1px solid lab(16.4436% -.441715 -3.69567);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .1s;display:flex}.bulk-action-btn:hover{background:#181b1f;background:lab(9.48197% -.41151 -3.68196);border-color:#343b45;border-color:lab(24.5199% -.749707 -7.33305)}.bulk-action-btn.active{border-color:var(--primary);color:var(--primary);background:#142234;background:lab(12.8156% -1.30244 -14.0053)}.bulk-action-btn.bulk-action-destructive{color:var(--destructive);border-color:#442323;border-color:lab(18.2844% 15.9601 7.02356)}.bulk-action-btn.bulk-action-destructive:hover{border-color:var(--destructive);background:#37040a;background:lab(8.6654% 25.6824 9.66115)}.bulk-action-menu{z-index:50;background:#0b0d11;background:lab(3.68136% -.188701 -1.91906);border:1px solid #1f2227;border:1px solid lab(12.9629% -.428468 -3.68954);border-radius:8px;min-width:160px;padding:4px;animation:.1s ease-out fadeIn;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0006;box-shadow:0 8px 24px lab(0% 0 0/.4)}.bulk-menu-item{width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;transition:background .1s;display:flex}.bulk-menu-item:hover{background:#181b1f;background:lab(9.48197% -.41151 -3.68196)}.bulk-menu-item .status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.bulk-menu-item .move-indent{flex-shrink:0;display:inline-block}.bulk-action-input-menu{min-width:180px;padding:8px}.bulk-input-group{background:#050607;background:lab(1.55462% -.0707507 -.667319);border:1px solid #1f2227;border:1px solid lab(12.9629% -.428468 -3.68954);border-radius:6px;align-items:center;margin-bottom:8px;padding:0 8px;display:flex}.bulk-input-group:focus-within{border-color:var(--primary)}.bulk-input{width:60px;color:var(--foreground);background:0 0;border:none;outline:none;flex:1;padding:8px 4px;font-family:SF Mono,Monaco,monospace;font-size:13px}.bulk-input::placeholder{color:var(--muted-foreground)}.bulk-input-prefix,.bulk-input-suffix{color:var(--muted-foreground);font-size:12px}.bulk-input-presets{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.bulk-preset-btn{color:var(--muted-foreground);cursor:pointer;background:#14161a;background:lab(7.19868% -.318386 -2.90275);border:1px solid #1f2227;border:1px solid lab(12.9629% -.428468 -3.68954);border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .1s}.bulk-preset-btn:hover{border-color:var(--primary);color:var(--primary);background:#1b222b;background:lab(12.9363% -1.18607 -7.14462)}.bulk-apply-btn{width:100%;color:var(--primary-foreground);background:var(--primary);cursor:pointer;border:none;border-radius:6px;padding:8px;font-size:12px;font-weight:600;transition:opacity .1s}.bulk-apply-btn:hover{opacity:.9}.bulk-apply-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-action-move-menu{max-height:280px;overflow-y:auto}.line-item-panel{z-index:50;background:#06070a;background:lab(1.97167% -.11301 -1.28615);border-left:1px solid #181b1f;border-left:1px solid lab(9.48197% -.41151 -3.68196);flex-direction:column;width:380px;height:100vh;animation:.2s ease-out slideInRight;display:flex;position:fixed;top:0;right:0;box-shadow:-8px 0 32px #0006;box-shadow:-8px 0 32px lab(0% 0 0/.4)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.panel-header{background:#090b0f;background:lab(3.03209% -.161417 -1.69406);border-bottom:1px solid #181b1f;border-bottom:1px solid lab(9.48197% -.41151 -3.68196);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.panel-title{color:var(--foreground);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.panel-close{width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .1s;display:flex}.panel-close:hover{color:var(--foreground);background:#181b1f;background:lab(9.48197% -.41151 -3.68196)}.panel-content{flex:1;padding:16px;overflow-y:auto}.panel-section{margin-bottom:20px}.panel-section-primary{border-bottom:1px solid #13161b;border-bottom:1px solid lab(7.19015% -.368543 -3.62587);margin-bottom:24px;padding-bottom:16px}.panel-section-material{background:#03101126;background:lab(3.81771% -3.54543 -1.7117/.15);border-left:3px solid #00a3aa;border-left:3px solid lab(60.5555% -37.4904 -15.3679);border-radius:8px;padding:12px}.panel-section-labor{background:#07100926;background:lab(3.85742% -3.40533 2.10065/.15);border-left:3px solid #43a65f;border-left:3px solid lab(61.1676% -42.2168 27.774);border-radius:8px;padding:12px}.panel-section-muted{background:#0c0d0f;background:lab(3.68927% -.135548 -1.17013);border-radius:8px;padding:12px}.panel-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.panel-title-input{width:100%;color:var(--foreground);background:0 0;border:none;outline:none;padding:8px 0;font-size:18px;font-weight:600}.panel-title-input::placeholder{color:var(--muted-foreground);opacity:.5}.panel-title-input:focus{border-bottom:1px solid var(--primary)}.panel-description-input{width:100%;color:var(--muted-foreground);resize:none;background:0 0;border:none;outline:none;padding:6px 0;font-size:13px;line-height:1.5}.panel-description-input::placeholder{color:var(--muted-foreground);opacity:.4}.panel-description-input:focus{color:var(--foreground)}.panel-row{gap:12px;margin-bottom:8px;display:flex}.panel-row:last-child{margin-bottom:0}.panel-field{flex:1;min-width:0}.panel-field-actions{flex-direction:column;justify-content:flex-end;display:flex}.panel-field-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:10px;font-weight:500;display:block}.panel-input{width:100%;color:var(--foreground);background:#101215;background:lab(5.24513% -.249438 -2.41115);border:1px solid #1f2227;border:1px solid lab(12.9629% -.428468 -3.68954);border-radius:6px;outline:none;padding:6px 8px;font-size:13px;transition:border-color .1s,background .1s}.panel-input:focus{border-color:var(--primary);background:#0b0d12;background:lab(3.67543% -.212148 -2.43837)}.panel-input::placeholder{color:var(--muted-foreground);opacity:.5}.panel-select{width:100%;color:var(--foreground);cursor:pointer;background:#101215;background:lab(5.24513% -.249438 -2.41115);border:1px solid #1f2227;border:1px solid lab(12.9629% -.428468 -3.68954);border-left-width:3px;border-radius:6px;outline:none;padding:6px 8px 6px 12px;font-size:13px}.panel-select:focus{border-color:var(--primary)}.panel-value{color:var(--foreground);font-variant-numeric:tabular-nums;background:#0c0d0f;background:lab(3.68927% -.135548 -1.17013);border-radius:6px;padding:6px 8px;font-family:SF Mono,Monaco,monospace;font-size:13px;font-weight:500}.panel-override{color:var(--warning);font-weight:600}.panel-action-btn{color:var(--foreground);cursor:pointer;background:#101215;background:lab(5.24513% -.249438 -2.41115);border:1px solid #26292e;border:1px solid lab(16.4436% -.441715 -3.69567);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;transition:background .12s,border-color .12s}.panel-action-btn+.panel-action-btn{margin-top:6px}.panel-action-btn:hover:not(:disabled){border-color:var(--primary);background:#181b1f;background:lab(9.48197% -.41151 -3.68196)}.panel-action-btn:disabled{opacity:.5;cursor:not-allowed}.panel-computed{color:var(--muted-foreground);margin-top:4px;font-size:11px}.panel-computed strong{color:var(--foreground)}.panel-textarea{width:100%;color:var(--foreground);resize:vertical;background:#101215;background:lab(5.24513% -.249438 -2.41115);border:1px solid #1f2227;border:1px solid lab(12.9629% -.428468 -3.68954);border-radius:8px;outline:none;min-height:80px;padding:10px 12px;font-size:13px;line-height:1.5}.panel-textarea:focus{border-color:var(--primary)}.panel-textarea::placeholder{color:var(--muted-foreground);opacity:.5}.panel-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.panel-tag{color:#fff;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.panel-tag-remove{width:14px;height:14px;color:inherit;cursor:pointer;opacity:.7;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .1s;display:flex}.panel-tag-remove:hover{opacity:1;background:#ffffff4d}.panel-tag-add{color:var(--muted-foreground);cursor:pointer;background:#13161b;background:lab(7.19015% -.368543 -3.62587);border:1px dashed #2b2e33;border:1px dashed lab(18.7641% -.449047 -3.69914);border-radius:12px;padding:3px 8px;font-size:11px}.panel-tag-add:hover{border-color:var(--primary);color:var(--foreground);background:#181b1f;background:lab(9.48197% -.41151 -3.68196)}.panel-total{background:#030304;background:lab(.898769% -.0460669 -.468522);border-top:1px solid #181b1f;border-top:1px solid lab(9.48197% -.41151 -3.68196);justify-content:space-between;align-items:center;margin:16px -16px -16px;padding:16px;display:flex}.panel-total-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);font-size:12px;font-weight:600}.panel-total-value{color:var(--foreground);font-variant-numeric:tabular-nums;font-family:SF Mono,Monaco,monospace;font-size:20px;font-weight:700}.estimate-container.panel-open{margin-right:380px;transition:margin-right .2s ease-out}.panel-keyboard-hint{color:var(--muted-foreground);opacity:.5;font-size:10px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.estimate-table .item-row.panel-active{box-shadow:inset 3px 0 0 var(--primary);background:#051223!important;background:lab(5.09439% -.308447 -13.0889)!important}.estimate-table .item-row.panel-active td{background:inherit}.estimate-summary{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:12px 16px}.summary-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);margin-bottom:12px;font-size:11px;font-weight:600}.summary-grid{flex-direction:column;gap:6px;display:flex}.summary-row{justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.summary-row .label{color:var(--foreground)}.summary-row .value{font-variant-numeric:tabular-nums;color:var(--foreground);font-family:SF Mono,Monaco,monospace}.summary-row.indent{padding-left:12px}.summary-row .muted{color:var(--muted-foreground)}.summary-row.total{font-size:14px;font-weight:600}.summary-row.total .value{color:var(--success);font-size:16px}.summary-divider{background:var(--border);height:1px;margin:6px 0}.summary-divider.thick{background:var(--border);height:2px;margin:8px 0}.auth-container{background:var(--background);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.auth-container:before{content:"";background:linear-gradient(90deg,var(--border)1px,transparent 1px)0 0/60px 60px,linear-gradient(var(--border)1px,transparent 1px)0 0/60px 60px;opacity:.3;pointer-events:none;position:absolute;inset:0}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:2px;width:100%;max-width:320px;padding:32px 28px;position:relative}.auth-header{justify-content:center;margin-bottom:28px;display:flex}.auth-logo{width:40px;height:40px;color:var(--muted-foreground);justify-content:center;align-items:center;display:flex}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-error{color:#f87171;background:#ef444414;border:1px solid #ef444433;padding:10px 12px;font-size:12px}.auth-field input{background:var(--background);border:1px solid var(--border);width:100%;height:40px;color:var(--foreground);padding:0 12px;font-size:13px;transition:border-color .15s}.auth-field input::placeholder{color:var(--muted-foreground)}.auth-field input:focus{border-color:var(--muted-foreground);outline:none}.auth-submit{background:var(--foreground);width:100%;height:40px;color:var(--background);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:13px;font-weight:500;transition:opacity .15s;display:flex}.auth-submit:hover:not(:disabled){opacity:.85}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;margin-top:20px}.auth-footer a{color:var(--muted-foreground);font-size:12px;text-decoration:none;transition:color .15s}.auth-footer a:hover{color:var(--foreground)}@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-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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
