/*! tailwindcss v4.3.3 | 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)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-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}}}@layer theme{:root,:host{--font-sans:-apple-system, "Helvetica Neue", Helvetica, "PingFang SC", "Segoe UI", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-700:oklch(50.5% .213 27.518);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--text-sm:.875rem;--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--radius-xs:.125rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:-apple-system, "Helvetica Neue", Helvetica, "PingFang SC", "Segoe UI", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-4{right:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.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-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[88vh\]{max-height:88vh}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-1\/4{width:25%}.w-10{width:calc(var(--spacing) * 10)}.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-48{width:calc(var(--spacing) * 48)}.w-72{width:calc(var(--spacing) * 72)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.caption-bottom{caption-side:bottom}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[110px_minmax\(0\,1fr\)\]{grid-template-columns:110px minmax(0,1fr)}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}: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-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:10px}.rounded-md{border-radius:7px}.rounded-xl{border-radius:14px}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.border-button-border{border-color:var(--button-border)}.border-input{border-color:var(--border)}.border-red-300{border-color:var(--color-red-300)}.border-transparent{border-color:#0000}.bg-card{background-color:var(--card)}.bg-destructive{background-color:#d84343}.bg-muted\/30{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--secondary) 30%, transparent)}}.bg-muted\/50{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--secondary) 50%, transparent)}}.bg-popover{background-color:var(--card)}.bg-primary{background-color:var(--primary)}.bg-red-50{background-color:var(--color-red-50)}.bg-secondary{background-color:var(--secondary)}.bg-slate-900\/25{background-color:#0f172b40}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/25{background-color:color-mix(in oklab, var(--color-slate-900) 25%, transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.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,22px)}.text-xs{font-size:.75rem;line-height:var(--tw-leading,18px)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:500;font-weight:500}.font-normal{--tw-font-weight:400;font-weight:400}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-card-foreground,.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted)}.text-popover-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--primary)}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color: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-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,22px)}.file\:font-medium::file-selector-button{--tw-font-weight:500;font-weight:500}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted)}@media (hover:hover){.hover\:border-primary\/60:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/60:hover{border-color:color-mix(in oklab, var(--primary) 60%, transparent)}}.hover\:border-red-400:hover{border-color:var(--color-red-400)}.hover\:bg-accent:hover{background-color:var(--secondary)}.hover\:bg-destructive\/90:hover{background-color:oklab(59.7432% .168878 .0778695/.9)}.hover\:bg-muted\/50:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--secondary) 50%, transparent)}}.hover\:bg-primary\/5:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:text-accent-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--focus-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-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--focus-ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:oklab(59.7432% .168878 .0778695/.2)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--focus-ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--focus-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--secondary) 50%, transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:#d84343}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:oklab(59.7432% .168878 .0778695/.2)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--secondary)}@media (width>=40rem){.sm\:inline{display:inline}.sm\:max-w-4xl{max-width:var(--container-4xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,22px)}}.dark\:border-red-400\/40:is(.dark *){border-color:#ff656866}@supports (color:color-mix(in lab, red, red)){.dark\:border-red-400\/40:is(.dark *){border-color:color-mix(in oklab, var(--color-red-400) 40%, transparent)}}.dark\:bg-black\/60:is(.dark *){background-color:#0009}@supports (color:color-mix(in lab, red, red)){.dark\:bg-black\/60:is(.dark *){background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:oklab(59.7432% .168878 .0778695/.6)}.dark\:bg-input\/30:is(.dark *){background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--border) 30%, transparent)}}.dark\:bg-red-400\/10:is(.dark *){background-color:#ff65681a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-400\/10:is(.dark *){background-color:color-mix(in oklab, var(--color-red-400) 10%, transparent)}}.dark\:text-red-300:is(.dark *){color:var(--color-red-300)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--secondary) 50%, transparent)}}.dark\:hover\:bg-primary\/10:is(.dark *):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-primary\/10:is(.dark *):hover{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:hover\:bg-red-400\/20:is(.dark *):hover{background-color:#ff656833}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-red-400\/20:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-red-400) 20%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible,.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:oklab(59.7432% .168878 .0778695/.4)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--secondary)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:oklab(59.7432% .168878 .0778695/.9)}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab, var(--secondary) 90%, transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}:root{--font-size-body:14px;--font-size-secondary:13px;--font-size-caption:12px;--font-size-title:18px;--background:#f7faff;--foreground:#202b3d;--card:#fff;--primary:#006ae6;--primary-hover:#005dcc;--primary-foreground:#fff;--primary-soft:#edf5ff;--primary-border:#c7defd;--focus-ring:#70b3ff;--info-foreground:#285b98;--secondary:#f0f5fc;--muted:#5f7088;--border:#e4ebf4;--button-border:#c7d4e5;--status-danger:#b22c36;font-family:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--status-danger:#ffb2b8;--background:#111b2a;--foreground:#e2eaf7;--card:#182538;--primary:#69adff;--primary-hover:#8bbfff;--primary-foreground:#0b2444;--primary-soft:#1c3453;--primary-border:#31547d;--focus-ring:#4a96ec;--info-foreground:#b8d8ff;--secondary:#20314a;--muted:#a7b9d1;--border:#2c3f59;--button-border:#506581;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{border-color:var(--border);box-sizing:border-box}body{color:var(--foreground);background:var(--background);font-size:var(--font-size-body);margin:0;font-weight:400;line-height:22px}b,strong{font-weight:500}button,input,select,textarea{font:inherit}[data-slot=button]{font-size:var(--font-size-body);font-weight:400;line-height:22px}[data-slot=button][data-size=xs]{font-size:var(--font-size-caption);line-height:18px}[data-slot=button][data-variant=outline],[data-slot=button][data-variant=secondary]{border-color:var(--button-border)}[data-slot=button][data-variant=outline]:hover:not(:disabled){border-color:var(--primary)}[data-slot=button][data-variant=destructive-outline]{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive-outline]{border-color:color-mix(in srgb, currentColor 40%, var(--card))}}[data-slot=button][data-variant=destructive-outline]:hover:not(:disabled){border-color:currentColor}[data-slot=button][data-variant=default],[data-slot=button][data-variant=destructive]{border-color:#0000}[data-slot=button][data-variant=default]:hover:not(:disabled){background:var(--primary-hover)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:not(:disabled),a{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}input[type=checkbox],input[type=radio]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;width:15px;height:15px}input[type=checkbox]:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}input:read-only{color:var(--muted);background:var(--secondary)}pre{border:1px solid var(--border);background:var(--background);font-size:var(--font-size-body);border-radius:8px;padding:16px;line-height:1.8;overflow:auto}code{font-family:SFMono-Regular,Consolas,monospace;font-size:var(--font-size-body)}.console-layout{min-height:100vh}.sidebar{background:var(--card);width:238px;color:var(--muted);border-right:1px solid var(--border);z-index:30;flex-direction:column;padding:20px 17px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand-mark{color:var(--foreground);letter-spacing:-.6px;align-items:center;gap:11px;font-size:19px;display:flex}.brand-mark>span:first-child{background:var(--primary);color:var(--primary-foreground);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.brand-mark strong{letter-spacing:0;margin-left:2px;font-size:16px;font-weight:500}.brand-mark small{font-size:var(--font-size-caption);letter-spacing:2.2px;color:var(--muted);margin-top:3px;display:block}.sidebar .brand-mark{line-height:1.2}.workspace-switch{border:1px solid var(--border);background:var(--background);font-size:var(--font-size-secondary);color:var(--foreground);border-radius:9px;align-items:center;gap:10px;margin:20px 0;padding:8px 10px;display:flex}.workspace-switch>div{flex:1;min-width:0;line-height:1.4}.workspace-switch>div>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-switch>svg{flex-shrink:0}.workspace-switch small{color:var(--muted);font-size:var(--font-size-caption);display:block}.workspace-icon{border:1px solid var(--primary-border);background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border-radius:7px;flex-shrink:0;place-items:center;font-weight:600;display:grid}.nav-heading{font-size:var(--font-size-caption);color:var(--muted);letter-spacing:1.3px;margin:0 13px 6px;display:block}.sidebar nav>a{font-size:var(--font-size-body);border-radius:7px;align-items:center;gap:12px;margin:2px 0;padding:9px 13px;line-height:22px;transition:background .15s;display:flex;position:relative}.sidebar nav>a>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar nav>a:hover{background:var(--primary-soft);color:var(--primary)}.sidebar nav>a.active{background:var(--primary-soft);color:var(--primary);font-weight:400}.sidebar nav>a.active:after{content:"";background:var(--primary);border-radius:50%;width:5px;height:5px;position:absolute;right:6px}.nav-heading.mt-8{margin-top:16px}.sidebar nav{scrollbar-width:thin;scrollbar-color:var(--button-border) transparent;min-height:0;overflow:hidden auto}.sidebar .brand-mark,.workspace-switch,.sidebar-bottom{flex-shrink:0}a[data-variant=default]{color:var(--primary-foreground)}.sidebar nav>a.active svg{color:var(--primary)}.sidebar-bottom{margin-top:auto;padding-top:12px}.sidebar-version{font-size:var(--font-size-caption);color:var(--muted);align-items:center;gap:6px;margin:12px;display:flex}.sidebar-version span:last-child{color:var(--muted);font-size:var(--font-size-caption);margin-left:auto}.version-indicator{background:var(--primary);border-radius:100%;width:5px;height:5px}.avatar{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary-border);width:33px;height:33px;font-size:var(--font-size-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.console-main{flex-direction:column;min-height:100vh;margin-left:238px;display:flex}.topbar{background:var(--card);border-bottom:1px solid var(--border);height:73px;font-size:var(--font-size-body);justify-content:space-between;align-items:center;padding:0 36px;display:flex}.workspace-label{color:var(--muted);font-size:var(--font-size-secondary);align-items:center;gap:7px;display:flex}.workspace-label>span{background:var(--primary);border-radius:50%;width:5px;height:5px}.topbar-divider{background:var(--border);width:1px;height:18px}.topbar-avatar{background:var(--secondary);border:1px solid var(--border);width:34px;height:34px;font-size:var(--font-size-caption);color:var(--primary);border-radius:50%;place-items:center;font-weight:500;display:grid}.account-menu-trigger{color:var(--muted);border-radius:20px;align-items:center;gap:6px;padding:3px;display:inline-flex}.account-menu-trigger:hover,.account-menu-trigger[data-state=open]{background:var(--secondary)}.account-menu-content{z-index:60;border:1px solid var(--border);background:var(--card);min-width:220px;max-width:min(300px,100vw - 24px);color:var(--foreground);border-radius:10px;padding:5px;box-shadow:0 8px 28px #12202c1c}.account-menu-label{flex-direction:column;gap:3px;padding:10px 12px;display:flex}.account-menu-label strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-body);font-weight:500;overflow:hidden}.account-menu-label>span{color:var(--muted);font-size:var(--font-size-secondary);overflow-wrap:anywhere}.account-menu-separator{background:var(--border);height:1px;margin:4px 0}.account-menu-item{font-size:var(--font-size-body);cursor:pointer;border-radius:6px;outline:none;align-items:center;gap:10px;padding:9px 12px;display:flex}.account-menu-item[data-highlighted]{background:var(--secondary)}.account-menu-item>svg{color:var(--muted)}.mobile-menu{display:none}.content{flex:1;width:100%;max-width:1640px;margin:0 auto;padding:24px 36px 32px}.content:has(>.data-panel){padding-bottom:0}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.page-heading h1{font-size:var(--font-size-title);letter-spacing:normal;margin:0;font-weight:600;line-height:26px}.count-tag{font-size:var(--font-size-secondary);color:var(--primary);background:var(--primary-soft);border-radius:5px;padding:2px 8px;font-weight:400}.data-panel{background:var(--card);border:1px solid var(--border);border-radius:11px;overflow:hidden;box-shadow:0 2px 4px #1b302402}.filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:19px 21px;display:flex}.native-select{border:1px solid var(--border);width:100%;height:36px;color:var(--foreground);background:var(--card);font-size:var(--font-size-body);border-radius:7px;outline:none;padding:0 31px 0 10px}.native-select:focus{border-color:var(--focus-ring);box-shadow:0 0 0 2px var(--primary)}@supports (color:color-mix(in lab, red, red)){.native-select:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 12%, transparent)}}.native-select:disabled{opacity:.5;background:var(--secondary)}.filter-bar .native-select{width:auto;min-width:115px}.filter-bar [data-slot=button]{font-size:var(--font-size-body)}.search-input{position:relative}.search-input>svg{color:var(--muted);position:absolute;top:11px;left:10px}.search-input input{width:226px;font-size:var(--font-size-body);padding-left:33px}[data-slot=table-container]{overflow-x:auto}[data-slot=table]{font-size:var(--font-size-body);line-height:22px}[data-slot=table-header]{background:var(--background)}[data-slot=table-head]{height:44px;font-size:var(--font-size-body);color:var(--muted);white-space:nowrap;padding:8px 17px;font-weight:500}[data-slot=table-cell]{height:48px;font-size:var(--font-size-body);padding:8px 17px}[data-slot=table-head] [data-slot=button]{height:28px}[data-slot=table-cell].p-0{padding:0}[data-slot=table-cell] .resource-icon,[data-slot=table-cell] .avatar{width:32px;height:32px}[data-slot=table-row]:last-child{border-bottom:0}[data-slot=table-cell] a:not([data-slot=button]):hover{color:var(--primary)}[data-slot=table-cell]>a:not([data-slot=button]):not(:has(.resource-icon)){color:var(--primary)}.table-subtext{font-size:var(--font-size-caption);color:var(--muted);text-overflow:ellipsis;max-width:230px;margin-top:2px;line-height:18px;display:block;overflow:hidden}.row-actions{min-width:190px;max-width:360px;font-size:var(--font-size-secondary);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:7px;font-weight:400;display:flex}.status-badge{border:1px solid var(--border);color:var(--muted);background:var(--secondary);font-size:var(--font-size-caption);white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:4px 7px;line-height:1.2;display:inline-flex}.status-badge i{background:currentColor;border-radius:50%;width:4px;height:4px}.status-badge.published{color:#368b64;background:#edf7f0;border-color:#dfede3}.status-badge.ready{color:#4c81a5;background:#eff6fb;border-color:#dce9f3}.status-badge.unpublished,.status-badge.revoked{color:#9a7565;background:#faf3ed;border-color:#f0e6dd}.status-badge.failed{color:var(--status-danger);background:var(--status-danger)}@supports (color:color-mix(in lab, red, red)){.status-badge.failed{background:color-mix(in srgb, var(--status-danger) 8%, var(--card))}}.status-badge.failed{border-color:var(--status-danger)}@supports (color:color-mix(in lab, red, red)){.status-badge.failed{border-color:color-mix(in srgb, var(--status-danger) 20%, var(--card))}}.dark .status-badge.published{color:#a3d0b2;background:#23372e;border-color:#324c3d}.dark .status-badge.ready{color:#95bdd4;background:#23333f;border-color:#334450}.dark .status-badge.unpublished,.dark .status-badge.revoked{color:#c5ab9a;background:#3d332b;border-color:#493c31}.resource-icon{border:1px solid var(--primary-border);background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.platform-tag,.role-tag,.stage-tag,.menu-tag{border:1px solid var(--border);font-size:var(--font-size-caption);background:var(--background);white-space:nowrap;border-radius:5px;padding:2px 7px;line-height:18px;display:inline-flex}.stage-tag{font-size:var(--font-size-caption);color:var(--primary);background:var(--secondary);border:0}.pagination{border-top:1px solid var(--border);font-size:var(--font-size-body);color:var(--muted);justify-content:space-between;align-items:center;padding:17px 21px;display:flex}.pagination-start,.pagination-pages{align-items:center;gap:12px;display:flex}.pagination-start{color:var(--foreground);gap:0}.panel{background:var(--card);border:1px solid var(--border);border-radius:11px;padding:25px}.section-heading{color:var(--foreground);align-items:center;gap:11px;margin-bottom:24px;display:flex}.section-heading h2{margin:0;font-size:14px;font-weight:500}.section-heading p{font-size:var(--font-size-secondary);color:var(--muted);margin-top:5px}.section-number{border:1px solid var(--border);background:var(--background);width:29px;height:29px;font-size:var(--font-size-caption);color:var(--primary);border-radius:7px;flex-shrink:0;place-items:center;font-weight:500;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 27px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field-label{font-size:var(--font-size-body);color:var(--foreground);font-weight:400;line-height:22px}.field input,.field textarea{font-size:var(--font-size-body)}.field input{height:38px}.checkbox-field{font-size:var(--font-size-body);color:var(--foreground);align-items:center;gap:9px;line-height:22px;display:flex}.info-box,.warning-box,.success-box,.error-box{font-size:var(--font-size-body);border-radius:8px;padding:13px 16px;line-height:22px}.info-box{color:var(--info-foreground);background:var(--primary-soft);border:1px solid var(--primary-border)}.warning-box{color:#987641;background:#fff8e8;border:1px solid #f1e7c8;align-items:flex-start;gap:10px;display:flex}.error-box{color:#b34d48;overflow-wrap:anywhere;background:#fff3f2;border:1px solid #f2deda}.success-box{color:#367957;background:#eef6ef;border:1px solid #dcecdf}.dark .error-box{color:#e6a5a1;background:#362526;border-color:#583a3c}.dark .warning-box{color:#c9b381;background:#393224;border-color:#564a30}.dark .success-box{color:#9fcaac;background:#263a2c;border-color:#37513f}.data-panel>.error-box{margin:20px}.template-section>summary{cursor:pointer;list-style:none}.template-section>summary::-webkit-details-marker{display:none}.template-section:not([open])>summary{margin:0}.template-section:not([open])>summary>svg{transform:rotate(-90deg)}.template-list{flex-direction:column;gap:9px;display:flex}.template-list-row>input,.template-list-row>select{flex:1;min-width:0}.template-list-row>input[data-list-port]{flex:.5}.sticky-form-actions{z-index:10;background:var(--card);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:20px;padding:17px 21px;display:flex;position:sticky;bottom:0;box-shadow:0 -5px 20px #122b1805}.upload-zone{border:1.5px dashed var(--primary-border);min-height:174px;color:var(--primary);background:var(--background);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px;display:flex;position:relative;overflow:hidden}.upload-zone:hover{border-color:var(--primary)}.upload-zone strong{color:var(--foreground);font-size:var(--font-size-body);font-weight:500}.upload-zone span{color:var(--muted);font-size:var(--font-size-secondary)}.upload-zone input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:84px 20px 95px;display:flex}.empty-state>span{background:var(--background);border:1px solid var(--border);width:61px;height:61px;color:var(--primary);border-radius:16px;place-items:center;margin-bottom:19px;display:grid}.empty-state h3{font-size:14px;font-weight:500}.empty-state p{color:var(--muted);font-size:var(--font-size-body);margin-top:10px;line-height:1.7}.back-link{color:var(--muted);font-size:var(--font-size-secondary);align-items:center;gap:6px;margin-bottom:18px;display:inline-flex}.back-link:hover{color:var(--primary)}.detail-facts{border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;padding-top:23px;display:grid}.detail-facts>div>span{color:var(--muted);font-size:var(--font-size-caption);margin-bottom:9px;display:block}.detail-facts strong{font-size:var(--font-size-body);overflow-wrap:anywhere;font-weight:500}.bom h3{font-size:var(--font-size-body);margin-bottom:13px;font-weight:500}.bom-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:26px;display:grid}.bom-fact{background:var(--background);border:1px solid var(--border);border-radius:7px;padding:14px 16px}.bom-fact span{font-size:var(--font-size-caption);color:var(--muted);margin-bottom:9px;display:block}.bom-fact code{font-size:var(--font-size-body)}.bom-category{margin-top:23px}.bom-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.bom-group{border:1px solid var(--border);border-radius:8px;overflow:hidden}.bom-group>div:first-child{background:var(--background);justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.bom-group h4{font-size:var(--font-size-body);font-weight:500}.bom-group>div>span:last-child{font-size:var(--font-size-caption);color:var(--muted)}.bom-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;display:flex}.bom-row strong{font-size:var(--font-size-secondary);font-weight:500}.bom-row small{font-size:var(--font-size-caption);color:var(--muted);margin-top:4px;display:block}.bom-row code{font-size:var(--font-size-caption);text-align:right;overflow-wrap:anywhere}.version-changed{background:#fff8db!important}.dark .version-changed{background:#433d20!important}.role-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-form textarea{min-height:44px}.role-form-actions{z-index:1;border-top:1px solid var(--border);background:var(--card);margin-inline:-24px;margin-bottom:-24px;padding:14px 24px 16px;position:sticky;bottom:-24px}.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.permission-group{border:1px solid var(--border);background:var(--card);border-radius:10px;min-width:0;padding:0;overflow:hidden}.permission-group-header{background:var(--secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.permission-group-header h4{font-size:var(--font-size-body);font-weight:500}.permission-menu-access{font-size:var(--font-size-secondary);color:var(--muted);cursor:pointer;flex-shrink:0;align-items:center;gap:7px;display:inline-flex}.permission-menu-access:has(input:checked){color:var(--primary)}.permission-group-options{flex-wrap:wrap;align-content:flex-start;gap:8px;padding:12px 14px;display:flex}.permission-group-note{color:var(--muted);font-size:var(--font-size-caption);margin:0;padding:0 14px 12px;line-height:1.7}.permission-option{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;display:inline-flex}.permission-option:has(input:checked){border-color:var(--primary-border);background:var(--primary-soft)}.permission-option span{font-size:var(--font-size-secondary)}.permission-denied{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:20px;padding:100px 20px;display:flex}.permission-denied h2{font-size:var(--font-size-title);color:var(--foreground);font-weight:600}.app-toast{z-index:100;background:var(--card);color:#4b8967;max-width:min(600px,100vw - 32px);font-size:var(--font-size-body);border:1px solid #dbe6df;border-radius:10px;align-items:center;gap:11px;padding:15px 18px;line-height:1.8;display:flex;position:fixed;bottom:25px;right:28px;box-shadow:0 10px 40px #11281915}.app-toast>span{color:var(--foreground);overflow-wrap:anywhere;white-space:pre-line;flex:1}.app-toast>svg{flex-shrink:0}.app-toast>button{align-self:flex-start;margin-top:3px}.app-toast.toast-error{color:#b55f58;border-color:#e5c5c1}.login-layout{background:var(--card);grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-brand-panel{background:linear-gradient(135deg, var(--primary-soft), var(--primary))}@supports (color:color-mix(in lab, red, red)){.login-brand-panel{background:linear-gradient(135deg, var(--primary-soft), color-mix(in srgb, var(--primary) 13%, var(--card)))}}.login-brand-panel{color:var(--foreground);flex-direction:column;justify-content:space-between;min-height:100vh;padding:43px 55px 31px;display:flex;position:relative;overflow:hidden}.login-brand-panel:after{content:"";pointer-events:none;border:1px solid var(--primary);width:700px;height:700px;position:absolute}@supports (color:color-mix(in lab, red, red)){.login-brand-panel:after{border:1px solid color-mix(in srgb, var(--primary) 16%, transparent)}}.login-brand-panel:after{box-shadow:0 0 0 65px var(--primary), 0 0 0 130px var(--primary), 0 0 0 195px var(--primary);border-radius:50%;bottom:-420px;right:-400px}@supports (color:color-mix(in lab, red, red)){.login-brand-panel:after{box-shadow:0 0 0 65px color-mix(in srgb, var(--primary) 5%, transparent), 0 0 0 130px color-mix(in srgb, var(--primary) 4%, transparent), 0 0 0 195px color-mix(in srgb, var(--primary) 3%, transparent)}}.login-brand-copy{z-index:1;padding:45px 0 100px 8px;position:relative}.eyebrow{letter-spacing:3px;font-size:var(--font-size-caption);color:var(--primary)}.login-brand-copy h1{letter-spacing:-1.5px;margin:23px 0 20px;font-size:36px;font-weight:600;line-height:1.5}.login-brand-copy h1 span{color:var(--primary)}.login-brand-copy>p{font-size:var(--font-size-body);color:var(--muted);line-height:2.1}.login-visual{border:1px solid var(--primary-border);background:var(--card);border-radius:9px;margin-top:42px;padding:22px 20px}@supports (color:color-mix(in lab, red, red)){.login-visual{background:color-mix(in srgb, var(--card) 80%, transparent)}}.login-visual{max-width:395px}.login-visual>div{font-size:var(--font-size-secondary);color:var(--info-foreground);justify-content:space-between;align-items:center;gap:8px;display:flex}.visual-dot{border:1px solid var(--primary);border-radius:3px;width:8px;height:8px}.visual-dot.active{background:var(--primary);border-color:var(--primary)}.visual-line{background:var(--primary-border);width:20px;height:1px}.login-brand-footer{font-size:var(--font-size-caption);color:var(--muted);position:relative}.login-form-panel{justify-content:center;align-items:center;padding:60px;display:flex}.login-form-panel>form{width:100%;max-width:340px}.login-icon{width:52px;height:52px;color:var(--primary);border:1px solid var(--primary-border);background:var(--primary-soft);border-radius:13px;place-items:center;margin-bottom:28px;display:grid}.login-form-panel h2{letter-spacing:-.7px;margin-bottom:12px;font-size:22px;font-weight:600}.login-form-panel form>p{color:var(--muted);font-size:var(--font-size-body);margin-bottom:33px}.login-form-panel .field{margin-bottom:21px}.login-form-panel .field input{height:42px}.login-form-panel button[type=submit]{justify-content:space-between;padding:0 16px}.login-security{font-size:var(--font-size-caption);color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:27px;display:flex}.login-form-panel .error-box{margin-bottom:15px}@media (width>=1500px){.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.max-w-4xl .form-grid,.max-w-2xl .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.topbar{padding:0 25px}.content{padding:24px 25px 32px}.filter-bar{align-items:flex-start}.filter-bar>div:last-child{flex-wrap:wrap}.detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.bom-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{gap:15px}.login-brand-panel{padding:35px}.login-brand-copy h1{font-size:30px}}@media (width<=780px){.sidebar{width:238px;transition:transform .2s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-scrim{z-index:25;background:#0c17227a;position:fixed;inset:0}.console-main{margin:0}.mobile-menu{display:inline-flex}.topbar{height:65px;padding:0 18px}.content{padding:20px 18px 28px}.page-heading{flex-wrap:wrap}.filter-bar{padding:15px}.search-input input{width:185px}.pagination{font-size:var(--font-size-caption);padding:15px}.panel{padding:20px}.form-grid,.bom-groups{grid-template-columns:1fr}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-groups{grid-template-columns:1fr}.sticky-form-actions>span{display:none}.sticky-form-actions{justify-content:flex-end}.login-layout{grid-template-columns:1fr}.login-brand-panel{min-height:auto;padding:26px}.login-brand-copy,.login-brand-panel>span{display:none}.login-form-panel{padding:50px 25px}.login-brand-panel .brand-mark{font-size:17px}.login-form-panel h2{font-size:20px}.app-toast{bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.login-form-panel{position:relative}.login-theme{position:absolute;top:24px;right:24px}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-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}@keyframes spin{to{transform:rotate(360deg)}}
