/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--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{:host,:root{--font-sans:"Aptos","Segoe UI",system-ui,-apple-system,sans-serif;--font-mono:"Cascadia Code","SFMono-Regular",Consolas,monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"Aptos","Segoe UI",system-ui,-apple-system,sans-serif;--default-mono-font-family:"Cascadia Code","SFMono-Regular",Consolas,monospace}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-px{height:1px}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.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)}.shrink-0{flex-shrink:0}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.cursor-default{cursor:default}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-1{padding:calc(var(--spacing) * 1)}.p-6{padding:calc(var(--spacing) * 6)}.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-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-6{padding-block:calc(var(--spacing) * 6)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.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))}.leading-none{--tw-leading:1;line-height:1}.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)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.ring-0{--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)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 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)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 6)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.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-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing) * 3.5)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.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\=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\]\: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\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}}@media (min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:color-mix(in oklab,var(--input) 80%,transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@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{--background:#07111f;--foreground:#e8f0f8;--card:#0d1929;--card-foreground:#e8f0f8;--popover:#101d2e;--popover-foreground:#e8f0f8;--primary:#3ce0d0;--primary-foreground:#04201e;--secondary:#17263a;--secondary-foreground:#dce7f2;--muted:#142236;--muted-foreground:#91a3b8;--accent:#1a2c42;--accent-foreground:#f4f8fc;--destructive:#e35268;--border:#94a3b82b;--input:#94a3b83d;--ring:#3ce0d0;--chart-1:#19d3c5;--chart-2:#6ea8fe;--chart-3:#b992ff;--chart-4:#f3ba63;--chart-5:#fa7d9b;--radius:.75rem;--sidebar:#091524;--sidebar-foreground:#dce7f2;--sidebar-primary:#3ce0d0;--sidebar-primary-foreground:#04201e;--sidebar-accent:#14263a;--sidebar-accent-foreground:#f4f8fc;--sidebar-border:#94a3b824;--sidebar-ring:#3ce0d0;color-scheme:dark}*{box-sizing:border-box}html{background:#07111f}body{min-width:320px;min-height:100vh;color:var(--foreground);font-family:var(--font-sans);font-variant-numeric:tabular-nums;background:radial-gradient(circle at 72% -10%,#1ca99f17,#0000 26rem),#07111f;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:#3ce0d047}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:30;border-right:1px solid var(--sidebar-border);background:linear-gradient(#3ce0d009,#0000 25%),#091524;flex-direction:column;height:100vh;padding:23px 18px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 6px 22px;display:flex}.brand-mark{color:#50e8da;background:linear-gradient(145deg,#3ce0d029,#3ce0d00a);border:1px solid #3ce0d047;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 1px #ffffff0f,0 10px 30px #0000002e}.brand-mark svg{width:21px;height:21px}.brand>div:nth-child(2){min-width:0}.brand strong{letter-spacing:.09em;font-size:18px;display:block}.brand span{color:#7f91a8;letter-spacing:.03em;margin-top:1px;font-size:11px;display:block}.sidebar-close{color:#91a3b8;background:0 0;border:0;margin-left:auto;display:none}.sidebar-lab{background:#ffffff06;border:1px solid #94a3b821;border-radius:12px;margin-bottom:18px;padding:13px}.sidebar-lab>span{color:#6f839b;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700;display:block}.sidebar-lab strong{color:#f0f6fb;margin-top:6px;font-size:13px}.sidebar-lab small,.sidebar-lab strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-lab small{color:#7890a9;margin-top:3px;font-size:10px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav button{color:#8fa2b7;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:11px;width:100%;padding:10px 12px;font-size:13px;transition:all .14s;display:flex}.sidebar nav button:hover{color:#dce7f2;background:#ffffff06;border-color:#94a3b81a}.sidebar nav button.active{color:#e9fffc;background:linear-gradient(90deg,#3ce0d021,#3ce0d009);border-color:#3ce0d029;box-shadow:inset 3px 0 #3ce0d0}.sidebar nav svg{width:17px;height:17px}.sidebar-foot{gap:13px;margin-top:auto;display:grid}.security-mini,.user-mini{align-items:center;gap:10px;min-width:0;display:flex}.security-mini{border-top:1px solid var(--sidebar-border);color:#56dacd;padding:16px 5px 0}.security-mini svg,.user-mini svg{flex:none;width:17px;height:17px}.security-mini span,.user-mini span{color:#6f839b;text-overflow:ellipsis;min-width:0;font-size:10px;line-height:1.35;display:block;overflow:hidden}.security-mini strong,.user-mini strong{color:#bbc9d8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;display:block;overflow:hidden}.avatar{color:#75e9df;background:#18314a;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:10px;font-weight:800;display:grid}.main{min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07111fe3;border-bottom:1px solid #94a3b81c;align-items:center;gap:18px;min-height:102px;padding:18px clamp(20px,3.2vw,48px);display:flex;position:sticky;top:0}.page-title{min-width:0}.page-title>span{color:#36cabd;letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.page-title h1{color:#f3f8fc;letter-spacing:-.025em;margin:0;font-size:clamp(21px,2.2vw,27px);font-weight:650}.page-title p{color:#768aa2;margin:3px 0 0;font-size:11px}.topbar-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.lab-select{background:#0e1c2ccc;border-color:#94a3b82e;width:min(260px,28vw)}.menu-button{border:1px solid var(--border);background:var(--card);color:#bac9d8;border-radius:9px;padding:8px;display:none}.menu-button svg{width:18px;height:18px}.sidebar-backdrop{display:none}.content{width:100%;max-width:1600px;margin:0 auto;padding:26px clamp(20px,3.2vw,48px) 48px}.demo-banner,.error-banner,.notice-banner{border:1px solid;border-radius:10px;align-items:center;gap:9px;margin:18px clamp(20px,3.2vw,48px) -8px;padding:10px 13px;font-size:11px;display:flex}.demo-banner{color:#eac486;background:#f3ba6314;border-color:#f3ba6347}.error-banner{color:#ff9dad;background:#e3526814;border-color:#e352684d}.notice-banner{color:#8ef4ea;background:#3ce0d012;border-color:#3ce0d040}.demo-banner svg,.error-banner svg,.notice-banner svg{flex:none;width:15px;height:15px}.error-banner button,.notice-banner button{color:currentColor;background:0 0;border:0;margin-left:auto}.error-banner button svg,.notice-banner button svg{width:14px;height:14px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px;display:grid}.gateway-presence{border:1px solid var(--border);background:var(--muted);border-radius:13px;gap:10px;margin-bottom:15px;padding:16px 20px;display:grid}.gateway-presence-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gateway-presence-row>span:nth-child(2){flex:1;min-width:170px;display:grid}.gateway-presence-row small,.gateway-presence-row>span:last-child{color:var(--muted-foreground)}.metric{border:1px solid var(--border);background:linear-gradient(145deg,#ffffff06,#0000),#0b1726;border-radius:13px;align-items:center;gap:12px;min-width:0;padding:15px;display:flex;position:relative;overflow:hidden}.metric:after{content:"";background:#6ea8fe09;border-radius:50%;width:80px;height:80px;position:absolute;bottom:-35px;right:-22px}.metric-good:after{background:#3ce0d00d}.metric-warning:after{background:#f3ba630f}.metric-icon{color:#78acfa;background:#6ea8fe12;border:1px solid #6ea8fe29;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.metric-good .metric-icon{color:#4be1d3;background:#3ce0d012;border-color:#3ce0d02b}.metric-warning .metric-icon{color:#efbd71;background:#f3ba6312;border-color:#f3ba6333}.metric-icon svg{width:17px;height:17px}.metric>div:last-child{min-width:0}.metric small,.metric span,.metric strong{display:block}.metric span{color:#6f839b;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.metric strong{color:#eff6fb;margin:2px 0 1px;font-size:18px;font-weight:650}.metric small,.metric strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric small{color:#70859e;font-size:9px}.node-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:15px;display:grid}.chart-card,.command-card,.node-card,.system-layout>*,.system-main>*,.table-card{border-color:var(--border);background:linear-gradient(145deg,#ffffff05,#0000 42%),#0b1726;box-shadow:0 18px 50px #0000001a}.node-card{gap:14px;padding-top:17px}.node-card-header{grid-template-columns:1fr auto;justify-content:space-between;align-items:center;padding-left:17px;padding-right:17px;display:flex}.command-title-row,.node-identity{align-items:center;gap:11px;min-width:0;display:flex}.command-icon,.node-icon{color:#51dfd2;background:#3ce0d00f;border:1px solid #3ce0d026;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.command-icon svg,.node-icon svg{width:17px;height:17px}.node-card [data-slot=card-title]{color:#eff6fb;font-size:14px}.node-card [data-slot=card-description]{color:#6f839b;font-family:var(--font-mono);margin-top:4px;font-size:9px}.node-card [data-slot=card-content]{padding:0 17px}.badge-offline,.badge-online{background:0 0;border:1px solid;font-size:9px}.badge-online{color:#77e9df;border-color:#3ce0d033}.badge-offline{color:#e9bc78;border-color:#f3ba6338}.status-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.status-dot-online{background:#43dfd0;box-shadow:0 0 0 3px #43dfd01a,0 0 12px #43dfd066}.status-dot-offline{background:#e5ad5a}.sensor-mini-grid{background:#040c1661;border:1px solid #94a3b81a;border-radius:10px;grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.sensor-mini-grid>div{text-align:center;border-right:1px solid #94a3b817;min-width:0;padding:9px 7px}.sensor-mini-grid>div:last-child{border-right:0}.sensor-mini-grid span,.sensor-mini-grid strong{display:block}.sensor-mini-grid span{color:#677d96;font-size:8px;font-weight:700}.sensor-mini-grid strong{color:#dfeaf4;font-family:var(--font-mono);margin-top:3px;font-size:12px;font-weight:600}.node-footer{color:#6f839b;gap:12px;margin-top:10px;font-size:9px}.node-footer,.node-footer span{align-items:center;display:flex}.node-footer span{gap:4px}.node-footer svg{width:11px;height:11px}.node-footer span:last-child{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.node-footer .label-active{color:#e9bd77}.node-no-data{color:#71869e;text-align:center;border:1px dashed #94a3b829;border-radius:9px;padding:20px;font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,1.85fr) minmax(300px,.75fr);align-items:start;gap:15px;display:grid}.chart-card,.command-card{gap:15px;padding-top:18px}.chart-card [data-slot=card-content],.chart-card [data-slot=card-header],.command-card [data-slot=card-content],.command-card [data-slot=card-header]{padding:0 18px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.panel-heading h2{color:#ecf4fa;margin:0;font-size:14px;font-weight:650}.panel-heading p{color:#71859c;margin:4px 0 0;font-size:10px}.chart-wrap{width:100%;height:345px}.sensor-chart-svg{width:100%;height:calc(100% - 30px);display:block;overflow:visible}.chart-grid-line{stroke:#94a3b824;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}.chart-axis-label{fill:#71859c;font-family:var(--font-mono);font-size:10px}.chart-sensor-line{opacity:.88;stroke-linecap:round;stroke-linejoin:round}.chart-legend{color:#7d90a5;flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:9px;display:flex}.chart-legend span{align-items:center;gap:5px;display:inline-flex}.chart-legend i{border-radius:999px;width:13px;height:2px}.command-title-row [data-slot=card-title]{color:#edf5fb;font-size:14px}.command-title-row [data-slot=card-description]{color:#71869e;margin-top:4px;font-size:10px}.command-content{gap:14px;display:grid}.access-note{color:#d8ae70;background:#f3ba630f;border:1px solid #f3ba6333;border-radius:9px;align-items:flex-start;gap:8px;padding:9px 10px;font-size:10px;line-height:1.45;display:flex}.access-note svg{flex:none;width:14px;height:14px;margin-top:1px}.admin-form label,.field{gap:6px;display:grid}.admin-form label>span,.field>span,.inline-field label>span{color:#778ca3;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:700}.field-control{width:100%}.command-section{border-top:1px solid #94a3b81a;gap:8px;padding-top:13px;display:grid}.command-section-label{color:#c9d6e3;align-items:center;gap:6px;font-size:10px;font-weight:650;display:flex}.command-section-label svg{color:#4fdbcf;width:13px;height:13px}.inline-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.inline-field label{gap:5px;display:grid}.interval-field label{max-width:150px}.command-section>button[data-variant=ghost]{color:#768ba3;justify-self:start;padding-left:0;font-size:9px}.command-toggle{grid-template-columns:minmax(0,1fr) auto;align-items:center}.command-toggle small{color:#667c95;margin-top:5px;font-size:9px;line-height:1.45;display:block}.toggle-actions{align-items:center;gap:8px;display:flex}.restart-button{width:100%;margin-top:1px}.measurement-intro{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px;display:grid}.measurement-intro>div{border:1px solid var(--border);color:#55dacf;background:#0e1c2cad;border-radius:11px;align-items:center;gap:10px;padding:11px 13px;display:flex}.measurement-intro svg{width:17px;height:17px}.measurement-intro span{color:#71869e;font-size:9px}.measurement-intro strong{color:#d6e2ed;font-size:10px;display:block}.table-card{gap:16px;padding-top:18px}.table-card [data-slot=card-content],.table-card [data-slot=card-header]{padding:0 18px}.filters{gap:8px;margin-top:12px;display:flex}.filters input{width:min(280px,100%)}.data-table-scroll{border:1px solid #94a3b81c;border-radius:10px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:1050px;font-size:10px}.data-table th{color:#7589a1;letter-spacing:.07em;text-align:left;text-transform:uppercase;background:#ffffff05;border-bottom:1px solid #94a3b81f;padding:10px 11px;font-size:8px;font-weight:750}.data-table td{color:#aebdcb;white-space:nowrap;border-bottom:1px solid #94a3b813;padding:10px 11px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#3ce0d006}.data-table .numeric,.mono{color:#dce7f1;font-family:var(--font-mono)}.table-label{color:#e3b873;background:#f3ba630f;border:1px solid #f3ba632e;border-radius:999px;padding:3px 7px;font-size:8px}.muted{color:#586c84}.sheet-state{color:#d8ae70;align-items:center;gap:4px;font-size:9px;display:inline-flex}.sheet-state:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.sheet-synced{color:#5edbce}.commands-page{grid-template-columns:minmax(300px,.7fr) minmax(0,1.7fr);align-items:start;gap:15px;display:grid}.command-list{display:grid}.command-row{border-bottom:1px solid #94a3b817;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 0;display:grid}.command-row:first-child{padding-top:0}.command-row:last-child{border-bottom:0;padding-bottom:0}.command-status{color:#7baef7;background:#6ea8fe0f;border:1px solid #6ea8fe2e;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.command-status svg{width:13px;height:13px}.status-acknowledged{color:#5fe2d6;background:#3ce0d00f;border-color:#3ce0d02e}.status-expired,.status-failed{color:#ee8091;background:#e352680f;border-color:#e3526833}.command-main{min-width:0}.command-main span,.command-main strong{display:block}.command-main strong{color:#dce7f1;font-size:11px}.command-main span{color:#6f839b;margin-top:3px;font-size:9px}.command-main code{color:#8fa2b7;text-overflow:ellipsis;white-space:nowrap;background:#0000002e;border-radius:5px;max-width:100%;margin-top:6px;padding:3px 6px;font-size:8px;display:inline-block;overflow:hidden}.command-meta{justify-items:end;gap:4px;display:grid}.command-meta span{color:#5f738a;text-overflow:ellipsis;max-width:150px;font-size:8px;overflow:hidden}.empty-state{text-align:center;align-content:center;justify-items:center;min-height:190px;padding:24px;display:grid}.empty-icon{color:#6f839b;background:#94a3b80a;border:1px solid #94a3b824;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.empty-icon svg{width:19px;height:19px}.empty-state strong{color:#cdd9e4;margin-top:11px;font-size:12px}.empty-state p{color:#667b93;max-width:360px;margin:5px 0 0;font-size:10px;line-height:1.5}.system-layout{grid-template-columns:minmax(0,1.4fr) minmax(330px,.72fr);align-items:start}.system-layout,.system-main{gap:15px;display:grid}.admin-card,.system-main>*{gap:16px;padding-top:18px}.admin-card [data-slot=card-content],.admin-card [data-slot=card-header],.system-main [data-slot=card-content],.system-main [data-slot=card-header]{padding:0 18px}.pipeline{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:9px;display:grid}.pipeline>svg{color:#476078;width:14px;height:14px}.pipeline-step{text-align:center;background:#030b1447;border:1px solid #94a3b81f;border-radius:11px;justify-items:center;min-width:0;padding:16px 8px;display:grid}.pipeline-step>svg{color:#4dd9cd;width:20px;height:20px;margin-bottom:9px}.pipeline-step strong{color:#d9e5ef;font-size:10px}.pipeline-step span{color:#687d95;margin-top:3px;font-size:8px}.pipeline-branch{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:min(520px,100%);margin:2px auto 0;display:grid}.pipeline-branch:before{content:"";background:#94a3b82e;grid-column:1/-1;width:1px;height:13px;margin:-2px auto -1px}.security-list{display:grid}.security-list>div{color:#4fdace;border-bottom:1px solid #94a3b817;align-items:flex-start;gap:11px;padding:12px 0;display:flex}.security-list>div:first-child{padding-top:0}.security-list>div:last-child{border-bottom:0;padding-bottom:0}.security-list svg{flex:none;width:17px;height:17px;margin-top:1px}.security-list span{color:#71869e;font-size:10px;line-height:1.45}.security-list strong{color:#d1dde8;font-size:10px;display:block}.admin-card [data-slot=card-title]{color:#ecf4fa;font-size:14px}.admin-card [data-slot=card-description]{color:#71869e;margin-top:4px;font-size:10px}.admin-tabs{background:#0000002e;border-radius:9px;gap:3px;margin-bottom:15px;padding:3px;display:flex;overflow-x:auto}.admin-tabs button{color:#70859d;background:0 0;border:0;border-radius:7px;flex:1;padding:7px 8px;font-size:8px}.admin-tabs button.active{color:#dce7f2;background:#1a2c42}.admin-form{gap:11px;display:grid}.admin-form select{border:1px solid var(--input);color:#dce7f2;background:0 0;border-radius:6px;outline:none;width:100%;height:36px;padding:0 10px;font-size:11px}.admin-form select:focus{border-color:var(--ring);box-shadow:0 0 0 3px #3ce0d01f}.checkbox-line{color:#71869e;grid-template-columns:auto 1fr;align-items:center;font-size:9px;display:flex!important}.checkbox-line input{accent-color:#3ce0d0}.admin-message{color:#77e7dd;background:#3ce0d00d;border:1px solid #3ce0d02e;border-radius:8px;margin-top:12px;padding:9px;font-size:9px;line-height:1.45}.token-once{background:#f3ba630d;border:1px solid #f3ba6338;border-radius:9px;gap:8px;margin-top:12px;padding:11px;display:grid}.token-once strong{color:#e8bd79;font-size:10px}.token-once code{overflow-wrap:anywhere;color:#d9e4ee;background:#0000003b;border-radius:6px;padding:7px;font-size:8px}.token-once button{justify-self:start}.gateway-list,.gateway-management{gap:14px;display:grid}.gateway-list{margin-top:12px}.gateway-list-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.gateway-list-row span{gap:3px;min-width:0;display:grid}.gateway-list-row small{overflow-wrap:anywhere}.sheet-link{color:var(--foreground);white-space:nowrap;border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:9px 12px;text-decoration:none;display:inline-flex}.sheet-link:focus-visible,.sheet-link:hover{border-color:var(--ring)}.error-screen,.loading-screen{text-align:center;background:radial-gradient(circle,#3ce0d012,#0000 24rem),#07111f;place-content:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.loading-spinner{color:#44d9cd;width:20px;height:20px;margin:20px 0 11px;animation:spin .9s linear infinite}.loading-screen strong{color:#e5eef6;font-size:14px}.loading-screen span{color:#70859d;margin-top:4px;font-size:10px}.error-card{border:1px solid var(--border);background:#0b1726;border-radius:16px;justify-items:center;width:min(440px,100%);padding:32px;display:grid;box-shadow:0 24px 80px #00000040}.first-lab-card{border:1px solid var(--border);text-align:left;background:linear-gradient(140deg,#3ce0d00d,#0000 42%),#0b1726;border-radius:18px;grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);gap:34px;width:min(760px,100%);padding:34px;display:grid;box-shadow:0 28px 90px #00000047}.first-lab-intro{align-self:center}.first-lab-intro>span{color:#43d8cb;letter-spacing:.12em;text-transform:uppercase;margin-top:18px;font-size:9px;font-weight:800;display:block}.first-lab-intro h1{color:#edf5fb;letter-spacing:-.025em;margin:7px 0 0;font-size:24px}.first-lab-intro p{color:#778ba3;margin:8px 0 0;font-size:11px;line-height:1.55}.error-card>svg{color:#e8b669;width:29px;height:29px}.error-card h1{color:#edf5fb;margin:16px 0 0;font-size:19px}.error-card p{color:#788da4;margin:8px 0 18px;font-size:11px;line-height:1.55}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commands-page,.dashboard-grid,.system-layout{grid-template-columns:1fr}.command-card{order:-1}}@media (max-width:860px){.app-shell{display:block}.sidebar{width:280px;transition:transform .18s;position:fixed;left:0;transform:translate(-102%);box-shadow:24px 0 70px #0000006b}.sidebar-open{transform:translate(0)}.menu-button,.sidebar-close{place-items:center;display:grid}.sidebar-backdrop{z-index:29;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#02070da8;border:0;display:block;position:fixed;inset:0}.topbar{min-height:92px}}@media (max-width:640px){.topbar{flex-wrap:wrap;align-items:flex-start;padding:15px 16px}.page-title{flex:1}.page-title p{display:none}.topbar-actions{flex-wrap:wrap;width:100%}.lab-select{width:100%}.content{padding:18px 14px 38px}.demo-banner,.error-banner,.notice-banner{margin-left:14px;margin-right:14px}.measurement-intro,.metrics-grid,.node-grid{grid-template-columns:1fr}.sensor-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sensor-mini-grid>div:nth-child(3){border-right:0}.sensor-mini-grid>div:nth-child(-n+3){border-bottom:1px solid #94a3b817}.chart-wrap{height:285px}.panel-heading{flex-wrap:wrap}.pipeline{grid-template-columns:1fr}.pipeline>svg{margin:0 auto;transform:rotate(90deg)}.pipeline-branch{grid-template-columns:1fr}.pipeline-branch:before{display:none}.command-row{grid-template-columns:auto minmax(0,1fr)}.command-meta{grid-column:2;justify-items:start}.filters{flex-direction:column}.filters input{width:100%}.first-lab-card{grid-template-columns:1fr;gap:24px;padding:25px 20px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lab-overview-hero{border:1px solid var(--border);background:linear-gradient(125deg,#122b39,#0b1724 62%);border-radius:16px;grid-template-columns:1fr;min-height:270px;margin-bottom:22px;display:grid;overflow:hidden}.lab-overview-hero>div{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(26px,3vw,48px);display:flex}.hero-eyebrow{color:#67d9cc;font:600 11px var(--font-mono);letter-spacing:.12em}.lab-overview-hero h2{color:#f3f8fa;letter-spacing:-.04em;margin:15px 0 8px;font-size:clamp(30px,3.3vw,48px);line-height:1.05}.lab-overview-hero p{color:#abc2cf;max-width:520px;margin:0 0 22px;font-size:14px;line-height:1.6}.monitor-grid{margin-bottom:20px}.monitor-reading{gap:16px;min-width:0;display:grid}.monitor-grid .command-card{position:sticky;top:18px}.chart-wrap{gap:14px;height:auto;display:grid}.sensor-chart-svg{height:265px}.chart-toolbar{color:#a3b9c9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.chart-toolbar label{align-items:center;gap:8px;display:inline-flex}.chart-toolbar select{border:1px solid var(--border);color:#eff8fa;background:#132331;border-radius:7px;padding:5px 8px}.chart-marker{stroke:#e6f8ff70;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.chart-scrubber{color:#a3b9c9;align-items:center;gap:12px;font-size:12px;display:flex}.chart-scrubber input{accent-color:#19d3c5;flex:1;min-width:40px}.chart-scrubber time{color:#e9f4f6;min-width:72px;font:12px var(--font-mono)}.chart-legend button{border:1px solid var(--border);color:#c6d7e0;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:11px;transition:opacity .17s,border-color .17s;display:inline-flex}.chart-legend button[aria-pressed=false]{opacity:.42}.chart-legend button:focus-visible,.chart-legend button:hover{border-color:#19d3c5}.chart-legend strong{font:600 11px var(--font-mono)}.ai-readout [data-slot=card-content]{padding-top:0}.ai-empty{color:#a7bac8;margin:0;font-size:13px;line-height:1.6}.ai-observations{gap:8px;display:grid}.ai-observation{border-top:1px solid var(--border);grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;font-size:12px;display:grid}.ai-observation small,.ai-observation span{color:#9eb3c3}.ai-observation strong{color:#e9f4f6}.inventory-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}@media (max-width:1180px){.monitor-grid .command-card{order:0;position:static}}@media (max-width:640px){.ai-observation{grid-template-columns:1fr;gap:3px}.gateway-list-row{flex-direction:column;align-items:flex-start}.inventory-actions{justify-content:flex-start}.chart-wrap{gap:10px;height:auto}.sensor-chart-svg{height:220px}}.support-layout{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:start;gap:18px;display:grid}.support-form-card,.support-history-card{min-width:0}.support-heading{align-items:flex-start;gap:12px;display:flex}.support-heading>svg{color:#55dacf;flex:0 0 20px;margin-top:2px}.support-form{gap:18px;display:grid}.access-request-actions label,.access-request-form label,.support-form label,.ticket-detail label{color:#dce7f2;gap:7px;font-size:13px;font-weight:600;display:grid}.access-request-actions select,.access-request-form textarea,.support-form select,.support-form textarea,.ticket-detail select{border:1px solid var(--input);color:#edf5fb;width:100%;min-height:40px;font:400 14px var(--font-sans);background:#122236;border-radius:8px;outline:none;padding:9px 11px}.access-request-form textarea,.support-form textarea{resize:vertical;min-height:132px;line-height:1.5}.access-request-actions select:focus-visible,.access-request-form textarea:focus-visible,.support-form select:focus-visible,.support-form textarea:focus-visible,.ticket-detail select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px #3ce0d01f}.support-context{color:#abc2cf;border-left:3px solid #40cfc4;margin:0;padding:6px 0 6px 11px;font-size:13px}.support-privacy{color:#a8bac9;align-items:center;gap:8px;margin:0;font-size:12px;line-height:1.5;display:flex}.support-privacy svg{flex:0 0 16px}.support-feedback{color:#d4f8f3;background:#3ce0d012;border:1px solid #3ce0d038;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.support-empty{color:#a8bac9;align-items:center;gap:8px;margin:0;font-size:13px;line-height:1.55;display:flex}.ticket-list{gap:9px;max-height:750px;display:grid;overflow:auto}.ticket-item{border:1px solid var(--border);background:#0c1b2bbf;border-radius:10px}.ticket-item summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 10px;padding:14px;list-style:none;display:grid}.ticket-item summary::-webkit-details-marker{display:none}.ticket-item summary:focus-visible,.ticket-item summary:hover{background:#3ce0d00b}.ticket-item summary strong{color:#f0f6fa;overflow-wrap:anywhere;min-width:0;font-size:14px}.ticket-item summary small{color:#94aabd;grid-column:2;font-size:11px}.ticket-status{color:#bed2e4;white-space:nowrap;background:#22334a;border-radius:999px;align-items:center;width:fit-content;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.ticket-status--open,.ticket-status--pending{color:#f1c783;background:#f3ba6324}.ticket-status--in_review{color:#a9caff;background:#6ea8fe24}.ticket-status--approved,.ticket-status--resolved{color:#91eee1;background:#3ce0d021}.ticket-status--closed,.ticket-status--denied{color:#b5c3d0;background:#94a3b81f}.ticket-detail{border-top:1px solid var(--border);color:#a8bdcc;gap:12px;padding:14px;font-size:12px;display:grid}.ticket-detail p{color:#e1ebf1;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.6}.ticket-detail select{max-width:230px}.visitor-shell{background:radial-gradient(circle at 78% 0,#207a7d1f,#0000 38%),#07111f;min-height:100vh}.visitor-header{border-bottom:1px solid var(--border);color:#9fb4c6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px clamp(20px,4vw,60px);font-size:12px;display:flex}.visitor-brand{color:#eff9fb;align-items:center;gap:9px;font-size:17px;font-weight:750;text-decoration:none;display:inline-flex}.visitor-brand svg{color:#55dacf;width:20px}.visitor-content{gap:22px;width:min(1420px,100%);margin:0 auto;padding:clamp(24px,4vw,54px);display:grid}.visitor-intro{max-width:740px}.visitor-intro>span{color:#55dacf;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.visitor-intro h1{color:#f3f8fc;letter-spacing:-.04em;margin:9px 0;font-size:clamp(30px,4vw,48px)}.visitor-intro p{color:#abc0d0;margin:0 0 18px;font-size:15px;line-height:1.6}.visitor-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:start;gap:18px;display:grid}.access-requests-list,.available-labs{gap:9px;display:grid}.access-requests-list>div,.available-lab{border:1px solid var(--border);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.access-requests-list strong,.available-lab strong{color:#edf5fb;font-size:14px}.available-lab p{color:#9db2c2;margin:4px 0 0;font-size:12px;line-height:1.4}.access-request-form{border-top:1px solid var(--border);gap:12px;margin-top:18px;padding-top:18px;display:grid}.access-request-form>div{flex-wrap:wrap;gap:8px;display:flex}.access-admin-stack,.access-management{gap:14px;display:grid}.access-management{border-top:1px solid var(--border);padding-top:16px}.access-management-heading{color:#eff5f9;justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.access-management-heading span{color:#94aabd}.access-request-row,.member-row{border:1px solid var(--border);border-radius:9px;gap:10px;padding:12px;display:grid}.access-request-row strong,.member-row strong{color:#eff5f9;overflow-wrap:anywhere;font-size:13px;display:block}.access-request-row small,.member-row small{color:#9ab0c0;overflow-wrap:anywhere;margin-top:4px;font-size:11px;display:block}.access-request-row p{color:#bfd0da;overflow-wrap:anywhere;margin:8px 0 0;font-size:12px;line-height:1.5}.access-request-actions{flex-wrap:wrap;align-items:end;gap:7px;display:flex}.access-request-actions label{flex:170px;font-size:11px}.member-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.support-shortcut{white-space:nowrap}.support-shortcut:active{transform:scale(.98)}@media (max-width:1350px){.topbar,.topbar-actions{flex-wrap:wrap}}@media (min-width:1181px){.system-layout{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr)}}@media (max-width:1180px){.support-layout,.visitor-grid{grid-template-columns:1fr}}@media (max-width:640px){.support-layout{gap:12px}.ticket-item summary{grid-template-columns:1fr}.ticket-item summary small{grid-column:1}.access-requests-list>div,.available-lab{flex-direction:column;align-items:flex-start}.member-row{grid-template-columns:1fr}.support-shortcut{flex:1}}.content{max-width:1840px}.lab-overview-hero{min-height:220px;margin-bottom:16px}.lab-overview-hero>div{padding:clamp(22px,2.5vw,34px)}.lab-overview-hero h2{margin:9px 0 8px;font-size:clamp(27px,3vw,42px)}.lab-overview-hero p{margin-bottom:16px}.workspace-section-heading{justify-content:space-between;align-items:end;gap:16px;margin:23px 0 12px;display:flex}.workspace-section-heading span{color:#61dacc;letter-spacing:.12em;font-size:10px;font-weight:750}.workspace-section-heading h2{letter-spacing:-.025em;margin:3px 0 0;font-size:clamp(18px,1.7vw,24px);font-weight:650}.node-inspect{justify-content:space-between;width:100%;margin-top:16px}.node-inspect:hover{border-color:#3ce0d0}.node-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(340px,.72fr)}.topbar{min-height:88px}.topbar-actions :is(button,a){min-height:38px}.main :is(button,a,input,select,textarea):focus-visible{outline-offset:2px;outline:2px solid #79f4e6}@media (max-width:1180px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:640px){.workspace-section-heading{flex-direction:column;align-items:flex-start}.workspace-section-heading button{padding-left:0}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@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))}}