@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-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--color-red-500:#fb2c36;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bedbff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-slate-50:#f8fafc;--color-slate-500:#62748e;--color-gray-50:#f9fafb;--color-gray-200:#e5e7eb;--color-gray-400:#99a1af;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-xl:36rem;--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-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-blue-50:lab(96.492% -1.14647 -5.11479);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-200:lab(86.15% -4.04379 -21.0797);--color-blue-500:lab(54.1736% 13.3368 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-slate-50:lab(98.1434% -.369549 -1.05968);--color-slate-500:lab(48.0876% -2.03595 -16.5814);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-200:lab(91.6229% -.159085 -2.26791);--color-gray-400:lab(65.9269% -.832707 -8.17474)}}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:0}.-top-2{top:calc(var(--spacing) * -2)}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-11{top:calc(var(--spacing) * 11)}.top-16{top:calc(var(--spacing) * 16)}.top-\[14px\]{top:14px}.-right-2{right:calc(var(--spacing) * -2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-\[14px\]{left:14px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.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:var(--spacing)}.m-4{margin:calc(var(--spacing) * 4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.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-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.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)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-auto{margin-bottom:auto}.ml-1{margin-left:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-44{height:calc(var(--spacing) * 44)}.h-64{height:calc(var(--spacing) * 64)}.h-72{height:calc(var(--spacing) * 72)}.h-96{height:calc(var(--spacing) * 96)}.h-\[64px\]{height:64px}.h-\[118px\]{height:118px}.h-full{height:100%}.min-h-full{min-height:100%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:66.6667%}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\[64px\]{width:64px}.w-\[360px\]{width:360px}.w-\[min\(720px\,calc\(100\%-760px\)\)\]{width:min(720px,100% - 760px)}.w-full{width:100%}.max-w-\[440px\]{max-width:440px}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-\[320px\]{min-width:320px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);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)}.scale-\[1\.05\]{scale:1.05}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.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-5{gap:calc(var(--spacing) * 5)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#FFC107\]{border-color:#ffc107}.border-blue-200{border-color:var(--color-blue-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-\[radial-gradient\(ellipse_at_bottom_right\,_var\(--tw-gradient-stops\)\)\]{background-image:radial-gradient(ellipse at bottom right, var(--tw-gradient-stops))}.from-blue-100{--tw-gradient-from:var(--color-blue-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.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-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.\!text-base{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.\!text-lg{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important}.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-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[28px\]{font-size:28px}.text-\[38px\]{font-size:38px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-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)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[\#0f172a\]{color:#0f172a}.text-\[\#00e5ff\]{color:#00e5ff}.text-\[\#64748b\]{color:#64748b}.text-\[\#334155\]{color:#334155}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-red-500{color:var(--color-red-500)}.text-slate-500{color:var(--color-slate-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-\[\#94a3b8\]::placeholder{color:#94a3b8}.opacity-50{opacity:.5}.opacity-95{opacity:.95}.shadow-\[0_4px_14px_0_rgba\(37\,99\,235\,0\.39\)\]{--tw-shadow:0 4px 14px 0 var(--tw-shadow-color,#2563eb63);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_8px_40px_-12px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 8px 40px -12px 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)}.ring{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.\[hh\:mm\[\:ss\]\]{hh:mm[:ss]}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:text-\[\#0f172a\]:hover{color:#0f172a}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_6px_20px_rgba\(37\,99\,235\,0\.23\)\]:hover{--tw-shadow:0 6px 20px var(--tw-shadow-color,#2563eb3b);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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-blue-500\/20:focus{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.focus\:ring-blue-500\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:inline-block{display:inline-block}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}@media (min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.6fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.5fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}}:root{--font-geist-sans:"Segoe UI", Arial, sans-serif;--font-geist-mono:Consolas, "Courier New", monospace;--bg:#f8fafc;--bg-2:#f1f5f9;--surface:#ffffffd9;--surface-solid:#fff;--surface-2:#f1f5f9cc;--surface-hover:#e2e8f099;--border:#94a3b840;--border-strong:#94a3b873;--text:#0f172a;--text-2:#334155;--muted:#64748b;--accent:#0ea5e9;--accent-2:#6366f1;--accent-soft:#0ea5e926;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius:14px;--radius-sm:9px;--shadow:0 4px 20px -2px #00000014;--sidebar-w:248px;--grad:linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%)}*{box-sizing:border-box}html,body{height:100%}body{background:radial-gradient(1200px 600px at 85% -10%, #818cf817, transparent 60%), radial-gradient(900px 500px at -10% 110%, #22d3ee12, transparent 60%), var(--bg);color:var(--text);font-family:var(--font-geist-sans), "Segoe UI", system-ui, sans-serif;font-feature-settings:"tnum" 1}::selection{background:#22d3ee4d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#94a3b838 padding-box padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#94a3b861}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30;background:linear-gradient(#fffffff2,#f8fafcf2);flex-direction:column;gap:6px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:10px;padding:6px 4px 16px;display:flex}.brand-logo{flex:none;place-items:center;width:48px;height:48px;display:grid}.brand-logo img{object-fit:contain;width:100%;height:100%}.brand-text{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}.brand-title{letter-spacing:.02em;text-transform:uppercase;color:var(--text);white-space:nowrap;font-size:12px;font-weight:700;line-height:1.25;display:block}.brand-sub{letter-spacing:.03em;text-transform:uppercase;color:#475569;text-wrap:balance;font-size:8.5px;font-weight:500;line-height:1.2;display:block}.nav-section{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:12px 10px 4px;font-size:10.5px}.nav-link{color:var(--text-2);border-radius:10px;align-items:center;gap:11px;padding:9px 11px;font-size:14px;font-weight:500;transition:background .18s,color .18s,transform .18s;display:flex;position:relative}.nav-link:hover{background:var(--surface-hover);color:var(--text)}.nav-link.active{color:var(--accent);background:linear-gradient(90deg,#0ea5e929,#6366f114)}.nav-link.active:before{content:"";background:var(--grad);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.nav-link svg{opacity:.9;flex:none}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.user-chip{border-radius:11px;align-items:center;gap:10px;padding:8px;transition:background .18s;display:flex}.user-chip:hover{background:var(--surface-hover)}.avatar{color:#04121a;background:var(--grad);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.main{flex-direction:column;min-width:0;display:flex}.page{width:100%;max-width:1500px;margin:0 auto;padding:26px 30px 40px;animation:.35s both fade-up}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-title{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:700}.page-sub{color:var(--muted);margin-top:4px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-pad{padding:18px 20px}.card-title{margin:0;font-size:15px;font-weight:650}.card-head{justify-content:space-between;align-items:center;gap:10px;padding:16px 20px 0;display:flex}.kpi{padding:18px 20px;transition:transform .2s,border-color .2s;position:relative;overflow:hidden}.kpi:hover{border-color:var(--border-strong);transform:translateY(-2px)}.kpi:after{content:"";background:radial-gradient(circle, var(--kpi-glow,#22d3ee29), transparent 70%);pointer-events:none;border-radius:50%;width:160px;height:160px;position:absolute;inset:auto -30% -60% auto}.kpi-label{color:var(--muted);font-size:12.5px;font-weight:500}.kpi-value{letter-spacing:-.02em;margin-top:6px;font-size:30px;font-weight:750}.kpi-foot{color:var(--text-2);margin-top:4px;font-size:12px}.kpi-icon{background:var(--surface-2);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);height:38px;color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:13.5px;font-weight:600;transition:background .16s,border-color .16s,transform 80ms,box-shadow .16s,opacity .16s;display:inline-flex}.btn:hover{background:var(--surface-hover);border-color:#94a3b866}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--grad);color:#fff;border:none;box-shadow:0 6px 20px -8px #22d3eeb3}.btn-primary:hover{background:var(--grad);filter:brightness(1.06);box-shadow:0 8px 26px -8px #22d3eee6}.btn-danger{color:#b91c1c;background:#f871711f;border-color:#f8717166}.btn-danger:hover{background:#f8717138;border-color:#f8717199}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-hover);border-color:#0000}.btn-sm{border-radius:8px;height:31px;padding:0 11px;font-size:12.5px}.btn-icon{width:36px;padding:0}.btn-sm.btn-icon{width:31px}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--text-2);font-size:12.5px;font-weight:600}.hint{color:var(--muted);font-size:12px}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border-strong);width:100%;height:38px;color:var(--text);background:#fffc;padding:0 12px;font-size:13.5px;transition:border-color .16s,box-shadow .16s}.textarea{resize:vertical;height:auto;min-height:84px;padding:10px 12px;font-family:inherit}.select{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='%237d8aa3' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.select option{background:var(--surface-solid)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #22d3ee26}.input::placeholder,.textarea::placeholder{color:#5b6680}.checkbox{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.checkbox input{width:16px;height:16px;accent-color:var(--accent)}.table-wrap{border-radius:var(--radius);overflow:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}.table th{z-index:1;text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;background:#f8fafcf5;padding:11px 14px;font-size:12px;font-weight:600;position:sticky;top:0}.table td{vertical-align:middle;border-bottom:1px solid #94a3b812;padding:11px 14px}.table tbody tr{transition:background .14s}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr.selected{background:#22d3ee1a}.table .num{text-align:right;font-variant-numeric:tabular-nums}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:hover{color:var(--text)}.badge{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge .dot{border-radius:50%;flex:none;width:8px;height:8px}.badge-success{color:#047857;background:#10b9811f;border-color:#10b9814d}.badge-warning{color:#b45309;background:#f59e0b1f;border-color:#f59e0b4d}.badge-danger{color:#b91c1c;background:#ef44441f;border-color:#ef44444d}.badge-info{color:#0369a1;background:#0ea5e91a;border-color:#0ea5e94d}.chip{border:1px solid var(--border-strong);height:30px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:12.5px;font-weight:550;transition:all .15s;display:inline-flex}.chip:hover{color:var(--text);border-color:#94a3b880}.chip.on{background:var(--accent-soft);color:#0369a1;border-color:#22d3ee80}.chip .dot{border-radius:50%;width:9px;height:9px}.alert{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);align-items:flex-start;gap:12px;padding:12px 14px;font-size:13.5px;line-height:1.5;display:flex}.alert-warning{color:#92400e;background:#fbbf2426;border-color:#fbbf2473}.alert-danger{color:#991b1b;background:#f8717126;border-color:#f8717173}.alert-success{color:#065f46;background:#34d39926;border-color:#34d39973}.alert-info{color:#075985;background:#0284c71a;border-color:#0284c74d}.tabs{border:1px solid var(--border);background:#f8fafccc;border-radius:12px;gap:4px;padding:4px;display:inline-flex}.tab{height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:0 14px;font-size:13px;font-weight:600;transition:all .15s}.tab:hover{color:var(--text)}.tab.on{background:var(--surface-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.overlay{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f1f5f9b8;place-items:center;padding:24px;animation:.18s both fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:16px;width:min(560px,100%);max-height:calc(100vh - 48px);animation:.22s cubic-bezier(.2,.9,.3,1.2) both pop;overflow:auto;box-shadow:0 30px 80px -20px #000c}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:18px 20px}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.lightbox{z-index:90;background:#f8fafcf0;flex-direction:column;animation:.18s both fade-in;display:flex;position:fixed;inset:0}.lightbox-stage{cursor:zoom-in;flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.lightbox-stage.zoomed{cursor:grab}.lightbox-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%;transition:transform .2s}.toasts{z-index:100;flex-direction:column;gap:10px;max-width:420px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface-solid);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;animation:.25s both slide-in;display:flex}.toast-success{border-color:#34d39973}.toast-error{border-color:#f8717180}.empty{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 20px;font-size:14px;display:flex}.empty-icon{background:var(--surface-2);width:56px;height:56px;color:var(--accent);border-radius:16px;place-items:center;display:grid}.no-data{color:var(--muted);font-size:.95em;font-style:italic}.mono{font-family:var(--font-geist-mono), ui-monospace, monospace}.divider{background:var(--border);border:none;height:1px;margin:14px 0}.spinner{border:2px solid #94a3b840;border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg,#e2e8f099,#cbd5e180,#e2e8f099) 0 0/200% 100%;border-radius:8px;animation:1.3s infinite shimmer}.dl{grid-template-columns:minmax(120px,42%) 1fr;gap:0;font-size:13.5px;display:grid}.dl dt{color:var(--muted);border-bottom:1px solid #94a3b812;padding:8px 0}.dl dd{word-break:break-word;border-bottom:1px solid #94a3b812;margin:0;padding:8px 0;font-weight:550}.progress{background:#33416380;border-radius:99px;height:8px;overflow:hidden}.progress>span{background:var(--grad);border-radius:99px;height:100%;transition:width .3s;display:block}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;cursor:pointer;background:#f1f5f9cc;padding:30px 20px;transition:all .18s}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-soft)}.stepper{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.step{color:var(--muted);align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.step-num{border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;display:grid}.step.on{color:var(--text)}.step.on .step-num{background:var(--grad);color:#041019;border:none}.step.done .step-num{color:var(--success);background:#34d3992e;border-color:#34d39980}.step-line{background:var(--border-strong);width:34px;height:1px}.viewer-root{background:radial-gradient(at 50% 30%,#f1f5f9 0%,#e2e8f0 70%);height:100vh;position:relative;overflow:hidden}.viewer-canvas{position:absolute;inset:0}.viewer-canvas canvas{outline:none;display:block}.viewer-panel{z-index:10;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);background:#ffffffe6;position:absolute}.viewer-toolbar{gap:4px;padding:5px;display:flex;top:14px;left:50%;transform:translate(-50%)}.viewer-left{flex-direction:column;width:330px;transition:transform .3s;display:flex;top:14px;bottom:14px;left:14px}.viewer-left.collapsed{transform:translate(calc(-100% - 20px))}.viewer-right{flex-direction:column;width:380px;animation:.28s both slide-left;display:flex;top:14px;bottom:14px;right:14px}.viewer-legend{padding:10px 12px;font-size:12px;bottom:14px;right:14px}.viewer-status{color:#0f172a;white-space:nowrap;align-items:center;gap:14px;padding:7px 12px;font-size:12px;font-weight:500;display:flex;bottom:14px;left:50%;transform:translate(-50%)}.viewer-loading{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffff8c;place-items:center;display:grid;position:absolute;inset:0}.defect-item{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;transition:background .14s,border-color .14s;display:flex}.defect-item:hover{background:var(--surface-hover)}.defect-item.selected{background:#22d3ee1a;border-color:#22d3ee66}.defect-swatch{border-radius:4px;flex:none;width:12px;height:12px;box-shadow:0 0 0 3px #ffffff0d}.thumb{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);cursor:zoom-in;background:#f8fafc;border-radius:10px;width:100%;transition:transform .2s}.thumb:hover{transform:scale(1.01)}.auth-wrap{grid-template-columns:1.15fr 1fr;min-height:100vh;display:grid}.auth-hero{border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-hero img{object-fit:cover;opacity:.55;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.auth-hero:after{content:"";z-index:-1;background:linear-gradient(160deg,#ffffff59,#ffffffeb 75%);position:absolute;inset:0}.auth-card{width:min(400px,100%)}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(6px)}}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}@keyframes slide-left{0%{opacity:0;transform:translate(20px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes pulse-ring{0%{box-shadow:0 0 #22d3ee80}to{box-shadow:0 0 0 12px #22d3ee00}}.menu-toggle{z-index:40;display:none;position:fixed;top:12px;left:12px}.sidebar-backdrop{display:none}@media (max-width:1100px){.auth-wrap{grid-template-columns:1fr}.auth-hero{display:none}}@media (max-width:900px){.menu-toggle{display:inline-flex}.sidebar-backdrop{z-index:25;background:#0f172a59;animation:.18s both fade-in;display:block;position:fixed;inset:0}.app-shell{grid-template-columns:1fr}.sidebar{width:var(--sidebar-w);transition:transform .25s;position:fixed;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.page{padding:18px 16px 32px}.viewer-left{width:min(330px,100vw - 28px)}.viewer-right{width:min(380px,100vw - 28px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.bridge-workbench{flex-direction:column;height:100vh;min-height:600px;display:flex}.bridge-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.bridge-header>div{margin-right:auto}.bridge-main{flex:1;grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid}.bridge-scene{background:radial-gradient(#f8fafc,#dbe4ef);min-height:400px;position:relative}.bridge-inspector{border-left:1px solid var(--border);background:var(--surface-solid);padding:14px;overflow:auto}.bridge-notice{z-index:2;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:12px;display:flex;position:absolute;top:16px;left:16px;right:16px}.bridge-scene-status{pointer-events:none;background:#ffffffe6;border-radius:8px;padding:7px;font-size:12px;position:absolute;bottom:12px;left:12px;right:12px}.bridge-component-list{max-height:230px;margin-top:8px;overflow:auto}.bridge-component{text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;width:100%;padding:7px;font-size:12px;display:flex}.bridge-component small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.bridge-component:hover,.bridge-component.active{background:var(--accent-soft)}.bridge-json{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-2);max-height:240px;padding:8px;font-size:11px;overflow:auto}.bridge-warning{border-left:2px solid var(--warning);background:#fffbeb;margin:6px 0;padding:6px 8px;font-size:11px}.bridge-main{grid-template-columns:minmax(0,1fr) 390px}.monitor-mode{letter-spacing:.03em;color:#9a3412;background:#fff7ed;border-radius:8px;padding:8px;font-size:12px;font-weight:800}.monitor-mode.sim{color:#6d28d9;background:#ede9fe}.monitor-form{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;margin-top:8px;padding:10px;display:flex}.monitor-warning{color:#92400e;background:#fffbeb;border-radius:6px;margin-top:6px;padding:7px;font-size:11px}.monitor-node-list{max-height:160px;margin-top:8px;overflow:auto}.monitor-events{max-height:180px;font-size:11px;overflow:auto}.monitor-events>div{border-bottom:1px solid var(--border);padding:7px 0}.monitor-table td,.monitor-table th{padding:5px 3px;font-size:10px}.overview-tabs{margin-bottom:20px}.overview-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.asset-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.asset-catalog{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.sensor-alert-row{border-bottom:1px solid var(--border);padding:9px 0;font-size:12px}.sensor-alert-row small{color:var(--muted);display:block}.workspace-nav{border-bottom:1px solid var(--border);background:var(--surface-solid);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.workspace-nav a{border-radius:6px;padding:5px 8px;font-size:13px}.workspace-nav a.active{background:var(--accent-soft);font-weight:700}.twin-workspace{flex-direction:column;height:100vh;display:flex}.twin-workspace-content{flex:1;min-height:0}.twin-workspace-content .bridge-workbench,.twin-workspace-content .viewer-root{height:100%;min-height:500px}.workspace-nav+.bridge-workbench{height:calc(100vh - 52px)}.sensor-placement-banner{z-index:3;color:#6b21a8;pointer-events:none;background:#faf5ff;border:1px solid #a855f7;border-radius:10px;padding:12px;font-size:13px;position:absolute;top:14px;left:14px;right:14px}.sensor-metadata{background:var(--bg-2);border-radius:8px;grid-template-columns:105px minmax(0,1fr);gap:5px 8px;margin-top:10px;padding:10px;font-size:11px;display:grid}.sensor-metadata dt{color:var(--muted)}.sensor-metadata dd{overflow-wrap:anywhere}.sensor-card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.sensor-card{text-align:left;cursor:pointer;flex-direction:column;gap:9px;padding:18px;transition:border-color .15s,box-shadow .15s;display:flex}.sensor-card:hover,.sensor-card:focus-visible{border-color:var(--accent);box-shadow:0 6px 20px #0ea5e91f}.sensor-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sensor-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.sensor-card-title{align-items:center;gap:8px;font-size:19px;font-weight:750;display:flex}.sensor-card-asset{color:var(--muted);font-size:13px}.sensor-status{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.sensor-status>span{background:#94a3b8;border-radius:50%;width:7px;height:7px}.sensor-status.online>span{background:#10b981}.sensor-source{border-radius:5px;align-self:flex-start;padding:3px 8px;font-size:10px;font-weight:750;display:inline-block}.sensor-source.test{color:#9a3412;background:#fff7ed}.sensor-source.real{color:#047857;background:#ecfdf5}.sensor-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sensor-card-metrics>span{background:var(--bg-2);border-radius:6px;flex-direction:column;padding:9px;display:flex}.sensor-card-metrics small{color:var(--muted);font-size:10px}.sensor-card-metrics b{font-size:17px}.sensor-card-update{color:var(--muted);font-size:11px}.sensor-card-action{border-top:1px solid var(--border);color:var(--accent);justify-content:space-between;align-items:center;padding-top:10px;font-size:12px;font-weight:650;display:flex}.sensor-dashboard-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.sensor-dashboard-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.sensor-dashboard-chart{height:260px;margin-top:8px}@media (max-width:700px){.sensor-dashboard-charts,.sensor-card-grid{grid-template-columns:1fr}}@media (max-width:1100px){.asset-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:650px){.asset-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-heading{flex-direction:column;align-items:flex-start}.twin-workspace,.twin-workspace-content .bridge-workbench{height:auto}}@media (max-width:1000px){.bridge-workbench{height:auto}.bridge-main{grid-template-columns:1fr}.bridge-scene{height:60vh}.bridge-inspector{border-left:none}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
