.zexst-app {
	--background: 0 0% 100%;
	--foreground: 222 47% 11.2%;

	--card: 0 0% 100%;
	--card-foreground: 222 47% 11.2%;

	--popover: 0 0% 100%;
	--popover-foreground: 222 47% 11.2%;

	--primary: 251 67% 55%;
	--primary-foreground: 0 0% 100%;

	--secondary: 210 40% 96.1%;
	--secondary-foreground: 222 47% 11.2%;

	--muted: 210 40% 98%;
	--muted-foreground: 215 16% 47%;

	--accent: 210 40% 98%;
	--accent-foreground: 222 47% 11.2%;

	--destructive: 0 84.2% 60.2%;
	--destructive-foreground: 210 40% 98%;

	--border: 214 32% 91%;
	--input: 214 32% 91%;
	--ring: 221 83% 53%;

	--radius: 0.5rem;

	--status-in-stock: 142 76% 36%;
	--status-in-stock-bg: 142 76% 93%;
	--status-in-stock-fg: 142 76% 36%;
	--status-in-stock-text: 142 76% 36%;

	--status-low-stock: 38 92% 50%;
	--status-low-stock-bg: 48 96% 89%;
	--status-low-stock-fg: 21 77% 28%;
	--status-low-stock-text: 26 86% 35%;

	--status-out-of-stock: 0 84% 60%;
	--status-out-of-stock-bg: 0 93% 94%;
	--status-out-of-stock-fg: 0 62% 30%;
	--status-out-of-stock-text: 0 72% 40%;

	--type-simple-bg: 215 16% 93%;
	--type-simple-fg: 215 16% 40%;
	--type-variable-bg: 263 60% 94%;
	--type-variable-fg: 263 60% 42%;
	--type-variation-bg: 270 50% 94%;
	--type-variation-fg: 270 50% 42%;
	--type-grouped-bg: 221 83% 93%;
	--type-grouped-fg: 221 65% 40%;
	--type-external-bg: 25 95% 92%;
	--type-external-fg: 21 90% 38%;
	--type-virtual-bg: 174 62% 90%;
	--type-virtual-fg: 175 77% 26%;
	--type-downloadable-bg: 142 64% 91%;
	--type-downloadable-fg: 142 72% 29%;

	--info: 221 83% 53%;
	--info-bg: 214 100% 97%;
	--info-border: 214 96% 85%;
	--info-fg: 221 83% 25%;
	--info-text: 221 83% 45%;

	--warning: 38 92% 50%;
	--warning-bg: 48 100% 96%;
	--warning-border: 44 97% 80%;
	--warning-fg: 21 83% 25%;

	--row-child-bg: 221 60% 99%;
	--row-child-bg-hover: 221 60% 97%;

	--font-sans: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
}

.zexst-app.dark {
	--background: 222.2 84% 4.9%;
	--foreground: 210 40% 98%;

	--card: 222.2 84% 4.9%;
	--card-foreground: 210 40% 98%;

	--popover: 222.2 84% 4.9%;
	--popover-foreground: 210 40% 98%;

	--primary: 251 67% 55%;
	--primary-foreground: 0 0% 100%;

	--secondary: 217.2 32.6% 17.5%;
	--secondary-foreground: 210 40% 98%;

	--muted: 217.2 32.6% 17.5%;
	--muted-foreground: 215 20.2% 65.1%;

	--accent: 217.2 32.6% 17.5%;
	--accent-foreground: 210 40% 98%;

	--destructive: 0 62.8% 30.6%;
	--destructive-foreground: 210 40% 98%;

	--border: 217.2 32.6% 17.5%;
	--input: 217.2 32.6% 17.5%;
	--ring: 221 83% 53%;

	--status-in-stock: 142 76% 36%;
	--status-in-stock-bg: 142 61% 13%;
	--status-in-stock-fg: 142 76% 73%;
	--status-in-stock-text: 142 76% 73%;

	--status-low-stock: 38 92% 50%;
	--status-low-stock-bg: 21 60% 13%;
	--status-low-stock-fg: 38 80% 72%;
	--status-low-stock-text: 38 92% 50%;

	--status-out-of-stock: 0 84% 60%;
	--status-out-of-stock-bg: 0 62% 13%;
	--status-out-of-stock-fg: 0 76% 72%;
	--status-out-of-stock-text: 0 91% 68%;

	--type-simple-bg: 215 27% 20%;
	--type-simple-fg: 215 16% 75%;
	--type-variable-bg: 263 50% 20%;
	--type-variable-fg: 263 55% 78%;
	--type-variation-bg: 270 40% 20%;
	--type-variation-fg: 270 50% 78%;
	--type-grouped-bg: 221 55% 20%;
	--type-grouped-fg: 221 65% 78%;
	--type-external-bg: 21 60% 18%;
	--type-external-fg: 25 90% 75%;
	--type-virtual-bg: 175 55% 15%;
	--type-virtual-fg: 174 62% 72%;
	--type-downloadable-bg: 142 55% 15%;
	--type-downloadable-fg: 142 64% 72%;

	--info: 221 83% 53%;
	--info-bg: 221 70% 13%;
	--info-border: 221 60% 30%;
	--info-fg: 221 70% 80%;
	--info-text: 221 65% 65%;

	--warning: 38 92% 50%;
	--warning-bg: 21 60% 12%;
	--warning-border: 21 60% 30%;
	--warning-fg: 38 80% 72%;

	--row-child-bg: 221 60% 11%;
	--row-child-bg-hover: 221 60% 15%;
}

.zexst-app {
	font-family: var(--font-sans);
	color: hsl(var(--foreground));
	background-color: hsl(var(--background));
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	box-sizing: border-box;
}

.zexst-app *,
.zexst-app *::before,
.zexst-app *::after {
	box-sizing: inherit;
	border-color: hsl(var(--border));

	border-style: solid;
	border-width: 0;
}

.zexst-app :focus-visible {
	outline: 2px solid hsl(var(--ring));
	outline-offset: 2px;
}

