@theme inline{@keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } } @keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } to { height: 0; } }}@custom-variant data-open{&:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) { @slot; }}@custom-variant data-closed{&:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) { @slot; }}@custom-variant data-checked{&:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) { @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) { @slot; }}@custom-variant data-selected{&:where([data-selected="true"]) { @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) { @slot; }}@custom-variant data-active{&:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) { @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) { @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]) { @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; }}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@theme inline{@keyframes scroll-fade-reveal-t { from { --scroll-fade-t: 0px; } to { --scroll-fade-t: var(--_scroll-fade-size-t,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-b { from { --scroll-fade-b: var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-b: 0px; } } @keyframes scroll-fade-reveal-s { from { --scroll-fade-s: 0px; } to { --scroll-fade-s: var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-e { from { --scroll-fade-e: var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-e: 0px; } }}@utility scroll-fade{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-y{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-x{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-inline: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-inline: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out, scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline), scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-t{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); }}@utility scroll-fade-b{--_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-l{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-r{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-s{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-e{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-*{--scroll-fade-size: calc(var(--spacing) * --value(integer)); --scroll-fade-size: --value([length], [percentage]);}@utility scroll-fade-t-*{--scroll-fade-t-size: calc(var(--spacing) * --value(integer)); --scroll-fade-t-size: --value([length], [percentage]);}@utility scroll-fade-b-*{--scroll-fade-b-size: calc(var(--spacing) * --value(integer)); --scroll-fade-b-size: --value([length], [percentage]);}@utility scroll-fade-s-*{--scroll-fade-s-size: calc(var(--spacing) * --value(integer)); --scroll-fade-s-size: --value([length], [percentage]);}@utility scroll-fade-e-*{--scroll-fade-e-size: calc(var(--spacing) * --value(integer)); --scroll-fade-e-size: --value([length], [percentage]);}@utility scroll-fade-none{--scroll-fade-mask: none;}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@theme inline{@keyframes tw-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }}@utility shimmer{--_spread: var(--shimmer-spread,calc(3ch + 40px)); --_base: currentColor; --_highlight: var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2))); background-image: var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread)))); background-repeat: no-repeat; background-size: calc(200% + var(--_spread) * 2) 100%; background-position: 0 0; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: var(--shimmer-text-fill,transparent); animation: tw-shimmer var(--shimmer-duration,2s) linear infinite; @variant dark { --_highlight: var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4))); } &:where([dir="rtl"], [dir="rtl"] *) { animation-direction: reverse; }}@utility shimmer-once{animation-iteration-count: 1;}@utility shimmer-reverse{animation-direction: reverse;}@utility shimmer-none{--shimmer-image: none; --shimmer-text-fill: currentColor;}@utility shimmer-color-*{--shimmer-color: --value(--color, [color]); --shimmer-color: color-mix(in oklch, --value(--color, [color]) calc(--modifier(integer) * 1%), transparent);}@utility shimmer-duration-*{--shimmer-duration: calc(--value(integer) * 1ms);}@utility shimmer-spread-*{--shimmer-spread: calc(var(--spacing) * --value(integer)); --shimmer-spread: --value([length], [percentage]);}@utility shimmer-angle-*{--shimmer-angle: calc(--value(integer) * 1deg);}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}
@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-ext-wght-normal.1o60yhwqd7ueg.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-wght-normal.0n0q_nh7u2mrm.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-vietnamese-wght-normal.0nt7ek_nfk5a4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-ext-wght-normal.39q78sztp1ci5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-wght-normal.20f3xrkj613ah.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@theme{ --color-user-selected: var(--accent); --color-on-primary: #fff; --color-primary-container: #d1e4ff; --color-on-primary-container: #001d36;  --color-secondary: #2d6957; --color-on-secondary: #fff; --color-secondary-container: #b1efd8; --color-on-secondary-container: #002116;  --color-tertiary: #735578; --color-on-tertiary: #fff; --color-tertiary-container: #fad3fd; --color-on-tertiary-container: #2a132e;  --color-surface: #f8fafb; --color-surface-container-low: #f0f4f5; --color-surface-container-lowest: #fff; --color-surface-container-high: #e5eaec; --color-surface-variant: #e0e4e6;  --color-on-surface: #1a1c1d; --color-on-surface-variant: #41484a;  --color-outline-variant: #c4c7c8;  --color-error: #ef4444;  --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-default: .5rem;  --shadow-soft: 0px 12px 32px #2c34360d;  --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }}@custom-variant dark (&:where(.dark, .dark *, [data-theme="dark"], [data-theme="dark"] *));@layer base{.dark,[data-theme=dark]{--color-user-selected:var(--accent);--color-on-primary:#003258;--color-primary-container:#1a4975;--color-on-primary-container:#d1e4ff;--color-secondary:#94d3bc;--color-on-secondary:#00382a;--color-secondary-container:#1d453c;--color-on-secondary-container:#b1efd8;--color-tertiary:#e1bbec;--color-on-tertiary:#422747;--color-tertiary-container:#3f2f45;--color-on-tertiary-container:#fad3fd;--color-surface:#1a1c1d;--color-surface-container-low:#222526;--color-surface-container-lowest:#2c3032;--color-surface-container-high:#35393b;--color-surface-variant:#414648;--color-on-surface:#e2e2e3;--color-on-surface-variant:#cbd5e1;--color-outline-variant:#444748;--color-error:#fca5a5;--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#262626;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#737373;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:#ffffff1a;--sidebar-ring:#737373}@supports (color:lab(0% 0 0)){.dark,[data-theme=dark]{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(15.204% 0 -.00000596046);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}:root{--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--radius:.625rem;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}@apply border-border outline-ring/50;@apply bg-background text-foreground;@apply font-sans;}@theme inline{--font-heading: var(--font-sans); --font-sans: "Geist Variable", sans-serif; --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-chart-5: var(--chart-5); --color-chart-4: var(--chart-4); --color-chart-3: var(--chart-3); --color-chart-2: var(--chart-2); --color-chart-1: var(--chart-1); --color-ring: var(--accent); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: #fff; --color-primary: var(--accent); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --color-foreground: var(--foreground); --color-background: var(--background); --radius-sm: calc(var(--radius) * .6); --radius-md: calc(var(--radius) * .8); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) * 1.4); --radius-2xl: calc(var(--radius) * 1.8); --radius-3xl: calc(var(--radius) * 2.2); --radius-4xl: calc(var(--radius) * 2.6);}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:#4f46e5;--accent-ink:#3730a3;--accent-tint:#f2f3ff;--accent-soft:#e0e2fd;--accent-lt:#a5b4fc;--accent-fg:#fff;--color-primary:var(--accent);--color-primary-foreground:var(--accent-fg);--color-ring:var(--accent);--color-accent:var(--muted);--ink:#17161d;--canvas:#faf9fb;--window-bar:#f4f3f7;--card:#fff;--border-strong:#eceaf2;--border:#e7e5ee;--divider:#f4f3f7;--divider-2:#f1eff5;--text-body:#4a4954;--text-secondary:#5a5865;--text-tertiary:#626070;--text-faint:#666472;--scrollbar:#d9d7e0;--dashed:#8b8996;--panel:#17161d;--panel-hover:#26242e;--panel-hover-2:#22212a;--panel-border:#26242e;--panel-muted:#8b8996;--panel-secondary:#b6b4c0;--panel-tint:#201f28;--avatar-text:#3a3646;--avatar-fill:#3a3646;--pending-amber:#facc48;--st-confirmed-dot:#2563eb;--st-confirmed-bg:#eff4ff;--st-confirmed-tx:#1e40af;--st-confirmed-bd:#c7d7fe;--st-arrived-dot:#0d9488;--st-arrived-bg:#e6f7f4;--st-arrived-tx:#0f766e;--st-arrived-bd:#a7e3d8;--st-started-dot:#d97706;--st-started-bg:#fef3e2;--st-started-tx:#b45309;--st-started-bd:#f3d5a8;--st-completed-dot:#0f9d76;--st-completed-bg:#e6f7f0;--st-completed-tx:#0a7355;--st-completed-bd:#a3e0cb;--st-noshow-dot:#dc2626;--st-noshow-bg:#fdecec;--st-noshow-tx:#b91c1c;--st-noshow-bd:#f6c9c9;--st-cancelled-dot:#9a98a6;--st-cancelled-bg:#f4f3f7;--st-cancelled-tx:#6c6a78;--st-cancelled-bd:#e0dee6;--success:#0f9d76;--success-ink:#0a7355;--success-solid:#0a7355;--warning:#d97706;--warning-ink:#92400e;--warning-solid:#b45309;--warning-bg:#fef3e2;--warning-bd:#f3d5a8;--danger:#dc2626;--danger-2:#d84c4c;--danger-ink:#b91c1c;--star:#a67f00;--agenda-line:#eceaf2;--weekend-bg:#f2f1f5;--sunday-dim:var(--text-faint);--font-display:"Space Grotesk", system-ui, -apple-system, sans-serif;--font-body:"Outfit", system-ui, -apple-system, sans-serif;--r-chip:8px;--r-input:12px;--r-btn:14px;--r-card:16px;--r-card-lg:20px;--r-window:22px;--r-pill:20px;--r-phone-bezel:52px;--r-phone-screen:42px;--sh-window:0 40px 90px -40px #17161d73, 0 0 0 1px #e7e5ee;--sh-dropdown:0 24px 50px -20px #17161d66;--sh-hero:0 22px 44px -20px #17161d99;--sh-phone:0 40px 80px -30px #17161d80, 0 0 0 2px #23222a inset;--focus-ring:var(--accent-ink);--ring:0 0 0 3px var(--focus-ring);--ring-btn:0 0 0 2px var(--card), 0 0 0 4px var(--focus-ring);--sk-base:#eeedf1;--sk-hi:#f6f5f8;--agenda-hour-h:56px;--agenda-hour-h-day:60px;--paint-cell:28px;--paint-cell-lg:34px;--paint-gap:6px;--paint-radius:7px;--bp-mobile:768px;--mobile-statusbar-h:44px;--mobile-topbar-h:98px;--mobile-backbar-h:96px;--mobile-tabbar-h:86px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--mobile-pad-top:calc(var(--mobile-topbar-h) + var(--safe-top));--mobile-pad-top-back:calc(var(--mobile-backbar-h) + var(--safe-top));--mobile-pad-bottom:calc(var(--mobile-tabbar-h) + var(--safe-bottom))}[data-accent=teal]{--accent:#0d9488;--accent-ink:#115e59;--accent-tint:#effbf9;--accent-soft:#c9ece7;--accent-lt:#5eead4;--accent-fg:#17161d}[data-accent=coral]{--accent:#e0563b;--accent-ink:#b0402a;--accent-tint:#fdf2ef;--accent-soft:#f6d3c8;--accent-lt:#f0a58f;--accent-fg:#17161d}[data-accent=mono]{--accent:#26242e;--accent-ink:#17161d;--accent-tint:#f2f1f4;--accent-soft:#dcdbe1;--accent-lt:#9a98a6}[data-accent=violeta]{--accent:#7c3aed;--accent-ink:#5b21b6;--accent-tint:#f5f1fe;--accent-soft:#e3d5fb;--accent-lt:#c4b5fd}[data-accent=azul]{--accent:#2563eb;--accent-ink:#1e40af;--accent-tint:#eff4ff;--accent-soft:#c7d7fe;--accent-lt:#93c5fd}[data-accent=verde]{--accent:#16a34a;--accent-ink:#166534;--accent-tint:#effaf1;--accent-soft:#c3ebcd;--accent-lt:#86efac;--accent-fg:#17161d}[data-accent=rosa]{--accent:#db2777;--accent-ink:#9d174d;--accent-tint:#fdf2f8;--accent-soft:#f7cee2;--accent-lt:#f9a8d4}[data-accent=ambar]{--accent:#d97706;--accent-ink:#92400e;--accent-tint:#fef6ea;--accent-soft:#f6dcac;--accent-lt:#fcd34d;--accent-fg:#17161d}[data-theme=dark],.dark,[data-theme=dark][data-accent=indigo],.dark[data-accent=indigo]{--accent:#818cf8;--accent-ink:#c7d2fe;--accent-tint:#1e1b4b;--accent-soft:#312e81;--accent-lt:#a5b4fc;--accent-fg:#17161d}[data-theme=dark][data-accent=teal],.dark[data-accent=teal]{--accent:#2dd4bf;--accent-ink:#99f6e4;--accent-tint:#0e2a27;--accent-soft:#134e4a;--accent-lt:#5eead4;--accent-fg:#17161d}[data-theme=dark][data-accent=coral],.dark[data-accent=coral]{--accent:#f87f66;--accent-ink:#ffd0c4;--accent-tint:#2e1a13;--accent-soft:#7a2e1c;--accent-lt:#f0a58f;--accent-fg:#17161d}[data-theme=dark][data-accent=mono],.dark[data-accent=mono]{--accent:#57555f;--accent-ink:#c7c5d0;--accent-tint:#201f28;--accent-soft:#3a3844;--accent-lt:#8b8996;--accent-fg:#fff}[data-theme=dark][data-accent=violeta],.dark[data-accent=violeta]{--accent:#a78bfa;--accent-ink:#ddd6fe;--accent-tint:#2e1065;--accent-soft:#4c1d95;--accent-lt:#c4b5fd;--accent-fg:#17161d}[data-theme=dark][data-accent=azul],.dark[data-accent=azul]{--accent:#60a5fa;--accent-ink:#bfdbfe;--accent-tint:#172554;--accent-soft:#1e3a8a;--accent-lt:#93c5fd;--accent-fg:#17161d}[data-theme=dark][data-accent=verde],.dark[data-accent=verde]{--accent:#4ade80;--accent-ink:#bbf7d0;--accent-tint:#052e16;--accent-soft:#14532d;--accent-lt:#86efac;--accent-fg:#17161d}[data-theme=dark][data-accent=rosa],.dark[data-accent=rosa]{--accent:#f472b6;--accent-ink:#fbcfe8;--accent-tint:#2e0a1e;--accent-soft:#831843;--accent-lt:#f9a8d4;--accent-fg:#17161d}[data-theme=dark][data-accent=ambar],.dark[data-accent=ambar]{--accent:#fbbf24;--accent-ink:#fde68a;--accent-tint:#2e1f05;--accent-soft:#78350f;--accent-lt:#fcd34d;--accent-fg:#17161d}:root[data-theme=dark],[data-theme=dark],.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0f0e13;--window-bar:#17161d;--card:#1b1a22;--border-strong:#2a2833;--border:#34323c;--divider:#23222a;--divider-2:#26242e;--ink:#f4f3f7;--text-body:#cfcdd8;--text-secondary:#b6b4c0;--text-tertiary:#a5a3b0;--text-faint:#9c9aa8;--scrollbar:#3a3844;--star:#e0b000;--st-confirmed-bg:#16233f;--st-confirmed-tx:#93c5fd;--st-confirmed-bd:#233865;--st-arrived-bg:#0e2a27;--st-arrived-tx:#5eead4;--st-arrived-bd:#1b504b;--st-started-bg:#2e2413;--st-started-tx:#fcd34d;--st-started-bd:#524022;--st-completed-bg:#0e2a20;--st-completed-tx:#6ee7b7;--st-completed-bd:#1b503d;--st-noshow-bg:#2e1616;--st-noshow-tx:#fca5a5;--st-noshow-bd:#512626;--st-cancelled-bg:#23222a;--st-cancelled-tx:#c2c0cb;--st-cancelled-bd:#3a3946;--warning-bg:#2e2413;--warning-bd:#524022;--success-ink:#6ee7b7;--warning-ink:#fcd34d;--danger-ink:#fca5a5;--sk-base:#23222a;--sk-hi:#2e2c38;--weekend-bg:#1b1a22;--agenda-line:#2a2833;--sh-window:0 40px 90px -40px #000000a6, 0 0 0 1px #2a2833;--sh-dropdown:0 24px 50px -20px #0009;--background:#0a0a0a;--foreground:#fafafa;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--destructive:#ff6568;--input:#ffffff26}@supports (color:lab(0% 0 0)){:root[data-theme=dark],[data-theme=dark],.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--destructive:lab(63.7053% 60.745 31.3109);--input:lab(100% 0 0/.15)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:pretty;margin:0}p{text-wrap:pretty}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:8px}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes ringspin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan{0%,to{background:#e7e5ee;transform:scale(1)}42%{background:var(--accent);transform:scale(1.15)}}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(5px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.sk{background:linear-gradient(90deg, var(--sk-base) 25%, var(--sk-hi) 50%, var(--sk-base) 75%);background-size:200% 100%;animation:1.4s linear infinite shimmer;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}[data-slot=toast-viewport]{z-index:9999;pointer-events:none;flex-direction:column;gap:.625rem;width:calc(100% - 2.5rem);max-width:380px;padding:0;display:flex;position:fixed;inset:auto 1.25rem 1.25rem auto}[data-slot=toast-positioner]{pointer-events:auto;opacity:1!important;position:relative!important;inset:auto!important;transform:none!important}[data-slot=toast]{background:var(--card);border:1px solid var(--border-strong);color:var(--ink);box-shadow:var(--sh-dropdown);border-radius:14px}[data-slot=toast][data-type=success]{background:var(--success-solid);border-color:var(--success-solid);color:#fff}[data-slot=toast][data-type=error]{background:var(--danger);border-color:var(--danger);color:#fff}[data-slot=toast][data-type=warning]{background:var(--warning-solid);border-color:var(--warning-solid);color:#fff}[data-slot=toast][data-type=info]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}[data-slot=toast]{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}[data-slot=toast]>div:first-child{flex:auto;min-width:0}[data-slot=toast-title]{overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.35}[data-slot=toast-close]{color:inherit;opacity:.75;border-radius:6px;flex:none;padding:4px;line-height:0}[data-slot=toast-close]:hover{opacity:1}
