/*! tailwindcss v4.1.18 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-space-x-reverse:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-400:oklch(70.2% .183 293.541);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-pink-400:oklch(71.8% .202 349.761);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--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);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--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;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-mono-font-family:var(--font-mono)}}@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;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}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}:root{--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}.dark{--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%;--sidebar-ring:217.2 91.2% 59.8%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-12{top:calc(var(--spacing)*-12)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-2\.5{left:calc(var(--spacing)*2.5)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-\[-1px\]{margin-bottom:-1px}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.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-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-\[18px\]{width:18px;height:18px}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-\[1px\]{height:1px}.h-\[115px\]{height:115px}.h-\[260px\]{height:260px}.h-\[280px\]{height:280px}.h-\[300px\]{height:300px}.h-\[320px\]{height:320px}.h-\[350px\]{height:350px}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[36px\]{min-height:36px}.min-h-\[44px\]{min-height:44px}.min-h-\[56px\]{min-height:56px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-56{width:calc(var(--spacing)*56)}.w-\[1px\]{width:1px}.w-\[140px\]{width:140px}.w-\[200px\]{width:200px}.w-\[320px\]{width:320px}.w-\[var\(--radix-dropdown-menu-trigger-width\)\]{width:var(--radix-dropdown-menu-trigger-width)}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\[140px\]{max-width:140px}.max-w-\[180px\]{max-width:180px}.max-w-\[360px\]{max-width:360px}.max-w-\[480px\]{max-width:480px}.max-w-\[var\(--skeleton-width\)\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-56{min-width:calc(var(--spacing)*56)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[44px\]{min-width:44px}.min-w-\[160px\]{min-width:160px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-\[var\(--radix-dropdown-menu-content-transform-origin\)\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[var\(--radix-tooltip-content-transform-origin\)\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1)}.-translate-x-1\/2,.-translate-x-px{translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-x-px{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1)}.-translate-y-1\/2,.translate-y-\[-50\%\]{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{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)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.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:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border,.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border))50%,transparent)}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border))60%,transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-input{border-color:hsl(var(--input))}.border-primary\/40{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,hsl(var(--primary))40%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-transparent{border-color:#0000}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-400\/10{background-color:#fcbb001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/10{background-color:color-mix(in oklab,var(--color-amber-400)10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500)15%,transparent)}}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/10{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.bg-blue-500\/15{background-color:#3080ff26}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/15{background-color:color-mix(in oklab,var(--color-blue-500)15%,transparent)}}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-400\/10{background-color:#00d2941a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-400\/10{background-color:color-mix(in oklab,var(--color-emerald-400)10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500)15%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\/50{background-color:#f9fafb80}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\/50{background-color:color-mix(in oklab,var(--color-gray-50)50%,transparent)}}.bg-gray-50\/60{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\/60{background-color:color-mix(in oklab,var(--color-gray-50)60%,transparent)}}.bg-indigo-500\/15{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/15{background-color:color-mix(in oklab,var(--color-indigo-500)15%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/50{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,hsl(var(--muted-foreground))50%,transparent)}}.bg-muted\/20{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,hsl(var(--muted))20%,transparent)}}.bg-muted\/30{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,hsl(var(--muted))30%,transparent)}}.bg-muted\/50{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,hsl(var(--muted))50%,transparent)}}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/15{background-color:color-mix(in oklab,var(--color-orange-500)15%,transparent)}}.bg-pink-400\/10{background-color:#fb64b61a}@supports (color:color-mix(in lab,red,red)){.bg-pink-400\/10{background-color:color-mix(in oklab,var(--color-pink-400)10%,transparent)}}.bg-popover{background-color:hsl(var(--popover))}.bg-primary,.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary))10%,transparent)}}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/15{background-color:color-mix(in oklab,var(--color-purple-500)15%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.bg-red-400\/10{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.bg-red-400\/10{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500)5%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:#0000}.bg-violet-400\/10{background-color:#a685ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-400\/10{background-color:color-mix(in oklab,var(--color-violet-400)10%,transparent)}}.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-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-500\/\[0\.07\]{--tw-gradient-from:#f99c0012}@supports (color:color-mix(in lab,red,red)){.from-amber-500\/\[0\.07\]{--tw-gradient-from:color-mix(in oklab,var(--color-amber-500)7.0%,transparent)}}.from-amber-500\/\[0\.07\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500\/\[0\.07\]{--tw-gradient-from:#3080ff12}@supports (color:color-mix(in lab,red,red)){.from-blue-500\/\[0\.07\]{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500)7.0%,transparent)}}.from-blue-500\/\[0\.07\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500\/\[0\.07\]{--tw-gradient-from:#00bb7f12}@supports (color:color-mix(in lab,red,red)){.from-emerald-500\/\[0\.07\]{--tw-gradient-from:color-mix(in oklab,var(--color-emerald-500)7.0%,transparent)}}.from-emerald-500\/\[0\.07\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500\/\[0\.07\]{--tw-gradient-from:#fb2c3612}@supports (color:color-mix(in lab,red,red)){.from-red-500\/\[0\.07\]{--tw-gradient-from:color-mix(in oklab,var(--color-red-500)7.0%,transparent)}}.from-red-500\/\[0\.07\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-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))}.fill-current{fill:currentColor}.fill-foreground{fill:hsl(var(--foreground))}.fill-muted-foreground{fill:hsl(var(--muted-foreground))}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--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-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground{color:hsl(var(--foreground))}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-indigo-400{color:var(--color-indigo-400)}.text-muted-foreground,.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground))40%,transparent)}}.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground))50%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground))60%,transparent)}}.text-orange-400{color:var(--color-orange-400)}.text-pink-400{color:var(--color-pink-400)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground))}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,hsl(var(--sidebar-foreground))70%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-foreground{accent-color:hsl(var(--foreground))}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{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_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)))}.shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#0006)}.shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.25\)\],.shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.4\)\]{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_4px_12px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#00000040)}.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-none{--tw-shadow:0 0 #0000}.shadow-none,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.ring-1{--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)}.ring-amber-500\/20{--tw-ring-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.ring-amber-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.ring-blue-500\/20{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.ring-blue-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.ring-emerald-500\/20{--tw-ring-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.ring-emerald-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.ring-primary\/30{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab,hsl(var(--primary))30%,transparent)}}.ring-red-500\/20{--tw-ring-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.ring-red-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.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-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;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-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[scrollbar-width\:none\]{scrollbar-width:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:flex:is(:where(.group)[data-collapsible=icon] *){display:flex}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:\!size-8:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]:is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:justify-center:is(:where(.group)[data-collapsible=icon] *){justify-content:center}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:\!p-0:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:\!p-2:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:px-0:is(:where(.group)[data-collapsible=icon] *){padding-inline:calc(var(--spacing)*0)}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:hsl(var(--sidebar-border))}.group-data-\[variant\=floating\]\:shadow:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:hsl(var(--sidebar-accent-foreground))}}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:hsl(var(--sidebar-accent-foreground))}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.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:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.last\:shrink:last-child{flex-shrink:1}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive))90%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-100\/60:hover{background-color:#f3f4f699}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-100\/60:hover{background-color:color-mix(in oklab,var(--color-gray-100)60%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/30:hover{background-color:color-mix(in oklab,hsl(var(--muted))30%,transparent)}}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/40:hover{background-color:color-mix(in oklab,hsl(var(--muted))40%,transparent)}}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,hsl(var(--muted))50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary))90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,hsl(var(--secondary))80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:is(:where(.group)[data-collapsible=offcanvas] *):hover{background-color:hsl(var(--sidebar-background))}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.active\:opacity-80:active{opacity:.8}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:calc(1/2*-100%)}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:calc(48%*-1)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=open\]\:bg-sidebar-accent[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[state\=open\]\:text-sidebar-accent-foreground[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:calc(1/2*-100%)}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:calc(48%*-1)}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:hsl(var(--sidebar-accent-foreground))}}@media (min-width:40rem){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing)*2.5)}.sm\:gap-3{gap:calc(var(--spacing)*3)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-3{padding-inline:calc(var(--spacing)*3)}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2:is(:where(.peer)[data-state=collapsed]~*):is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*2)}}.after\:md\:hidden:after{content:var(--tw-content)}@media (min-width:48rem){.after\:md\:hidden:after{display:none}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}}@media (min-width:80rem){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:h-3\.5>svg{height:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:w-3\.5>svg{width:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize,[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}}@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{--color-brand-navy:#0f0059;--color-brand-gold:#ffda00;--color-brand-orange:#ff6800;--color-brand-primary:#ff6800;--color-brand-primary-hover:#e55d00;--color-brand-focus-ring:#ff680040;--color-bg:#0d1117;--color-bg-card:#151d2b;--color-border:#1e2d3f;--color-text:#e6e6e6;--color-text-muted:#e6e6e6b3;--color-online-bg:#4ade801a;--color-online-border:#4ade8040;--color-online-text:#4ade80;--color-offline-bg:#ffffff0f;--color-offline-border:#ffffff1a;--color-offline-text:#6b7280;--signal-bar-inactive:#64748b40;--color-warning-bg:#3d2a0a;--color-warning-border:#6a4a1a;--color-warning-text:#fbbf24;--color-violation-bg:#2d1a1a;--color-violation-border:#6a2a2a;--color-violation-text:#f87171;--color-type-phone_in_hand-bg:#1a1a2d;--color-type-phone_in_hand-border:#3a3a6a;--color-type-phone_in_hand-text:#818cf8;--color-type-seatbelt_3point_buckled-bg:#0d2d2d;--color-type-seatbelt_3point_buckled-border:#1a5a5a;--color-type-seatbelt_3point_buckled-text:#4ecdc4;--color-type-seatbelt_3point_unbuckled-bg:#2d1a1a;--color-type-seatbelt_3point_unbuckled-border:#6a2a2a;--color-type-seatbelt_3point_unbuckled-text:#ff6b6b;--color-type-seatbelt_2point_buckled-bg:#0d1a2d;--color-type-seatbelt_2point_buckled-border:#1a3a5a;--color-type-seatbelt_2point_buckled-text:#45b7d1;--color-type-seatbelt_2point_unbuckled-bg:#2d1a0d;--color-type-seatbelt_2point_unbuckled-border:#5a3a1a;--color-type-seatbelt_2point_unbuckled-text:orange;--color-type-tampering-bg:#8c50c826;--color-type-tampering-border:#a06edc8c;--color-type-tampering-text:#c49bf0;--color-type-phone-bg:#5a64dc38;--color-type-phone-border:#6e78f0a6;--color-type-phone-text:#a4b0f4;--color-type-seatbelt-bg:#eb503c38;--color-type-seatbelt-border:#fa644ba6;--color-type-seatbelt-text:#f4978a;--color-warning-count-bg:#fbbf2426;--color-warning-count-border:#fbbf2480;--color-warning-count-text:#fbbf24;--color-error:#f87171;--color-error-dark:#ef4444;--color-error-bg:#f871711a;--color-error-bg-subtle:#f8717114;--color-error-bg-strong:#f8717126;--color-error-border:#f871714d;--color-error-border-strong:#f8717166;--color-error-gradient:linear-gradient(135deg,#f8717114,#ef44440a);--color-error-btn-bg:linear-gradient(135deg,#f8717133,#ef44441a);--color-success:#10b981;--color-success-alt:#22c55e;--color-success-bg:#10b9811a;--color-success-bg-strong:#10b98126;--color-success-border:#10b9814d;--color-amber:#f59e0b;--color-amber-dark:#d97706;--color-amber-bg-subtle:#f59e0b0f;--color-amber-bg:#f59e0b1a;--color-amber-bg-strong:#f59e0b26;--color-amber-border:#f59e0b4d;--color-amber-border-strong:#f59e0b66;--color-amber-gradient:linear-gradient(135deg,#f59e0b14,#fbbf240a);--color-amber-btn-bg:linear-gradient(135deg,#f59e0b33,#fbbf241a);--color-info:#6366f1;--color-info-bg:#6366f11a;--color-info-bg-subtle:#6366f114;--color-info-bg-strong:#6366f126;--color-info-border:#6366f133;--color-info-border-strong:#6366f166;--color-info-gradient:linear-gradient(135deg,#6366f114,#818cf80a);--color-info-btn-bg:linear-gradient(135deg,#6366f133,#818cf81a);--color-neutral:#6b7280;--color-neutral-light:#94a3b8;--color-neutral-bg:#6b72801a;--color-accent-blue:#3b82f6;--color-overlay:#000000b3;--color-grade-a:#22c55e;--color-grade-b:#84cc16;--color-grade-c:#eab308;--color-grade-d:#f97316;--color-grade-f:#ef4444;--shadow-tooltip:0 4px 12px #0006;--shadow-dropdown:0 4px 16px #00000026;--radius:.625rem;--background:220 30% 7%;--foreground:0 0% 90%;--card:216 30% 12%;--card-foreground:0 0% 90%;--popover:216 30% 12%;--popover-foreground:0 0% 90%;--primary:217 91% 60%;--primary-foreground:0 0% 100%;--secondary:215 25% 14%;--secondary-foreground:0 0% 90%;--muted:215 25% 14%;--muted-foreground:215 16% 50%;--accent:215 25% 14%;--accent-foreground:0 0% 90%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--border:215 25% 16%;--input:215 25% 16%;--ring:217 91% 60%;--chart-1:217 91% 60%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar-background:220 30% 6%;--sidebar-foreground:215 16% 55%;--sidebar-primary:217 91% 60%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:215 25% 12%;--sidebar-accent-foreground:0 0% 90%;--sidebar-border:215 25% 14%;--sidebar-ring:217 91% 60%;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}.light{--color-brand-primary:#ff6800;--color-brand-primary-hover:#e55d00;--color-brand-focus-ring:#ff680033;--color-bg:#f8fafc;--color-bg-card:#fff;--color-border:#e2e8f0;--color-text:#1e293b;--color-text-muted:#1e293b99;--color-online-bg:#dcfce7;--color-online-border:#86efac;--color-online-text:#16a34a;--color-offline-bg:#f1f5f9;--color-offline-border:#cbd5e1;--color-offline-text:#64748b;--signal-bar-inactive:#64748b33;--color-warning-bg:#fef3c7;--color-warning-border:#fcd34d;--color-warning-text:#b45309;--color-violation-bg:#fee2e2;--color-violation-border:#fca5a5;--color-violation-text:#dc2626;--color-type-phone_in_hand-bg:#e0e7ff;--color-type-phone_in_hand-border:#a5b4fc;--color-type-phone_in_hand-text:#4f46e5;--color-type-seatbelt_3point_buckled-bg:#ccfbf1;--color-type-seatbelt_3point_buckled-border:#5eead4;--color-type-seatbelt_3point_buckled-text:#0d9488;--color-type-seatbelt_3point_unbuckled-bg:#fee2e2;--color-type-seatbelt_3point_unbuckled-border:#fca5a5;--color-type-seatbelt_3point_unbuckled-text:#dc2626;--color-type-seatbelt_2point_buckled-bg:#cffafe;--color-type-seatbelt_2point_buckled-border:#67e8f9;--color-type-seatbelt_2point_buckled-text:#0891b2;--color-type-seatbelt_2point_unbuckled-bg:#ffedd5;--color-type-seatbelt_2point_unbuckled-border:#fdba74;--color-type-seatbelt_2point_unbuckled-text:#c2410c;--color-type-tampering-bg:#6b3fa014;--color-type-tampering-border:#6b3fa059;--color-type-tampering-text:#6b3fa0;--color-type-phone-bg:#3b599814;--color-type-phone-border:#3b599859;--color-type-phone-text:#3b5998;--color-type-seatbelt-bg:#c0392b14;--color-type-seatbelt-border:#c0392b59;--color-type-seatbelt-text:#c0392b;--color-warning-count-bg:#d977061a;--color-warning-count-border:#d9770659;--color-warning-count-text:#d97706;--color-error:#dc2626;--color-error-dark:#b91c1c;--color-error-bg:#dc262614;--color-error-bg-subtle:#dc26260d;--color-error-bg-strong:#dc26261f;--color-error-border:#dc262633;--color-error-border-strong:#dc26264d;--color-error-gradient:linear-gradient(135deg,#dc26260f,#b91c1c08);--color-error-btn-bg:linear-gradient(135deg,#dc262626,#b91c1c14);--color-success:#059669;--color-success-alt:#16a34a;--color-success-bg:#05966914;--color-success-bg-strong:#0596691f;--color-success-border:#05966933;--color-amber:#d97706;--color-amber-dark:#b45309;--color-amber-bg-subtle:#d977060d;--color-amber-bg:#d9770614;--color-amber-bg-strong:#d977061f;--color-amber-border:#d9770633;--color-amber-border-strong:#d977064d;--color-amber-gradient:linear-gradient(135deg,#d977060f,#b4530908);--color-amber-btn-bg:linear-gradient(135deg,#d9770626,#b4530914);--color-info:#4f46e5;--color-info-bg:#4f46e50f;--color-info-bg-subtle:#4f46e50a;--color-info-bg-strong:#4f46e51a;--color-info-border:#4f46e526;--color-info-border-strong:#4f46e54d;--color-info-gradient:linear-gradient(135deg,#4f46e50f,#6366f108);--color-info-btn-bg:linear-gradient(135deg,#4f46e526,#6366f114);--color-neutral:#64748b;--color-neutral-light:#94a3b8;--color-neutral-bg:#64748b1a;--color-accent-blue:#2563eb;--color-overlay:#00000080;--color-grade-a:#16a34a;--color-grade-b:#65a30d;--color-grade-c:#ca8a04;--color-grade-d:#ea580c;--color-grade-f:#dc2626;--shadow-tooltip:0 4px 12px #00000026;--shadow-dropdown:0 4px 16px #0000001a;--background:210 40% 98%;--foreground:222 47% 11%;--card:0 0% 100%;--card-foreground:222 47% 11%;--popover:0 0% 100%;--popover-foreground:222 47% 11%;--primary:217 91% 50%;--primary-foreground:0 0% 100%;--secondary:210 40% 96%;--secondary-foreground:222 47% 11%;--muted:210 40% 96%;--muted-foreground:215 16% 47%;--accent:210 40% 96%;--accent-foreground:222 47% 11%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--border:214 32% 85%;--input:214 32% 85%;--ring:217 91% 50%;--chart-1:217 91% 50%;--chart-2:160 60% 40%;--chart-3:30 80% 50%;--chart-4:280 65% 55%;--chart-5:340 75% 50%;--sidebar-background:0 0% 98%;--sidebar-foreground:215 16% 47%;--sidebar-primary:217 91% 50%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:210 40% 96%;--sidebar-accent-foreground:222 47% 11%;--sidebar-border:214 32% 91%;--sidebar-ring:217 91% 50%}body{background:var(--color-bg);color:var(--color-text);margin:0}a{color:inherit;text-decoration:none}nav[aria-label=breadcrumb] li,nav[aria-label=breadcrumb] ol{margin:0;padding:0;list-style:none}[data-sidebar],[data-sidebar] *,[data-sidebar] :after,[data-sidebar] :before{box-sizing:border-box}[data-sidebar] ol,[data-sidebar] ul{margin:0;padding:0;list-style:none}[data-sidebar] button{font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0}[data-sidebar] a{color:inherit;text-decoration:none}[data-radix-popper-content-wrapper] *,[data-radix-popper-content-wrapper] :after,[data-radix-popper-content-wrapper] :before{box-sizing:border-box}[data-radix-popper-content-wrapper] ol,[data-radix-popper-content-wrapper] ul{margin:0;padding:0;list-style:none}[data-radix-popper-content-wrapper] button{font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0}.container{max-width:1100px;margin:0 auto;padding:24px}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:0;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.card:not(:has(.card-header)){padding:16px}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.card-header h3{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0;font-size:13px;font-weight:600}.card-subtitle{color:var(--color-text-muted);opacity:.7;margin-top:1px;font-size:11px}.card-header-link{color:var(--color-brand-orange);white-space:nowrap;font-size:12px;font-weight:500;text-decoration:none}.card-header-link:hover{text-decoration:underline}.card-body{padding:2px 0}.card-body ul{margin:0;padding:0;list-style:none}.card-body ul li{border-bottom:1px solid #ffffff12}.card-body ul li:last-child{border-bottom:none}.grid{gap:16px;display:grid}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--color-border);text-align:left;padding:6px 10px}.badge{letter-spacing:.02em;text-transform:lowercase;text-align:center;border:none;border-radius:4px;align-items:center;gap:5px;min-width:auto;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.badge.on,.badge.online{background:var(--color-online-bg);color:var(--color-online-text);border:1px solid #22c55e4d;border-radius:10px;justify-content:center;min-width:52px;padding:1px 7px;font-size:11px}.badge.on:before,.badge.online:before{content:"";background:var(--color-online-text);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.badge.off,.badge.offline{color:var(--color-offline-text);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;min-width:52px;padding:1px 7px;font-size:11px}.badge.event,.badge.violation{background:var(--color-violation-bg);color:var(--color-violation-text)}.badge.type-phone,.type-badge.type-phone,span.type-phone{border-radius:10px;min-width:auto;padding:2px 10px;font-size:11px;background:var(--color-type-phone-bg)!important;border:1px solid var(--color-type-phone-border)!important;color:var(--color-type-phone-text)!important}.badge.type-seatbelt,.type-badge.type-seatbelt,span.type-seatbelt{border-radius:10px;min-width:auto;padding:2px 10px;font-size:11px;background:var(--color-type-seatbelt-bg)!important;border:1px solid var(--color-type-seatbelt-border)!important;color:var(--color-type-seatbelt-text)!important}.badge.type-phone_in_hand,.type-badge.type-phone_in_hand{background:var(--color-type-phone_in_hand-bg);border:1px solid var(--color-type-phone_in_hand-border);color:var(--color-type-phone_in_hand-text)}.badge.type-seatbelt_3point_buckled,.type-badge.type-seatbelt_3point_buckled{background:var(--color-type-seatbelt_3point_buckled-bg);border:1px solid var(--color-type-seatbelt_3point_buckled-border);color:var(--color-type-seatbelt_3point_buckled-text)}.badge.type-seatbelt_3point_unbuckled,.type-badge.type-seatbelt_3point_unbuckled{background:var(--color-type-seatbelt_3point_unbuckled-bg);border:1px solid var(--color-type-seatbelt_3point_unbuckled-border);color:var(--color-type-seatbelt_3point_unbuckled-text)}.badge.type-seatbelt_2point_buckled,.type-badge.type-seatbelt_2point_buckled{background:var(--color-type-seatbelt_2point_buckled-bg);border:1px solid var(--color-type-seatbelt_2point_buckled-border);color:var(--color-type-seatbelt_2point_buckled-text)}.badge.type-seatbelt_2point_unbuckled,.type-badge.type-seatbelt_2point_unbuckled{background:var(--color-type-seatbelt_2point_unbuckled-bg);border:1px solid var(--color-type-seatbelt_2point_unbuckled-border);color:var(--color-type-seatbelt_2point_unbuckled-text)}.badge.type-tampering,.type-badge.type-tampering,span.type-tampering{border-radius:10px;min-width:auto;padding:2px 10px;font-size:11px;background:var(--color-type-tampering-bg)!important;border:1px solid var(--color-type-tampering-border)!important;color:var(--color-type-tampering-text)!important}.badge.warning-count{background:var(--color-warning-count-bg);border:1px solid var(--color-warning-count-border);color:var(--color-warning-count-text)}.badge.warning-count.zero{color:var(--color-offline-text);background:#ffffff0a;border:1px solid #ffffff14}.badge.warning-count-small{background:var(--color-warning-count-bg);border:1px solid var(--color-warning-count-border);color:var(--color-warning-count-text);min-width:20px;padding:2px 6px;font-size:11px}.badge.warning-count-small.zero{color:var(--color-offline-text);background:#ffffff0a;border:1px solid #ffffff14}.badge.warning-count-compact{background:var(--color-warning-count-bg);border:1px solid var(--color-warning-count-border);color:var(--color-warning-count-text);text-align:center;border-radius:10px;justify-content:center;align-items:center;min-width:auto;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.warning-count-compact.zero{color:var(--color-offline-text);background:#ffffff0a;border:1px solid #ffffff0f}input,textarea{width:100%;padding:10px}button,input,textarea{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:10px}button{cursor:pointer;padding:10px 14px}button:hover{filter:brightness(1.1)}.btn{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.1);border-color:#648cc866}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{border-radius:8px;padding:6px 10px;font-size:12px}.btn-danger{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.btn-danger:hover:not(:disabled){background:var(--color-error-bg-strong);border-color:var(--color-error-border-strong);filter:brightness(1.05)}.nav{opacity:.95;gap:14px;padding:12px 0}.nav,.nav-desktop{display:flex}.mobile-menu-overlay,.nav-mobile-header,.nav-mobile-menu{display:none}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mono,.small{font-size:12px}.small{opacity:.8}.card ul{margin:8px 0;padding-left:0;list-style:none}.card ul li{border-bottom:1px solid #24304566;padding:0}.card ul li:last-child{border-bottom:none}tr.expandable{cursor:pointer}tr.expandable:hover{background:#2430454d}tr.warning-subrow{background:#3d2a0a4d}tr.warning-subrow td{border-bottom:1px solid var(--color-warning-border);padding:6px 10px}.expand-icon{width:16px;transition:transform .2s;display:inline-block}.expand-icon.expanded{transform:rotate(90deg)}.light tr.expandable:hover{background:#0f172a0a}.light tr.warning-subrow{background:#fbbf240f}.light tr.warning-subrow td{border-bottom-color:#fbbf2433}.timeline{padding-left:32px;position:relative}.timeline:before{content:"";background:var(--color-border);width:2px;position:absolute;top:0;bottom:0;left:7px}.timeline-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:12px;position:relative}.timeline-item:before{content:"";background:var(--color-border);border:2px solid var(--color-bg-card);border-radius:50%;width:14px;height:14px;position:absolute;top:14px;left:-25px}.timeline-item.violation:before{background:var(--color-violation-text)}.timeline-item.warning:before{background:var(--color-warning-text)}.timeline-item .type{margin-bottom:4px;font-weight:600}.timeline-item .meta{opacity:.7;font-size:12px}.timeline-session{border-left:3px solid #4a6a9a;margin-left:-3px;padding-left:3px}.filter-bar{background:#2430454d;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.filter-chip{border:1px solid var(--color-border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.filter-chip.type-phone{background:var(--color-type-phone-bg);border-color:var(--color-type-phone-border);color:var(--color-type-phone-text)}.filter-chip.type-seatbelt{background:var(--color-type-seatbelt-bg);border-color:var(--color-type-seatbelt-border);color:var(--color-type-seatbelt-text)}.filter-chip.type-tampering{background:var(--color-type-tampering-bg);border-color:var(--color-type-tampering-border);color:var(--color-type-tampering-text)}.filter-chip:hover{filter:brightness(1.2)}.filter-chip-x{opacity:.6;font-weight:700}.filter-chip:hover .filter-chip-x{opacity:1}.filter-clear{color:#e6e6e6b3;background:0 0;border:1px solid #64647866;border-radius:6px;padding:4px 10px;font-size:11px}.filter-clear:hover{background:#64647833}.th-filter{cursor:pointer;position:relative}.th-filter>span{border-bottom:1px dashed #96a0b480;padding-bottom:1px}.th-filter>span:after{content:" ▾";opacity:.5;font-size:10px}.th-filter:hover>span{border-bottom-color:#96a0b4e6}.th-filter:hover>span:after{opacity:.9}.th-filter:hover{background:#2430454d}.filter-dropdown{z-index:10;background:var(--color-bg-card);border:1px solid var(--color-border);min-width:120px;box-shadow:var(--shadow-dropdown);border-radius:8px;padding:6px;display:none;position:absolute;top:100%;left:0}.th-filter:hover .filter-dropdown{flex-direction:column;gap:4px;display:flex}.filter-option{border:1px solid var(--color-border);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:400;transition:all .15s;display:block}.filter-option.type-phone{background:var(--color-type-phone-bg);border-color:var(--color-type-phone-border);color:var(--color-type-phone-text)}.filter-option.type-seatbelt{background:var(--color-type-seatbelt-bg);border-color:var(--color-type-seatbelt-border);color:var(--color-type-seatbelt-text)}.filter-option.type-tampering{background:var(--color-type-tampering-bg);border-color:var(--color-type-tampering-border);color:var(--color-type-tampering-text)}.filter-option:hover{filter:brightness(1.3)}.filter-option.active{box-shadow:0 0 0 2px #6496ff80}.light .th-filter>span{border-bottom-color:#646e8266}.light .th-filter:hover>span{border-bottom-color:#646e82cc}.light .th-filter:hover{background:#0f172a0f}.light .filter-dropdown{background:var(--color-bg-card);border-color:var(--color-border);box-shadow:var(--shadow-dropdown)}.light .filter-option:hover{filter:brightness(.92)}.light .filter-option.active{box-shadow:0 0 0 2px #3b599866}.type-badge{cursor:pointer;transition:all .15s}.type-badge:hover{filter:brightness(1.3);transform:scale(1.05)}.device-link{cursor:pointer;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;transition:all .15s}.device-link:hover{background:#24304580}@keyframes sse-pulse{0%,to{opacity:1;box-shadow:0 0 #4ade8080}50%{opacity:.7;box-shadow:0 0 0 6px #4ade8000}}@keyframes sse-pulse-warning{0%,to{opacity:1;box-shadow:0 0 #fbbf2480}50%{opacity:.7;box-shadow:0 0 0 6px #fbbf2400}}.sse-indicator{background:#24304566;border-radius:20px;align-items:center;gap:8px;margin-left:auto;padding:4px 12px;font-size:12px;display:flex}.light .sse-indicator{background:#0f172a0f;border:1px solid #0f172a14}.sse-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sse-indicator.connected .sse-dot{animation:sse-pulse 2s ease-in-out infinite}.sse-indicator.connecting .sse-dot,.sse-indicator.reconnecting .sse-dot{animation:sse-pulse-warning 1s ease-in-out infinite}.sse-text{font-weight:500}.sse-indicator.connected .sse-text{color:var(--color-online-text)}.sse-indicator.connecting .sse-text,.sse-indicator.reconnecting .sse-text{color:var(--color-warning-text)}.sse-indicator.error .sse-text{color:var(--color-type-seatbelt-text)}.sse-stats{color:var(--color-text-muted);border-left:1px solid #6464784d;padding-left:8px}.light .sse-stats{border-left-color:#0f172a26}.nav a{padding-bottom:4px;position:relative}.nav a.active{color:var(--color-online-text)}.nav a.active:after{content:"";background:var(--color-online-text);border-radius:1px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.clickable-item{cursor:pointer;color:inherit;border-radius:0;align-items:center;gap:8px;margin:0;padding:5px 16px;text-decoration:none;transition:background .15s;display:grid}.clickable-item:hover{background:#24304540}.table-arrow-link{color:var(--color-text-muted);align-items:center;gap:6px;font-size:12px;text-decoration:none;transition:color .15s;display:inline-flex}.table-arrow-link:hover{color:#96c3f5f2}.device-row{grid-template-columns:70px 1fr 90px 24px;gap:20px}.overview-row{grid-template-columns:70px 24px 1fr auto 32px 24px;gap:10px}.overview-row-activity{grid-template-columns:100px 74px 24px 1fr auto auto 24px;gap:12px}.overview-evidence-col{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.overview-row-device{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.evidence-btn-inline{color:#a8c4e8;cursor:pointer;background:#648cc826;border:1px solid #648cc84d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:inline-flex}.evidence-btn-inline:hover{color:#c4daf0;background:#648cc84d;border-color:#648cc880;transform:scale(1.1)}.hub-cards{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.hub-card{color:inherit;text-decoration:none;display:block}.hub-card .card{cursor:pointer;height:100%;padding:20px;transition:border-color .2s,background .2s}.hub-card:hover .card{background:#24304566;border-color:#648cc866}.hub-card-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.hub-card-icon{color:var(--color-text-muted);flex-shrink:0}.hub-card-title{margin:0;font-size:16px;font-weight:600}.hub-card-desc{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.4}.data-table{border-collapse:collapse;width:100%}.data-table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);text-align:left;border-bottom:2px solid var(--color-border);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600}.data-table thead th:last-child{text-align:right}.data-table tbody td{border-bottom:1px solid var(--color-border);padding:10px 12px;font-size:13px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#24304533}.th-col-filter{position:relative}.col-filter-trigger{text-transform:none;letter-spacing:0;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:#2430454d;border-radius:4px;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-size:11px;font-weight:400;line-height:1.6;transition:all .15s;display:inline-flex}.col-filter-trigger:hover{background:#24304580;border-color:#648cc84d}.col-filter-trigger.has-value{color:var(--color-text);background:#24304573;border-color:#648cc866}.col-filter-chevron{opacity:.5;transition:transform .15s}.col-filter-trigger.open .col-filter-chevron{transform:rotate(180deg)}.col-filter-dropdown{z-index:20;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;min-width:180px;max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.col-filter-option{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:400;transition:background .1s;display:flex}.col-filter-option:hover{color:var(--color-text);background:#24304566}.col-filter-option.selected{color:var(--color-text);background:#24304559}.col-filter-check{width:14px;color:var(--color-online-text);flex-shrink:0}.pagination{border-top:1px solid var(--color-border);color:var(--color-text-muted);justify-content:space-between;padding:12px 16px;font-size:12px}.pagination,.pagination-info{align-items:center;display:flex}.pagination-info{gap:12px}.pagination-info select{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:#2430454d;border-radius:4px;padding:2px 6px;font-size:12px}.pagination-controls{align-items:center;gap:4px;display:flex}.pagination-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:12px;transition:all .15s}.pagination-btn:hover:not(:disabled){color:var(--color-text);background:#24304566}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-btn.active{color:var(--color-text);background:#24304580;border-color:#648cc866}.device-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.device-card{border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-width:3px;color:inherit;background:#2430452e;border-radius:10px;padding:12px 14px;text-decoration:none;transition:all .15s;display:block}.device-card.status-online{border-left-color:var(--color-online-text)}.device-card.status-offline{border-left-color:#78829659}.device-card:hover{background:#24304559;border-color:#648cc866}.device-card.status-online:hover{border-left-color:var(--color-online-text)}.device-card.status-offline:hover{border-left-color:#78829680}.device-card-header{border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:10px;display:flex}.device-card-header .badge{flex-shrink:0}.device-card-header .gps-indicator,.device-card-header .motion-indicator,.device-card-header .signal-indicator{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.device-card-id{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.device-card-details{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.device-card-details-grid{grid-template-columns:repeat(2,1fr);gap:8px 16px;display:grid}.device-card-detail{flex-direction:column;gap:2px;display:flex}.device-card-label{color:var(--color-text-muted);letter-spacing:.02em;opacity:1;font-size:10px;font-weight:500}.device-card-value{opacity:1;font-size:13px;font-weight:500}.config-pending-badge-small{color:var(--color-warning-text);font-size:10px}.violation-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.violation-card{border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-width:3px;color:inherit;background:#2430452e;border-radius:10px;padding:12px 14px;text-decoration:none;transition:all .15s;display:block}.violation-card.vtype-seatbelt{border-left-color:var(--color-type-seatbelt-text)}.violation-card.vtype-phone{border-left-color:var(--color-type-phone-text)}.violation-card:hover{background:#24304559;border-color:#648cc866}.violation-card.vtype-seatbelt:hover{border-left-color:var(--color-type-seatbelt-text)}.violation-card.vtype-phone:hover{border-left-color:var(--color-type-phone-text)}.violation-card-header{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;display:flex}.violation-card-device{flex:1;font-size:14px;font-weight:600}.violation-card-details{grid-template-columns:repeat(2,1fr);gap:8px 16px;display:grid}.violation-card-detail{flex-direction:column;gap:2px;display:flex}.violation-card-label{color:var(--color-text-muted);letter-spacing:.02em;opacity:1;font-size:10px;font-weight:500}.violation-card-value{opacity:1;font-size:13px;font-weight:500}.violation-card-actions{border-top:1px solid #ffffff0f;align-items:center;gap:8px;margin-top:10px;padding-top:8px;display:flex}.device-card-detail .badge,.violation-card-detail .badge{width:fit-content}.violation-row{grid-template-columns:80px 110px 1fr 40px 24px;gap:10px}.activity-row{grid-template-columns:115px 85px 1fr 70px 80px 24px;gap:12px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px #0000000f}.stat-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stat-card-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.stat-card-icon{color:var(--color-text-muted);opacity:.4}.stat-card-value{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.stat-card.stat-violations .stat-card-value{color:var(--color-violation-text)}.stat-card.stat-warnings .stat-card-value{color:var(--color-warning-text)}.stat-card-context,.stat-card-value.zero{color:var(--color-text-muted)}.stat-card-context{margin-top:4px;font-size:12px}.live-stats-grid{text-align:center;grid-template-columns:repeat(4,1fr);padding:4px 0;display:grid}.live-stat-col{border-right:1px solid #ffffff12;padding:10px 12px}.live-stat-col:last-child{border-right:none}.live-stat-value{color:var(--color-online-text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.2}.live-stat-value.zero{opacity:.5}.live-stat-value.stat-violation-color{color:var(--color-violation-text)}.live-stat-value.stat-violation-color.zero{color:var(--color-violation-text);opacity:.5}.live-stat-value.stat-warning-color{color:var(--color-warning-text)}.live-stat-value.stat-warning-color.zero{color:var(--color-warning-text);opacity:.5}.live-stat-total{color:var(--color-text-muted);font-size:16px;font-weight:500}.live-stat-label{color:var(--color-text-muted);margin-top:2px;font-size:11px}.realtime-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.stat-item{text-align:center;background:#2430454d;border-radius:8px;padding:12px}.stat-value{color:var(--color-online-text);font-size:24px;font-weight:600}.stat-label{opacity:.7;margin-top:4px;font-size:11px}.stat-context{opacity:.5;font-weight:400}.limit-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;min-width:28px;padding:2px 8px;font-size:11px;transition:all .15s}.limit-btn:hover{color:var(--color-text);background:#648cc826;border-color:#648cc84d}.limit-btn.active{color:#a8c4e8;background:#648cc840;border-color:#648cc880}.activity-feed{margin:0;padding:0;list-style:none}.activity-feed li{border-bottom:1px solid #ffffff12;padding:0;position:relative}.activity-feed li:last-child{border-bottom:none}.activity-feed li:before{content:"";border-radius:2px;width:3px;height:50%;position:absolute;top:25%;left:0}.activity-feed li.kind-violation:before{background:var(--color-violation-text);opacity:.4}.activity-feed li.kind-warning:before{background:var(--color-warning-text);opacity:.3}.badge.activity-kind{border-radius:10px;align-items:center;gap:4px;min-width:85px;padding:2px 8px;font-size:11px;display:inline-flex}.badge.activity-kind.violation{color:#f87171;background:#f871711f;border:1px solid #f8717166}.badge.activity-kind.warning{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2466}.muted{opacity:.6}.arrow-icon{color:#96c3f5d9;opacity:.5;text-align:center;background:#82b4e614;border:1px solid #82b4e62e;border-radius:6px;flex-shrink:0;justify-content:center;justify-self:end;align-items:center;width:22px;height:22px;font-size:12px;transition:opacity .15s,transform .15s,background .15s,border-color .15s;display:inline-flex}.clickable-item:hover .arrow-icon,.device-card:hover .arrow-icon,.table-arrow-link:hover .arrow-icon,.violation-card:hover .arrow-icon,tr.expandable:hover .arrow-icon{opacity:1;background:#82b4e626;border-color:#82b4e666;transform:translate(2px)}.live-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--color-online-text);align-items:center;gap:5px;margin-left:8px;font-size:10px;font-weight:600;display:inline-flex}.live-badge:before{content:"";background:var(--color-online-text);border-radius:50%;width:6px;height:6px;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.light .card{border-color:#00000014;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}.light .card-header{border-bottom-color:#0000000f}.light .card-body ul li{border-bottom-color:#0000000d}.light .stat-card{border-color:#0000000f;box-shadow:0 1px 3px #0000000a}.light .clickable-item:hover{background:#00000008}.light .device-card{background:#00000005;border-color:#00000014}.light .device-card.status-online{border-left-color:var(--color-online-text)}.light .device-card.status-offline{border-left-color:#00000026}.light .device-card:hover{background:#0000000a;border-color:#00000026}.light .device-card.status-online:hover{border-left-color:var(--color-online-text)}.light .device-card.status-offline:hover{border-left-color:#00000040}.light .device-card-header{border-bottom-color:#0000000f}.light .violation-card{background:#00000005;border-color:#00000014}.light .violation-card.vtype-seatbelt{border-left-color:var(--color-type-seatbelt-text)}.light .violation-card.vtype-phone{border-left-color:var(--color-type-phone-text)}.light .violation-card:hover{background:#0000000a;border-color:#00000026}.light .violation-card.vtype-seatbelt:hover{border-left-color:var(--color-type-seatbelt-text)}.light .violation-card.vtype-phone:hover{border-left-color:var(--color-type-phone-text)}.light .violation-card-header{border-bottom-color:#0000000f}.light .violation-card-actions{border-top-color:#0000000f}.light .arrow-icon{color:#3273b9b3;background:#3c82c80f;border-color:#3c82c824}.light .clickable-item:hover .arrow-icon,.light .device-card:hover .arrow-icon,.light .table-arrow-link:hover .arrow-icon,.light .violation-card:hover .arrow-icon,.light tr.expandable:hover .arrow-icon{color:#3273b9e6;background:#3c82c81f;border-color:#3c82c84d}.light .hub-card:hover .card{background:#00000008;border-color:#00000026}.light .hub-card-restart .card{border-color:#00000026}.light .hub-card-restart:hover .card{background:#00000005;border-color:#00000040}.light .data-table tbody tr:hover{background:#00000005}.light .col-filter-trigger{background:#0000000a;border-color:#0000001a}.light .col-filter-trigger:hover{background:#00000012}.light .col-filter-trigger.has-value{background:#0000000f;border-color:#00000026}.light .col-filter-dropdown{background:#fff;border-color:#0000001a;box-shadow:0 8px 24px #0000001f}.light .col-filter-option:hover{background:#0000000a}.light .pagination{border-top-color:#0000000f}.light .pagination-btn{border-color:#0000001a}.light .pagination-btn:hover:not(:disabled){background:#0000000a}.light .pagination-btn.active{background:#0000000f;border-color:#00000026}.light .evidence-btn-inline,.light .pagination-info select{background:#0000000a;border-color:#0000001a}.light .evidence-btn-inline{color:var(--color-text-muted)}.light .evidence-btn-inline:hover{background:#00000014}.light .limit-btn{border-color:#0000001a}.light .limit-btn.active{color:var(--color-text);background:#0000000f;border-color:#00000026}.light .activity-feed li{border-bottom-color:#0000000d}.light .badge.online{background:#16a34a14}.light .badge.offline{background:#0000000a;border-color:#0000001a}.light .badge.warning-count-compact.zero{background:#0000000a;border-color:#00000014}.light .badge.warning-count-small.zero,.light .badge.warning-count.zero{color:var(--color-text-muted);background:#0000000a;border-color:#00000014}.light .live-stat-col{border-right-color:#0000000f}.light .filter-bar{background:#0000000a}.light .filter-chip{background:var(--color-bg-card)}.light .filter-clear{color:var(--color-text-muted);border-color:#00000026}.light .filter-clear:hover{background:#0000000f}.light .evidence-preview-btn{color:#3b5998;background:#3b599814;border-color:#3b599833}.light .evidence-preview-btn:hover{color:#2d4373;background:#3b599826;border-color:#3b599859}.light .evidence-preview-btn-mobile,.light .evidence-preview-btn-small{color:#3b5998;background:#3b599814;border-color:#3b599833}.light .timeline-nav{background:#0000000a}.light .quick-filters button:hover{background:#0000000f;border-color:#00000026}.light .quick-filters button.active{color:#3b5998;background:#3b59981a;border-color:#3b599859}.light .day-separator .day-label{color:var(--color-text-muted);background:#0000000f}.light .session-header{background:#00000008}.light .session-header:hover{background:#0000000f}.light .session-header .session-badge{color:var(--color-text-muted);background:#0000000f;border-color:#0000001f}.light .evidence-btn-timeline{color:#3b5998;background:#3b599814;border-color:#3b599833}.light .evidence-btn-timeline:hover{color:#2d4373;background:#3b599826;border-color:#3b599859}.light .violation-details{border-top-color:#00000014}.light .violation-details .mono,.light .violation-id-link{background:#0000000f}.light .violation-id-link:hover{background:#16a34a14}.light .warnings-list .warning-item{border-bottom-color:#0000000f}.light .date-picker input[type=date]::-webkit-calendar-picker-indicator{filter:none}.light .card ul li{border-bottom-color:#0000000f}.light .config-preview,.light .config-preview-compact,.light .config-section-header{background:#00000008}.light .config-status-section{background:#00000005}.light .checkbox-item,.light .config-compare-empty{background:#00000008}.light .checkbox-item:hover{background:#0000000f}.light .checkbox-item.checked{background:#0000000f;border-color:#00000026}.light .checkbox-item-compact{background:#00000008}.light .checkbox-item-compact:hover{background:#0000000f}.light .checkbox-item-compact.checked{background:#0000000f;border-color:#00000026}.light .device-option{background:#00000008}.light .device-option:hover{background:#0000000f}.light .device-option.selected{background:#16a34a0f;border-color:#16a34a40}.light .calibration-meta,.light .calibration-table th{border-bottom-color:#00000014}.light .calibration-trigger-row{border-top-color:#00000014}.light .config-diff-table td{border-bottom-color:#0000000f}.light .config-synced-message{color:#16a34a;background:#16a34a0f}.light .config-sync-pill.failed{color:#dc2626;background:#ef44440f;border-color:#ef444433}.light .info-row{border-bottom-color:#00000014}.light .btn-secondary{color:var(--color-text-muted);background:#0000000a;border-color:#0000001f}.light .btn-secondary:hover:not(:disabled){background:#00000014;border-color:#0000002e}.light .gps-location-detail-row{background:#00000008}.light .gps-location-btn.primary{color:#16a34a;background:#16a34a14;border-color:#16a34a40}.light .gps-location-btn.primary:hover{background:#16a34a24;border-color:#16a34a66}.light .gps-location-btn.secondary{color:var(--color-text-muted);background:#00000008;border-color:#0000001a}.light .gps-location-btn.secondary:hover{color:var(--color-text);background:#0000000f;border-color:#0000002e}.light .gps-location-map-wrapper:hover{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a1f}.light .gps-location-map-wrapper:focus{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a33}.light .gps-modal-overlay{background:#0006}.light .gps-modal-content{border-color:#0000001a;box-shadow:0 20px 50px #00000026,0 0 0 1px #0000000f}.light .gps-modal-header{border-bottom-color:#00000014}.light .gps-modal-close,.light .gps-modal-device{color:var(--color-text-muted);background:#0000000f}.light .gps-modal-close:hover{color:#dc2626;background:#ef44441a}.light .gps-map-container{border-color:#0000001a}.light .gps-detail-item{background:#00000008}.light .gps-osm-link a{color:#3b5998}.light .gps-osm-link a:hover{background:#3b59980f}.light .evidence-thumbnail{background:#00000008;border-color:#00000014}.light .evidence-thumbnail:hover{background:#0000000f;border-color:#00000026}.light .evidence-thumbnail-image{background:#0000000a;border-color:#00000014}.config-page-v2{display:block}.config-desktop-layout{flex-direction:column;gap:20px;display:flex}.config-device-header{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;align-items:stretch;gap:0;margin-bottom:16px;padding:0;display:flex;overflow:hidden}.config-device-selector{border-right:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:10px;padding:12px 20px;display:flex}.config-device-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.config-device-dropdown{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:8px;min-width:120px;padding:8px 32px 8px 12px;font-size:14px;font-weight:500}.config-device-dropdown:hover{border-color:#648cc866}.config-device-dropdown:focus{border-color:#648cc899;outline:none;box-shadow:0 0 0 2px #648cc81a}.config-device-info-row{flex:1;align-items:stretch;gap:0;min-width:0;display:flex}.config-device-info-item{border-right:1px solid var(--color-border);flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:10px 18px;display:flex}.config-device-info-item:last-child{border-right:none}.config-info-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:500;line-height:1}.config-info-value{color:var(--color-text);white-space:nowrap;font-size:13px;line-height:1.2}.config-version-inline{align-items:center;gap:6px;display:flex}.config-synced-icon{color:var(--color-online-text);font-size:14px;font-weight:700}.config-columns{grid-template-columns:5fr 3fr;align-items:start;gap:20px;display:grid}.config-left-column,.config-right-column{flex-direction:column;gap:16px;display:flex}.config-section-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.config-section-header{border-bottom:1px solid var(--color-border);background:#2430454d;padding:12px 16px}.config-section-header h4{color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:13px;font-weight:600}.config-section-content{padding:16px}.sync-status-row{margin-bottom:12px}.config-compare-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.config-compare-col{flex-direction:column;gap:8px;display:flex}.config-compare-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.config-compare-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.config-preview-compact{border:1px solid var(--color-border);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;background:#0b0e1499;border-radius:6px;margin:0;padding:10px;font-size:10px}.config-compare-meta{color:var(--color-text-muted);opacity:.8;font-size:10px}.config-compare-error{color:var(--color-type-seatbelt-text);margin-top:4px;font-size:11px}.config-compare-empty{color:var(--color-text-muted);text-align:center;background:#24304533;border-radius:6px;padding:8px;font-size:12px}.config-device-header-v3{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:0;margin-bottom:16px;padding:0;display:flex;overflow:hidden}.config-device-identity{border-right:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:16px;padding:14px 20px;display:flex}.config-device-primary-info{flex:1;align-items:center;gap:12px;min-width:0;padding:14px 20px;display:flex}.config-device-status-group{align-items:center;gap:10px;display:flex}.config-device-lastseen{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.config-device-secondary{flex-shrink:1;align-items:center;gap:16px;min-width:0;margin-left:auto;padding:14px 20px;display:flex}.config-device-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.config-meta-item{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.config-meta-item .meta-value{color:var(--color-text);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:12px}.config-sync-pill{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.config-sync-pill.synced{background:var(--color-online-bg);color:var(--color-online-text);border:1px solid var(--color-online-border)}.config-sync-pill.pending{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.config-sync-pill.failed{color:#f87171;background:#ef44441a;border:1px solid #ef444440}.config-sync-pill.none{color:var(--color-text-muted);border:1px solid var(--color-border);background:#64646426}.config-diff-summary{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.config-diff-versions{color:var(--color-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.config-diff-versions .version-num{color:var(--color-text);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-weight:500}.config-diff-timestamps{color:var(--color-text-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.config-diff-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12px}.config-diff-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:6px 10px;font-size:10px;font-weight:600}.config-diff-table td{vertical-align:top;word-break:break-word;border-bottom:1px solid #24304526;padding:6px 10px}.config-diff-table tr:last-child td{border-bottom:none}.config-diff-table .diff-key{color:var(--color-text);white-space:nowrap;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-weight:500}.config-diff-table .diff-desired{color:var(--color-online-text);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.config-diff-table .diff-applied{color:var(--color-warning-text);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.config-diff-table .diff-match{color:var(--color-text-muted);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.config-synced-message{background:var(--color-online-bg);color:var(--color-online-text);border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.config-raw-json-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:12px;padding:0;font-size:11px;transition:color .15s;display:flex}.config-raw-json-toggle:hover{color:var(--color-text)}.config-raw-json-toggle svg{transition:transform .2s}.config-raw-json-toggle.expanded svg{transform:rotate(90deg)}.config-raw-json-content{margin-top:8px}.config-changed-count{color:var(--color-warning-text);font-size:11px;font-weight:500}.calibration-result-compact{margin-bottom:16px}.calibration-status-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.calibration-meta-inline{color:var(--color-text-muted);font-size:11px}.calibration-offsets-compact{margin-top:8px}.calibration-error-msg{color:var(--color-type-seatbelt-text);margin-top:8px;font-size:11px}.calibration-trigger-row{border-top:1px solid #2430454d;align-items:flex-end;gap:12px;padding-top:12px;display:flex}.calibration-samples-input{flex-direction:column;gap:4px;display:flex}.calibration-samples-input label{color:var(--color-text-muted);font-size:11px}.calibration-samples-input input{width:80px;padding:8px 10px;font-size:13px}.calibrate-btn{white-space:nowrap;padding:8px 16px}.checkbox-group-horizontal{flex-wrap:wrap;gap:10px;display:flex}.detection-classes-grid{flex-direction:column;gap:12px;display:flex}.detection-class-group{flex-direction:column;gap:6px;display:flex}.detection-class-label{color:var(--color-text-muted);margin-bottom:2px;font-size:12px}.checkbox-subgroup{border-left:2px solid var(--color-border);margin-left:4px;padding-left:12px}.checkbox-subgroup-label{color:var(--color-text-muted);margin-bottom:8px;font-size:12px;display:block}.checkbox-item-compact{border:1px solid var(--color-border);cursor:pointer;background:#24304533;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;transition:all .15s;display:flex}.checkbox-item-compact:hover{background:#24304559}.checkbox-item-compact.checked{background:#24304566;border-color:#6496c84d}.checkbox-item-compact input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--color-online-text)}.btn-secondary{color:#a8c4e8;cursor:pointer;background:#648cc826;border:1px solid #648cc84d;border-radius:8px;padding:10px 16px;font-size:13px;transition:all .15s}.btn-secondary:hover:not(:disabled){background:#648cc840;border-color:#648cc880}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.config-page{grid-template-columns:320px 1fr;align-items:start;gap:16px;display:grid}.config-sidebar{flex-direction:column;gap:16px;display:flex}.config-sidebar .card h3,.config-sidebar .card h4{margin-top:0;margin-bottom:12px}.device-list{flex-direction:column;gap:6px;display:flex}.device-option{border:1px solid var(--color-border);cursor:pointer;text-align:left;background:#24304533;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.device-option:hover{background:#24304566}.device-option.selected{border-color:var(--color-online-border);background:#4ade801a}.device-info-grid{flex-direction:column;gap:8px;display:flex}.info-row{border-bottom:1px solid #2430454d;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--color-text-muted);font-size:12px}.config-version{color:var(--color-online-text);background:var(--color-online-bg);border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:400}.config-version-badge{color:var(--color-text-muted);background:#24304566;border-radius:6px;padding:2px 6px;font-size:10px}.device-option-config{align-items:center;gap:4px;margin-left:auto;display:flex}.config-pending-badge{color:var(--color-warning-text);margin-left:4px;font-size:11px;display:inline-block}.config-mobile-section{flex-direction:column;gap:16px;display:flex}.calibration-meta{border-bottom:1px solid #2430454d;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.calibration-offsets{overflow-x:auto}.calibration-table{border-collapse:collapse;width:100%;font-size:12px}.calibration-table td,.calibration-table th{text-align:right;padding:6px 8px}.calibration-table th{color:var(--color-text-muted);border-bottom:1px solid #2430454d;font-size:11px;font-weight:400}.calibration-table td:first-child,.calibration-table th:first-child{text-align:left}.calibration-table .offset-label{color:var(--color-text-muted);white-space:nowrap;font-size:11px}.calibration-table td.mono{font-family:var(--font-mono);color:var(--color-text);font-size:11px}.config-status-section{border:1px solid var(--color-border);background:#0b0e1466;border-radius:8px;padding:10px}.config-status-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.config-status-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.badge.warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.badge.small{padding:2px 6px;font-size:10px}.config-preview{border:1px solid var(--color-border);color:var(--color-text-muted);background:#0b0e1499;border-radius:6px;margin:0;padding:12px;font-size:11px;overflow-x:auto}.config-form-container .card h3{margin-top:0}.config-form{flex-direction:column;gap:24px;display:flex}.form-section h4{color:var(--color-text);align-items:center;gap:8px;margin:0 0 12px;font-size:14px;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--color-text-muted);font-size:12px;font-weight:500}.form-field input,.form-field textarea{box-sizing:border-box;width:100%}.password-toggle-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.form-field select,.form-select{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);cursor:pointer;appearance:none;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:10px;padding:10px 36px 10px 10px;font-size:14px}.form-field select:hover,.form-select:hover{border-color:#648cc866}.form-field select:focus,.form-select:focus{border-color:#648cc899;outline:none;box-shadow:0 0 0 2px #648cc81a}.checkbox-item.single{margin:0}.field-hint{color:var(--color-text-muted);opacity:.7;font-size:11px}.optional-tag{color:#648cc8b3;background:#648cc81a;border:1px solid #648cc826;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:500}.checkbox-group{flex-direction:column;gap:8px;display:flex}.checkbox-item{border:1px solid var(--color-border);cursor:pointer;background:#24304533;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.checkbox-item:hover{background:#24304559}.checkbox-item.checked{background:#24304566;border-color:#6496c84d}.checkbox-item input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-online-text)}.checkbox-label{flex:1;align-items:center;gap:12px;display:flex}.checkbox-desc{color:var(--color-text-muted);font-size:12px}.form-actions{border-top:1px solid var(--color-border);flex-direction:column;gap:12px;padding-top:8px;display:flex}.btn-primary{border:1px solid var(--color-online-border);color:var(--color-online-text);cursor:pointer;background:linear-gradient(135deg,#4ade8033,#4ade801a);padding:12px 20px;font-weight:500;transition:all .15s}.btn-primary:hover:not(:disabled){filter:brightness(1.1);background:linear-gradient(135deg,#4ade804d,#4ade8026)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-link{color:var(--color-accent);font-size:.85rem;font-weight:500;text-decoration:none;transition:color .15s,opacity .15s}.btn-link:hover{color:var(--color-online-text);text-decoration:underline}.status-message{border-radius:8px;padding:10px 14px;font-size:13px}.status-message.success{background:var(--color-online-bg);border:1px solid var(--color-online-border);color:var(--color-online-text)}.status-message.error{background:var(--color-type-seatbelt-bg);border:1px solid var(--color-type-seatbelt-border);color:var(--color-type-seatbelt-text)}.status-message.info{color:var(--color-text-secondary);background:#648cc814;border:1px solid #648cc82e}.btn-timeline{color:#a8c4e8;cursor:pointer;background:linear-gradient(135deg,#648cc833,#648cc81a);border:1px solid #648cc866;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn-timeline:hover{color:#c4daf0;background:linear-gradient(135deg,#648cc84d,#648cc826);border-color:#648cc899;transform:translate(2px);box-shadow:0 2px 8px #648cc840}.btn-timeline .btn-arrow{font-weight:600;transition:transform .2s}.btn-timeline:hover .btn-arrow{transform:translate(3px)}.timeline-nav{background:#2430454d;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.quick-filters{gap:8px;display:flex}.quick-filters button{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:13px;transition:all .15s}.quick-filters button:hover{background:#648cc81a;border-color:#648cc84d}.quick-filters button.active{color:#a8c4e8;background:#648cc833;border-color:#648cc880}.date-picker{align-items:center;gap:8px;display:flex}.date-picker input[type=date]{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:6px;width:auto;padding:6px 10px;font-size:13px}.date-picker input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer}.day-separator{align-items:center;gap:12px;margin:24px 0 16px;display:flex}.day-separator:first-child{margin-top:0}.day-separator .day-line{background:var(--color-border);flex:1;height:1px}.day-separator .day-label{color:var(--color-text-muted);background:#24304580;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600}.session-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px;overflow:hidden}.session-header{border-bottom:1px solid var(--color-border);cursor:pointer;background:#4a6a9a26;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.session-header:hover{background:#4a6a9a40}.session-header .session-badge{color:#a8c4e8;background:#4a6a9a4d;border:1px solid #4a6a9a80;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.session-header .session-id{color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.session-header .session-time{color:var(--color-text-muted);margin-left:auto;font-size:12px}.session-header .expand-icon{color:var(--color-text-muted);margin-left:8px;font-size:10px;transition:transform .2s}.session-content{padding:12px 16px}.violation-main{border:1px solid var(--color-violation-border);background:#f8717114;border-radius:8px;margin-bottom:12px;padding:12px}.violation-main .violation-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.violation-main .type-badge{background:var(--color-violation-bg);border:1px solid var(--color-violation-border);color:var(--color-violation-text);border-radius:6px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-block}.violation-main .confidence{color:var(--color-text-muted);font-size:13px}.violation-main .violation-meta{color:var(--color-text-muted);margin-top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.evidence-btn-timeline{color:#a8c4e8;cursor:pointer;background:#648cc826;border:1px solid #648cc84d;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.evidence-btn-timeline:hover{color:#c4daf0;background:#648cc84d;border-color:#648cc880;transform:scale(1.02)}.violation-details{border-top:1px solid #24304566;flex-wrap:wrap;gap:16px;margin-top:12px;padding-top:10px;display:flex}.violation-details .violation-id,.violation-details .violation-time{align-items:center;gap:8px;display:flex}.violation-details .detail-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.violation-details .mono{color:var(--color-text)}.violation-details .mono,.violation-id-link{background:#24304566;border-radius:4px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.violation-id-link{color:var(--color-online-text);text-decoration:none;transition:all .15s}.violation-id-link:hover{color:var(--color-online-text);background:#4ade8026}.violation-details .gps-indicator{margin-left:auto}.warnings-list{border-left:2px solid var(--color-warning-border);margin-left:8px;padding-left:12px}.warnings-list .warning-item{border-bottom:1px solid #2430454d;align-items:center;gap:10px;padding:8px 0;display:flex}.warnings-list .warning-item:last-child{border-bottom:none}.warnings-list .warning-badge{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);text-align:center;border-radius:4px;min-width:70px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-block}.warnings-list .warning-time{color:var(--color-text-muted);font-size:12px}.warnings-list .warning-item .gps-indicator{margin-left:auto}.standalone-warning{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.standalone-warning .warning-badge{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.standalone-warning .warning-meta{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.standalone-warning .warning-meta,.standalone-warning .warning-time{color:var(--color-text-muted);font-size:12px}.standalone-warning .gps-indicator{margin-left:auto}.timeline-empty{text-align:center;color:var(--color-text-muted);padding:40px 20px}.timeline-empty-icon{opacity:.5;margin-bottom:12px;font-size:48px}@media (max-width:1024px){.container{padding:20px 16px}.config-page{grid-template-columns:1fr}.timeline-nav{flex-direction:column;align-items:stretch;gap:12px}.quick-filters{flex-wrap:wrap}.date-picker,.quick-filters{justify-content:center}.stats-grid{gap:12px}.live-stats-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.live-stat-col{border-bottom:1px solid var(--color-border)}.live-stat-col:nth-child(2){border-right:none}.live-stat-col:nth-child(3),.live-stat-col:nth-child(4){border-bottom:none}.realtime-stats{gap:8px}.stat-value{font-size:20px}.stat-label{font-size:10px}}@media (max-width:768px){.container{padding:16px 12px}h1{margin-bottom:12px;font-size:1.5rem}.nav-desktop{display:none}.nav-mobile-header{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.nav-mobile-header .sse-indicator{background:#2430454d;margin-left:auto;padding:3px 10px;font-size:11px}.mobile-menu-toggle{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.mobile-menu-toggle:hover{background:#24304566}.mobile-menu-overlay{z-index:90;background:#00000080;animation:fadeIn .2s;display:block;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-mobile-menu{background:var(--color-bg-card);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;width:260px;height:100vh;padding:20px 0;transition:left .3s;display:flex;position:fixed;top:0;left:-260px;overflow-y:auto}.nav-mobile-menu.open{left:0}.nav-mobile-link{color:var(--color-text);border-bottom:1px solid #24304566;align-items:center;padding:16px 24px;font-size:16px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-mobile-link:hover{background:#24304566}.nav-mobile-link.active{color:var(--color-online-text);border-right:3px solid var(--color-online-text);background:#4ade801a}.sse-indicator{padding:4px 8px;font-size:11px}.sse-stats{display:none}.grid2{grid-template-columns:1fr}.card{border-radius:12px;padding:14px}.card h3{margin-bottom:8px;font-size:1rem}.device-row{grid-template-columns:55px 1fr 20px;align-items:center;gap:18px}.hub-cards{grid-template-columns:repeat(2,1fr);gap:12px}.device-cards{grid-template-columns:1fr;gap:8px}.device-card{padding:12px 14px 12px 12px}.device-card-header{margin-bottom:8px;padding-bottom:8px}.device-card-id{font-size:13px}.device-card-details{gap:10px}.violation-cards{grid-template-columns:1fr;gap:8px}.violation-card{padding:12px 14px 12px 12px}.violation-card-header{gap:10px;margin-bottom:8px;padding-bottom:8px}.violation-card-device{font-size:13px}.violation-card-details{grid-template-columns:repeat(2,1fr);gap:6px 16px}.evidence-preview-btn-mobile{color:#a8c4e8;cursor:pointer;background:#648cc81f;border:1px solid #648cc840;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:all .15s;display:inline-flex}.evidence-preview-btn-mobile:hover{color:#c4daf0;background:#648cc840;border-color:#648cc880}.light .evidence-preview-btn-mobile{color:#3273b9b3;background:#3c82c814;border-color:#3c82c833}.light .evidence-preview-btn-mobile:hover{color:#3273b9e6;background:#3c82c826;border-color:#3c82c866}.violation-row{grid-template-columns:65px 1fr 36px 20px;align-items:center;gap:8px}.overview-row{grid-template-columns:60px 22px 1fr 28px 20px;align-items:center;gap:12px}.overview-row-activity{grid-template-columns:80px 55px 22px 1fr 20px;align-items:center;gap:16px}.badge.activity-kind{min-width:75px;padding:2px 6px;font-size:10px}.overview-evidence-col{width:22px;height:22px}.evidence-btn-inline{width:20px;height:20px}.overview-row .hide-mobile,.overview-row-activity .hide-mobile{display:none!important}.evidence-placeholder,.evidence-preview-btn-small{width:22px;height:22px}.activity-row-with-evidence .evidence-placeholder,.activity-row-with-evidence .evidence-preview-btn-small,.violation-row-with-evidence .evidence-placeholder,.violation-row-with-evidence .evidence-preview-btn-small{margin-left:0;margin-right:0}.activity-row-with-evidence .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.realtime-stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat-item{text-align:center;padding:8px 6px}.stat-value{font-size:20px}.stat-label{font-size:10px}.table-wrapper{-webkit-overflow-scrolling:touch;margin:0 -14px;padding:0 14px;overflow-x:auto}.table{min-width:600px}td,th{padding:8px 6px;font-size:13px}.filter-bar{gap:6px;padding:8px}.filter-chip{padding:4px 8px;font-size:11px}.form-grid{grid-template-columns:1fr;gap:12px}.session-header{flex-wrap:wrap;padding:10px 12px}.session-header .session-time{flex-basis:100%;margin-top:6px;margin-left:0;font-size:11px}.session-content{padding:10px 12px}.violation-main .violation-header{gap:8px}.badge{min-width:50px;padding:2px 8px;font-size:11px}.badge.activity-kind{min-width:80px}button{padding:10px 12px;font-size:14px}.btn-primary{padding:12px 16px}.btn-timeline{padding:8px 12px;font-size:12px}.device-list{gap:4px}.device-option{gap:8px;padding:8px 10px}.checkbox-item{gap:10px;padding:10px 12px}.day-separator{margin:16px 0 12px}.day-separator .day-label{padding:3px 10px;font-size:11px}.standalone-warning{flex-wrap:wrap;gap:8px;padding:10px 12px}.standalone-warning .warning-time{text-align:left;flex-basis:100%;margin-left:0}}@media (max-width:480px){.container{padding:12px 10px}h1{font-size:1.3rem}.nav{gap:4px 12px;font-size:13px}.sse-indicator{padding:3px 6px;font-size:10px}.sse-dot{width:6px;height:6px}.card{border-radius:12px}.card:not(:has(.card-header)){padding:12px}.card-header{padding:12px 14px 10px}.card-body{padding:2px 0}.hub-cards{grid-template-columns:1fr}.stats-grid{gap:8px}.stat-card{padding:12px 14px}.stat-card-value{font-size:22px}.stat-card-label{font-size:10px}.live-stat-col{padding:8px 10px}.live-stat-value{font-size:26px}.live-stat-total{font-size:14px}.live-stat-label{font-size:10px}.card h3{font-size:.95rem}.device-row{grid-template-columns:50px 1fr 18px;gap:16px}.device-card{padding:10px 12px 10px 10px}.device-card-header{gap:6px;margin-bottom:8px;padding-bottom:8px}.device-card-header .gps-indicator,.device-card-header .motion-indicator,.device-card-header .signal-indicator{width:20px;height:20px}.device-card-id{font-size:12px}.device-card-details-grid{gap:6px 12px}.device-card-label{font-size:9px}.device-card-value{font-size:12px}.violation-card{padding:10px 12px 10px 10px}.violation-card-header{gap:8px;margin-bottom:8px;padding-bottom:8px}.violation-card-device{font-size:12px}.violation-card-details{gap:6px 12px}.violation-card-label{font-size:9px}.violation-card-value{font-size:12px}.violation-card-actions{margin-top:8px;padding-top:6px}.violation-row{grid-template-columns:50px 1fr 28px 18px;gap:10px}.violation-row .mono{font-size:10px}.overview-row{grid-template-columns:50px 20px 1fr 24px 18px;align-items:center;gap:10px}.overview-row-activity{grid-template-columns:70px 50px 20px 1fr 18px;align-items:center;gap:14px}.badge.activity-kind{min-width:65px;padding:2px 5px;font-size:9px}.overview-evidence-col{width:20px;height:20px}.evidence-btn-inline{width:18px;height:18px}.overview-row-device{font-size:10px}.evidence-placeholder,.evidence-preview-btn-small{width:20px;height:20px}.realtime-stats{grid-template-columns:repeat(3,1fr);gap:6px}.stat-item{text-align:center;padding:6px 4px}.stat-value{font-size:16px}.stat-label{font-size:9px}.table{min-width:500px}td,th{padding:6px 4px;font-size:12px}.badge{min-width:45px;padding:2px 6px;font-size:10px}.timeline-nav{padding:10px 12px}.quick-filters{gap:6px}.quick-filters button{padding:5px 10px;font-size:12px}.date-picker input[type=date]{padding:5px 8px;font-size:12px}.session-card{border-radius:10px;margin-bottom:12px}.session-header{padding:8px 10px}.session-header .session-badge{padding:3px 8px;font-size:10px}.session-header .session-id{font-size:11px}.session-content{padding:8px 10px}.violation-main{padding:10px}.violation-main .type-badge{padding:3px 8px;font-size:12px}.warnings-list{margin-left:4px;padding-left:10px}.warnings-list .warning-item{flex-wrap:wrap;gap:8px;padding:6px 0}.warnings-list .warning-badge{min-width:60px;padding:2px 6px;font-size:10px}.warnings-list .warning-time{text-align:left;flex-basis:100%;margin-left:0}input,textarea{padding:10px;font-size:14px}button{padding:10px;font-size:13px}.config-form{gap:16px}.form-section h4{font-size:13px}.checkbox-item{gap:8px;padding:10px}.checkbox-item input[type=checkbox]{width:16px;height:16px}.checkbox-desc{font-size:11px}.filter-dropdown{min-width:100px;padding:4px}.filter-option{padding:5px 8px;font-size:11px}.timeline-empty{padding:30px 16px}.timeline-empty-icon{font-size:36px}}@media (hover:none) and (pointer:coarse){.clickable-item{min-height:44px}.filter-chip{min-height:36px;padding:8px 12px}.nav a{align-items:center;display:flex}.nav a,button{min-height:44px}.checkbox-item,.device-option{min-height:48px}.quick-filters button{min-height:40px}.clickable-item:hover{background:0 0}.clickable-item:active{background:#24304566}.filter-chip:hover{filter:none}.filter-chip:active{filter:brightness(1.2)}}@media (max-height:500px) and (orientation:landscape){.container{padding:10px 16px}h1{margin-bottom:8px;font-size:1.2rem}.nav{padding:6px 0}.card{padding:10px}.realtime-stats{grid-template-columns:repeat(3,1fr)}.realtime-stats .stat-item:last-child{grid-column:span 1}.stat-item{padding:8px}.stat-value{font-size:16px}}@media print{body{color:#000;background:#fff}.btn-timeline,.filter-bar,.nav,.sse-indicator,button{display:none}.card{break-inside:avoid;border:1px solid #ccc}.badge,.card{background:#fff}.badge{color:#000;border:1px solid #666}}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width:768px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scroll-x{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.scroll-x::-webkit-scrollbar{height:6px}.scroll-x::-webkit-scrollbar-track{background:#2430454d;border-radius:3px}.scroll-x::-webkit-scrollbar-thumb{background:#648cc866;border-radius:3px}.scroll-x::-webkit-scrollbar-thumb:hover{background:#648cc899}.language-switcher,.theme-toggle{-webkit-backdrop-filter:blur(8px);background:#2e3e5859;border:1px solid #94a3b81a;border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex}.light .language-switcher,.light .theme-toggle{background:#0000000a;border-color:#00000014}.language-switcher.pending{opacity:.5;pointer-events:none}.lang-btn,.theme-toggle-btn{color:var(--color-text-muted);letter-spacing:.3px;cursor:pointer;text-align:center;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:28px;padding:5px 10px;font-size:11px;font-weight:600;line-height:1;transition:all .2s;display:flex}.theme-toggle-btn{padding:5px 7px}.lang-btn:hover:not(.active),.theme-toggle-btn:hover:not(.active){color:var(--color-text);background:#94a3b81a}.lang-btn.active,.theme-toggle-btn.active{color:var(--color-text);background:#94a3b82e}.light .lang-btn.active,.light .theme-toggle-btn.active{color:var(--color-text);background:#00000014}@media (max-width:768px){.lang-btn{min-width:24px;padding:4px 8px;font-size:10px}.theme-toggle-btn{padding:4px 6px}}.lightbox-overlay{z-index:1000;background:#000000eb;justify-content:center;align-items:center;animation:fadeIn .2s;display:flex;position:fixed;inset:0}.lightbox-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;max-width:95vw;max-height:95vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.lightbox-header{border-bottom:1px solid var(--color-border);background:#24304580;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.lightbox-title{align-items:center;gap:12px;display:flex}.lightbox-actions{align-items:center;gap:6px;display:flex}.lightbox-btn{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:all .15s;display:flex}.lightbox-btn:hover:not(:disabled){color:var(--color-text);background:#648cc833;border-color:#648cc866}.lightbox-btn:disabled{opacity:.4;cursor:not-allowed}.lightbox-close:hover{color:var(--color-violation-text);background:#f8717133;border-color:#f8717166}.lightbox-separator{background:var(--color-border);width:1px;height:20px;margin:0 4px}.lightbox-zoom-level{color:var(--color-text-muted);text-align:center;min-width:45px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.lightbox-content{background:#0000004d;flex:1;justify-content:center;align-items:center;min-height:300px;padding:24px;display:flex;position:relative;overflow:auto}.lightbox-image{object-fit:contain;border-radius:4px;max-width:100%;max-height:calc(95vh - 100px);transition:transform .2s,opacity .3s;box-shadow:0 4px 16px #0006}.lightbox-error,.lightbox-loading{flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lightbox-spinner{border:3px solid var(--color-border);border-top-color:var(--color-online-text);border-radius:50%;width:32px;height:32px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.lightbox-error span{color:var(--color-type-seatbelt-text);font-size:14px}.vd-page{max-width:1400px}.vd-back-link{color:var(--color-text-muted);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;text-decoration:none;transition:color .15s;display:inline-flex}.vd-back-link:hover{color:var(--color-text)}.vd-header{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:20px}.vd-header,.vd-header-left{align-items:center;display:flex}.vd-header-left{gap:12px}.vd-title{color:var(--color-text);margin:0;font-size:18px;font-weight:600}.vd-id{color:var(--color-text-muted);border:1px solid var(--color-border);background:#648cc814;border-radius:6px;padding:4px 10px;font-size:12px}.vd-content{flex-direction:column;gap:16px;display:flex}.vd-content-split{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.vd-media-column,.vd-meta-column{flex-direction:column;gap:16px;min-width:0;display:flex}.vd-card{padding:20px!important}.vd-section-header{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;font-size:13px;font-weight:600;display:flex}.vd-meta-grid{flex-direction:column;gap:0;display:flex}.vd-meta-item{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.vd-meta-item:last-child{border-bottom:none;padding-bottom:0}.vd-meta-item:first-child{padding-top:0}.vd-meta-icon{width:32px;height:32px;color:var(--color-text-muted);background:#648cc814;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.vd-meta-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.vd-meta-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px;font-weight:500}.vd-meta-value{color:var(--color-text);word-break:break-all;font-size:14px;font-weight:500}.vd-meta-sub{color:var(--color-text-muted);font-size:12px}.vd-device-link{border:1px solid var(--color-border);background:#648cc814;border-radius:6px;padding:3px 10px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-block;color:var(--color-text)!important}.vd-device-link:hover{border-color:var(--color-type-phone-border);background:#648cc81f;text-decoration:none;color:var(--color-type-phone-text)!important}.vd-status-moving{color:var(--color-online-text)!important}.vd-confidence-gauge{align-items:center;gap:8px;margin-top:2px;display:flex}.vd-confidence-svg{flex-shrink:0}.vd-confidence-arc{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.vd-confidence-value{color:var(--color-text);font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:15px;font-weight:700}.vd-confidence-label{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.vd-evidence-wrapper{cursor:pointer;border:1px solid var(--color-border);background:#0000000a;border-radius:10px;transition:all .2s;position:relative;overflow:hidden}.vd-evidence-wrapper:hover{border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #ff68001f}.vd-evidence-img{object-fit:cover;width:100%;min-height:180px;max-height:320px;display:block}.vd-evidence-overlay{color:#fff;opacity:0;background:linear-gradient(#0000,#000000b3);justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13px;font-weight:500;transition:opacity .2s;display:flex;position:absolute;bottom:0;left:0;right:0}.vd-evidence-wrapper:hover .vd-evidence-overlay{opacity:1}.vd-evidence-placeholder{border:1px dashed var(--color-border);color:var(--color-muted);background:#ffffff05;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;padding:40px 20px;font-size:13px;display:flex}.vd-evidence-placeholder svg{opacity:.4}.light .vd-evidence-placeholder{background:#00000005}.vd-timeline{position:relative}.vd-timeline-item{gap:14px;display:flex;position:relative}.vd-timeline-rail{flex-direction:column;flex-shrink:0;align-items:center;width:14px;padding-top:2px;display:flex}.vd-timeline-dot{background:var(--color-warning-border);border:2px solid var(--color-warning-text);z-index:1;border-radius:50%;flex-shrink:0;width:10px;height:10px}.vd-timeline-dot.violation{background:var(--color-violation-border);border-color:var(--color-violation-text);width:12px;height:12px}.vd-timeline-line{background:var(--color-border);flex:1;width:2px;min-height:20px}.vd-timeline-body{flex-direction:column;flex:1;gap:3px;min-width:0;padding-bottom:16px;display:flex}.vd-timeline-final .vd-timeline-body{padding-bottom:0}.vd-timeline-header{align-items:center;gap:8px;display:flex}.vd-timeline-type{color:var(--color-text);text-transform:capitalize;font-size:13px;font-weight:500}.vd-timeline-time{color:var(--color-text-muted);font-size:11px}.vd-empty-state{text-align:center;padding:20px 0}.empty-state{text-align:center;flex-direction:column;gap:12px;padding:48px 24px}.empty-state,.empty-state-icon{align-items:center;display:flex}.empty-state-icon{background:var(--color-info-bg-strong);width:56px;height:56px;color:var(--color-info);border-radius:16px;justify-content:center;margin-bottom:4px}.empty-state-title{color:var(--color-text);margin:0;font-size:17px;font-weight:600;line-height:1.3}.empty-state-description{color:var(--color-text-muted);max-width:480px;margin:0;font-size:13px;line-height:1.6}.empty-state-features{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.empty-state-feature{color:var(--color-text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.empty-state-feature-icon{color:var(--color-success-alt);flex-shrink:0}.empty-state-tip{color:var(--color-text-muted);background:var(--color-info-bg-subtle);border-radius:8px;align-items:center;gap:6px;margin-top:4px;padding:6px 12px;font-size:12px;display:flex}.empty-state-tip-icon{color:var(--color-info);flex-shrink:0}.empty-state-action{margin-top:8px}.empty-state.compact{gap:8px;padding:32px 16px}.empty-state.compact .empty-state-icon{border-radius:12px;width:40px;height:40px}.empty-state.compact .empty-state-title{font-size:14px}.empty-state.compact .empty-state-description{max-width:320px;font-size:12px}.empty-state.card-variant{border:1px dashed var(--color-border);border-radius:12px;gap:8px;padding:32px 16px}.empty-state.card-variant .empty-state-icon{border-radius:12px;width:40px;height:40px}.empty-state.card-variant .empty-state-title{font-size:14px}.empty-state.card-variant .empty-state-description{max-width:320px;font-size:12px}.empty-state-container{transition:opacity .3s}.empty-state-container.fade-out{opacity:0}.skeleton-table{width:100%}.skeleton-table-header{border-bottom:1px solid var(--color-border);align-items:center;gap:16px;padding:12px 16px;display:flex}.skeleton-table-th{flex:1}.skeleton-table-row{border-bottom:1px solid var(--color-border);align-items:center;gap:16px;padding:14px 16px;display:flex}.skeleton-table-row:last-child{border-bottom:none}.skeleton-table-td{flex:1}.skeleton-card-list{margin:0;padding:0;list-style:none}.skeleton-card-list-item{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:8px 16px;display:flex}.skeleton-card-list-item:last-child{border-bottom:none}.setup-progress{padding:20px}.setup-progress-header{margin-bottom:14px}.setup-progress-title{color:var(--color-text);margin:0 0 2px;font-size:15px;font-weight:600}.setup-progress-subtitle{color:var(--color-text-muted);margin:0;font-size:12px}.setup-progress-steps{flex-direction:column;gap:0;display:flex}.setup-step{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:8px 0;display:flex}.setup-step:last-child{border-bottom:none}.setup-step-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.setup-step-icon.completed{background:var(--color-success-bg);color:var(--color-success-alt)}.setup-step-icon.active{color:#3b82f6;background:#3b82f61f}.setup-step-icon.pending{background:var(--color-neutral-bg);color:var(--color-neutral)}.setup-step-content{flex:1;min-width:0}.setup-step-label{color:var(--color-text);font-size:13px}.setup-step-label.completed{color:var(--color-text-muted)}.setup-step-label.active{font-weight:500}.setup-step-label.pending{color:var(--color-text-muted)}.setup-step-status{flex-shrink:0}.setup-step-link{color:#3b82f6;align-items:center;gap:3px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.setup-step-link:hover{color:#2563eb;text-decoration:underline}.setup-progress-footer{flex-direction:column;gap:8px;margin-top:12px;display:flex}.setup-progress-bar{align-items:center;gap:10px;display:flex}.setup-progress-bar-track{background:var(--color-neutral-bg);border-radius:2px;flex:1;height:3px;overflow:hidden}.setup-progress-bar-fill{background:#3b82f6;border-radius:2px;height:100%;transition:width .5s}.setup-progress-bar-label{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.setup-progress-next{color:var(--color-text-muted);align-items:center;gap:5px;font-size:12px;display:flex}.setup-progress-next-label{color:#3b82f6;font-weight:500}.setup-progress-dismiss{text-align:right}.setup-progress-dismiss button{color:var(--color-text-muted);cursor:pointer;opacity:.7;background:0 0;border:none;padding:2px 4px;font-size:11px}.setup-progress-dismiss button:hover{opacity:1;text-decoration:underline}.hub-card-restart{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.hub-card-restart .card{opacity:.7;border-style:dashed;border-color:#648cc840;transition:opacity .2s,border-color .2s,background .2s}.hub-card-restart:hover .card{opacity:1;background:#2430454d;border-color:#648cc873}@media (max-width:768px){.empty-state{padding:32px 16px}.empty-state-icon{border-radius:12px;width:44px;height:44px}.empty-state-title{font-size:15px}.empty-state-description{font-size:12px}.skeleton-table-header,.skeleton-table-row{gap:8px;padding:10px 12px}.skeleton-card-list-item .hidden-mobile{display:none}}.light .setup-step-icon.active{background:#3b82f614}.light .vd-id{background:#0000000a;border-color:#00000014}.light .vd-meta-icon{background:#0000000d}.light .vd-evidence-wrapper{background:#00000005}.light .vd-evidence-wrapper:hover{border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #ff68001a}.light .vd-device-link{background:#0000000a;border-color:#0000001a}.light .vd-device-link:hover{background:#3b59980f;border-color:#3b599840}@media (max-width:768px){.vd-content-split{grid-template-columns:1fr}.vd-header{flex-direction:column;align-items:flex-start}.vd-card{padding:16px!important}}.evidence-thumbnail-container{margin-top:20px}.evidence-thumbnail{border:1px solid var(--color-border);cursor:pointer;background:#2430454d;border-radius:8px;align-items:center;gap:16px;padding:16px;transition:all .15s;display:flex}.evidence-thumbnail:hover{background:#24304580;border-color:#648cc866}.evidence-thumbnail-image{object-fit:cover;border:1px solid var(--color-border);background:#0000004d;border-radius:6px;width:120px;height:80px}.evidence-thumbnail-info{flex-direction:column;gap:4px;display:flex}.evidence-thumbnail-label{color:var(--color-text);align-items:center;font-size:14px;font-weight:500;display:flex}.evidence-thumbnail-hint{color:var(--color-text-muted);font-size:12px}.evidence-preview-btn{color:#a8c4e8;cursor:pointer;background:#648cc826;border:1px solid #648cc84d;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s;display:inline-flex}.evidence-preview-btn:hover{color:#c4daf0;background:#648cc84d;border-color:#648cc880;transform:scale(1.05)}.evidence-preview-btn:active{transform:scale(.95)}.evidence-loading{color:var(--color-text-muted);font-size:10px}.evidence-preview-btn-mobile{color:#a8c4e8;cursor:pointer;background:#648cc833;border:1px solid #648cc84d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:inline-flex}.evidence-preview-btn-mobile:hover{background:#648cc859;border-color:#648cc880}.evidence-placeholder{flex-shrink:0;width:24px;height:24px;display:inline-block}.violation-card-link{color:inherit;text-decoration:none;display:block}.evidence-preview-btn-small{color:#a8c4e8;cursor:pointer;background:#648cc826;border:1px solid #648cc84d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:10px;transition:all .15s;display:inline-flex}.evidence-preview-btn-small:hover{color:#c4daf0;background:#648cc84d;border-color:#648cc880;transform:scale(1.1)}.violation-row-with-evidence{grid-template-columns:70px 24px 1fr auto 28px 20px;gap:10px}.activity-row-with-evidence{grid-template-columns:auto 70px 24px 1fr 70px 80px 20px;gap:10px}.activity-row-with-evidence .evidence-placeholder,.activity-row-with-evidence .evidence-preview-btn-small,.violation-row-with-evidence .evidence-placeholder,.violation-row-with-evidence .evidence-preview-btn-small{margin-left:12px;margin-right:12px}@media (max-width:768px){.lightbox-container{border-radius:0;max-width:100vw;max-height:100vh}.lightbox-header{flex-wrap:wrap;padding:10px 12px}.lightbox-title{gap:8px}.lightbox-title .mono{display:none}.lightbox-btn{width:32px;height:32px}.lightbox-separator,.lightbox-zoom-level{display:none}.lightbox-content{padding:12px}.evidence-thumbnail{flex-direction:column;align-items:flex-start;gap:12px}.evidence-thumbnail-image{width:100%;height:auto;max-height:200px}}.motion-indicator{border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:2px 6px;font-size:12px;display:inline-flex}.motion-indicator.motion-moving{color:var(--color-online-text);background:#4ade8026}.motion-indicator.motion-stationary{color:#94a3b8;background:#94a3b826}.motion-indicator.motion-unknown{color:var(--color-text-muted);background:#64647826}.motion-indicator.motion-stale{opacity:.5;border:1px dashed var(--color-border)}.motion-label{font-size:11px}.device-row-with-motion{align-items:center;gap:10px;display:flex}.device-row-with-motion .badge{flex-shrink:0;min-width:58px}.device-row-with-motion .gps-indicator,.device-row-with-motion .motion-indicator{flex-shrink:0}.device-row-with-motion .mono{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.device-row-with-motion .small.muted{text-align:right;flex-shrink:0;min-width:70px}.device-row-with-motion .arrow-icon{margin-left:auto}@media (max-width:768px){.device-row-with-motion{gap:10px}.device-row-with-motion .badge{min-width:50px;padding:2px 6px;font-size:11px}.motion-indicator{padding:2px 4px}}@media (max-width:480px){.device-row-with-motion{gap:8px}.device-row-with-motion .badge{min-width:46px;padding:2px 5px;font-size:10px}}.signal-indicator{flex-shrink:0;gap:4px;padding:1px 2px;font-size:12px}.signal-icon-wrap,.signal-indicator{border-radius:4px;align-items:center;display:inline-flex}.signal-icon-wrap{justify-content:center}.signal-indicator.signal-excellent{color:#4ade80}.signal-indicator.signal-good{color:#86efac}.signal-indicator.signal-fair{color:#fbbf24}.signal-indicator.signal-poor{color:#f87171}.signal-indicator.signal-none{color:#6b7280}.signal-indicator.signal-wifi{color:var(--color-online-text)}.light .signal-indicator.signal-excellent{color:#16a34a}.light .signal-indicator.signal-good{color:#22c55e}.light .signal-indicator.signal-fair{color:#d97706}.light .signal-indicator.signal-poor{color:#dc2626}.light .signal-indicator.signal-none{color:#94a3b8}.signal-indicator.signal-stale>.signal-icon-wrap,.signal-indicator.signal-stale>.signal-label{opacity:.5}.signal-indicator.signal-stale>.signal-icon-wrap{border:none;border-radius:4px;padding:0}.signal-indicator{cursor:pointer;position:relative}.signal-tooltip{z-index:1000;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;min-width:180px;animation:signal-tooltip-fade-in .15s ease-out;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000026}.signal-tooltip.pos-above{bottom:calc(100% + 8px)}.signal-tooltip.pos-below{top:calc(100% + 8px)}.signal-tooltip.pos-above:after{border:6px solid #0000;border-top:6px solid var(--color-border)}.signal-tooltip.pos-above:after,.signal-tooltip.pos-above:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%)}.signal-tooltip.pos-above:before{border:5px solid #0000;border-top:5px solid var(--color-bg-card);z-index:1;margin-top:-1px}.signal-tooltip.pos-below:after{border:6px solid #0000;border-bottom:6px solid var(--color-border)}.signal-tooltip.pos-below:after,.signal-tooltip.pos-below:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.signal-tooltip.pos-below:before{border:5px solid #0000;border-bottom:5px solid var(--color-bg-card);z-index:1;margin-bottom:-1px}@keyframes signal-tooltip-fade-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.signal-tooltip-content{padding:10px 12px}.signal-tooltip-header{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;font-size:13px;font-weight:600;display:flex}.signal-tooltip-header.signal-excellent{color:#16a34a}.signal-tooltip-header.signal-good{color:#22c55e}.signal-tooltip-header.signal-fair{color:#d97706}.signal-tooltip-header.signal-poor{color:#dc2626}.signal-tooltip-header.signal-none{color:#6b7280}.signal-tooltip-header.signal-wifi{color:var(--color-online-text)}:root:not(.light) .signal-tooltip{box-shadow:0 8px 24px #0006}:root:not(.light) .signal-tooltip-header.signal-excellent{color:#4ade80}:root:not(.light) .signal-tooltip-header.signal-good{color:#86efac}:root:not(.light) .signal-tooltip-header.signal-fair{color:#fbbf24}:root:not(.light) .signal-tooltip-header.signal-poor{color:#f87171}.signal-tooltip-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.signal-tooltip-label{color:var(--color-text-muted)}.signal-tooltip-value{color:var(--color-text)}.signal-tooltip-value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.signal-tooltip-badge{background:var(--color-border);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.signal-tooltip-badge.wifi{color:var(--color-online-text);background:#4ade8033}.signal-tooltip-badge.lte{color:#818cf8;background:#818cf833}.signal-tooltip-badge.hsdpa,.signal-tooltip-badge.umts,.signal-tooltip-badge.wcdma{color:#60a5fa;background:#60a5fa33}.signal-tooltip-badge.edge,.signal-tooltip-badge.gprs{color:#fbbf24;background:#fbbf2433}.signal-tooltip-badge.gsm{color:#9ca3af;background:#9ca3af33}.signal-tooltip-section{margin-bottom:8px}.signal-tooltip-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin-bottom:6px;padding-bottom:4px;font-size:10px}.signal-tooltip-metrics{background:var(--color-bg);margin:0 -12px;padding:8px 12px}.signal-tooltip-hint{color:var(--color-text-muted);margin-top:8px;font-size:11px;font-style:italic}.signal-svg{flex-shrink:0;display:block}.signal-svg-active{fill:currentColor;stroke:currentColor;transition:fill .2s,stroke .2s}.signal-svg-active.signal-svg-fill{stroke:none}.signal-svg-inactive{fill:var(--signal-bar-inactive,#64748b38);stroke:var(--signal-bar-inactive,#64748b38);transition:fill .2s,stroke .2s}.light .signal-svg-inactive{fill:#94a3b84d;stroke:#94a3b84d}.signal-svg-inactive.signal-svg-fill{stroke:none}.table td.signal-col,.table th.signal-col{text-align:center;width:76px;min-width:76px}.table td.signal-col .signal-indicator{justify-content:center}.signal-tooltip-stale{border-top:1px solid var(--color-border);color:var(--color-warning-text);margin-top:8px;padding-top:8px;font-size:11px;font-style:italic}.signal-label{text-transform:uppercase;color:var(--color-text-muted);font-family:ui-monospace,monospace;font-size:10px}.network-mode-selector{flex-direction:column;gap:8px;display:flex}.network-mode-option{border:1px solid var(--color-border);cursor:pointer;background:#24304533;border-radius:8px;align-items:flex-start;padding:12px;transition:all .15s;display:flex}.network-mode-option:hover:not(.disabled){background:#24304566;border-color:#648cc866}.network-mode-option.selected{border-color:var(--color-online-border);background:#4ade801a}.network-mode-option.disabled{opacity:.5;cursor:not-allowed}.network-mode-option input[type=radio]{display:none}.network-mode-content{align-items:flex-start;gap:12px;display:flex}.network-mode-content svg{color:var(--color-text-muted);flex-shrink:0;margin-top:2px}.network-mode-option.selected .network-mode-content svg{color:var(--color-online-text)}.network-mode-text{flex-direction:column;gap:2px;display:flex}.network-mode-label{color:var(--color-text);font-weight:500}.network-mode-desc{color:var(--color-text-muted);font-size:12px}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;animation:modal-fade-in .15s ease-out;display:flex;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;width:100%;max-height:85vh;padding:24px;animation:modal-slide-in .15s ease-out;position:relative;overflow:hidden auto;box-shadow:0 20px 50px #00000080}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-content h3{margin:0 0 20px;font-size:18px;font-weight:600}.modal-content label{display:block}.modal-content label>span{color:var(--color-text-muted);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.modal-content input[type=date],.modal-content input[type=email],.modal-content input[type=number],.modal-content input[type=tel],.modal-content input[type=text],.modal-content select,.modal-content textarea{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#2430454d;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s;display:block}.modal-content select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.modal-content input[type=date]{color-scheme:dark}.modal-content input::placeholder{color:var(--color-text-muted);opacity:.5}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus{border-color:#648cc880;outline:none}.modal-form{flex-direction:column;gap:16px;display:flex}.modal-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.toggle-switch{background:var(--color-border);cursor:pointer;border:none;border-radius:11px;flex-shrink:0;width:40px;height:22px;padding:0;transition:background .2s;position:relative}.toggle-switch.active{background:#16a34a}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-knob{transform:translate(18px)}.modal-toggle-label{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.modal-toggle-label span{color:var(--color-text-muted);font-size:13px}.badge-info{color:#60a5fa;background:#60a5fa1f}.badge-info,.badge-muted{border-radius:4px;padding:2px 6px;font-size:10px}.badge-muted{background:var(--color-border);color:var(--color-text-muted)}.perm-chip{cursor:pointer;border:1px solid var(--color-border);background:#2430454d;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;transition:all .15s;display:flex}.perm-chip.active{background:#3b82f626;border-color:#3b82f6}.light .perm-chip{background:#00000008}.light .perm-chip.active{background:#3b82f614;border-color:#3b82f6}.light .modal-overlay{background:#0000004d}.light .modal-content{background:#fff;box-shadow:0 20px 50px #00000026}.light .modal-content label>span{color:#64748b}.light .modal-content input[type=date],.light .modal-content input[type=email],.light .modal-content input[type=number],.light .modal-content input[type=tel],.light .modal-content input[type=text],.light .modal-content select,.light .modal-content textarea{color:#0f172a;background-color:#fff;border-color:#e2e8f0}.light .modal-content input:focus,.light .modal-content select:focus,.light .modal-content textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f61f}.light .modal-content input::placeholder{color:#94a3b8;opacity:1}.light .modal-content input[type=date]{color-scheme:light}.light .modal-content select{background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.light .toggle-switch{background:#00000026}.light .toggle-switch.active{background:#16a34a}.light .badge-info{color:#2563eb;background:#3b82f614}.light .badge-muted{color:#64748b;background:#0000000d}.gps-modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.gps-modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:500px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 20px 50px #00000080}.gps-modal-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-card);justify-content:flex-start;align-items:center;padding:16px 56px 16px 20px;display:flex}.gps-modal-header h3{color:var(--color-text);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.gps-modal-header h3 svg{color:var(--color-online-text)}.gps-modal-device{color:var(--color-text-muted);background:#648cc826;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:500}.gps-modal-close{width:36px;height:36px;color:var(--color-text);cursor:pointer;z-index:10;background:#6464784d;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:10px;right:10px}.gps-modal-close:hover{color:#ef4444;background:#ef44444d;transform:scale(1.05)}.gps-modal-body{padding:20px}.gps-map-container{border:1px solid var(--color-border);border-radius:8px;margin-bottom:16px;overflow:hidden}.gps-details-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}.gps-detail-item{background:#2430454d;border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.gps-detail-item svg{color:var(--color-text-muted);margin-bottom:4px}.gps-detail-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px}.gps-detail-value{color:var(--color-text);font-size:14px;font-weight:500}.gps-detail-value.mono{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:13px}.gps-detail-value.small{font-size:12px}.gps-osm-link{text-align:center}.gps-osm-link a{color:var(--color-primary);border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;text-decoration:none;transition:all .15s;display:inline-flex}.gps-osm-link a:hover{background:#4a90e21a;text-decoration:underline}.gps-indicator{cursor:default;width:20px;height:20px;color:var(--color-text-muted);opacity:.3;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.gps-indicator.active{cursor:pointer;opacity:1;color:var(--color-online-text);transition:all .15s}.gps-indicator.active:hover{background:#4ade8026;transform:scale(1.1)}.gps-indicator.disabled{opacity:.25;cursor:default}.gps-indicator.stale{cursor:pointer;opacity:.7;color:var(--color-warning,#fbbf24);transition:all .15s}.gps-indicator.stale:hover{background:#fbbf2426;transform:scale(1.1)}.gps-settings-section{margin-top:24px}.gps-mode-selector{flex-direction:column;gap:8px;display:flex}.gps-mode-option{border:1px solid var(--color-border);cursor:pointer;background:#24304533;border-radius:8px;align-items:flex-start;padding:12px;transition:all .15s;display:flex}.gps-mode-option:hover:not(.disabled){background:#24304566;border-color:#648cc866}.gps-mode-option.selected{border-color:var(--color-online-border);background:#4ade801a}.gps-mode-option input[type=radio]{display:none}.gps-mode-content{align-items:flex-start;gap:12px;display:flex}.gps-mode-content svg{color:var(--color-text-muted);flex-shrink:0;margin-top:2px}.gps-mode-option.selected .gps-mode-content svg{color:var(--color-online-text)}.gps-mode-text{flex-direction:column;gap:2px;display:flex}.gps-mode-label{color:var(--color-text);font-weight:500}.gps-mode-desc{color:var(--color-text-muted);font-size:12px}.gps-location-card{border-top:none;margin-top:0;padding-top:0}.gps-location-map-wrapper{cursor:pointer;border:1px solid var(--color-border);border-radius:10px;transition:all .2s;position:relative;overflow:hidden}.gps-location-map-wrapper:hover{border-color:var(--color-online-text);box-shadow:0 0 0 2px #4ade8026}.gps-location-map-wrapper:focus{border-color:var(--color-online-text);outline:none;box-shadow:0 0 0 2px #4ade8040}.gps-location-mini-map{width:100%;height:180px;transition:opacity .3s}.gps-location-map-overlay{color:#fff;opacity:0;background:linear-gradient(#0000,#000000b3);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:500;transition:opacity .2s;display:flex;position:absolute;bottom:0;left:0;right:0}.gps-location-map-wrapper:hover .gps-location-map-overlay{opacity:1}.gps-location-details{flex-direction:column;gap:10px;margin-top:14px;display:flex}.gps-location-detail-row{background:#2430454d;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.gps-location-icon{color:var(--color-text-muted);flex-shrink:0}.gps-location-label{color:var(--color-text-muted);min-width:90px;font-size:12px}.gps-location-value{color:var(--color-text);margin-left:auto;font-size:14px;font-weight:500}.gps-location-value.mono{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:13px}.gps-location-actions{gap:10px;margin-top:14px;display:flex}.gps-location-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.gps-location-btn.primary{border-color:var(--color-online-border);color:var(--color-online-text);background:#4ade8026}.gps-location-btn.primary:hover{border-color:var(--color-online-text);background:#4ade8040}.gps-location-btn.secondary{border-color:var(--color-border);color:var(--color-text-muted);background:#648cc81a}.gps-location-btn.secondary:hover{color:var(--color-text);background:#648cc833;border-color:#648cc866}@media (max-width:600px){.gps-location-mini-map{height:120px}.gps-location-actions{flex-direction:column}.gps-location-detail-row{flex-wrap:wrap}.gps-location-label{flex:1;min-width:auto}.gps-location-value{width:100%;margin-top:4px;margin-left:0}}.notification-container{z-index:900;pointer-events:none;flex-direction:column;gap:12px;max-width:400px;display:flex;position:fixed;top:80px;right:24px}.notification-toast{background:var(--color-bg-card);border:1px solid var(--color-border);cursor:pointer;pointer-events:auto;border-radius:12px;align-items:flex-start;gap:14px;padding:16px 18px;transition:transform .15s,opacity .15s,border-color .15s,box-shadow .15s;animation:notification-slide-in .3s;display:flex;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d}.notification-toast:hover{border-color:#648cc880;transform:translate(-6px);box-shadow:0 12px 40px #0009,0 4px 12px #0006}.notification-toast.exiting{animation:notification-slide-out .3s forwards}.notification-toast-violation{border-left:4px solid var(--color-violation-text)}.notification-toast-warning{border-left:4px solid var(--color-warning-text)}.notification-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.notification-icon-phone{background:var(--color-type-phone-bg);color:var(--color-type-phone-text)}.notification-icon-seatbelt{background:var(--color-type-seatbelt-bg);color:var(--color-type-seatbelt-text)}.notification-icon-tampering{background:var(--color-type-tampering-bg);color:var(--color-type-tampering-text)}.notification-content{flex:1;min-width:0}.notification-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.notification-header .badge{min-width:auto;padding:3px 10px;font-size:12px}.notification-meta{color:var(--color-text-muted);align-items:center;gap:12px;font-size:13px;display:flex}.notification-meta .mono{color:var(--color-text);font-size:12px;font-weight:500}.notification-time{opacity:.8}.notification-dismiss{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.notification-toast:hover .notification-dismiss{opacity:1}.notification-dismiss:hover{color:var(--color-violation-text);background:#f8717133}@keyframes notification-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes notification-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media (max-width:768px){.notification-container{max-width:none;top:70px;left:12px;right:12px}.notification-toast{gap:12px;padding:14px}.notification-icon{width:38px;height:38px}.notification-dismiss{opacity:1}}@media (max-width:480px){.notification-container{padding:0 0 env(safe-area-inset-bottom,8px);top:60px;left:8px;right:8px}.notification-toast{border-radius:8px}}.auth-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#ff68000f 0,#ffda0008 30%,#0000 70%);width:800px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.light .auth-page:before{display:none}.auth-container{z-index:1;width:100%;max-width:400px;position:relative}.auth-controls{z-index:10;align-items:center;gap:8px;display:flex;position:fixed;top:20px;right:24px}.brand-logo-light{display:none}.brand-logo-dark,.light .brand-logo-light{display:block}.light .brand-logo-dark{display:none}.auth-logo{text-align:center;z-index:1;margin-bottom:32px;position:relative}@keyframes gradient-shimmer{0%{background-position:0}to{background-position:200%}}.auth-form{background:var(--color-bg-card);border:1px solid var(--color-border);z-index:1;border-radius:12px;padding:32px;position:relative;overflow:hidden;box-shadow:0 0 60px -20px #ff680014,0 4px 24px -4px #0000004d}.light .auth-form{box-shadow:0 1px 3px #00000014}.auth-form:before{content:"";height:3px;margin:-32px -32px 24px;animation:gradient-shimmer 8s linear infinite;display:block}.auth-form:before,.light .auth-form:before{background:linear-gradient(90deg,#0f0059,#ffda00,#ff6800,#ffda00,#0f0059) 0 0/200% 100%}.auth-title{color:var(--color-text);margin:0 0 24px;font-size:20px;font-weight:600}.auth-description{color:var(--color-text-muted);margin:-8px 0 20px;font-size:14px;line-height:1.5}.auth-field{margin-bottom:20px}.auth-field label{color:var(--color-text-muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.auth-field input{background:var(--color-bg);border:1px solid var(--color-border);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.auth-field input:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-focus-ring)}.auth-field input::placeholder{color:var(--color-text-muted);opacity:.5}.auth-field input:disabled{opacity:.6;cursor:not-allowed}.auth-password-wrapper{position:relative}.auth-password-wrapper input{padding-right:42px}.auth-password-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--color-text)}.auth-submit{background:var(--color-brand-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.auth-submit:hover:not(:disabled){background:var(--color-brand-primary-hover)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-link{color:var(--color-brand-primary);justify-content:center;align-items:center;gap:6px;margin-top:16px;font-size:13px;text-decoration:none;display:flex}.auth-link:hover{color:var(--color-brand-primary-hover);text-decoration:underline}.auth-link-button{margin-top:16px;text-decoration:none}.light .auth-submit{background:var(--color-brand-navy)}.light .auth-submit:hover:not(:disabled){background:#1a0080}.light .auth-link{color:var(--color-brand-navy)}.light .auth-link:hover{color:#1a0080}.light .auth-field input:focus{border-color:var(--color-brand-navy);box-shadow:0 0 0 3px #0f005933}.auth-error{background:var(--color-violation-bg);border:1px solid var(--color-violation-border);color:#f87171;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:20px;padding:12px;font-size:13px;display:flex}.auth-error svg{flex-shrink:0;margin-top:1px}.auth-success{background:var(--color-online-bg);border:1px solid var(--color-online-border);color:var(--color-online-text);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:14px;font-size:14px;display:flex}.auth-success svg{flex-shrink:0;margin-top:2px}.auth-success p{margin:0}.auth-success-hint{color:var(--color-text-muted);font-size:12px;margin-top:6px!important}.auth-spinner{animation:spin 1s linear infinite}.auth-footer{text-align:center;color:var(--color-text-muted);opacity:.5;margin-top:24px;font-size:12px}.auth-footer p{margin:0}.user-menu{align-items:center;gap:8px;margin-left:auto;padding-left:12px;display:flex}.user-menu-name{color:var(--color-text-muted);font-size:13px}.user-menu-logout{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px;transition:all .15s}.user-menu-logout:hover{color:var(--color-text);border-color:#60a5fa}@media (max-width:768px){.auth-container{max-width:100%}.auth-form{padding:24px}.user-menu-name{display:none}}[data-slot=sidebar-inset] .container{max-width:none;padding:0}.public-view{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--public-font-size,16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;color:#1f2937;background-color:#f9fafb}.public-view,.public-view *{color-scheme:light}.public-view a,.public-view button{-webkit-tap-highlight-color:transparent}.public-header{z-index:40;background:#fff;border-bottom:1px solid #e5e7eb;width:100%;position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.public-header-badge{color:var(--color-brand-navy);letter-spacing:.02em;background:#0f00590f;border-radius:6px;align-items:center;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:600;display:inline-flex}.public-lang-trigger{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;gap:4px;min-width:36px;min-height:36px;padding:6px 8px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.public-lang-trigger:hover{background:#f3f4f6;border-color:#d1d5db}.public-lang-trigger:active{background:#e5e7eb}.public-lang-flag{font-size:14px;line-height:1}.public-lang-code{letter-spacing:.04em;font-size:11px;font-weight:700}.public-lang-dropdown{z-index:50;background:#fff;border:1px solid #00000014;border-radius:12px;min-width:160px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 30px #0000001f,0 2px 8px #00000014}.public-lang-option{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;transition:background .12s;display:flex}.public-lang-option:hover{background:#f3f4f6}.public-lang-option.active{color:var(--color-brand-navy);background:#0f00590f;font-weight:600}.public-lang-option.active svg{color:var(--color-brand-navy);margin-left:auto}.public-tab-nav{z-index:40;background:var(--color-brand-navy);padding-bottom:env(safe-area-inset-bottom,0);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 24px #0f00592e}.public-tab-item{color:#ffffff73;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:58px;padding:10px 0 12px;text-decoration:none;transition:color .2s;display:flex;position:relative}.public-tab-item:hover{color:#ffffffb3}.public-tab-item.active{color:#fff}.public-tab-item.active:before{content:"";background:var(--color-brand-gold);border-radius:0 0 3px 3px;width:32px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.public-tab-icon{border-radius:14px;justify-content:center;align-items:center;width:40px;height:28px;transition:all .2s;display:flex}.public-tab-item.active .public-tab-icon{color:#fff;background:#ffffff24}.public-tab-label{font-size:11px;font-weight:500;line-height:1}.public-tab-item.active .public-tab-label{font-weight:600}.public-font-size-control{align-items:center;gap:10px;display:flex}.public-font-size-label{color:#4b5563;letter-spacing:.01em;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.public-font-size-track{background:#f3f4f6;border-radius:10px;gap:2px;padding:3px;display:flex}.public-font-size-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:32px;font-size:12px;font-weight:700;transition:all .15s;display:flex}.public-font-size-btn:hover:not(.active){color:#6b7280;background:#0000000a}.public-font-size-btn.active{color:var(--color-brand-navy);background:#fff;box-shadow:0 1px 3px #00000014,0 0 0 1px #0000000a}.public-footer{background:0 0;margin-top:auto;padding:20px 0}.public-page-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;margin-top:16px;margin-bottom:16px;padding-top:20px;padding-bottom:20px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a}.public-content{overflow-wrap:break-word;word-wrap:break-word;width:100%;max-width:480px;margin-left:auto;margin-right:auto;padding-left:12px;padding-right:12px}@media (min-width:400px){.public-content{padding-left:16px;padding-right:16px}}.public-cta-navy{color:#fff;background-color:var(--color-brand-navy);border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.public-cta-navy:hover{opacity:.9}.public-cta-navy:active{opacity:.8}.public-about-grid{flex-direction:column;gap:16px;display:flex}.public-detect-grid{flex-direction:column;gap:10px;display:flex}.public-contact-grid{flex-direction:column;gap:12px;display:flex}@media (min-width:640px){.public-content{max-width:600px;padding-left:24px;padding-right:24px}.public-page-card{padding-top:24px;padding-bottom:24px}.public-header-badge{padding:4px 10px;font-size:11px}.public-about-grid{grid-template-columns:1fr 1fr;display:grid}.public-detect-grid{flex-direction:row}.public-detect-grid>*{flex:1}.public-contact-grid{flex-direction:row}.public-contact-grid>*{flex:1}.public-cta-navy{align-self:flex-start}.public-tab-label{font-size:12px}.public-tab-icon{border-radius:15px;width:44px;height:30px}}@media (min-width:768px){.public-content{max-width:680px}.public-tab-nav{border:1px solid #0f005926;border-bottom:none;border-radius:16px 16px 0 0;width:auto;min-width:400px;max-width:520px;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -6px 32px #0f005933}}@media (min-width:1024px){.public-content{max-width:720px}}.config-list-page{flex-direction:column;gap:12px;display:flex}.config-list-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.config-list-toolbar{grid-template-columns:minmax(220px,1.3fr) repeat(4,minmax(140px,1fr)) auto;align-items:center;gap:6px;display:grid}.config-list-search{border:1px solid color-mix(in srgb,hsl(var(--border))82%,transparent);align-items:center;gap:6px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.config-list-search{border:1px solid color-mix(in srgb,var(--color-border)82%,transparent)}}.config-list-search{background:var(--color-surface);border-radius:9px;height:32px;padding:0 9px}@supports (color:color-mix(in lab,red,red)){.config-list-search{background:color-mix(in srgb,var(--color-surface)96%,transparent)}}.config-list-search{font-size:12px}.config-list-search svg{opacity:.72}.config-list-search input{width:100%;color:var(--color-text);background:0 0;border:none;outline:none;font-size:12px}.config-list-toolbar select{border:1px solid color-mix(in srgb,hsl(var(--border))82%,transparent);border-radius:9px;height:32px}@supports (color:color-mix(in lab,red,red)){.config-list-toolbar select{border:1px solid color-mix(in srgb,var(--color-border)82%,transparent)}}.config-list-toolbar select{background:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.config-list-toolbar select{background:color-mix(in srgb,var(--color-surface)96%,transparent)}}.config-list-toolbar select{color:var(--color-text);padding:0 8px;font-size:12px}.config-list-toolbar .btn{border-radius:9px;gap:6px;height:32px;padding:0 10px;font-size:12px}.config-list-table thead th{letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:500}@supports (color:color-mix(in lab,red,red)){.config-list-table thead th{color:color-mix(in srgb,var(--color-text-muted)92%,transparent)}}.config-list-table tbody td,.config-list-table thead th{padding-top:7px;padding-bottom:7px}.config-list-error{color:#dc2626;background:#dc26260f;border:1px solid #dc262640;border-radius:8px;padding:10px 12px;font-size:13px}.config-list-error,.config-list-pagination{justify-content:space-between;align-items:center;gap:8px;display:flex}.config-list-pagination{border-top:1px solid var(--color-border);padding-top:8px}.config-list-pagination-controls{align-items:center;gap:8px;display:inline-flex}.config-list-pagination-controls select{border:1px solid color-mix(in srgb,hsl(var(--border))82%,transparent);border-radius:8px;min-width:112px;height:28px}@supports (color:color-mix(in lab,red,red)){.config-list-pagination-controls select{border:1px solid color-mix(in srgb,var(--color-border)82%,transparent)}}.config-list-pagination-controls select{background:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.config-list-pagination-controls select{background:color-mix(in srgb,var(--color-surface)96%,transparent)}}.config-list-pagination-controls select{color:var(--color-text);padding:0 8px;font-size:12px;line-height:1}.config-details-page{flex-direction:column;gap:14px;display:flex}.config-details-page-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.config-details-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:10px;display:grid}.config-details-column{flex-direction:column;gap:10px;min-width:0;display:flex}.config-details-card{padding:14px}.config-details-title-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.config-details-title-row h3{margin:0;font-size:14px;font-weight:700}.form-section.compact{margin-bottom:10px}.form-section.compact h4{letter-spacing:.2px;text-transform:uppercase;color:var(--color-text-muted);margin-top:0;margin-bottom:6px;font-size:12px}.config-details-card .detection-classes-grid.compact{flex-direction:column;gap:8px;display:flex}.config-details-card .detection-class-group{gap:4px}.config-details-card .detection-class-label{text-transform:uppercase;letter-spacing:.2px;font-size:11px}.config-details-card .checkbox-group-horizontal{gap:8px}.config-details-card .checkbox-group-horizontal .checkbox-item-compact{flex:1;min-width:180px}.config-details-card .checkbox-item-compact{min-height:36px;padding:8px 10px}.config-details-card .checkbox-item-compact input[type=checkbox]{width:15px;height:15px}.checkbox-inline{align-items:center;gap:8px;font-size:13px;display:inline-flex}.config-details-card input,.config-details-card select,.config-details-card textarea{width:100%}.config-details-card .form-field label{margin-bottom:4px;font-size:12px}.config-details-card .telemetry-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.config-details-card .telemetry-compact-item{border:1px solid color-mix(in srgb,hsl(var(--border))86%,transparent)}@supports (color:color-mix(in lab,red,red)){.config-details-card .telemetry-compact-item{border:1px solid color-mix(in srgb,var(--color-border)86%,transparent)}}.config-details-card .telemetry-compact-item{background:var(--color-surface);border-radius:10px;padding:8px 10px}@supports (color:color-mix(in lab,red,red)){.config-details-card .telemetry-compact-item{background:color-mix(in srgb,var(--color-surface)95%,transparent)}}.config-details-card .telemetry-compact-item{min-width:0}.config-details-card .telemetry-compact-label{margin-bottom:4px;line-height:1.2}.config-details-card .telemetry-compact-indicator{align-items:center;min-height:22px;display:inline-flex}.config-details-card .telemetry-compact-meta{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;line-height:1.3;overflow:hidden}.section-caption{line-height:1.35}.config-details-card .custom-json-section{margin-bottom:8px}.config-details-card .custom-json-help{color:var(--color-text-muted);font-size:11.5px;line-height:1.35}@supports (color:color-mix(in lab,red,red)){.config-details-card .custom-json-help{color:color-mix(in srgb,var(--color-text-muted)92%,transparent)}}.config-details-card .custom-json-help{margin-bottom:3px}.config-details-card .custom-json-textarea{min-height:96px;padding:8px 10px;font-size:12px;line-height:1.35}.config-details-card .calibration-trigger-row.compact{border-top:none;gap:10px;padding-top:0}.config-details-card .calibration-samples-input input{width:120px;padding:8px 10px}.config-details-card .calibration-status-row{justify-content:space-between;margin-bottom:6px}.config-details-card .calibration-error-msg{margin-top:2px;margin-bottom:6px}.config-details-card .calibration-meta-inline{line-height:1.35;display:block}.rollout-plan-preview{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin-top:12px;padding:10px}@supports (color:color-mix(in lab,red,red)){.rollout-plan-preview{background:color-mix(in srgb,var(--color-surface)92%,var(--color-primary)8%)}}.rollout-plan-steps{flex-direction:column;gap:6px;display:flex}.rollout-plan-step{border:1px dashed var(--color-border);background:var(--color-surface);border-radius:8px;padding:8px}@media (max-width:1024px){.config-list-toolbar{grid-template-columns:1fr 1fr}.config-details-card .telemetry-compact-grid,.config-details-grid{grid-template-columns:1fr}}@media (max-width:768px){.config-list-toolbar{grid-template-columns:1fr}.config-list-pagination{flex-direction:column;align-items:stretch}.config-list-pagination-controls{justify-content:space-between}.config-details-card .checkbox-group-horizontal .checkbox-item-compact{min-width: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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes pulse{50%{opacity:.5}}@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))}}