.zexst-app button {
	background-color: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-align: right;
	line-height: inherit;
}

.zexst-app input:not([type="checkbox"]):not([type="radio"]),
.zexst-app select,
.zexst-app textarea {
	font: inherit;
	color: inherit;
	background-color: transparent;
	box-shadow: none;
	margin: 0;
}

.zexst-app.z-\[100001\] {
	z-index: 100001 !important;
}

.zexst-app.z-50 {
	z-index: 50 !important;
}

.zexst-app.z-40 {
	z-index: 40 !important;
}

.zexst-app.z-30 {
	z-index: 30 !important;
}

.zexst-app.fixed {
	position: fixed !important;
}

.zexst-app.inset-0 {
	inset: 0 !important;
}

.zexst-app.left-\[50\%\] {
	right: 50% !important;
}

.zexst-app.top-\[50\%\] {
	top: 50% !important;
}

.zexst-app.bg-black\/80 {
	background-color: rgb(0 0 0 / 0.8) !important;
}

.zexst-app.bg-background {
	background-color: hsl(var(--background)) !important;
}

.zexst-app.bg-popover {
	background-color: hsl(var(--popover)) !important;
}

.zexst-app.text-popover-foreground {
	color: hsl(var(--popover-foreground)) !important;
}

.zexst-app.rounded-md {
	border-radius: 0.375rem !important;
}

.zexst-app.border {
	border-width: 1px !important;
	border-style: solid !important;
	border-color: hsl(var(--border)) !important;
}

.zexst-app.overflow-hidden {
	overflow: hidden !important;
}

.zexst-app.p-1 {
	padding: 0.25rem !important;
}

.zexst-app.p-4 {
	padding: 1rem !important;
}

.zexst-app.min-w-\[8rem\] {
	min-width: 8rem !important;
}

.zexst-app.w-48 {
	width: 12rem !important;
}

.zexst-app.w-52 {
	width: 13rem !important;
}

.zexst-app.w-56 {
	width: 14rem !important;
}

.zexst-app.w-64 {
	width: 16rem !important;
}

.zexst-app.w-72 {
	width: 18rem !important;
}

.zexst-app.shadow-md {
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
}

.zexst-app.shadow-lg {
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
}

.zexst-app tr[data-state="selected"] > td {
	background-color: hsl(var(--primary) / 0.06) !important;
}

.zexst-app [role="switch"] > span[data-state="checked"] {
	transform: translateX(-1rem) !important;
}

.zexst-app [role="switch"] > span[data-state="unchecked"] {
	transform: translateX(0) !important;
}

.container{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem
}
@media (min-width: 640px){
    .container{
        max-width: 640px
    }
}
@media (min-width: 768px){
    .container{
        max-width: 768px
    }
}
@media (min-width: 1024px){
    .container{
        max-width: 1024px
    }
}
@media (min-width: 1280px){
    .container{
        max-width: 1280px
    }
}
@media (min-width: 1536px){
    .container{
        max-width: 1536px
    }
}
.zexst-app .sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}
.zexst-app .pointer-events-none{
    pointer-events: none
}
.zexst-app .invisible{
    visibility: hidden
}
.zexst-app .fixed{
    position: fixed
}
.zexst-app .absolute{
    position: absolute
}
.zexst-app .relative{
    position: relative
}
.zexst-app .sticky{
    position: sticky
}
.zexst-app .inset-0{
    inset: 0px
}
.zexst-app .inset-y-0{
    top: 0px;
    bottom: 0px
}
.zexst-app .left-1{
    right: 0.25rem
}
.zexst-app .left-2{
    right: 0.5rem
}
.zexst-app .left-2\.5{
    right: 0.625rem
}
.zexst-app .left-\[50\%\]{
    right: 50%
}
.zexst-app .right-0{
    left: 0px
}
.zexst-app .right-1{
    left: 0.25rem
}
.zexst-app .right-2{
    left: 0.5rem
}
.zexst-app .right-4{
    left: 1rem
}
.zexst-app .top-0{
    top: 0px
}
.zexst-app .top-4{
    top: 1rem
}
.zexst-app .top-\[50\%\]{
    top: 50%
}
.zexst-app .z-10{
    z-index: 10
}
.zexst-app .z-20{
    z-index: 20
}
.zexst-app .z-30{
    z-index: 30
}
.zexst-app .z-50{
    z-index: 50
}
.zexst-app .z-\[100001\]{
    z-index: 100001
}
.zexst-app .z-\[10000\]{
    z-index: 10000
}
.zexst-app .z-\[9999\]{
    z-index: 9999
}
.zexst-app .-mx-1{
    margin-right: -0.25rem;
    margin-left: -0.25rem
}
.zexst-app .mx-auto{
    margin-right: auto;
    margin-left: auto
}
.zexst-app .my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem
}
.zexst-app .my-auto{
    margin-top: auto;
    margin-bottom: auto
}
.zexst-app .mb-1{
    margin-bottom: 0.25rem
}
.zexst-app .mb-3{
    margin-bottom: 0.75rem
}
.zexst-app .mb-4{
    margin-bottom: 1rem
}
.zexst-app .mb-6{
    margin-bottom: 1.5rem
}
.zexst-app .ml-1{
    margin-right: 0.25rem
}
.zexst-app .ml-auto{
    margin-right: auto
}
.zexst-app .mr-1{
    margin-left: 0.25rem
}
.zexst-app .mr-1\.5{
    margin-left: 0.375rem
}
.zexst-app .mr-2{
    margin-left: 0.5rem
}
.zexst-app .mt-0\.5{
    margin-top: 0.125rem
}
.zexst-app .mt-1{
    margin-top: 0.25rem
}
.zexst-app .mt-1\.5{
    margin-top: 0.375rem
}
.zexst-app .mt-2{
    margin-top: 0.5rem
}
.zexst-app .mt-3{
    margin-top: 0.75rem
}
.zexst-app .mt-4{
    margin-top: 1rem
}
.zexst-app .mt-6{
    margin-top: 1.5rem
}
.zexst-app .line-clamp-1{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
}
.zexst-app .block{
    display: block
}
.zexst-app .inline-block{
    display: inline-block
}
.zexst-app .flex{
    display: flex
}
.zexst-app .inline-flex{
    display: inline-flex
}
.zexst-app .table{
    display: table
}
.zexst-app .grid{
    display: grid
}
.zexst-app .hidden{
    display: none
}
.zexst-app .h-10{
    height: 2.5rem
}
.zexst-app .h-12{
    height: 3rem
}
.zexst-app .h-14{
    height: 3.5rem
}
.zexst-app .h-2{
    height: 0.5rem
}
.zexst-app .h-3{
    height: 0.75rem
}
.zexst-app .h-3\.5{
    height: 0.875rem
}
.zexst-app .h-32{
    height: 8rem
}
.zexst-app .h-4{
    height: 1rem
}
.zexst-app .h-48{
    height: 12rem
}
.zexst-app .h-5{
    height: 1.25rem
}
.zexst-app .h-6{
    height: 1.5rem
}
.zexst-app .h-7{
    height: 1.75rem
}
.zexst-app .h-8{
    height: 2rem
}
.zexst-app .h-9{
    height: 2.25rem
}
.zexst-app .h-\[var\(--radix-select-trigger-height\)\]{
    height: var(--radix-select-trigger-height)
}
.zexst-app .h-auto{
    height: auto
}
.zexst-app .h-full{
    height: 100%
}
.zexst-app .h-px{
    height: 1px
}
.zexst-app .max-h-56{
    max-height: 14rem
}
.zexst-app .max-h-96{
    max-height: 24rem
}
.zexst-app .max-h-\[70vh\]{
    max-height: 70vh
}
.zexst-app .max-h-\[calc\(100vh-220px\)\]{
    max-height: calc(100vh - 220px)
}
.zexst-app .max-h-\[min\(50vh\2c 16rem\)\]{
    max-height: min(50vh, 16rem)
}
.zexst-app .min-h-screen{
    min-height: 100vh
}
.zexst-app .w-1{
    width: 0.25rem
}
.zexst-app .w-10{
    width: 2.5rem
}
.zexst-app .w-16{
    width: 4rem
}
.zexst-app .w-2{
    width: 0.5rem
}
.zexst-app .w-20{
    width: 5rem
}
.zexst-app .w-24{
    width: 6rem
}
.zexst-app .w-28{
    width: 7rem
}
.zexst-app .w-3{
    width: 0.75rem
}
.zexst-app .w-3\.5{
    width: 0.875rem
}
.zexst-app .w-32{
    width: 8rem
}
.zexst-app .w-36{
    width: 9rem
}
.zexst-app .w-4{
    width: 1rem
}
.zexst-app .w-40{
    width: 10rem
}
.zexst-app .w-48{
    width: 12rem
}
.zexst-app .w-5{
    width: 1.25rem
}
.zexst-app .w-52{
    width: 13rem
}
.zexst-app .w-56{
    width: 14rem
}
.zexst-app .w-6{
    width: 1.5rem
}
.zexst-app .w-7{
    width: 1.75rem
}
.zexst-app .w-72{
    width: 18rem
}
.zexst-app .w-8{
    width: 2rem
}
.zexst-app .w-9{
    width: 2.25rem
}
.zexst-app .w-\[110px\]{
    width: 110px
}
.zexst-app .w-auto{
    width: auto
}
.zexst-app .w-full{
    width: 100%
}
.zexst-app .min-w-0{
    min-width: 0px
}
.zexst-app .min-w-\[8rem\]{
    min-width: 8rem
}
.zexst-app .min-w-\[var\(--radix-select-trigger-width\)\]{
    min-width: var(--radix-select-trigger-width)
}
.zexst-app .max-w-\[1100px\]{
    max-width: 1100px
}
.zexst-app .max-w-\[140px\]{
    max-width: 140px
}
.zexst-app .max-w-\[225px\]{
    max-width: 225px
}
.zexst-app .max-w-lg{
    max-width: 32rem
}
.zexst-app .max-w-xs{
    max-width: 20rem
}
.zexst-app .flex-1{
    flex: 1 1 0%
}
.zexst-app .flex-shrink-0{
    flex-shrink: 0
}
.zexst-app .shrink-0{
    flex-shrink: 0
}
.zexst-app .caption-bottom{
    caption-side: bottom
}
.zexst-app .border-collapse{
    border-collapse: collapse
}
.zexst-app .transform{
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
@keyframes pulse{
    50%{
        opacity: .5
    }
}
.zexst-app .animate-pulse{
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite
}
@keyframes spin{
    to{
        transform: rotate(-360deg)
    }
}
.zexst-app .animate-spin{
    animation: spin 1s linear infinite
}
.zexst-app .cursor-col-resize{
    cursor: col-resize
}
.zexst-app .cursor-default{
    cursor: default
}
.zexst-app .cursor-not-allowed{
    cursor: not-allowed
}
.zexst-app .cursor-pointer{
    cursor: pointer
}
.zexst-app .touch-none{
    touch-action: none
}
.zexst-app .select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none
}
.zexst-app .resize{
    resize: both
}
.zexst-app .grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr))
}
.zexst-app .grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr))
}
.zexst-app .flex-row{
    flex-direction: row
}
.zexst-app .flex-col{
    flex-direction: column
}
.zexst-app .flex-col-reverse{
    flex-direction: column-reverse
}
.zexst-app .flex-wrap{
    flex-wrap: wrap
}
.zexst-app .items-start{
    align-items: flex-start
}
.zexst-app .items-center{
    align-items: center
}
.zexst-app .justify-start{
    justify-content: flex-start
}
.zexst-app .justify-end{
    justify-content: flex-end
}
.zexst-app .justify-center{
    justify-content: center
}
.zexst-app .justify-between{
    justify-content: space-between
}
.zexst-app .gap-0{
    gap: 0px
}
.zexst-app .gap-0\.5{
    gap: 0.125rem
}
.zexst-app .gap-1{
    gap: 0.25rem
}
.zexst-app .gap-1\.5{
    gap: 0.375rem
}
.zexst-app .gap-2{
    gap: 0.5rem
}
.zexst-app .gap-2\.5{
    gap: 0.625rem
}
.zexst-app .gap-3{
    gap: 0.75rem
}
.zexst-app .gap-4{
    gap: 1rem
}
.zexst-app .gap-5{
    gap: 1.25rem
}
.zexst-app .gap-6{
    gap: 1.5rem
}
.zexst-app .gap-x-3{
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem
}
.zexst-app .gap-y-2{
    row-gap: 0.5rem
}
.zexst-app :is(.space-x-1 > :not([hidden]) ~ :not([hidden])){
    --tw-space-x-reverse: 0;
    margin-left: calc(0.25rem * var(--tw-space-x-reverse));
    margin-right: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))
}
.zexst-app :is(.space-y-0 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse))
}
.zexst-app :is(.space-y-1 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse))
}
.zexst-app :is(.space-y-1\.5 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse))
}
.zexst-app :is(.space-y-2 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse))
}
.zexst-app :is(.space-y-3 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse))
}
.zexst-app :is(.space-y-4 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}
.zexst-app :is(.space-y-6 > :not([hidden]) ~ :not([hidden])){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
}
.zexst-app .overflow-auto{
    overflow: auto
}
.zexst-app .overflow-hidden{
    overflow: hidden
}
.zexst-app .overflow-x-auto{
    overflow-x: auto
}
.zexst-app .overflow-y-auto{
    overflow-y: auto
}
.zexst-app .overflow-x-hidden{
    overflow-x: hidden
}
.zexst-app .truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}
.zexst-app .whitespace-nowrap{
    white-space: nowrap
}
.zexst-app .rounded{
    border-radius: 0.25rem
}
.zexst-app .rounded-full{
    border-radius: 9999px
}
.zexst-app .rounded-lg{
    border-radius: var(--radius)
}
.zexst-app .rounded-md{
    border-radius: calc(var(--radius) - 2px)
}
.zexst-app .rounded-sm{
    border-radius: calc(var(--radius) - 4px)
}
.zexst-app .rounded-xl{
    border-radius: 0.75rem
}
.zexst-app .rounded-l-none{
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px
}
.zexst-app .rounded-r-none{
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px
}
.zexst-app .border{
    border-width: 1px
}
.zexst-app .border-0{
    border-width: 0px
}
.zexst-app .border-2{
    border-width: 2px
}
.zexst-app .border-b{
    border-bottom-width: 1px
}
.zexst-app .border-l-2{
    border-right-width: 2px
}
.zexst-app .border-l-4{
    border-right-width: 4px
}
.zexst-app .border-r-0{
    border-left-width: 0px
}
.zexst-app .border-t{
    border-top-width: 1px
}
.zexst-app .border-solid{
    border-style: solid
}
.zexst-app .border-border{
    border-color: hsl(var(--border))
}
.zexst-app .border-destructive{
    border-color: hsl(var(--destructive))
}
.zexst-app .border-info{
    border-color: hsl(var(--info))
}
.zexst-app .border-input{
    border-color: hsl(var(--input))
}
.zexst-app .border-primary{
    border-color: hsl(var(--primary))
}
.zexst-app .border-primary\/40{
    border-color: hsl(var(--primary) / 0.4)
}
.zexst-app .border-transparent{
    border-color: transparent
}
.zexst-app .border-warning\/60{
    border-color: hsl(var(--warning) / 0.6)
}
.zexst-app .border-zinc-500{
    --tw-border-opacity: 1;
    border-color: rgb(113 113 122 / var(--tw-border-opacity, 1))
}
.zexst-app .border-zinc-600{
    --tw-border-opacity: 1;
    border-color: rgb(82 82 91 / var(--tw-border-opacity, 1))
}
.zexst-app .border-l-primary{
    border-right-color: hsl(var(--primary))
}
.zexst-app .border-l-status-in-stock{
    border-right-color: hsl(var(--status-in-stock))
}
.zexst-app .border-l-status-low-stock{
    border-right-color: hsl(var(--status-low-stock))
}
.zexst-app .border-l-status-out-of-stock{
    border-right-color: hsl(var(--status-out-of-stock))
}
.zexst-app .border-t-transparent{
    border-top-color: transparent
}
.zexst-app .\!bg-info-bg{
    background-color: hsl(var(--info-bg)) !important
}
.zexst-app .\!bg-row-child-bg{
    background-color: hsl(var(--row-child-bg)) !important
}
.zexst-app .bg-\[hsl\(var\(--status-in-stock\)\)\]{
    background-color: hsl(var(--status-in-stock))
}
.zexst-app .bg-\[hsl\(var\(--status-low-stock\)\)\]{
    background-color: hsl(var(--status-low-stock))
}
.zexst-app .bg-\[hsl\(var\(--status-out-of-stock\)\)\]{
    background-color: hsl(var(--status-out-of-stock))
}
.zexst-app .bg-accent{
    background-color: hsl(var(--accent))
}
.zexst-app .bg-background{
    background-color: hsl(var(--background))
}
.zexst-app .bg-black\/50{
    background-color: rgb(0 0 0 / 0.5)
}
.zexst-app .bg-black\/80{
    background-color: rgb(0 0 0 / 0.8)
}
.zexst-app .bg-card{
    background-color: hsl(var(--card))
}
.zexst-app .bg-destructive{
    background-color: hsl(var(--destructive))
}
.zexst-app .bg-info-bg{
    background-color: hsl(var(--info-bg))
}
.zexst-app .bg-muted{
    background-color: hsl(var(--muted))
}
.zexst-app .bg-muted\/20{
    background-color: hsl(var(--muted) / 0.2)
}
.zexst-app .bg-muted\/30{
    background-color: hsl(var(--muted) / 0.3)
}
.zexst-app .bg-muted\/50{
    background-color: hsl(var(--muted) / 0.5)
}
.zexst-app .bg-popover{
    background-color: hsl(var(--popover))
}
.zexst-app .bg-primary{
    background-color: hsl(var(--primary))
}
.zexst-app .bg-primary\/10{
    background-color: hsl(var(--primary) / 0.1)
}
.zexst-app .bg-primary\/60{
    background-color: hsl(var(--primary) / 0.6)
}
.zexst-app .bg-row-child-bg\/30{
    background-color: hsl(var(--row-child-bg) / 0.3)
}
.zexst-app .bg-secondary{
    background-color: hsl(var(--secondary))
}
.zexst-app .bg-status-in-stock-bg{
    background-color: hsl(var(--status-in-stock-bg))
}
.zexst-app .bg-status-low-stock-bg{
    background-color: hsl(var(--status-low-stock-bg))
}
.zexst-app .bg-status-out-of-stock-bg{
    background-color: hsl(var(--status-out-of-stock-bg))
}
.zexst-app .bg-transparent{
    background-color: transparent
}
.zexst-app .bg-type-downloadable-bg{
    background-color: hsl(var(--type-downloadable-bg))
}
.zexst-app .bg-type-external-bg{
    background-color: hsl(var(--type-external-bg))
}
.zexst-app .bg-type-grouped-bg{
    background-color: hsl(var(--type-grouped-bg))
}
.zexst-app .bg-type-simple-bg{
    background-color: hsl(var(--type-simple-bg))
}
.zexst-app .bg-type-variable-bg{
    background-color: hsl(var(--type-variable-bg))
}
.zexst-app .bg-type-variation-bg{
    background-color: hsl(var(--type-variation-bg))
}
.zexst-app .bg-type-virtual-bg{
    background-color: hsl(var(--type-virtual-bg))
}
.zexst-app .bg-warning-bg{
    background-color: hsl(var(--warning-bg))
}
.zexst-app .bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}
.zexst-app .bg-zinc-700{
    --tw-bg-opacity: 1;
    background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1))
}
.zexst-app .bg-zinc-800{
    --tw-bg-opacity: 1;
    background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1))
}
.zexst-app .fill-current{
    fill: currentColor
}
.zexst-app .object-cover{
    -o-object-fit: cover;
       object-fit: cover
}
.zexst-app .p-0{
    padding: 0px
}
.zexst-app .p-0\.5{
    padding: 0.125rem
}
.zexst-app .p-1{
    padding: 0.25rem
}
.zexst-app .p-2{
    padding: 0.5rem
}
.zexst-app .p-3{
    padding: 0.75rem
}
.zexst-app .p-4{
    padding: 1rem
}
.zexst-app .p-6{
    padding: 1.5rem
}
.zexst-app .px-1\.5{
    padding-right: 0.375rem;
    padding-left: 0.375rem
}
.zexst-app .px-2{
    padding-right: 0.5rem;
    padding-left: 0.5rem
}
.zexst-app .px-2\.5{
    padding-right: 0.625rem;
    padding-left: 0.625rem
}
.zexst-app .px-3{
    padding-right: 0.75rem;
    padding-left: 0.75rem
}
.zexst-app .px-4{
    padding-right: 1rem;
    padding-left: 1rem
}
.zexst-app .px-5{
    padding-right: 1.25rem;
    padding-left: 1.25rem
}
.zexst-app .px-8{
    padding-right: 2rem;
    padding-left: 2rem
}
.zexst-app .px-\[3px\]{
    padding-right: 3px;
    padding-left: 3px
}
.zexst-app .py-0{
    padding-top: 0px;
    padding-bottom: 0px
}
.zexst-app .py-0\.5{
    padding-top: 0.125rem;
    padding-bottom: 0.125rem
}
.zexst-app .py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem
}
.zexst-app .py-1\.5{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem
}
.zexst-app .py-12{
    padding-top: 3rem;
    padding-bottom: 3rem
}
.zexst-app .py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem
}
.zexst-app .py-2\.5{
    padding-top: 0.625rem;
    padding-bottom: 0.625rem
}
.zexst-app .py-24{
    padding-top: 6rem;
    padding-bottom: 6rem
}
.zexst-app .py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}
.zexst-app .py-4{
    padding-top: 1rem;
    padding-bottom: 1rem
}
.zexst-app .py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}
.zexst-app .py-8{
    padding-top: 2rem;
    padding-bottom: 2rem
}
.zexst-app .pb-1{
    padding-bottom: 0.25rem
}
.zexst-app .pb-2{
    padding-bottom: 0.5rem
}
.zexst-app .pb-3{
    padding-bottom: 0.75rem
}
.zexst-app .pl-2{
    padding-right: 0.5rem
}
.zexst-app .pl-6{
    padding-right: 1.5rem
}
.zexst-app .pl-8{
    padding-right: 2rem
}
.zexst-app .pr-1{
    padding-left: 0.25rem
}
.zexst-app .pr-2{
    padding-left: 0.5rem
}
.zexst-app .pr-7{
    padding-left: 1.75rem
}
.zexst-app .pr-8{
    padding-left: 2rem
}
.zexst-app .pt-0{
    padding-top: 0px
}
.zexst-app .pt-1{
    padding-top: 0.25rem
}
.zexst-app .pt-4{
    padding-top: 1rem
}
.zexst-app .text-left{
    text-align: right
}
.zexst-app .text-center{
    text-align: center
}
.zexst-app .align-middle{
    vertical-align: middle
}
.zexst-app .font-mono{
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}
.zexst-app .text-2xl{
    font-size: 1.5rem;
    line-height: 2rem
}
.zexst-app .text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem
}
.zexst-app .text-\[0\.8rem\]{
    font-size: 0.8rem
}
.zexst-app .text-base{
    font-size: 1rem;
    line-height: 1.5rem
}
.zexst-app .text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem
}
.zexst-app .text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem
}
.zexst-app .text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem
}
.zexst-app .text-xs{
    font-size: 0.75rem;
    line-height: 1rem
}
.zexst-app .font-bold{
    font-weight: 700
}
.zexst-app .font-medium{
    font-weight: 500
}
.zexst-app .font-normal{
    font-weight: 400
}
.zexst-app .font-semibold{
    font-weight: 600
}
.zexst-app .uppercase{
    text-transform: uppercase
}
.zexst-app .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)
}
.zexst-app .leading-none{
    line-height: 1
}
.zexst-app .leading-relaxed{
    line-height: 1.625
}
.zexst-app .leading-snug{
    line-height: 1.375
}
.zexst-app .leading-tight{
    line-height: 1.25
}
.zexst-app .tracking-tight{
    letter-spacing: -0.025em
}
.zexst-app .tracking-widest{
    letter-spacing: 0.1em
}
.zexst-app .text-accent-foreground{
    color: hsl(var(--accent-foreground))
}
.zexst-app .text-card-foreground{
    color: hsl(var(--card-foreground))
}
.zexst-app .text-current{
    color: currentColor
}
.zexst-app .text-destructive{
    color: hsl(var(--destructive))
}
.zexst-app .text-destructive-foreground{
    color: hsl(var(--destructive-foreground))
}
.zexst-app .text-foreground{
    color: hsl(var(--foreground))
}
.zexst-app .text-info-text{
    color: hsl(var(--info-text))
}
.zexst-app .text-muted-foreground{
    color: hsl(var(--muted-foreground))
}
.zexst-app .text-muted-foreground\/40{
    color: hsl(var(--muted-foreground) / 0.4)
}
.zexst-app .text-popover-foreground{
    color: hsl(var(--popover-foreground))
}
.zexst-app .text-primary{
    color: hsl(var(--primary))
}
.zexst-app .text-primary-foreground{
    color: hsl(var(--primary-foreground))
}
.zexst-app .text-secondary-foreground{
    color: hsl(var(--secondary-foreground))
}
.zexst-app .text-status-in-stock{
    color: hsl(var(--status-in-stock))
}
.zexst-app .text-status-in-stock-fg{
    color: hsl(var(--status-in-stock-fg))
}
.zexst-app .text-status-in-stock-text{
    color: hsl(var(--status-in-stock-text))
}
.zexst-app .text-status-low-stock{
    color: hsl(var(--status-low-stock))
}
.zexst-app .text-status-low-stock-fg{
    color: hsl(var(--status-low-stock-fg))
}
.zexst-app .text-status-low-stock-text{
    color: hsl(var(--status-low-stock-text))
}
.zexst-app .text-status-out-of-stock{
    color: hsl(var(--status-out-of-stock))
}
.zexst-app .text-status-out-of-stock-fg{
    color: hsl(var(--status-out-of-stock-fg))
}
.zexst-app .text-status-out-of-stock-text{
    color: hsl(var(--status-out-of-stock-text))
}
.zexst-app .text-type-downloadable-fg{
    color: hsl(var(--type-downloadable-fg))
}
.zexst-app .text-type-external-fg{
    color: hsl(var(--type-external-fg))
}
.zexst-app .text-type-grouped-fg{
    color: hsl(var(--type-grouped-fg))
}
.zexst-app .text-type-simple-fg{
    color: hsl(var(--type-simple-fg))
}
.zexst-app .text-type-variable-fg{
    color: hsl(var(--type-variable-fg))
}
.zexst-app .text-type-variation-fg{
    color: hsl(var(--type-variation-fg))
}
.zexst-app .text-type-virtual-fg{
    color: hsl(var(--type-virtual-fg))
}
.zexst-app .text-warning-fg{
    color: hsl(var(--warning-fg))
}
.zexst-app .text-white{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}
.zexst-app .text-zinc-100{
    --tw-text-opacity: 1;
    color: rgb(244 244 245 / var(--tw-text-opacity, 1))
}
.zexst-app .text-zinc-400{
    --tw-text-opacity: 1;
    color: rgb(161 161 170 / var(--tw-text-opacity, 1))
}
.zexst-app .underline{
    text-decoration-line: underline
}
.zexst-app .no-underline{
    text-decoration-line: none
}
.zexst-app .underline-offset-4{
    text-underline-offset: 4px
}
.zexst-app .accent-primary{
    accent-color: hsl(var(--primary))
}
.zexst-app .opacity-0{
    opacity: 0
}
.zexst-app .opacity-100{
    opacity: 1
}
.zexst-app .opacity-50{
    opacity: 0.5
}
.zexst-app .opacity-60{
    opacity: 0.6
}
.zexst-app .opacity-70{
    opacity: 0.7
}
.zexst-app .shadow{
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.zexst-app .shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.zexst-app .shadow-lg{
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.zexst-app .shadow-md{
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.zexst-app .shadow-none{
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.zexst-app .shadow-sm{
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.zexst-app .outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px
}
.zexst-app .outline{
    outline-style: solid
}
.zexst-app .ring-0{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.zexst-app .ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.zexst-app .ring-info{
    --tw-ring-color: hsl(var(--info))
}
.zexst-app .ring-offset-background{
    --tw-ring-offset-color: hsl(var(--background))
}
.zexst-app .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)
}
.zexst-app .backdrop-blur-sm{
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}
.zexst-app .transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.zexst-app .transition-colors{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.zexst-app .transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.zexst-app .transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.zexst-app .duration-200{
    transition-duration: 200ms
}
.zexst-app .placeholder\:text-muted-foreground::-moz-placeholder{
    color: hsl(var(--muted-foreground))
}
.zexst-app .placeholder\:text-muted-foreground::placeholder{
    color: hsl(var(--muted-foreground))
}
.zexst-app .last\:border-b-0:last-child{
    border-bottom-width: 0px
}
.zexst-app .focus-within\:relative:focus-within{
    position: relative
}
.zexst-app .focus-within\:z-20:focus-within{
    z-index: 20
}
.zexst-app .hover\:\!bg-row-child-bg-hover:hover{
    background-color: hsl(var(--row-child-bg-hover)) !important
}
.zexst-app .hover\:bg-accent:hover{
    background-color: hsl(var(--accent))
}
.zexst-app .hover\:bg-border:hover{
    background-color: hsl(var(--border))
}
.zexst-app .hover\:bg-destructive\/80:hover{
    background-color: hsl(var(--destructive) / 0.8)
}
.zexst-app .hover\:bg-destructive\/90:hover{
    background-color: hsl(var(--destructive) / 0.9)
}
.zexst-app .hover\:bg-muted:hover{
    background-color: hsl(var(--muted))
}
.zexst-app .hover\:bg-muted\/50:hover{
    background-color: hsl(var(--muted) / 0.5)
}
.zexst-app .hover\:bg-muted\/60:hover{
    background-color: hsl(var(--muted) / 0.6)
}
.zexst-app .hover\:bg-muted\/80:hover{
    background-color: hsl(var(--muted) / 0.8)
}
.zexst-app .hover\:bg-primary:hover{
    background-color: hsl(var(--primary))
}
.zexst-app .hover\:bg-primary\/80:hover{
    background-color: hsl(var(--primary) / 0.8)
}
.zexst-app .hover\:bg-primary\/90:hover{
    background-color: hsl(var(--primary) / 0.9)
}
.zexst-app .hover\:bg-secondary\/80:hover{
    background-color: hsl(var(--secondary) / 0.8)
}
.zexst-app .hover\:bg-zinc-600:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(82 82 91 / var(--tw-bg-opacity, 1))
}
.zexst-app .hover\:text-accent-foreground:hover{
    color: hsl(var(--accent-foreground))
}
.zexst-app .hover\:text-foreground:hover{
    color: hsl(var(--foreground))
}
.zexst-app .hover\:text-info-fg:hover{
    color: hsl(var(--info-fg))
}
.zexst-app .hover\:text-primary-foreground:hover{
    color: hsl(var(--primary-foreground))
}
.zexst-app .hover\:text-zinc-100:hover{
    --tw-text-opacity: 1;
    color: rgb(244 244 245 / var(--tw-text-opacity, 1))
}
.zexst-app .hover\:underline:hover{
    text-decoration-line: underline
}
.zexst-app .hover\:no-underline:hover{
    text-decoration-line: none
}
.zexst-app .hover\:opacity-100:hover{
    opacity: 1
}
.zexst-app .hover\:opacity-80:hover{
    opacity: 0.8
}
.zexst-app .focus\:z-10:focus{
    z-index: 10
}
.zexst-app .focus\:border-ring:focus{
    border-color: hsl(var(--ring))
}
.zexst-app .focus\:bg-accent:focus{
    background-color: hsl(var(--accent))
}
.zexst-app .focus\:bg-primary:focus{
    background-color: hsl(var(--primary))
}
.zexst-app .focus\:text-accent-foreground:focus{
    color: hsl(var(--accent-foreground))
}
.zexst-app .focus\:text-primary-foreground:focus{
    color: hsl(var(--primary-foreground))
}
.zexst-app .focus\:outline-none:focus{
    outline: 2px solid transparent;
    outline-offset: 2px
}
.zexst-app .focus\:ring-0:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.zexst-app .focus\:ring-1:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.zexst-app .focus\:ring-2:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.zexst-app .focus\:ring-ring:focus{
    --tw-ring-color: hsl(var(--ring))
}
.zexst-app .focus\:ring-offset-2:focus{
    --tw-ring-offset-width: 2px
}
.zexst-app .focus-visible\:outline-none:focus-visible{
    outline: 2px solid transparent;
    outline-offset: 2px
}
.zexst-app .focus-visible\:ring-1:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.zexst-app .focus-visible\:ring-2:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.zexst-app .focus-visible\:ring-destructive:focus-visible{
    --tw-ring-color: hsl(var(--destructive))
}
.zexst-app .focus-visible\:ring-ring:focus-visible{
    --tw-ring-color: hsl(var(--ring))
}
.zexst-app .focus-visible\:ring-offset-2:focus-visible{
    --tw-ring-offset-width: 2px
}
.zexst-app .focus-visible\:ring-offset-background:focus-visible{
    --tw-ring-offset-color: hsl(var(--background))
}
.zexst-app .disabled\:pointer-events-none:disabled{
    pointer-events: none
}
.zexst-app .disabled\:cursor-not-allowed:disabled{
    cursor: not-allowed
}
.zexst-app .disabled\:opacity-40:disabled{
    opacity: 0.4
}
.zexst-app .disabled\:opacity-50:disabled{
    opacity: 0.5
}
.zexst-app :is(.group.toaster .group-\[\.toaster\]\:border-border){
    border-color: hsl(var(--border))
}
.zexst-app :is(.group.toast .group-\[\.toast\]\:bg-muted){
    background-color: hsl(var(--muted))
}
.zexst-app :is(.group.toast .group-\[\.toast\]\:bg-primary){
    background-color: hsl(var(--primary))
}
.zexst-app :is(.group.toaster .group-\[\.toaster\]\:bg-background){
    background-color: hsl(var(--background))
}
.zexst-app :is(.group.toast .group-\[\.toast\]\:text-muted-foreground){
    color: hsl(var(--muted-foreground))
}
.zexst-app :is(.group.toast .group-\[\.toast\]\:text-primary-foreground){
    color: hsl(var(--primary-foreground))
}
.zexst-app :is(.group.toaster .group-\[\.toaster\]\:text-foreground){
    color: hsl(var(--foreground))
}
.zexst-app :is(.group.toaster .group-\[\.toaster\]\:shadow-lg){
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.zexst-app .aria-selected\:bg-accent[aria-selected="true"]{
    background-color: hsl(var(--accent))
}
.zexst-app .aria-selected\:bg-accent\/50[aria-selected="true"]{
    background-color: hsl(var(--accent) / 0.5)
}
.zexst-app .aria-selected\:text-accent-foreground[aria-selected="true"]{
    color: hsl(var(--accent-foreground))
}
.zexst-app .aria-selected\:text-muted-foreground[aria-selected="true"]{
    color: hsl(var(--muted-foreground))
}
.zexst-app .aria-selected\:opacity-100[aria-selected="true"]{
    opacity: 1
}
.zexst-app .aria-selected\:opacity-30[aria-selected="true"]{
    opacity: 0.3
}
.zexst-app .data-\[disabled\]\:pointer-events-none[data-disabled]{
    pointer-events: none
}
.zexst-app .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"]{
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.zexst-app .data-\[side\=left\]\:-translate-x-1[data-side="left"]{
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.zexst-app .data-\[side\=right\]\:translate-x-1[data-side="right"]{
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.zexst-app .data-\[side\=top\]\:-translate-y-1[data-side="top"]{
    --tw-translate-y: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.zexst-app .data-\[state\=checked\]\:\!translate-x-4[data-state="checked"]{
    --tw-translate-x: 1rem !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important
}
.zexst-app .data-\[state\=unchecked\]\:\!translate-x-0[data-state="unchecked"]{
    --tw-translate-x: 0px !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important
}
.zexst-app .data-\[state\=active\]\:bg-background[data-state="active"]{
    background-color: hsl(var(--background))
}
.zexst-app .data-\[state\=checked\]\:bg-primary[data-state="checked"]{
    background-color: hsl(var(--primary))
}
.zexst-app .data-\[state\=indeterminate\]\:bg-primary[data-state="indeterminate"]{
    background-color: hsl(var(--primary))
}
.zexst-app .data-\[state\=open\]\:bg-accent[data-state="open"]{
    background-color: hsl(var(--accent))
}
.zexst-app .data-\[state\=unchecked\]\:bg-input[data-state="unchecked"]{
    background-color: hsl(var(--input))
}
.zexst-app .data-\[empty\=true\]\:text-muted-foreground[data-empty="true"]{
    color: hsl(var(--muted-foreground))
}
.zexst-app .data-\[empty\=true\]\:text-zinc-400[data-empty="true"]{
    --tw-text-opacity: 1;
    color: rgb(161 161 170 / var(--tw-text-opacity, 1))
}
.zexst-app .data-\[state\=active\]\:text-foreground[data-state="active"]{
    color: hsl(var(--foreground))
}
.zexst-app .data-\[state\=checked\]\:text-primary-foreground[data-state="checked"]{
    color: hsl(var(--primary-foreground))
}
.zexst-app .data-\[state\=indeterminate\]\:text-primary-foreground[data-state="indeterminate"]{
    color: hsl(var(--primary-foreground))
}
.zexst-app .data-\[state\=open\]\:text-muted-foreground[data-state="open"]{
    color: hsl(var(--muted-foreground))
}
.zexst-app .data-\[disabled\]\:opacity-50[data-disabled]{
    opacity: 0.5
}
.zexst-app .data-\[state\=active\]\:shadow[data-state="active"]{
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
@media (min-width: 640px){
    .zexst-app .sm\:max-w-xl{
        max-width: 36rem
    }
    .zexst-app .sm\:grid-cols-2{
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
    .zexst-app .sm\:grid-cols-3{
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
    .zexst-app .sm\:flex-row{
        flex-direction: row
    }
    .zexst-app .sm\:items-center{
        align-items: center
    }
    .zexst-app .sm\:justify-end{
        justify-content: flex-end
    }
    .zexst-app .sm\:justify-between{
        justify-content: space-between
    }
    .zexst-app :is(.sm\:space-x-2 > :not([hidden]) ~ :not([hidden])){
        --tw-space-x-reverse: 0;
        margin-left: calc(0.5rem * var(--tw-space-x-reverse));
        margin-right: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))
    }
    .zexst-app :is(.sm\:space-x-4 > :not([hidden]) ~ :not([hidden])){
        --tw-space-x-reverse: 0;
        margin-left: calc(1rem * var(--tw-space-x-reverse));
        margin-right: calc(1rem * calc(1 - var(--tw-space-x-reverse)))
    }
    .zexst-app :is(.sm\:space-y-0 > :not([hidden]) ~ :not([hidden])){
        --tw-space-y-reverse: 0;
        margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0px * var(--tw-space-y-reverse))
    }
    .zexst-app .sm\:rounded-lg{
        border-radius: var(--radius)
    }
    .zexst-app .sm\:text-left{
        text-align: right
    }
}
@media (min-width: 768px){
    .zexst-app .md\:flex{
        display: flex
    }
    .zexst-app .md\:hidden{
        display: none
    }
    .zexst-app .md\:p-6{
        padding: 1.5rem
    }
}
@media (min-width: 1024px){
    .zexst-app .lg\:grid-cols-2{
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}
@media (min-width: 1280px){
    .zexst-app .xl\:grid-cols-4{
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}
.zexst-app .\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){
    background-color: hsl(var(--accent))
}
.zexst-app .first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px)
}
.zexst-app .last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px)
}
.zexst-app .\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){
    background-color: hsl(var(--accent) / 0.5)
}
.zexst-app .\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px)
}
.zexst-app :is(.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]){
    --tw-translate-y: 2px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.zexst-app :is(.\[\&\>span\]\:line-clamp-1>span){
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
}
.zexst-app :is(.\[\&\>tr\]\:last\:border-b-0:last-child>tr){
    border-bottom-width: 0px
}
.zexst-app :is(.\[\&_svg\]\:pointer-events-none svg){
    pointer-events: none
}
.zexst-app :is(.\[\&_svg\]\:size-4 svg){
    width: 1rem;
    height: 1rem
}
.zexst-app :is(.\[\&_svg\]\:shrink-0 svg){
    flex-shrink: 0
}
.zexst-app :is(.\[\&_tr\:last-child\]\:border-0 tr:last-child){
    border-width: 0px
}
.zexst-app :is(.\[\&_tr\:nth-child\(even\)\]\:bg-muted\/40 tr:nth-child(even)){
    background-color: hsl(var(--muted) / 0.4)
}
.zexst-app :is(.\[\&_tr\]\:border-b tr){
    border-bottom-width: 1px
}

