@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:var(--font-bricolage), system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-amber-300:#ffd236;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-amber-600:#dd7400;--color-amber-700:#b75000;--color-amber-800:#953d00;--color-emerald-300:#5ee9b5;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-emerald-700:#007956;--color-emerald-800:#005f46;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-violet-400:#a685ff;--color-violet-500:#8d54ff;--color-violet-600:#7f22fe;--color-rose-400:#ff667f;--color-rose-500:#ff2357;--color-rose-600:#e70044;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-md:12px;--blur-lg:16px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-bricolage), system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--color-background:var(--background);--color-primary:var(--primary);--color-secondary:var(--secondary);--color-border:var(--border);--color-success:var(--success);--color-warning:var(--warning);--color-info:var(--info);--font-display:var(--font-bricolage), system-ui, sans-serif}@supports (color:lab(0% 0 0)){:root,:host{--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-amber-300:lab(86.4156% 6.13147 78.3961);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-600:lab(60.3514% 40.5624 87.1228);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-amber-800:lab(37.8822% 37.1699 52.2718);--color-emerald-300:lab(83.9203% -48.7124 13.8849);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-emerald-700:lab(44.4871% -41.0396 11.0361);--color-emerald-800:lab(35.3675% -33.1188 8.04002);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-violet-400:lab(62.8239% 34.9159 -60.0512);--color-violet-500:lab(49.9355% 55.1776 -81.8963);--color-violet-600:lab(41.088% 68.9966 -91.995);--color-rose-400:lab(64.4125% 63.0291 19.2068);--color-rose-500:lab(56.101% 79.4328 31.4532);--color-rose-600:lab(49.1882% 81.577 36.0311)}}}@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,ui-sans-serif, system-ui, 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{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}*{border-color:var(--border)}body{color:var(--foreground);font-family:var(--font-bricolage), system-ui, sans-serif;background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.025em;color:var(--foreground);font-weight:600;line-height:1.25}h1{font-size:var(--text-2xl,2rem)}h2{font-size:var(--text-xl,1.5rem)}h3{font-size:var(--text-lg,1.25rem)}h4{font-size:var(--text-md,1.125rem)}[data-slot]{border-color:#0000}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-16{top:calc(var(--spacing) * -16)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-\[50\%\]{top:50%}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-16{right:calc(var(--spacing) * -16)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.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 (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.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-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.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-0\.5{margin-left:calc(var(--spacing) * -.5)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-28{width:calc(var(--spacing) * 28);height:calc(var(--spacing) * 28)}.size-48{width:calc(var(--spacing) * 48);height:calc(var(--spacing) * 48)}.size-\[18px\]{width:18px;height:18px}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[3\.25rem\]{min-height:3.25rem}.min-h-\[60px\]{min-height:60px}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-\[180px\]{min-height:180px}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-52{width:calc(var(--spacing) * 52)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[8\.5rem\]{max-width:8.5rem}.max-w-\[200px\]{max-width:200px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[720px\]{min-width:720px}.min-w-\[800px\]{min-width:800px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,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-row{flex-direction:row}.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}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border\/40>:not(:last-child)){border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){:where(.divide-border\/40>:not(:last-child)){border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.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-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-border,.border-border\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/40{border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/20{border-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-input{border-color:var(--input)}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.border-primary\/25{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/25{border-color:color-mix(in oklab, var(--primary) 25%, transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--accent)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/95{background-color:color-mix(in oklab, var(--background) 95%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/5{background-color:color-mix(in oklab, var(--color-emerald-500) 5%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-foreground,.bg-foreground\/50{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/50{background-color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.bg-muted,.bg-muted\/10{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/10{background-color:color-mix(in oklab, var(--muted) 10%, transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/15{background-color:color-mix(in oklab, var(--color-orange-500) 15%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/15{background-color:color-mix(in oklab, var(--primary) 15%, transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-sidebar-primary{background-color:var(--sidebar-primary)}.bg-transparent{background-color:#0000}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.object-cover{object-fit:cover}.object-center{object-position:center}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-\[family-name\:var\(--font-display-family\)\]{font-family:var(--font-display-family)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-background{color:var(--background)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-emerald-500\/60{color:#00bb7f99}@supports (color:color-mix(in lab, red, red)){.text-emerald-500\/60{color:color-mix(in oklab, var(--color-emerald-500) 60%, transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground,.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/50{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-rose-600{color:var(--color-rose-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/50{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/50{color:color-mix(in oklab, var(--sidebar-foreground) 50%, transparent)}}.text-sidebar-foreground\/55{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/55{color:color-mix(in oklab, var(--sidebar-foreground) 55%, transparent)}}.text-sidebar-foreground\/60{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/60{color:color-mix(in oklab, var(--sidebar-foreground) 60%, transparent)}}.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-sidebar-primary-foreground{color:var(--sidebar-primary-foreground)}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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-none{--tw-shadow:0 0 #0000;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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-background{--tw-ring-color:var(--background)}.ring-primary,.ring-primary\/30{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.ring-sidebar-ring,.ring-sidebar-ring\/30{--tw-ring-color:var(--sidebar-ring)}@supports (color:color-mix(in lab, red, red)){.ring-sidebar-ring\/30{--tw-ring-color:color-mix(in oklab, var(--sidebar-ring) 30%, transparent)}}.ring-sidebar-ring\/40{--tw-ring-color:var(--sidebar-ring)}@supports (color:color-mix(in lab, red, red)){.ring-sidebar-ring\/40{--tw-ring-color:color-mix(in oklab, var(--sidebar-ring) 40%, transparent)}}.ring-transparent{--tw-ring-color:transparent}.ring-offset-2{--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)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-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,);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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-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,);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[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-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-disabled\:opacity-60:is(:where(.group):disabled *){opacity:.6}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:\!size-9:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 9)!important;height:calc(var(--spacing) * 9)!important}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:rounded-lg:is(:where(.group)[data-collapsible=icon] *){border-radius:var(--radius)}.group-data-\[collapsible\=icon\]\:p-0:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:px-2:is(:where(.group)[data-collapsible=icon] *){padding-inline:calc(var(--spacing) * 2)}.group-data-\[collapsible\=icon\]\:py-3:is(:where(.group)[data-collapsible=icon] *){padding-block:calc(var(--spacing) * 3)}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[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}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.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,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:border-primary\/25:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/25:hover{border-color:color-mix(in oklab, var(--primary) 25%, transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.hover\:bg-blue-500\/10:hover{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-500\/10:hover{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/20:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/20:hover{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.hover\:bg-muted\/30:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/30:hover{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, 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-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--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)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}.hover\:ring-primary\/20:hover{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:ring-primary\/20:hover{--tw-ring-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.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(--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(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[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:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-primary\/30:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-primary\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.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-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--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)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--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)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (min-width:40rem){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.sm\:size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.sm\:min-h-\[3\.75rem\]{min-height:3.75rem}.sm\:w-auto{width:auto}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:max-w-xs{max-width:var(--container-xs)}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:pb-10{padding-bottom:calc(var(--spacing) * 10)}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[15px\]{font-size:15px}}@media (min-width:48rem){.md\:mt-14{margin-top:calc(var(--spacing) * 14)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:max-w-md{max-width:var(--container-md)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:pt-28{padding-top:calc(var(--spacing) * 28)}.md\:pb-20{padding-bottom:calc(var(--spacing) * 20)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:table-cell{display:table-cell}.lg\:max-w-lg{max-width:var(--container-lg)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(280px\,22rem\)\]{grid-template-columns:minmax(0,1fr) minmax(280px,22rem)}.lg\:grid-cols-\[minmax\(0\,17rem\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,17rem) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:gap-4{gap:calc(var(--spacing) * 4)}.lg\:gap-5{gap:calc(var(--spacing) * 5)}.lg\:p-7{padding:calc(var(--spacing) * 7)}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:py-10{padding-block:calc(var(--spacing) * 10)}.lg\:text-\[3\.25rem\]{font-size:3.25rem}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-muted\/10:is(.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/10:is(.dark *){background-color:color-mix(in oklab, var(--muted) 10%, transparent)}}.dark\:bg-muted\/20:is(.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/20:is(.dark *){background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.dark\:bg-muted\/30:is(.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/30:is(.dark *){background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-emerald-300:is(.dark *){color:var(--color-emerald-300)}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-orange-400:is(.dark *){color:var(--color-orange-400)}.dark\:text-rose-400:is(.dark *){color:var(--color-rose-400)}.dark\:text-violet-400:is(.dark *){color:var(--color-violet-400)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[\&_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)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}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(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}:root{--radius:.75rem;--background:#fff;--foreground:#11101a;--card:#fff;--card-foreground:#11101a;--popover:#fff;--popover-foreground:#11101a;--primary:#b22578;--primary-foreground:#fffafc;--secondary:#f5f5f6;--secondary-foreground:#272737;--muted:#f5f5f6;--muted-foreground:#676874;--accent:#faf3f6;--accent-foreground:#912061;--destructive:#d40924;--destructive-foreground:#fcfcfc;--border:#e4e4e6;--input:#e4e4e6;--ring:#b22578;--success:#00a159;--warning:#e49e22;--info:#2b7ec9;--sidebar:#fff;--sidebar-foreground:#11101a;--sidebar-primary:#b22578;--sidebar-primary-foreground:#fffafc;--sidebar-accent:#f5f5f6;--sidebar-accent-foreground:#272737;--sidebar-border:#e4e4e6;--sidebar-ring:#b22578;--color-primary:#c92d6e;--color-primary-light:#e04d88;--color-primary-soft:#c92d6e1f;--color-secondary:#7c3aed;--color-bg-page:var(--background);--color-bg-main:var(--card);--color-bg-sidebar:var(--sidebar);--color-bg-panel:var(--card);--color-bg-input:var(--input);--color-bg-tag:var(--muted);--color-text-primary:var(--foreground);--color-text-secondary:var(--muted-foreground);--color-text-muted:#797986;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--color-background:var(--background);--color-surface:var(--card);--font-bricolage:"Bricolage Grotesque", system-ui, sans-serif;--font-display-family:var(--font-bricolage), system-ui, sans-serif;--font-body:var(--font-bricolage), system-ui, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", monospace}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(5.11417% 1.80368 -6.3144);--card:lab(100% 0 0);--card-foreground:lab(5.11417% 1.80368 -6.3144);--popover:lab(100% 0 0);--popover-foreground:lab(5.11417% 1.80368 -6.3144);--primary:lab(41.7455% 59.9315 -11.6961);--primary-foreground:lab(98.707% 3.33333 -.628293);--secondary:lab(96.5032% .183612 -.732839);--secondary-foreground:lab(16.1742% 3.521 -10.6183);--muted:lab(96.5032% .183612 -.732839);--muted-foreground:lab(44.14% 2.01035 -7.22437);--accent:lab(96.4136% 2.66764 -.502706);--accent-foreground:lab(34.0332% 50.5291 -9.85414);--destructive:lab(45.5382% 69.8881 46.2994);--destructive-foreground:lab(98.84% .0000298023 -.0000119209);--border:lab(90.7032% .183672 -.732791);--input:lab(90.7032% .183672 -.732791);--ring:lab(41.7455% 59.9315 -11.6961);--success:lab(58.0959% -55.03 28.5007);--warning:lab(70.8468% 20.2319 68.534);--info:lab(50.6175% -4.648 -47.097);--sidebar:lab(100% 0 0);--sidebar-foreground:lab(5.11417% 1.80368 -6.3144);--sidebar-primary:lab(41.7455% 59.9315 -11.6961);--sidebar-primary-foreground:lab(98.707% 3.33333 -.628293);--sidebar-accent:lab(96.5032% .183612 -.732839);--sidebar-accent-foreground:lab(16.1742% 3.521 -10.6183);--sidebar-border:lab(90.7032% .183672 -.732791);--sidebar-ring:lab(41.7455% 59.9315 -11.6961);--color-text-muted:lab(51.1014% 1.99118 -7.23467)}}.dark{--background:#080811;--foreground:#f2eee7;--card:#10101c;--card-foreground:#f2eee7;--popover:#10101c;--popover-foreground:#f2eee7;--primary:#df539f;--primary-foreground:#12080c;--secondary:#1e1d2d;--secondary-foreground:#e9e4dd;--muted:#191926;--muted-foreground:#9797a5;--accent:#361927;--accent-foreground:#f0dfe6;--destructive:#cc272e;--destructive-foreground:#eee;--border:#272735;--input:#272735;--ring:#df539f;--success:#00a159;--warning:#e49e22;--info:#2b7ec9;--sidebar:#04030c;--sidebar-foreground:#e9e4dd;--sidebar-primary:#df539f;--sidebar-primary-foreground:#12080c;--sidebar-accent:#10101e;--sidebar-accent-foreground:#f2eee7;--sidebar-border:#1e1e2b;--sidebar-ring:#df539f;--color-primary-soft:#c92d6e33;--color-bg-page:var(--background);--color-bg-main:var(--card);--color-bg-sidebar:var(--sidebar);--color-bg-panel:var(--card);--color-bg-input:var(--input);--color-bg-tag:var(--muted);--color-text-primary:var(--foreground);--color-text-secondary:var(--muted-foreground);--color-text-muted:var(--muted-foreground);--color-background:var(--background);--color-surface:var(--card)}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.38061% 1.16785 -3.99346);--foreground:lab(94.217% .869393 3.70355);--card:lab(5.06674% 2.39314 -7.99928);--card-foreground:lab(94.217% .869393 3.70355);--popover:lab(5.06674% 2.39314 -7.99928);--popover-foreground:lab(94.217% .869393 3.70355);--primary:lab(56.8361% 60.4898 -11.7396);--primary-foreground:lab(2.91013% 3.62405 -.662565);--secondary:lab(11.5245% 3.65494 -10.5742);--secondary-foreground:lab(90.7369% .870407 3.7042);--muted:lab(9.26225% 2.97466 -8.83479);--muted-foreground:lab(62.7031% 1.96677 -7.24818);--accent:lab(13.4889% 16.1465 -3.10634);--accent-foreground:lab(90.4539% 6.65134 -1.25561);--destructive:lab(45.7636% 63.3818 40.1799);--destructive-foreground:lab(94.2% 0 0);--border:lab(16.2332% 2.82334 -8.88927);--input:lab(16.2332% 2.82334 -8.88927);--ring:lab(56.8361% 60.4898 -11.7396);--success:lab(58.0959% -55.03 28.5007);--warning:lab(70.8468% 20.2319 68.534);--info:lab(50.6175% -4.648 -47.097);--sidebar:lab(1.116% 1.06524 -3.39662);--sidebar-foreground:lab(90.7369% .870407 3.7042);--sidebar-primary:lab(56.8361% 60.4898 -11.7396);--sidebar-primary-foreground:lab(2.91013% 3.62405 -.662565);--sidebar-accent:lab(5.0155% 3.04133 -9.66896);--sidebar-accent-foreground:lab(94.217% .869393 3.70355);--sidebar-border:lab(11.5865% 2.91564 -8.8551);--sidebar-ring:lab(56.8361% 60.4898 -11.7396)}}*,:before,:after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote{margin:0;padding:0}:root{--color-primary:#c92d6e;--color-primary-light:#e04d88;--color-primary-soft:#c92d6e1f;--color-secondary:#7c3aed;--color-secondary-light:#a78bfa;--color-sidebar-dark:#1a1a2e;--color-admin-sidebar-from:#1a1020;--color-admin-sidebar-to:#120818;--color-brand-accent-on-dark:#f0a8c4;--color-bg-page:var(--background);--color-bg-sidebar:var(--sidebar);--color-bg-main:var(--card);--color-bg-panel:var(--card);--color-bg-card-red:#c4366e;--color-bg-card-purple:#6d4db8;--color-bg-input:var(--input);--color-bg-tag:var(--muted);--color-text-primary:var(--foreground);--color-text-secondary:var(--muted-foreground);--color-text-muted:var(--muted-foreground);--color-text-on-dark:#fff;--color-text-accent:#c92d6e;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--color-background:var(--color-bg-page);--color-surface:var(--color-bg-main);--color-surface-elevated:var(--color-bg-main);--color-surface-hover:var(--color-bg-input);--color-text-tertiary:var(--color-text-muted);--danger:var(--color-danger);--font-display:var(--font-bricolage), system-ui, sans-serif;--font-body:var(--font-bricolage), system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--shadow-none:none;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 8px #00000012;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f;--shadow-xl:0 16px 48px #00000026;--shadow-card:0 4px 20px #00000014;--shadow-sidebar:2px 0 16px #0000000f;--icon-xs:14px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-xl:28px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--duration-fast:.1s;--duration-base:.15s;--duration-slow:.25s;--duration-enter:.3s}html{scroll-behavior:smooth}.legacy-page body,body.legacy-page{font-family:var(--font-body);background:var(--color-bg-page);color:var(--color-text-primary);font-size:var(--text-base);line-height:1.6}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-bg-tag);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}nav.site-nav{z-index:100;-webkit-backdrop-filter:blur(16px);padding:0 var(--space-10);height:64px;transition:box-shadow var(--duration-slow) ease;background:#ffffffeb;border-bottom:1px solid #0000000f;position:fixed;top:0;left:0;right:0}nav.site-nav.scrolled{box-shadow:var(--shadow-sm)}.nav-inner{justify-content:space-between;align-items:center;width:100%;max-width:1200px;height:100%;margin:0 auto;display:flex}.nav-logo{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.nav-logo-icon{background:var(--color-primary);border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.nav-logo-text{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-primary);font-weight:800;line-height:1.1}.nav-logo-sub{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400;display:block}.nav-links{align-items:center;gap:var(--space-8);list-style:none;display:flex}.nav-links a{font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--duration-base) ease;padding-bottom:2px;font-weight:500;text-decoration:none;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--color-text-accent)}.nav-links a.active:after{content:"";background:var(--color-primary);border-radius:var(--radius-full);height:2px;position:absolute;bottom:-20px;left:0;right:0}.nav-actions{align-items:center;gap:var(--space-3);display:flex}.btn-ghost{color:var(--color-text-secondary);border:1px solid var(--color-bg-input);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-base) ease, color var(--duration-base) ease;align-items:center;gap:var(--space-2);font-weight:500;font-family:var(--font-body);background:0 0;text-decoration:none;display:inline-flex}.btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:var(--space-2);transition:background var(--duration-base) ease, transform var(--duration-fast) ease;font-weight:600;font-family:var(--font-body);border:none;text-decoration:none;display:inline-flex}.btn-primary:hover{background:var(--color-primary-light);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.hero{padding:120px var(--space-10) 80px;grid-template-columns:1fr 420px;align-items:center;gap:60px;max-width:1200px;min-height:100vh;margin:0 auto;display:grid}.hero-content{animation:heroFadeIn .8s var(--ease-out) both}.hero-card-wrap{animation:heroFadeIn .8s var(--ease-out) .2s both}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-tag{align-items:center;gap:var(--space-2);color:var(--color-primary);border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-6);background:#ff2d7814;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.hero-tag i{font-size:14px}.hero h1{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(36px,4.5vw,54px);font-weight:900;line-height:1.1}.hero h1 span{color:var(--color-primary)}.hero-desc{font-size:var(--text-md);color:var(--color-text-secondary);max-width:520px;margin-bottom:36px;line-height:1.7}.hero-ctas{flex-wrap:wrap;gap:12px;margin-bottom:52px;display:flex}.btn-primary-lg{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--text-base);cursor:pointer;align-items:center;gap:var(--space-2);transition:background var(--duration-base) ease, transform var(--duration-fast) ease, box-shadow var(--duration-base) ease;font-weight:600;font-family:var(--font-body);box-shadow:var(--shadow-md);border:none;padding:14px 28px;text-decoration:none;display:inline-flex}.btn-primary-lg:hover{background:var(--color-primary-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-primary-lg:active{transform:translateY(0)}.btn-ghost-lg{background:var(--color-bg-main);color:var(--color-text-primary);border:1.5px solid var(--color-bg-input);border-radius:var(--radius-full);font-size:var(--text-base);cursor:pointer;align-items:center;gap:var(--space-2);transition:border-color var(--duration-base) ease, color var(--duration-base) ease;font-weight:500;font-family:var(--font-body);padding:14px 28px;text-decoration:none;display:inline-flex}.btn-ghost-lg:hover{border-color:var(--color-primary);color:var(--color-primary)}.hero-stats{gap:36px;display:flex}.stat-item{min-width:0}.stat-value{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.stat-label{color:var(--color-text-muted);margin-top:var(--space-1);font-size:12px;font-weight:500}.stat-divider{background:#00000014;align-self:center;width:1px;height:36px}.hero-card-wrap{position:relative}.dashboard-card{background:var(--color-bg-main);border-radius:var(--radius-2xl);padding:var(--space-6);box-shadow:var(--shadow-lg);z-index:2;border:1px solid #0000000a;position:relative}.dc-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dc-greeting{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);font-size:18px;font-weight:800}.dc-greeting-sub{color:var(--color-text-muted);margin-top:2px;font-size:12px;font-weight:500}.dc-avatar{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;width:40px;height:40px;font-family:var(--font-display);justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.dc-cards{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.dc-feat-card{border-radius:var(--radius-lg);min-height:100px;padding:16px;position:relative;overflow:hidden}.dc-feat-card--red{background:var(--color-bg-card-red)}.dc-feat-card--purple{background:var(--color-bg-card-purple)}.dc-feat-icon{border-radius:var(--radius-full);color:#fff;background:#ffffff38;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:10px;font-size:15px;display:flex}.dc-feat-title{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text-on-dark);font-weight:800;line-height:1.3}.dc-section-label{font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-3);font-weight:700}.dc-progress-item{align-items:center;gap:12px;margin-bottom:10px;display:flex}.dc-prog-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:120px;font-size:12px;font-weight:600;overflow:hidden}.prog-track{background:var(--color-bg-input);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.prog-fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%;transition:width 1.2s cubic-bezier(.16,1,.3,1)}.prog-fill--purple{background:var(--color-secondary)}.prog-fill--green{background:var(--color-success)}.prog-pct{font-family:var(--font-mono);color:var(--color-text-muted);text-align:right;min-width:30px;font-size:11px;font-weight:700}.dc-cert{border-radius:var(--radius-md);background:#10b98114;border:1px solid #10b98126;align-items:center;gap:10px;margin-top:16px;padding:10px 14px;display:flex}.dc-cert-icon{background:var(--color-success);border-radius:var(--radius-full);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.dc-cert-title{color:var(--color-text-primary);font-size:12px;font-weight:700}.dc-cert-sub{color:var(--color-text-muted);margin-top:1px;font-size:11px}.float-chip{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:3;align-items:center;gap:8px;padding:10px 14px;animation:4s ease-in-out infinite float;display:flex;position:absolute}.float-chip--1{animation-delay:0s;top:-20px;right:-24px}.float-chip--2{animation-delay:2s;bottom:-20px;left:-28px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.chip-icon{border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.chip-icon--green{background:var(--color-success)}.chip-icon--purple{background:var(--color-secondary)}.chip-title{color:var(--color-text-primary);white-space:nowrap;font-size:12px;font-weight:700}.chip-sub{color:var(--color-text-muted);font-size:11px}.section{padding:80px var(--space-10);max-width:1200px;margin:0 auto}.section-tag{align-items:center;gap:var(--space-2);background:var(--color-bg-input);color:var(--color-text-secondary);border-radius:var(--radius-full);padding:5px var(--space-3);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-4);font-weight:700;display:inline-flex}.section-tag i{font-size:var(--icon-sm)}.section-tag--color-primary{color:var(--color-primary);background:#ff2d7814}.section-tag--purple{color:var(--color-secondary);background:#7c3aed14}.section-heading{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:var(--space-3);font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1.15}.section-sub{color:var(--color-text-secondary);max-width:560px;font-size:16px;line-height:1.7}.features-header{text-align:center;margin-bottom:56px}.features-header .section-sub{margin:0 auto}.features-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.feat-card{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:28px var(--space-6);box-shadow:var(--shadow-sm);transition:transform var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);cursor:default;border:1px solid #00000008}.feat-card:hover{box-shadow:var(--shadow-md);border-color:#0000000f;transform:translateY(-4px)}.feat-icon-wrap{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-md);margin-bottom:var(--space-4);color:var(--color-text-on-dark);justify-content:center;align-items:center;font-size:22px;display:flex}.feat-icon-wrap--red{background:var(--color-bg-card-red)}.feat-icon-wrap--purple{background:var(--color-bg-card-purple)}.feat-icon-wrap--color-success{background:var(--color-success)}.feat-icon-wrap--color-info{background:var(--color-info)}.feat-icon-wrap--color-warning{background:var(--color-warning)}.feat-icon-wrap--dark{background:var(--color-text-primary)}.feat-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-primary);margin-bottom:var(--space-2);font-weight:800}.feat-desc{color:var(--color-text-secondary);margin-bottom:var(--space-4);font-size:14px;line-height:1.6}.feat-tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--color-bg-input);color:var(--color-text-secondary);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);align-items:center;gap:var(--space-1);font-weight:600;display:inline-flex}.tag i{color:var(--color-success);font-size:12px}.programs-section{background:var(--color-bg-main)}.programs-inner{padding:80px var(--space-10);max-width:1200px;margin:0 auto}.programs-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px;display:flex}.programs-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.program-card{background:var(--color-bg-page);border-radius:var(--radius-xl);padding:var(--space-6);transition:transform var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out), background var(--duration-base) ease;cursor:pointer;position:relative;overflow:hidden}.program-card:hover{box-shadow:var(--shadow-md);background:var(--color-bg-main);transform:translateY(-3px)}.program-card--featured{background:var(--color-bg-card-purple)}.program-card--featured:hover{background:var(--color-bg-card-purple);box-shadow:var(--shadow-lg)}.program-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);align-items:center;gap:5px;margin-bottom:14px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.program-badge--compliance{color:var(--color-danger);background:#ef44441a}.program-badge--onboarding{color:var(--color-info);background:#3b82f61a}.program-badge--field{color:var(--color-success);background:#10b9811a}.program-badge--program{color:var(--color-warning);background:#f59e0b1a}.program-badge--ops{color:var(--color-secondary);background:#7c3aed1a}.program-badge--white{color:#fff;background:#fff3}.program-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-primary);margin-bottom:6px;font-weight:800;line-height:1.3}.program-card--featured .program-title{color:var(--color-text-on-dark)}.program-meta{color:var(--color-text-muted);align-items:center;gap:6px;margin-top:14px;font-size:12px;display:flex}.program-card--featured .program-meta{color:#ffffffa6}.program-meta i{font-size:14px}.regions-grid{gap:var(--space-4);margin-top:var(--space-10);grid-template-columns:repeat(4,1fr);display:grid}.region-card{background:var(--color-bg-main);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:transform var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);border:1px solid #00000008;align-items:center;gap:14px;display:flex}.region-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.region-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-primary);background:#ff2d7814;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.region-name{color:var(--color-text-primary);font-size:14px;font-weight:700}.region-count{color:var(--color-text-muted);margin-top:2px;font-size:12px}.cta-section{background:var(--color-text-primary);padding:100px var(--space-10);text-align:center;position:relative;overflow:hidden}.cta-section:before{content:"";pointer-events:none;background:0 0;border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-20%}.cta-section:after{content:"";pointer-events:none;background:0 0;border-radius:50%;width:400px;height:400px;position:absolute;bottom:-40%;left:-15%}.cta-inner{z-index:1;max-width:620px;margin:0 auto;position:relative}.cta-tag{color:var(--color-primary-light);border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase;background:#ff2d7833;align-items:center;gap:6px;margin-bottom:24px;padding:6px 14px;font-size:11px;font-weight:700;display:inline-flex}.cta-heading{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(30px,3.5vw,44px);font-weight:900;line-height:1.15}.cta-heading span{color:var(--color-primary-light)}.cta-sub{color:#ffffff8c;margin-bottom:40px;font-size:16px;line-height:1.7}.cta-btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn-white{color:var(--color-text-primary);border-radius:var(--radius-full);font-size:var(--text-base);cursor:pointer;align-items:center;gap:var(--space-2);transition:transform var(--duration-fast) ease, box-shadow var(--duration-base) ease;font-weight:600;font-family:var(--font-body);box-shadow:var(--shadow-md);background:#fff;border:none;padding:14px 28px;text-decoration:none;display:inline-flex}.btn-white:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-white:active{transform:translateY(0)}.btn-outline-white{color:#ffffffbf;border-radius:var(--radius-full);font-size:var(--text-base);cursor:pointer;align-items:center;gap:var(--space-2);transition:border-color var(--duration-base) ease, color var(--duration-base) ease;font-weight:500;font-family:var(--font-body);background:0 0;border:1.5px solid #fff3;padding:14px 28px;text-decoration:none;display:inline-flex}.btn-outline-white:hover{color:#fff;border-color:#ffffff8c}footer:has(.footer-top){background:var(--color-bg-main);padding:0}.site-footer{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.site-footer{background:color-mix(in oklch, var(--background) 88%, var(--muted) 12%)}}.site-footer{color:var(--muted-foreground)}.footer-top{max-width:1200px;padding:var(--space-12) var(--space-10) var(--space-8);gap:var(--space-10);grid-template-columns:1.5fr 1fr 1fr 1fr;margin:0 auto;display:grid}.footer-brand-col{gap:var(--space-4);flex-direction:column;display:flex}.footer-logo{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.footer-logo-icon{background:var(--color-primary);border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.footer-logo-name{font-family:var(--font-display);font-size:var(--text-base);color:#ffffffe6;font-weight:800}.footer-brand-desc{font-size:var(--text-sm);color:#ffffff59;max-width:260px;line-height:1.6}.footer-socials{gap:var(--space-3);margin-top:var(--space-2);display:flex}.footer-social-link{border-radius:var(--radius-full);color:#fff6;width:36px;height:36px;font-size:var(--icon-sm);transition:background var(--duration-base) ease, color var(--duration-base) ease;background:#ffffff0f;justify-content:center;align-items:center;text-decoration:none;display:flex}.footer-social-link:hover{background:var(--color-primary);color:#fff}.footer-col-title{font-family:var(--font-display);font-size:var(--text-xs);color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-4);font-weight:700}.footer-col-links{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.footer-col-links a{font-size:var(--text-sm);color:#fff6;transition:color var(--duration-base) ease;text-decoration:none}.footer-col-links a:hover{color:#fffc}.footer-bottom{max-width:1200px;padding:var(--space-6) var(--space-10);justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid #ffffff0f;margin:0 auto;display:flex}.footer-copy{color:#ffffff40;font-size:12px}.footer-links{gap:var(--space-6);list-style:none;display:flex}.footer-links a{font-size:var(--text-sm);color:#ffffff4d;transition:color var(--duration-base) ease;text-decoration:none}.footer-links a:hover{color:#ffffffb3}.trust-bar{background:var(--color-bg-main);padding:var(--space-6) var(--space-10);border-bottom:1px solid #0000000f}.trust-inner{align-items:center;gap:var(--space-8);max-width:1200px;margin:0 auto;display:flex}.trust-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;font-weight:700}.trust-divider{background:#00000014;flex-shrink:0;width:1px;height:20px}.trust-items{gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.trust-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600;display:flex}.trust-item i{font-size:var(--icon-sm);color:var(--color-primary)}.fade-in{opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}.nav-hamburger{font-size:var(--icon-lg);color:var(--color-text-primary);cursor:pointer;padding:var(--space-2);background:0 0;border:none;display:none}.mobile-menu{-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);z-index:99;padding:var(--space-6) var(--space-5);gap:var(--space-4);animation:slideDown .25s var(--ease-out);background:#fffffffa;border-bottom:1px solid #0000000f;flex-direction:column;display:none;position:fixed;top:64px;left:0;right:0}.mobile-menu.open{display:flex}.mobile-menu a{font-size:var(--text-base);color:var(--color-text-primary);padding:var(--space-3) 0;transition:color var(--duration-base) ease;border-bottom:1px solid #0000000a;font-weight:500;text-decoration:none}.mobile-menu a:hover{color:var(--color-primary)}.mobile-menu-actions{gap:var(--space-3);padding-top:var(--space-3);flex-direction:column;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.hero{padding:100px var(--space-6) 60px;gap:var(--space-12);grid-template-columns:1fr;min-height:auto}.hero-card-wrap{max-width:480px}.features-grid,.programs-grid,.regions-grid{grid-template-columns:repeat(2,1fr)}.footer-top{gap:var(--space-8);grid-template-columns:1fr 1fr}}@media (max-width:768px){nav{padding:0 var(--space-5)}.nav-links,.nav-actions{display:none}.nav-hamburger{display:block}.section,.programs-inner{padding:60px var(--space-5)}.features-grid,.programs-grid{grid-template-columns:1fr}.regions-grid{grid-template-columns:1fr 1fr}.programs-header{flex-direction:column;align-items:flex-start}.footer-top{padding:var(--space-10) var(--space-5) var(--space-6);gap:var(--space-8);grid-template-columns:1fr}.footer-bottom{text-align:center;padding:var(--space-6) var(--space-5);gap:var(--space-4);flex-direction:column}.footer-links{justify-content:center}.float-chip{display:none}.trust-bar{padding:var(--space-5)}.trust-inner{gap:var(--space-4);flex-wrap:wrap}.cta-section{padding:80px var(--space-5)}.hero-stats{gap:var(--space-6);flex-wrap:wrap}}@media (max-width:480px){.regions-grid{grid-template-columns:1fr}.hero h1{font-size:32px}.hero-stats{gap:var(--space-5)}.stat-divider{display:none}}.app-layout{grid-template:"sidebar header"60px"sidebar main"1fr/240px 1fr;height:100vh;display:grid;overflow:hidden}.app-layout .sidebar{background:var(--color-text-primary);padding:var(--space-5) var(--space-4);flex-direction:column;grid-area:sidebar;display:flex;overflow-y:auto}.sidebar-logo{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-6);text-decoration:none;display:flex}.sidebar-logo-icon{background:var(--color-primary);border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.sidebar-logo-text{font-family:var(--font-display);color:var(--color-text-on-dark);font-size:14px;font-weight:800;line-height:1.2}.sidebar-logo-sub{font-size:var(--text-xs);color:#ffffff59;text-transform:uppercase;letter-spacing:.06em;margin-top:1px;font-weight:500;display:block}.sidebar-section-label{font-size:var(--text-xs);color:#ffffff4d;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-4) var(--space-3) var(--space-2);font-weight:700}.sidebar-nav{flex-direction:column;gap:2px;list-style:none;display:flex}.sidebar-nav a{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:#ffffff8c;transition:all var(--duration-base) ease;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-nav a i{font-size:18px}.sidebar-nav a:hover{color:#ffffffd9;background:#ffffff0f}.sidebar-nav a.active{color:var(--color-text-on-dark);background:var(--color-primary);border-radius:var(--radius-md);font-weight:600}.nav-badge{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:700;display:flex}.sidebar-nav a.active .nav-badge{background:#ffffff40}.sidebar-spacer{flex:1}.sidebar-user{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid #ffffff14}.sidebar-user-info{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);display:flex}.user-avatar{border-radius:var(--radius-full);background:var(--color-secondary);color:#fff;width:36px;height:36px;font-family:var(--font-display);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.user-name{font-size:var(--text-sm);color:var(--color-text-on-dark);font-weight:600;line-height:1.2}.user-role{font-size:var(--text-xs);color:#fff6}.sidebar-user-actions{gap:var(--space-2);padding:0 var(--space-3);display:flex}.sidebar-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-base);font-weight:600;font-family:var(--font-body);border:none;flex:1;text-decoration:none;display:flex}.sidebar-btn--settings{color:#fff9;background:#ffffff14}.sidebar-btn--settings:hover{color:#ffffffe6;background:#ffffff1f}.sidebar-btn--logout{background:var(--color-primary);color:#fff}.sidebar-btn--logout:hover{background:var(--color-primary-light)}.app-header{background:var(--color-bg-main);align-items:center;gap:var(--space-6);padding:0 var(--space-8);border-bottom:1px solid #0000000f;grid-area:header;grid-template-columns:auto 1fr auto;display:grid}.header-page-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);white-space:nowrap;margin:0;font-weight:800}.search-wrap{width:360px;position:relative}.search-wrap i{left:var(--space-4);color:var(--color-text-muted);font-size:16px;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:var(--color-bg-input);border-radius:var(--radius-md);width:100%;padding:var(--space-2) var(--space-4) var(--space-2) 42px;font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-text-primary);transition:border-color var(--duration-base), background var(--duration-base);border:1.5px solid #0000;outline:none}.search-input:focus{border-color:var(--color-primary);background:#fff}.search-input::placeholder{color:var(--color-text-muted)}.header-right{align-items:center;gap:var(--space-5);display:flex}.header-icon-btn{border-radius:var(--radius-full);background:var(--color-bg-input);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-base);border:none;justify-content:center;align-items:center;font-size:18px;display:flex;position:relative}.header-icon-btn:hover{background:var(--color-bg-tag);color:var(--color-text-primary)}.header-icon-btn .badge-dot{background:var(--color-primary);border:2px solid var(--color-bg-main);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.header-user{align-items:center;gap:var(--space-3);display:flex}.header-user-avatar{border-radius:var(--radius-full);background:var(--color-secondary);color:#fff;width:34px;height:34px;font-family:var(--font-display);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.header-user-avatar--img{object-fit:cover;display:block}.header-profile-link{border-radius:var(--radius-full);transition:box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);flex-shrink:0;line-height:0;text-decoration:none}.header-profile-link:hover .header-user-avatar,.header-profile-link:focus-visible .header-user-avatar{box-shadow:0 0 0 2px var(--color-bg-main), 0 0 0 4px var(--color-secondary-light)}.header-profile-link--admin .header-user-avatar{color:var(--color-brand-accent-on-dark);background:#c92d6e47}.header-profile-link--admin:hover .header-user-avatar,.header-profile-link--admin:focus-visible .header-user-avatar{box-shadow:0 0 0 2px var(--color-surface-elevated), 0 0 0 4px #c92d6e59}.header-user-info{text-align:right}.header-user-name{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600;line-height:1.2}.header-user-role{font-size:var(--text-xs);color:var(--color-text-muted)}.app-main{padding:var(--space-6) var(--space-8);background:var(--color-bg-page);grid-area:main;overflow-y:auto}.welcome-banner{background:var(--color-text-primary);border-radius:var(--radius-2xl);padding:var(--space-8) var(--space-10);margin-bottom:var(--space-6);position:relative;overflow:hidden}.welcome-banner:before{content:"";pointer-events:none;background:0 0;border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;right:-10%}.welcome-banner:after{content:"";pointer-events:none;background:0 0;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-40%;left:30%}.welcome-top{z-index:1;margin-bottom:var(--space-8);justify-content:space-between;align-items:flex-start;display:flex;position:relative}.welcome-tag{font-size:var(--text-xs);color:var(--color-primary-light);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-3);font-weight:700}.welcome-heading{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-on-dark);margin-bottom:var(--space-2);font-weight:800}.welcome-desc{font-size:var(--text-sm);color:#ffffff80;max-width:none;line-height:1.6}.btn-continue{background:var(--color-bg-main);color:var(--color-text-primary);border-radius:var(--radius-full);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;align-items:center;gap:var(--space-2);transition:transform var(--duration-fast), box-shadow var(--duration-base);box-shadow:var(--shadow-md);white-space:nowrap;border:none;text-decoration:none;display:flex}.btn-continue:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.welcome-stats{z-index:1;gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid;position:relative}.w-stat{border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);background:#ffffff0f;border:1px solid #ffffff0f}.w-stat-label{color:#ffffff59;text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--space-2);align-items:center;gap:var(--space-2);font-size:10px;font-weight:700;display:flex}.w-stat-label i{font-size:14px}.w-stat-value{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-on-dark);font-weight:800;line-height:1}.content-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(280px,360px);width:100%;display:grid}.content-left,.content-right{gap:var(--space-6);flex-direction:column;width:100%;min-width:0;display:flex}.sec-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.sec-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);font-weight:800}.sec-link{font-size:var(--text-sm);color:var(--color-primary);align-items:center;gap:var(--space-1);transition:color var(--duration-base);font-weight:600;text-decoration:none;display:flex}.sec-link:hover{color:var(--color-primary-light)}.learning-card{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-xs);margin-bottom:var(--space-3);border:1px solid #0000000a}.learning-top{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.learning-title-row{align-items:center;gap:var(--space-3);display:flex}.learning-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-primary);font-weight:800}.learning-percent{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);font-weight:800}.learning-meta{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3)}.progress-bar{background:var(--color-bg-input);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%;transition:width .8s var(--ease-out)}.progress-fill--green{background:var(--color-success)}.required-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.required-card{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-5);box-shadow:var(--shadow-card);gap:var(--space-3);transition:transform var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow);border:1px solid #0000000a;flex-direction:column;display:flex}.required-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.req-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.req-icon--orange{color:var(--color-warning);background:#f59e0b1a}.req-icon--blue{color:var(--color-info);background:#3b82f61a}.req-icon--purple{color:var(--color-secondary);background:#7c3aed1a}.req-title{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-primary);font-weight:800;line-height:1.3}.req-desc{font-size:var(--text-sm);color:var(--color-text-secondary);flex:1;line-height:1.5}.req-footer{justify-content:space-between;align-items:center;display:flex}.req-duration{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.req-start{font-size:var(--text-sm);color:var(--color-primary);align-items:center;gap:var(--space-1);transition:color var(--duration-base);font-weight:600;text-decoration:none;display:flex}.req-start:hover{color:var(--color-primary-light)}.panel{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);border:1px solid #0000000a}.panel-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.panel-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-primary);font-weight:800}.panel-icon-btn{border-radius:var(--radius-sm);background:var(--color-bg-input);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:14px;display:flex}.upcoming-list{gap:var(--space-4);flex-direction:column;display:flex}.upcoming-item{gap:var(--space-3);align-items:flex-start;display:flex}.upcoming-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.upcoming-dot--pink{background:var(--color-primary)}.upcoming-dot--red{background:var(--color-danger)}.upcoming-dot--blue{background:var(--color-info)}.upcoming-title{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600;line-height:1.3}.upcoming-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.announce-list{gap:var(--space-4);flex-direction:column;display:flex}.announce-item{padding-bottom:var(--space-4);border-bottom:1px solid #0000000a}.announce-item:last-child{border-bottom:none;padding-bottom:0}.announce-top{margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.announce-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-xs);align-items:center;gap:4px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.announce-badge--important{color:var(--color-primary);background:#ff2d7814}.announce-badge--urgent{color:var(--color-danger);background:#ef444414}.announce-badge--normal{color:var(--color-info);background:#3b82f614}.announce-time{font-size:var(--text-xs);color:var(--color-text-muted)}.announce-title{font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:700;line-height:1.3}.announce-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5}.streak-panel{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-xs);border:1px solid #0000000a}.streak-tag{color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2);align-items:center;gap:var(--space-1);font-size:10px;font-weight:700;display:flex}.streak-value{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:800;line-height:1}.streak-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.streak-days{gap:var(--space-2);display:flex}.streak-day{border-radius:var(--radius-sm);background:var(--color-bg-input);flex:1;height:28px}.streak-day--active{background:var(--color-text-primary)}.streak-day--today{background:var(--color-primary)}@media (max-width:1200px){.content-grid{grid-template-columns:1fr}.content-right{flex-flow:wrap}.content-right>*{flex:1;min-width:280px}}@media (max-width:900px){.app-layout{grid-template-columns:1fr;grid-template-areas:"header""main"}.app-layout .sidebar{display:none}.app-main{padding:var(--space-4);min-height:0}.app-layout.has-bottom-nav .app-main{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.app-page,.app-page .section-desc{width:100%;max-width:none}.admin-stat-card,.admin-panel,.profile-card,.module-row,.learning-card{width:100%}.app-header{z-index:90;padding:0 var(--space-4);background:var(--color-bg-main);justify-content:space-between;align-items:center;gap:var(--space-3);min-height:56px;display:flex;position:sticky;top:0}.admin-layout .app-header{background:var(--color-surface-elevated)}.header-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.search-dropdown{z-index:130}.welcome-stats{grid-template-columns:repeat(2,1fr)}.required-grid{grid-template-columns:1fr}.welcome-banner{padding:var(--space-6) var(--space-5)}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-two-col{grid-template-columns:1fr}.admin-table-wrap{border-radius:var(--radius-md);margin:0 -4px}}@media (max-width:600px){.welcome-top{gap:var(--space-4);flex-direction:column}.welcome-stats{grid-template-columns:1fr 1fr}.search-wrap{width:100%}.header-user-info{display:none}.header-user{gap:var(--space-2)}.header-profile-link .header-user-avatar{width:38px;height:38px;font-size:13px}.welcome-heading{font-size:22px}.content-right{flex-direction:column}.content-right>*{min-width:0}}.auth-layout{grid-template-columns:minmax(340px,1fr) minmax(400px,1fr);min-height:100dvh;display:grid}.auth-layout--boxed{min-height:auto}.auth-shell-box .auth-layout--boxed{min-height:0}@media (min-width:961px){.auth-shell-box .auth-layout--boxed{min-height:640px}.auth-shell-box .auth-form-panel{min-height:0}}.auth-page .auth-mobile-brand .brand-logo-text{color:var(--color-text-primary)}.auth-page .auth-mobile-brand .brand-logo-text span{color:var(--color-primary)}.auth-page .auth-mobile-brand .brand-logo-sub{color:var(--color-text-muted)}.auth-policies{border-radius:var(--radius-lg);background:var(--color-bg-input);border:1px solid #0000000f;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;display:flex}.auth-policies .form-check{align-items:flex-start;line-height:1.45}.auth-policies .form-check span{color:var(--color-text-secondary)}.auth-policies .form-link{display:inline}.auth-page--full{background:var(--color-bg-main)}.auth-layout--full{min-height:0}.auth-layout--full.auth-layout--split{min-height:calc(100svh - 57px)}.auth-layout--split{grid-template-columns:1fr 1fr}.auth-form-panel--split{background:var(--color-bg-main);flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:clamp(32px,5vw,56px);display:flex;overflow-y:auto}.auth-split-brand{width:100%;max-width:440px;margin-bottom:clamp(28px,4vw,40px)}.auth-split-brand .brand-logo-text{color:var(--color-text-primary)}.auth-split-brand .brand-logo-text span{color:var(--color-primary)}.auth-split-brand .brand-logo-sub{color:var(--color-text-muted)}.auth-split-body{width:100%;max-width:380px}.auth-split-body--wide{max-width:440px}.auth-split-head{margin-bottom:28px}.auth-split-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 8px;font-size:clamp(1.75rem,3vw,2.125rem);font-weight:800;line-height:1.15}.auth-split-subtitle{color:var(--color-text-muted);margin:0;font-size:15px;line-height:1.5}.auth-form--split .form-group{margin-bottom:16px}.form-input--plain{background:var(--color-bg-main);border-radius:var(--radius-lg);border:1.5px solid #00000014;padding:14px 16px}.form-input--plain:focus{background:#fff;border-color:#c92d6e73;box-shadow:0 0 0 3px #c92d6e1a}.form-input--plain.form-select{background-color:var(--color-bg-main);padding-left:16px;padding-right:calc(16px + 1.75rem)}.form-input--plain.form-select:focus{background-color:#fff}.input-wrap .form-input--plain{padding-right:44px}.input-wrap .input-icon+.form-input--plain{padding-left:44px}.form-link--muted{color:var(--color-text-muted);font-weight:500}.form-link--muted:hover{color:var(--color-primary)}.btn-submit--split{border-radius:var(--radius-lg);margin-top:8px;box-shadow:0 4px 14px #c92d6e40}.auth-split-footer{color:var(--color-text-muted);margin-top:28px;font-size:14px}.auth-split-footer a{color:var(--color-primary);font-weight:700;text-decoration:none}.auth-split-footer a:hover{text-decoration:underline}.auth-visual{background:var(--color-primary);flex-direction:column;justify-content:center;align-items:center;padding:clamp(32px,5vw,48px);display:flex;position:relative;overflow:hidden}.auth-visual-mesh{pointer-events:none;background:0 0;position:absolute;inset:0}.auth-visual-cloud{pointer-events:none;background:#ffffff1f;border-radius:999px;position:absolute}.auth-visual-cloud--1{width:120px;height:48px;top:12%;left:8%}.auth-visual-cloud--2{width:88px;height:36px;bottom:18%;right:10%}.auth-visual-content{z-index:1;aspect-ratio:1;width:min(100%,280px);margin-bottom:24px;position:relative}.auth-visual-phone{background:var(--color-sidebar-dark);border:3px solid #ffffff26;border-radius:28px;width:148px;height:280px;padding:10px;position:absolute;top:50%;left:50%;transform:translate(-58%,-50%)rotate(-6deg);box-shadow:0 24px 48px #00000040}.auth-visual-phone-notch{background:#ffffff1f;border-radius:999px;width:56px;height:6px;margin:0 auto 12px}.auth-visual-phone-screen{height:calc(100% - 22px);color:var(--color-text-secondary);background:#fff;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:12px;font-weight:600;display:flex}.auth-visual-fingerprint{width:72px;height:72px;color:var(--color-primary);background:#c92d6e1f;border-radius:50%;justify-content:center;align-items:center;font-size:36px;display:flex}.auth-visual-float{background:#fffffff2;border-radius:16px;justify-content:center;align-items:center;font-size:22px;display:flex;position:absolute;box-shadow:0 12px 32px #00000026}.auth-visual-float--check{width:48px;height:48px;color:var(--color-success);top:18%;right:4%}.auth-visual-float--lock{width:44px;height:44px;color:var(--color-primary);border-radius:12px;bottom:22%;right:0}.auth-visual-copy{z-index:1;text-align:center;color:#fff;max-width:320px;position:relative}.auth-visual-copy h2{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:0 0 8px;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:800}.auth-visual-copy p{color:#ffffffd1;margin:0;font-size:14px;line-height:1.55}.auth-visual--photo{background:#1a1a2e;justify-content:flex-end;align-items:stretch;padding:0}.auth-visual-photo-shade{pointer-events:none;background:linear-gradient(#0000 28%,#11111873 58%,#111118eb 100%),linear-gradient(135deg,#c92d6e47 0%,#0000 55%);position:absolute;inset:0}.auth-visual-photo-accent{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff14}.auth-visual-copy--photo{z-index:2;text-align:left;inset-inline:0;max-width:none;padding:clamp(28px,5vw,52px);position:absolute;bottom:0}.auth-visual-photo-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#ffffffb8;margin:0 0 10px;font-size:11px;font-weight:700}.auth-visual-copy--photo h2{color:#fff;max-width:16ch;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.2}.auth-visual-copy--photo p{color:#ffffffe0;max-width:34ch;margin-top:10px;font-size:15px;line-height:1.6}@media (max-width:960px){.auth-layout--split{grid-template-columns:1fr}.auth-layout--full.auth-layout--split{min-height:auto}.auth-visual{flex-shrink:0;order:-1;min-height:min(40svh,300px);max-height:340px;display:flex}.auth-visual--photo{min-height:min(44svh,320px);max-height:360px}.auth-visual-copy--photo{padding:20px 20px 24px}.auth-visual-copy--photo h2{font-size:clamp(1.25rem,5vw,1.5rem);line-height:1.2}.auth-visual-copy--photo p{max-width:none;margin-top:8px;font-size:14px}.auth-visual-photo-eyebrow{margin-bottom:6px;font-size:10px}.auth-form-panel--split{min-height:auto;padding:20px 20px max(28px, env(safe-area-inset-bottom));justify-content:flex-start;align-items:stretch}.auth-split-brand{max-width:none;margin-bottom:20px}.auth-split-body,.auth-split-body--wide{max-width:none}.auth-split-head{margin-bottom:22px}.auth-split-title{font-size:clamp(1.5rem,6vw,1.75rem)}.auth-form--split .form-group{margin-bottom:14px}.auth-policies{gap:12px}.auth-preview-card{margin-bottom:14px}}@media (min-width:961px){.auth-form-panel--split:not(.auth-form-panel--scroll){justify-content:center;align-items:center}.auth-form-panel--split:not(.auth-form-panel--scroll) .auth-split-brand,.auth-form-panel--split:not(.auth-form-panel--scroll) .auth-split-body{width:100%;max-width:400px}.auth-form-panel--split.auth-form-panel--scroll{align-items:center}.auth-visual{min-height:100%}}.auth-brand{background:#1a1a2e;flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(32px,5vw,56px);display:flex;position:relative;overflow:hidden}.auth-brand-mesh{background:var(--color-sidebar-dark);pointer-events:none;position:absolute;inset:0}.auth-brand-grid{opacity:.35;pointer-events:none;background-image:none;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:none;mask-image:none}.brand-logo{z-index:1;align-items:center;gap:14px;text-decoration:none;display:flex;position:relative}.brand-logo-copy{flex-direction:column;gap:4px;display:flex}.brand-logo-text{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;font-size:clamp(17px,2vw,22px);font-weight:800;line-height:1.15}.brand-logo-text span{color:var(--color-primary)}.brand-logo-sub{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.auth-brand .brand-logo-text{color:#fff}.auth-brand .brand-logo-text span{color:#f472b6}.auth-brand .brand-logo-sub{color:#ffffff73}.sidebar-brand-header{flex-direction:column;justify-content:center;gap:0;min-height:4.5rem;padding:1rem .875rem;display:flex}.brand-logo--sidebar{align-items:center;gap:10px;width:100%;min-width:0}.brand-logo--sidebar .brand-logo-copy{gap:2px;min-width:0}.brand-logo--sidebar .brand-logo-text{letter-spacing:-.01em;color:var(--sidebar-foreground);font-size:13px;font-weight:700;line-height:1.2}.brand-logo--sidebar .brand-logo-text span{color:var(--sidebar-primary)}.brand-logo--sidebar .brand-logo-sub{letter-spacing:.07em;color:var(--sidebar-foreground);font-size:9px;font-weight:600;line-height:1.3}@supports (color:color-mix(in lab, red, red)){.brand-logo--sidebar .brand-logo-sub{color:color-mix(in oklch, var(--sidebar-foreground) 48%, transparent)}}.brand-logo--sidebar .foundation-logo{filter:none}.group[data-collapsible=icon] .brand-logo--sidebar .brand-logo-copy{display:none}.group[data-collapsible=icon] .sidebar-brand-header{align-items:center;min-height:3.5rem;padding:1rem .625rem}.group[data-collapsible=icon] .brand-logo--sidebar{justify-content:center;gap:0}.group[data-collapsible=icon] .brand-logo--sidebar .foundation-logo{object-fit:contain;object-position:center;width:2.25rem!important;height:2.25rem!important}.group[data-collapsible=icon] [data-slot=sidebar-container]{overflow:hidden}.group[data-collapsible=icon] [data-slot=sidebar-group-label]{display:none}.group[data-collapsible=icon] [data-slot=sidebar-menu]{gap:.375rem}.group[data-collapsible=icon] [data-sidebar=menu-button]{border-radius:.625rem;margin-inline:auto;width:2.25rem!important;height:2.25rem!important}.group[data-collapsible=icon] [data-sidebar=menu-button] svg{width:1.125rem;height:1.125rem}.sidebar-footer-rail{padding:.625rem}.sidebar-footer-rail-btn{justify-content:center}.group[data-collapsible=icon] .sidebar-footer-rail-btn{border-radius:.625rem;width:2.25rem;height:2.25rem;margin-inline:auto;padding:0}.group[data-collapsible=icon] .sidebar-footer-rail-btn svg{width:1.125rem;height:1.125rem}.group[data-collapsible=icon] .sidebar-footer-rail-btn .size-6{width:1.625rem;height:1.625rem}.brand-quote{z-index:1;max-width:460px;position:relative}.brand-quote blockquote{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(24px,2.8vw,34px);font-weight:800;line-height:1.25}.brand-quote cite{color:#ffffff73;font-size:14px;font-style:normal;font-weight:500}.brand-features{z-index:1;flex-wrap:wrap;gap:10px;display:flex;position:relative}.brand-feature{border-radius:var(--radius-full);color:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12;border:1px solid #ffffff1a;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.brand-feature i{color:#f472b6;font-size:15px}.brand-stats{z-index:1;gap:12px;display:flex;position:relative}.brand-stat{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff14;flex:1;min-width:0;padding:16px 18px}.brand-stat-value{font-family:var(--font-display);color:#fff;font-variant-numeric:tabular-nums;font-size:clamp(22px,2.5vw,28px);font-weight:800;line-height:1}.brand-stat-label{color:#fff6;text-transform:uppercase;letter-spacing:.06em;margin-top:6px;font-size:11px;font-weight:600}.auth-form-panel{background:var(--color-bg-page);flex-direction:column;justify-content:center;align-items:center;padding:clamp(24px,4vw,48px);display:flex}.auth-mobile-brand{width:100%;max-width:440px;margin-bottom:20px;display:none}.auth-mobile-brand-link{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.auth-form-card{background:var(--color-bg-main);border-radius:var(--radius-xl);border:1px solid #0000000d;width:100%;max-width:420px;padding:clamp(28px,4vw,40px);box-shadow:0 1px 2px #1a1a2e0a,0 8px 32px #1a1a2e14}.auth-form-card--wide{max-width:520px}.auth-form-card--centered{text-align:center}.auth-form-head{margin-bottom:28px}.auth-title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(26px,3vw,32px);font-weight:800;line-height:1.15}.auth-subtitle{color:var(--color-text-muted);margin:0;font-size:15px;line-height:1.5}.auth-form{flex-direction:column;display:flex}.auth-hint{color:var(--color-text-muted);margin:8px 0 0;font-size:12px;line-height:1.45}.auth-preview-card{border-radius:var(--radius-lg);background:#c92d6e0f;border:1px solid #c92d6e24;margin-bottom:20px;padding:14px 16px}.auth-preview-label{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px}.auth-preview-value{font-weight:700;font-family:var(--font-mono,ui-monospace, monospace);word-break:break-all;font-size:15px}.auth-preview-hint{color:var(--color-text-muted);margin-top:6px;font-size:11px}.auth-success{color:#059669;border-radius:var(--radius-lg);background:#10b9811a;border:1px solid #10b98133;align-items:flex-start;gap:12px;padding:16px;font-size:14px;line-height:1.5;display:flex}.auth-success i{flex-shrink:0;margin-top:1px;font-size:20px}.auth-success p{margin:0}.form-group{margin-bottom:20px}.form-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{color:var(--color-text-muted);pointer-events:none;z-index:1;font-size:17px;position:absolute;left:16px}.form-input{background:var(--color-bg-input);border-radius:var(--radius-lg);width:100%;font-size:15px;font-family:var(--font-body);color:var(--color-text-primary);border:1.5px solid #0000000f;outline:none;padding:14px 16px 14px 44px;transition:border-color .15s,background .15s,box-shadow .15s}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{background:#fff;border-color:#c92d6e73;box-shadow:0 0 0 3px #c92d6e1a}.input-toggle{color:var(--color-text-muted);cursor:pointer;z-index:1;background:0 0;border:none;padding:4px;font-size:18px;transition:color .15s;position:absolute;right:12px}.input-toggle:hover{color:var(--color-text-primary)}.form-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.form-check{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.form-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.form-link{color:var(--color-primary);font-size:14px;font-weight:600;text-decoration:none;transition:color .15s}.form-link:hover{color:#a82258}.btn-submit{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);width:100%;font-size:15px;font-weight:700;font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:15px 20px;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 4px 16px #c92d6e47}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 22px #c92d6e57}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.auth-footer{text-align:center;color:var(--color-text-muted);border-top:1px solid #0000000f;margin-top:24px;padding-top:20px;font-size:14px}.auth-footer a{color:var(--color-primary);font-weight:700;text-decoration:none;transition:color .15s}.auth-footer a:hover{color:#a82258}.auth-error{color:var(--color-danger,#dc2626);border-radius:var(--radius-lg);background-color:#ef444414;border:1px solid #ef44442e;align-items:flex-start;gap:10px;margin-bottom:20px;padding:14px 16px;font-size:14px;line-height:1.45;display:flex}.auth-error i{flex-shrink:0;margin-top:1px;font-size:18px}.role-select-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.role-select-card{background:var(--color-bg-input);border-radius:var(--radius-lg);text-align:left;cursor:pointer;border:1.5px solid #0000000f;flex-direction:column;gap:4px;padding:14px;transition:all .15s;display:flex}.role-select-card:hover{border-color:#c92d6e40}.role-select-card.selected{border-color:var(--color-primary);background:#c92d6e0d;box-shadow:0 0 0 3px #c92d6e1a}.role-select-name{font-family:var(--font-display);color:var(--color-text-primary);font-size:14px;font-weight:800}.role-select-desc{color:var(--color-text-secondary);font-size:11px;line-height:1.4}@media (max-width:960px){.auth-layout{grid-template-columns:1fr}.auth-layout--boxed{min-height:auto}.auth-brand{display:none}.auth-form-panel{min-height:auto;padding:24px 20px 32px;padding-top:max(24px, env(safe-area-inset-top));justify-content:flex-start}.auth-shell-box .auth-form-panel{min-height:auto}.auth-mobile-brand{display:block}.auth-form-card{max-width:none;padding:28px 24px}}@media (min-width:961px) and (max-width:1100px){.brand-features{display:none}}.layout{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.layout .sidebar{background:var(--color-bg-main);border-right:1px solid #0000000f;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.layout .sidebar-logo{border-bottom:1px solid var(--color-bg-input);align-items:center;gap:10px;margin-bottom:20px;padding:0 8px 24px;display:flex}.layout .sidebar-logo-icon{background:var(--color-primary);border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.layout .sidebar-logo-name{font-family:var(--font-display);color:var(--color-text-primary);font-size:14px;font-weight:800;line-height:1.2}.layout .sidebar-logo-sub{color:var(--color-text-muted);font-size:11px;font-weight:400}.nav-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-top:16px;margin-bottom:6px;padding:0 10px;font-size:10px;font-weight:700}.nav-group-label:first-of-type{margin-top:0}.nav-item{border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--color-bg-input);color:var(--color-text-primary)}.nav-item.active{color:var(--color-primary);background:#ff2d7814;font-weight:600;position:relative}.nav-item.active:before{content:"";background:var(--color-primary);border-radius:var(--radius-full);width:3px;height:60%;position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.nav-item i{flex-shrink:0;font-size:16px}.layout .main{padding:40px;overflow-x:hidden}.page-header{border-bottom:1px solid #0000000f;margin-bottom:40px;padding-bottom:24px}.page-tag{color:var(--color-primary);border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase;background:#ff2d7814;align-items:center;gap:6px;margin-bottom:14px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.page-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:8px;font-size:32px;font-weight:900}.page-subtitle{color:var(--color-text-secondary);max-width:600px;font-size:15px;line-height:1.7}.layout .section{margin-bottom:56px}.section-title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:20px;font-weight:900}.section-desc{color:var(--color-text-muted);margin-bottom:20px;font-size:13px}.layout .features-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.layout .feat-card{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:22px 20px;transition:transform .18s,box-shadow .18s}.layout .feat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.feat-icon{border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;font-size:20px;display:flex}.feat-name{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:6px;font-size:15px;font-weight:800}.layout .feat-desc{color:var(--color-text-secondary);margin-bottom:12px;font-size:13px;line-height:1.6}.tag-list{flex-wrap:wrap;gap:5px;display:flex}.layout .tag{background:var(--color-bg-input);color:var(--color-text-secondary);border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.layout .tag i{color:var(--color-success);font-size:11px}.roles-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px;display:grid}.role-card{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:20px;transition:transform .18s}.role-card:hover{transform:translateY(-2px)}.role-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.role-icon{border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.role-name{font-family:var(--font-display);color:var(--color-text-primary);font-size:15px;font-weight:800}.role-scope{color:var(--color-text-muted);margin-top:2px;font-size:11px}.perm-list{flex-direction:column;gap:5px;list-style:none;display:flex}.perm-item{color:var(--color-text-secondary);align-items:flex-start;gap:7px;font-size:12px;line-height:1.4;display:flex}.perm-item i{flex-shrink:0;margin-top:1px;font-size:13px}.perm-item.can i{color:var(--color-success)}.perm-item.cannot i{color:var(--color-danger)}.perm-item.limited i{color:var(--color-warning)}.matrix-wrap{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}table.matrix{border-collapse:collapse;width:100%;font-size:12px}table.matrix th{background:var(--color-bg-input);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);text-align:left;border-bottom:1px solid #0000000f;padding:10px 14px;font-size:11px;font-weight:700}table.matrix th:not(:first-child){text-align:center}table.matrix td{color:var(--color-text-secondary);vertical-align:middle;border-bottom:1px solid #0000000a;padding:10px 14px}table.matrix td:not(:first-child){text-align:center}table.matrix tr:last-child td{border-bottom:none}table.matrix tr:hover td{background:#00000005}.mx-cat{color:var(--color-text-primary);letter-spacing:.03em;font-size:11px;font-weight:700}.mx-check{border-radius:var(--radius-full);justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex}.mx-yes{color:var(--color-success);background:#10b9811a}.mx-no{color:var(--color-danger);background:#ef444414}.mx-partial{color:var(--color-warning);background:#f59e0b1a}.modules-list{flex-direction:column;gap:10px;display:flex}.module-row{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:16px;padding:16px 18px;transition:transform .15s;display:flex}.module-row:hover{transform:translate(3px)}.module-num{font-family:var(--font-mono);color:var(--color-text-muted);min-width:24px;font-size:13px;font-weight:700}.module-info{flex:1}.module-name{font-family:var(--font-display);color:var(--color-text-primary);font-size:15px;font-weight:800}.module-meta{color:var(--color-text-muted);align-items:center;gap:12px;margin-top:2px;font-size:12px;display:flex}.module-meta span{align-items:center;gap:4px;display:inline-flex}.module-meta i{font-size:13px}.module-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-full);padding:3px 9px;font-size:10px;font-weight:700}.badge-compliance{color:var(--color-danger);background:#ef44441a}.badge-onboarding{color:var(--color-info);background:#3b82f61a}.badge-field{color:var(--color-success);background:#10b9811a}.badge-program{color:var(--color-warning);background:#f59e0b1a}.badge-ops{color:var(--color-secondary);background:#7c3aed1a}.module-roles{flex-wrap:wrap;gap:4px;display:flex}.modules-page-search{margin:20px 0 0}.modules-page-alert,.modules-page-empty{color:var(--color-text-secondary);margin-top:24px;font-size:14px}.learner-modules-list{margin-top:20px}.learner-module-card{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease;border:1px solid #0000000f;flex-direction:column;gap:12px;padding:16px;text-decoration:none;display:flex}.learner-module-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.learner-module-card-top{align-items:flex-start;gap:12px;min-width:0;display:flex}.learner-module-card-top .module-info{flex:1;min-width:0}.learner-module-card-top .module-name{flex-wrap:nowrap;align-items:flex-start;gap:6px;line-height:1.3;display:flex}.learner-module-card-top .module-name-text{flex:1;min-width:0}.learner-module-done{color:var(--color-primary);flex-shrink:0;margin-top:1px;font-size:16px;line-height:1.3}.learner-module-desc{color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.learner-module-card-top .module-meta{flex-wrap:wrap;gap:8px;margin-top:8px}.learner-module-due{color:var(--color-text-secondary);font-weight:500}.learner-module-due--overdue{color:var(--color-danger);font-weight:700}.learner-module-card-top .module-badge{flex-shrink:0;margin-top:2px}.learner-module-card-foot{border-top:1px solid #0000000f;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.learner-module-progress-wrap{flex:1;min-width:0}.learner-module-progress-bar{background:var(--color-bg-input);border-radius:99px;height:4px;margin-bottom:6px;overflow:hidden}.learner-module-progress-fill{background:var(--color-primary);height:100%;transition:width var(--duration-slow) ease;border-radius:99px}.learner-module-progress-label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.learner-module-progress-label--done{color:var(--color-success)}.learner-module-cta{color:var(--color-primary);flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}@media (max-width:600px){.learner-module-card-top{flex-wrap:wrap}.learner-module-card-top .module-badge{margin-left:36px}.learner-module-card-foot{flex-direction:column;align-items:stretch}.learner-module-cta{background:var(--color-primary-soft);border-radius:var(--radius-md);justify-content:center;padding:10px 14px}}.resources-page-search{margin:20px 0 0}.resources-page-alert{margin-top:24px}.resources-filter-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 20px;display:grid}.resources-filter-pill{cursor:pointer;border-radius:var(--radius-full);background:var(--color-surface-elevated);color:var(--color-text-secondary);text-align:center;white-space:nowrap;width:100%;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease, color var(--duration-fast) ease;border:1px solid #0000001a;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:600;display:inline-flex}.resources-filter-pill i{flex-shrink:0;font-size:15px}.resources-filter-pill--on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.resources-empty{background:var(--color-surface-hover);text-align:center;border-radius:var(--radius-lg);margin-top:8px;padding:40px 24px}.resources-empty i{color:var(--color-text-tertiary);margin-bottom:12px;font-size:40px;display:block}.resources-empty p{color:var(--color-text-secondary);margin:0;font-size:14px}.learner-resources-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.learner-resource-card{color:inherit;background:var(--color-surface-elevated);border-radius:var(--radius-lg);min-height:100%;transition:box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;border:1px solid #00000014;flex-direction:column;gap:12px;padding:18px;text-decoration:none;display:flex}.learner-resource-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.learner-resource-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.learner-resource-icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.learner-resource-body{flex:1;min-width:0}.learner-resource-title{word-break:break-word;margin-bottom:6px;font-size:16px;font-weight:700;line-height:1.3}.learner-resource-desc{color:var(--color-text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.learner-resource-cta{color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:6px;margin-top:auto;padding:10px 14px;font-size:13px;font-weight:700;display:flex}@media (max-width:900px){.learner-resources-grid{grid-template-columns:1fr}.resources-filter-pills{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));padding:2px var(--space-4) 4px;flex-wrap:nowrap;gap:8px;display:flex;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.resources-filter-pills::-webkit-scrollbar{display:none}.resources-filter-pill{scroll-snap-align:start;flex-shrink:0;width:auto;padding:9px 14px}}.role-pill{border-radius:var(--radius-full);background:var(--color-bg-input);color:var(--color-text-secondary);padding:2px 7px;font-size:10px;font-weight:600}.regions-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.layout .region-card{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:18px;transition:transform .15s;display:flex}.layout .region-card:hover{transform:translateY(-2px)}.layout .region-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-primary);background:#ff2d7814;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.layout .region-name{font-family:var(--font-display);color:var(--color-text-primary);font-size:14px;font-weight:800}.region-state{color:var(--color-text-muted);font-size:12px}.layout .region-count{font-family:var(--font-mono);color:var(--color-primary);margin-left:auto;font-size:13px;font-weight:700}.flows-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.flow-card{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:22px}.flow-title{font-family:var(--font-display);color:var(--color-text-primary);align-items:center;gap:8px;margin-bottom:14px;font-size:15px;font-weight:800;display:flex}.flow-title i{color:var(--color-primary);font-size:17px}.flow-steps{flex-direction:column;gap:0;list-style:none;display:flex}.flow-step{border-bottom:1px solid var(--color-bg-input);gap:12px;padding:10px 0;display:flex}.flow-step:last-child{border-bottom:none}.step-num{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;width:22px;height:22px;font-size:11px;font-weight:700;font-family:var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.step-content{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.step-content strong{color:var(--color-text-primary);font-weight:600}.field-table{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.field-table-title{background:var(--color-bg-input);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-bottom:1px solid #0000000d;padding:8px 16px;font-size:11px;font-weight:700}.field-row{border-bottom:1px solid #0000000a;align-items:flex-start;gap:12px;padding:10px 16px;font-size:13px;display:flex}.field-row:last-child{border-bottom:none}.field-name{color:var(--color-text-primary);flex-shrink:0;min-width:160px;font-weight:600}.field-type{font-family:var(--font-mono);color:var(--color-secondary);background:#7c3aed12;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:11px}.field-note{color:var(--color-text-secondary);flex:1}.field-required{color:var(--color-danger);border-radius:var(--radius-full);background:#ef444414;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.stats-row{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.stat-pill{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 20px;display:flex}.stat-pill-icon{border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.stat-pill-val{font-family:var(--font-display);color:var(--color-text-primary);font-size:22px;font-weight:900;line-height:1}.stat-pill-label{color:var(--color-text-muted);font-size:11px;font-weight:500}.divider{background:#0000000f;height:1px;margin:32px 0}.toc-item{border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.toc-item:hover{background:var(--color-bg-input);color:var(--color-text-primary)}.toc-item.active{color:var(--color-primary);background:#ff2d7814}.toc-item i{font-size:14px}@media (max-width:1024px){.layout{grid-template-columns:1fr}.layout .sidebar{display:none}.layout .main{padding:24px 20px}.layout .features-grid,.layout .roles-grid,.layout .regions-grid,.layout .flows-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.layout .features-grid,.layout .roles-grid,.layout .regions-grid,.layout .flows-grid{grid-template-columns:1fr}}.admin-layout .admin-sidebar{background:var(--color-sidebar-dark);border-right:1px solid #ffffff0f}.admin-layout .admin-sidebar .sidebar-logo-text,.admin-layout .admin-sidebar .sidebar-section-label,.admin-layout .admin-sidebar .sidebar-nav a,.admin-layout .admin-sidebar .user-name,.admin-layout .admin-sidebar .user-role{color:#ffffffe0}.admin-layout .admin-sidebar .sidebar-nav a:hover,.admin-layout .admin-sidebar .sidebar-nav a.active{color:var(--color-brand-accent-on-dark);background:#c92d6e2e}.admin-layout .admin-sidebar .sidebar-logo-sub,.admin-layout .admin-sidebar .sidebar-nav a i{color:#ffffff80}.admin-layout .admin-sidebar .sidebar-logo-icon,.admin-layout .admin-avatar{color:var(--color-brand-accent-on-dark);background:#c92d6e47}.admin-layout .admin-header{background:var(--color-bg-main);border-bottom:1px solid #0000000f}.app-layout .app-main,.admin-layout .admin-main{width:100%}.app-page{width:100%;max-width:none;margin:0;padding:0}.app-page .section-desc{max-width:none}@media (min-width:1200px){.required-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (min-width:1400px){.content-grid{grid-template-columns:1fr minmax(300px,380px)}}.admin-stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:24px 0;display:grid}@media (min-width:1100px){.admin-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.admin-stat-card{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid #00000014;align-items:flex-start;gap:14px;padding:18px;display:flex}.admin-stat-icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:42px;height:42px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.admin-stat-value{font-family:var(--font-display);font-size:22px;font-weight:800;line-height:1.2}.admin-stat-label{color:var(--color-text-secondary);margin-top:2px;font-size:13px}.admin-stat-sub{color:var(--color-text-tertiary);margin-top:4px;font-size:11px}.admin-two-col{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.admin-panel{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid #00000014;padding:20px}.admin-panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-panel-head h3{margin:0;font-size:16px}.admin-role-row{grid-template-columns:88px 1fr 28px;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:grid}.admin-role-row:last-child{margin-bottom:0}.admin-role-bar-wrap{background:var(--color-surface-hover);border-radius:99px;height:8px;overflow:hidden}.admin-role-bar{background:var(--color-primary);border-radius:99px;height:100%}.admin-quick-links{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.admin-quick-link{background:var(--color-surface-elevated);border-radius:var(--radius-md);color:inherit;border:1px solid #00000014;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.admin-table-wrap{border-radius:var(--radius-lg);border:1px solid #00000014;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #0000000f;padding:12px 14px}.admin-table th{background:var(--color-surface-hover);color:var(--color-text-secondary);font-size:12px;font-weight:600}.admin-mini-bar{background:var(--color-surface-hover);border-radius:99px;flex:1;min-width:60px;height:6px;overflow:hidden}.admin-mini-bar>div{background:var(--color-primary);border-radius:99px;height:100%}@media (max-width:900px){.admin-two-col{grid-template-columns:1fr}}.admin-page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px;display:flex}.admin-page-head-btn{white-space:nowrap;flex-shrink:0;width:auto}.admin-page-alert,.admin-notice{margin:16px 0}.admin-notice{color:var(--color-success);border-radius:var(--radius-md);background:#10b9811a;border:1px solid #10b98133;padding:12px 16px;font-size:13px}.admin-form-card{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid #00000014;margin:20px 0;padding:24px}.admin-form-card-title{margin:0 0 20px;font-size:18px}.admin-form-grid{gap:16px;display:grid}.admin-form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.admin-form-group--flush{margin:0}.admin-form-actions{justify-content:flex-end;margin-top:4px;display:flex}.admin-form-submit{width:auto}.admin-role-pills{flex-wrap:wrap;gap:8px;display:flex}.admin-role-pill{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:1px solid #0000001a;padding:6px 12px}.admin-role-pill--on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.admin-modules-list{margin-top:24px}.admin-module-card{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #0000000f;flex-direction:column;gap:14px;padding:16px;display:flex}.admin-module-card-main{align-items:flex-start;gap:12px;min-width:0;display:flex}.admin-module-card-main .module-info{flex:1;min-width:0}.admin-module-card-main .module-name{word-break:break-word}.admin-module-card-main .module-meta{flex-wrap:wrap;gap:8px}.admin-module-card-main .module-badge{flex-shrink:0;margin-top:2px}.admin-module-card-actions{border-top:1px solid #0000000f;flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.admin-module-btn{border-radius:var(--radius-md);background:var(--color-surface-hover);color:var(--color-text-primary);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border:none;flex:auto;justify-content:center;align-items:center;gap:6px;min-width:0;padding:10px 14px;text-decoration:none;display:inline-flex}.admin-module-btn--danger{color:var(--color-danger);background:#ef44441a;flex:none}@media (max-width:900px){.admin-page-head{flex-direction:column;align-items:stretch}.admin-page-head-btn{justify-content:center;width:100%}.admin-form-card{margin:16px 0;padding:16px}.admin-form-grid--3,.admin-form-grid--2{grid-template-columns:1fr}.admin-form-actions{justify-content:stretch}.admin-form-submit{width:100%}.admin-module-card-actions{grid-template-columns:1fr 1fr;display:grid}.admin-module-card-actions .admin-module-btn--danger{grid-column:1/-1}}@media (max-width:480px){.admin-module-card-main{flex-wrap:wrap}.admin-module-card-main .module-badge{margin-left:36px}.admin-module-card-actions{grid-template-columns:1fr}}.admin-page-loading,.admin-page-empty{color:var(--color-text-secondary);margin-top:24px;font-size:14px}.admin-resource-desc{color:var(--color-text-secondary);margin:6px 0 0;font-size:13px;line-height:1.5}.admin-resource-url{color:var(--color-primary);word-break:break-all;align-items:flex-start;gap:6px;margin-top:10px;font-size:12px;line-height:1.4;text-decoration:none;display:inline-flex}.admin-resource-url:hover{text-decoration:underline}.admin-resource-card .module-meta{margin-top:8px}.admin-resource-card .module-meta .module-badge{margin-top:0}.admin-page-head--solo{margin-bottom:0}.admin-email-form{margin-top:20px}.admin-email-recipients{background:var(--color-bg-main);border-radius:var(--radius-xl);border:1px solid #c92d6e2e;margin-bottom:28px;padding:22px 24px;box-shadow:inset 0 1px #fff9}.admin-email-recipients-title{font-family:var(--font-display);color:var(--color-text);align-items:center;gap:10px;margin:0 0 6px;font-size:17px;font-weight:800;display:flex}.admin-email-recipients-title i{color:var(--color-primary);font-size:20px}.admin-email-recipients-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 18px;line-height:1.5}.admin-email-target-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.admin-email-target-card{border-radius:var(--radius-lg);cursor:pointer;text-align:center;font-family:var(--font-body);background:#fff;border:1px solid #00000014;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.admin-email-target-card:hover{background:#fffffff2;border-color:#c92d6e40}.admin-email-target-card--on{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 1px #c92d6e1f}.admin-email-target-icon{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-text-secondary);background:#0000000a;justify-content:center;align-items:center;margin-bottom:2px;font-size:20px;display:flex}.admin-email-target-card--on .admin-email-target-icon{background:var(--color-primary);color:#fff}.admin-email-target-label{font-size:var(--text-sm);color:var(--color-text);font-weight:700}.admin-email-target-card--on .admin-email-target-label{color:var(--color-primary)}.admin-email-target-hint{color:var(--color-text-muted);font-size:11px;line-height:1.3}.admin-email-recipient-summary{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);background:#ffffffbf;border:1px solid #0000000f;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;line-height:1.4;display:flex}.admin-email-recipient-summary i{width:22px;height:22px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.admin-email-recipient-summary span{flex:1;min-width:0;padding-top:1px}.admin-email-recipient-detail{padding-top:4px}.admin-email-recipient-detail-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);margin-bottom:12px;font-weight:700;display:block}.admin-email-role-pills{gap:10px}.admin-email-region-wrap{position:relative}.admin-email-region-icon{color:var(--color-primary);pointer-events:none;z-index:1;font-size:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.admin-email-region-select{border-radius:var(--radius-md);background:#fff;border:1px solid #0000001a;width:100%;min-height:48px;padding-left:42px!important}.admin-email-selected{border-radius:var(--radius-lg);background:#fff;border:1px solid #10b98140;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.admin-email-selected-avatar{border-radius:var(--radius-full);background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.admin-email-selected-info{flex:1;min-width:0}.admin-email-selected-name{font-weight:700;font-size:var(--text-sm);word-break:break-word}.admin-email-selected-email{font-size:var(--text-xs);color:var(--color-text-muted);word-break:break-all;margin-top:2px}.admin-email-selected .admin-module-btn{flex:none}.admin-email-send{justify-content:center;align-items:center;gap:8px;display:inline-flex}@media (max-width:900px){.admin-email-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-email-selected{text-align:center;flex-direction:column;align-items:stretch}.admin-email-selected-avatar{margin:0 auto}.admin-email-selected .admin-module-btn{width:100%}.admin-email-body{min-height:160px}}@media (max-width:480px){.admin-email-recipients{padding:16px}.admin-email-target-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-email-target-card{padding:12px 8px}.admin-email-target-icon{width:36px;height:36px;font-size:18px}}.skip-link{z-index:200;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);padding:8px 16px;font-weight:600;text-decoration:none;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}.sidebar-btn-logout{text-align:left;cursor:pointer;background:0 0;border:none;width:100%}nav.bottom-nav{z-index:200;box-sizing:border-box;-webkit-backdrop-filter:none;border-bottom:none;height:auto;min-height:56px;transition:none;display:none;position:fixed;inset:auto 0 0}@media (max-width:900px){nav.bottom-nav{background:var(--color-sidebar-dark);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid #ffffff14;align-items:stretch;gap:4px;display:flex;box-shadow:0 -8px 28px #00000038}.bottom-nav--admin{background:var(--color-sidebar-dark);border-top-color:#ffffff14;box-shadow:0 -8px 28px #00000047}.app-header{align-items:center;gap:var(--space-2);display:flex}.search-wrap--app{flex:1;min-width:0}}.bottom-nav-item{color:#ffffff8c;cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;max-width:88px;min-height:52px;transition:background var(--duration-base) ease, color var(--duration-base) ease;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;margin:0 auto;padding:6px 2px;font-size:10px;font-weight:600;line-height:1.2;text-decoration:none;display:flex;position:relative}.bottom-nav--admin .bottom-nav-item{color:#ffffff80}.bottom-nav-item:hover{color:#ffffffd9;background:#ffffff0f}.bottom-nav-icon-wrap{justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative}.bottom-nav-item i{font-size:22px;line-height:1}.bottom-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav-badge{background:var(--color-primary);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:flex;position:absolute;top:-2px;right:-8px}.bottom-nav-item.active{color:var(--color-text-on-dark);background:var(--color-primary);font-weight:600}.bottom-nav--admin .bottom-nav-item.active{color:var(--color-brand-accent-on-dark);background:#c92d6e33;font-weight:600}.bottom-nav-item.active .bottom-nav-icon-wrap:after{display:none}.bottom-nav-item.active .bottom-nav-label{color:inherit;font-weight:inherit}.bottom-sheet-backdrop{z-index:210;opacity:0;pointer-events:none;transition:opacity var(--duration-slow) var(--ease-out);background:#00000073;display:none;position:fixed;inset:0}.bottom-sheet-backdrop.open{opacity:1;pointer-events:auto;display:block}.bottom-sheet{z-index:220;background:var(--color-bg-main);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-3) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom,0px));max-height:min(70vh,520px);transition:transform var(--duration-slow) var(--ease-out);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -12px 40px #0000001f}.bottom-sheet--admin{background:var(--color-sidebar-dark);border-top:1px solid #ffffff14}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-handle{width:36px;height:4px;margin:0 auto var(--space-3);background:#0000001f;border-radius:99px;flex-shrink:0}.bottom-sheet--admin .bottom-sheet-handle{background:#ffffff38}.bottom-sheet-head{margin-bottom:var(--space-3);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.bottom-sheet-head strong{font-family:var(--font-display);font-size:16px}.bottom-sheet--admin .bottom-sheet-head strong{color:#ffffffeb}.bottom-sheet-close{background:var(--color-bg-input);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex}.bottom-sheet--admin .bottom-sheet-close{color:#ffffffe0;background:#ffffff1a}.bottom-sheet-nav{margin:0 calc(-1 * var(--space-2));flex:1;list-style:none;overflow-y:auto}.bottom-sheet-nav a{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);color:var(--color-text-primary);border-radius:var(--radius-md);font-size:15px;font-weight:500;text-decoration:none;display:flex}.bottom-sheet--admin .bottom-sheet-nav a{color:#ffffffd1}.bottom-sheet-nav a.active,.bottom-sheet-nav a:hover{background:var(--color-bg-input);color:var(--color-primary)}.bottom-sheet--admin .bottom-sheet-nav a.active,.bottom-sheet--admin .bottom-sheet-nav a:hover{color:var(--color-brand-accent-on-dark);background:#c92d6e2e}.bottom-sheet-foot{padding-top:var(--space-3);margin-top:var(--space-2);border-top:1px solid #0000000f;flex-shrink:0}.bottom-sheet--admin .bottom-sheet-foot{border-top-color:#ffffff14}.bottom-sheet-signout{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary);color:#fff;cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-body);border:none;display:flex}.bottom-sheet-signout--admin{background:var(--color-primary);color:#fff}.search-wrap--app{position:relative}.search-dropdown{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:60;max-height:360px;padding:var(--space-2) 0;border:1px solid #00000014;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.search-dropdown-section{padding:var(--space-2) 0}.search-dropdown-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:var(--space-2) var(--space-4);font-size:11px;font-weight:700}.search-dropdown-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);font-size:14px;text-decoration:none;display:flex}.search-dropdown-item:hover{background:var(--color-bg-input)}.search-dropdown-empty,.search-dropdown-all{padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);font-size:13px}.search-dropdown-all{text-align:center;color:var(--color-primary);border-top:1px solid #0000000f;font-weight:600;text-decoration:none;display:block}.search-results{margin-top:var(--space-6)}.search-results-section{margin-bottom:var(--space-8)}.search-results-section h2{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:var(--space-3);font-size:14px}.search-result-item{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-2);color:inherit;border:1px solid #0000000f;text-decoration:none;display:flex}.search-result-item:hover{border-color:var(--color-primary);background:#ff2d780a}.search-result-title{font-weight:600}.search-result-desc{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.notif-wrap{position:relative}.notif-bell-btn{flex-shrink:0}.notif-count-badge{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;text-align:center;border:2px solid var(--color-bg-main);min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:2px}.notif-backdrop{display:none}.notif-dropdown{background:var(--color-surface-elevated);border-radius:var(--radius-lg);z-index:140;border:1px solid #0000001a;width:340px;max-width:90vw;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0000002e}.notif-dropdown-head{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notif-mark-all{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.notif-dropdown-list{max-height:320px;overflow-y:auto}.notif-empty{text-align:center;color:var(--color-text-tertiary);padding:28px 16px;font-size:13px}.notif-empty i{margin-bottom:6px;font-size:28px;display:block}.notif-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000000a;align-items:flex-start;gap:10px;width:100%;padding:12px 16px;display:flex}.notif-item--unread{background:#ff2d780d}.notif-item-icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.notif-item-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-item-title{font-size:13px;font-weight:600;line-height:1.3}.notif-item-body{color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-item-time{color:var(--color-text-tertiary);margin-top:2px;font-size:11px}.notif-unread-dot{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-dropdown-foot{text-align:center;border-top:1px solid #0000000f;padding:10px 16px}.notifications-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.notifications-mark-all{border-radius:var(--radius-full);background:var(--color-surface-hover);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.notifications-page-alert{flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px;display:flex}.notifications-retry{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.notifications-empty{background:var(--color-surface-hover);text-align:center;border-radius:var(--radius-lg);margin-top:24px;padding:48px 24px}.notifications-empty i{color:var(--color-text-tertiary);margin-bottom:12px;font-size:48px;display:block}.notifications-empty h3{margin:0 0 8px;font-size:18px}.notifications-empty p{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.5}.notifications-list{flex-direction:column;gap:8px;margin-top:24px;display:flex}.notifications-item{text-align:left;border-radius:var(--radius-lg);cursor:pointer;background:var(--color-surface-elevated);width:100%;color:inherit;transition:box-shadow var(--duration-fast) ease, border-color var(--duration-fast) ease;border:1px solid #00000014;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.notifications-item--unread{background:#ff2d780a;border-color:#c92d6e26}.notifications-item-icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.notifications-item-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notifications-item-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.notifications-item-title{font-size:15px;font-weight:700;line-height:1.3}.notifications-item-dot{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notifications-item-text{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.notifications-item-time{color:var(--color-text-tertiary);margin-top:4px;font-size:12px}.notifications-item-arrow{color:var(--color-text-muted);flex-shrink:0;margin-top:4px;font-size:18px}@media (max-width:900px){.header-icon-btn.notif-bell-btn{width:44px;height:44px}.notifications-page-head{flex-direction:column;align-items:stretch}.notifications-mark-all{justify-content:center;width:100%}.notifications-item{padding:14px 16px}}.app-loading-screen{justify-content:center;align-items:center;gap:var(--space-4);height:100vh;color:var(--color-text-secondary);font-family:var(--font-display);flex-direction:column;font-weight:700;display:flex}.app-loading-spinner{border:3px solid var(--color-bg-tag);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-skeleton{padding:var(--space-2) 0}.skeleton{background:var(--color-bg-input);border-radius:var(--radius-md);background-size:200% 100%;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-banner{height:180px;margin-bottom:var(--space-6);border-radius:var(--radius-xl)}.skeleton-title{width:200px;height:24px;margin-bottom:var(--space-4)}.skeleton-card{height:88px;margin-bottom:var(--space-3)}.skeleton-panel{height:200px}.skeleton-panel-sm{height:120px;margin-top:var(--space-3)}.skeleton-row{height:56px;margin-bottom:var(--space-2)}.skeleton-grid-2{gap:var(--space-6);grid-template-columns:1fr 320px;display:grid}.skeleton-stack{flex-direction:column;display:flex}@media (max-width:1200px){.skeleton-grid-2{grid-template-columns:1fr}}.info-card{border-radius:var(--radius-lg);text-align:left;background:#c92d6e0d;border:1px solid #c92d6e1f;margin-bottom:20px;padding:16px 18px}.info-card--left{text-align:left}.info-card-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:600}.info-card-value{font-weight:700;font-family:var(--font-mono,ui-monospace, monospace);word-break:break-all;font-size:15px}.info-card-value--lg{font-size:18px;font-weight:800}.info-card-hint{color:var(--color-text-muted);margin-top:8px;font-size:12px;line-height:1.45}.info-card-code{font-size:15px;font-family:var(--font-mono,ui-monospace, monospace);margin-top:8px;font-weight:700;display:block}.info-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.otp-grid{justify-content:center;gap:10px;margin:24px 0;display:flex}.otp-input{text-align:center;font-weight:700;border-radius:var(--radius-lg)!important;border:1.5px solid #00000014!important;width:48px!important;height:56px!important;padding:0!important;font-size:22px!important}.otp-input:focus{border-color:#c92d6e73!important;box-shadow:0 0 0 3px #c92d6e1a!important}.alert{border-radius:var(--radius-lg);margin-bottom:16px;padding:14px 16px;font-size:14px;line-height:1.45}.alert--success{color:#059669;background:#10b9811a;border:1px solid #10b9812e}.auth-funnel-actions{text-align:center;border-top:1px solid #0000000f;margin-top:24px;padding-top:20px;font-size:14px}.auth-funnel-dot{color:var(--color-text-muted);margin:0 10px}.link-btn{color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-body);background:0 0;border:none}.link-btn:disabled{opacity:.5;cursor:not-allowed}.link-btn--muted{color:var(--color-text-muted)}.funnel-icon{background:var(--color-primary-soft);width:64px;height:64px;color:var(--color-primary);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;margin:0 auto 16px;font-size:32px;display:flex}.funnel-icon--pending i{animation:2.8s ease-in-out infinite funnel-hourglass-pulse;display:block}@keyframes funnel-hourglass-pulse{0%,to{opacity:1}50%{opacity:.55}}.funnel-icon--danger{color:var(--color-danger);background:#ef44441a}.poll-status-wrap{justify-content:center;align-items:center;min-height:2.9em;margin:0 0 16px;display:flex}.poll-status{color:var(--color-text-muted);text-align:center;margin:0;font-size:13px;line-height:1.45}.funnel-step-head{text-align:center;margin-bottom:28px}.step-progress{gap:6px;margin-bottom:28px;display:flex}.step-progress-bar{background:#0000001a;border-radius:99px;flex:1;height:4px}.step-progress-bar--active{background:var(--color-primary)}.onboarding-actions{justify-content:space-between;gap:12px;display:flex}.btn-ghost{border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-primary);background:0 0;border:1px solid #0000001a;padding:12px 20px;font-weight:600}.btn-ghost--sm{padding:8px 14px;font-size:13px}.btn-submit--inline{width:auto!important}.learning-card--link{color:inherit;text-decoration:none;display:block}.due-badge{color:var(--color-text-secondary);font-weight:600}.due-badge--overdue{color:var(--color-danger)}.req-due{align-items:center;gap:4px;margin:8px 0 4px;font-size:12px;display:flex}.panel-empty{color:var(--color-text-secondary);margin:0;font-size:13px}.modal-overlay{z-index:200;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.completion-modal{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;width:100%;max-width:420px;box-shadow:var(--shadow-xl);animation:modalIn .3s var(--ease-out)}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:none}}.completion-modal-icon{width:72px;height:72px;margin:0 auto var(--space-4);color:var(--color-primary);background:#ff2d781a;border-radius:50%;justify-content:center;align-items:center;font-size:36px;display:flex}.completion-modal-title{font-family:var(--font-display);margin-bottom:8px;font-size:24px}.completion-modal-desc{color:var(--color-text-secondary);margin-bottom:24px;line-height:1.6}.completion-modal-actions{flex-direction:column;align-items:center;gap:12px;display:flex}.empty-state{background:var(--color-surface-elevated);text-align:center;border-radius:var(--radius-lg);border:1px solid #00000014;margin-top:32px;padding:48px 24px}.empty-state i{color:var(--color-text-tertiary);margin-bottom:16px;font-size:48px;display:block}.empty-state h3{margin-bottom:8px;font-size:18px;font-weight:700}.empty-state p{color:var(--color-text-secondary);max-width:400px;margin:0 auto 24px;line-height:1.5}.empty-state-btn{display:inline-block;width:auto!important}.profile-section{max-width:none;padding:0}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;margin-top:32px;display:grid}.profile-grid .profile-card{margin-top:0}.profile-alert{margin-top:24px}.profile-card{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid #00000014;margin-top:32px;padding:24px}.profile-card-title{margin:0 0 20px;font-size:18px}.profile-avatar-row{align-items:center;gap:16px;margin-bottom:24px;display:flex}.profile-avatar{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:22px;font-weight:800;display:flex;overflow:hidden;box-shadow:0 4px 16px #c92d6e47}.admin-layout .profile-avatar{color:var(--color-brand-accent-on-dark);background:#c92d6e47;box-shadow:0 4px 16px #0003}.profile-avatar img{object-fit:cover;width:100%;height:100%}.form-input--disabled{cursor:not-allowed;background:var(--color-background)!important}select.form-input,.form-select{padding-left:var(--space-4);padding-right:calc(var(--space-4) + 1.75rem);appearance:none;cursor:pointer;background-color:var(--color-bg-input);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px}select.form-input:focus,.form-select:focus{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;border-color:var(--color-primary);background-size:16px;box-shadow:0 0 0 3px #ff2d7814}.input-wrap .form-select,.input-wrap select.form-input{padding-left:44px}.form-hint{color:var(--color-text-secondary);margin-top:8px;font-size:12px}.profile-form-foot{border-top:1px solid #00000014;justify-content:flex-end;margin-top:32px;padding-top:24px;display:flex}.search-wrap--pill .search-input{border-radius:var(--radius-full);background:var(--color-bg-input);border-color:#0000;padding-top:11px;padding-bottom:11px}.search-wrap--pill i{color:var(--color-primary)}.app-header .search-wrap--app{justify-self:center;width:100%;max-width:420px}.progress-ring-wrap{flex-shrink:0;position:relative}.progress-ring-label{font-family:var(--font-display);color:var(--color-text-primary);justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex;position:absolute;inset:0}.dash-page{gap:var(--space-5);flex-direction:column;width:100%;max-width:none;display:flex}.dash-hero{border-radius:var(--radius-xl);background:var(--color-bg-main);box-shadow:var(--shadow-card);border:1px solid #0000000d;position:relative;overflow:hidden}.dash-hero-glow{pointer-events:none;background:0 0;position:absolute;inset:0}.dash-hero-inner{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-6) var(--space-7);display:flex;position:relative}.dash-hero-copy{flex:1;min-width:0}.dash-hero-eyebrow{font-size:var(--text-sm);color:var(--color-primary);margin:0 0 var(--space-2);font-weight:600}.dash-hero-title{font-family:var(--font-display);margin:0 0 var(--space-3);color:var(--color-text-primary);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:800;line-height:1.15}.dash-hero-desc{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:52ch;margin:0;line-height:1.6}.dash-hero-metrics{align-items:flex-start;gap:var(--space-5);flex-shrink:0;display:flex}.dash-hero-metric{flex-direction:column;align-items:center;gap:6px;min-width:56px;display:flex}.dash-hero-metric-value{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);font-weight:800;line-height:1}.dash-hero-metric-value span{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.dash-hero-metric-value--streak{color:#f59e0b;align-items:center;gap:4px;display:inline-flex}.dash-hero-metric-value--streak i{font-size:20px}.dash-hero-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);text-align:center;font-size:10px;font-weight:700}.dash-spotlight{align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);background:var(--color-sidebar-dark);color:var(--color-text-on-dark);box-shadow:var(--shadow-lg);transition:transform var(--duration-fast), box-shadow var(--duration-base);border:1px solid #ffffff0f;text-decoration:none;display:flex;position:relative;overflow:hidden}.dash-spotlight:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.dash-spotlight-glow{pointer-events:none;background:0 0;position:absolute;inset:0}.dash-spotlight-icon{border-radius:var(--radius-lg);width:64px;height:64px;color:var(--color-brand-accent-on-dark);background:#ffffff1a;border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;font-size:28px;display:flex;position:relative}.dash-spotlight-body{flex:1;min-width:0;position:relative}.dash-spotlight-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-brand-accent-on-dark);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.dash-spotlight-title{font-family:var(--font-display);font-size:var(--text-md);margin:0 0 var(--space-2);font-weight:800;line-height:1.3}.dash-spotlight-meta{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:#ffffffa6;margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.dash-spotlight-meta i{color:var(--color-brand-accent-on-dark);margin-right:4px}.dash-spotlight-progress{align-items:center;gap:var(--space-3);max-width:360px;display:flex}.dash-spotlight-progress .progress-bar{background:#ffffff1f;flex:1;height:6px}.dash-spotlight-progress .progress-fill{background:var(--color-primary)}.dash-spotlight-progress span{font-size:var(--text-xs);color:#ffffffbf;white-space:nowrap;font-weight:600}.dash-spotlight-action{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:var(--text-sm);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;padding:12px 22px;font-weight:700;display:inline-flex;position:relative}.dash-bento{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.dash-bento-card{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);background:var(--color-bg-main);box-shadow:var(--shadow-card);border:1px solid #0000000d;min-width:0;display:flex}.dash-bento-card>div:nth-child(2){flex:1;min-width:0}.dash-bento-card--primary,.dash-bento-card--warning,.dash-bento-card--success{background:#fff}.dash-bento-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.dash-bento-card--primary .dash-bento-icon{background:var(--color-primary-soft);color:var(--color-primary)}.dash-bento-card--warning .dash-bento-icon{color:var(--color-warning);background:#f59e0b1f}.dash-bento-card--success .dash-bento-icon{color:var(--color-success);background:#10b9811f}.dash-bento-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:2px;font-size:10px;font-weight:700;display:block}.dash-bento-value{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);font-weight:800;line-height:1.2}.dash-bento-value span{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.dash-bento-link{font-size:var(--text-xs);color:var(--color-success);white-space:nowrap;flex-shrink:0;font-weight:700;text-decoration:none}.dash-bento-link:hover{text-decoration:underline}.dash-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.dash-panel-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);margin:0 0 4px;font-weight:800}.dash-panel-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.dash-panel-link{font-size:var(--text-sm);color:var(--color-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:2px;padding-top:4px;font-weight:600;text-decoration:none;display:inline-flex}.dash-panel-link:hover{color:var(--color-primary-light)}.dash-greeting-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:4px}.dash-greeting-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);margin:0;font-weight:800}.dash-content-grid{width:100%;margin-top:0}.dash-content-grid .content-left,.dash-content-grid .content-right{width:100%;min-width:0}.dash-courses-panel,.dash-required-section{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-card);border:1px solid #0000000d;width:100%}.dash-tabs{background:var(--color-bg-input);border-radius:var(--radius-full);margin-bottom:var(--space-5);gap:4px;padding:4px;display:inline-flex}.dash-tab{border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-base);background:0 0;border:none;padding:8px 16px;font-weight:600}.dash-tab--active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.dash-courses-empty{text-align:center;color:var(--color-text-secondary);padding:48px 24px}.dash-courses-empty-icon{border-radius:var(--radius-lg);background:var(--color-bg-input);width:56px;height:56px;color:var(--color-text-muted);justify-content:center;align-items:center;margin:0 auto 16px;font-size:28px;display:flex}.dash-empty-link{color:var(--color-primary);margin-top:12px;font-weight:600;text-decoration:none;display:inline-block}.dash-course-grid{gap:var(--space-2);flex-direction:column;display:flex}.dash-course-card{align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-page);color:inherit;transition:border-color var(--duration-base), box-shadow var(--duration-base), transform var(--duration-fast);border:1px solid #0000000d;text-decoration:none;display:flex}.dash-course-card:hover{box-shadow:var(--shadow-xs);border-color:#c92d6e33;transform:translateY(-1px)}.dash-course-card--done{background:var(--color-bg-page)}.dash-course-card-icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.dash-course-card--done .dash-course-card-icon{color:var(--color-success);background:#10b9811f}.dash-course-card-body{flex:1;min-width:0}.dash-course-card-title{font-weight:700;font-size:var(--text-sm);margin-bottom:4px;line-height:1.35;display:block}.dash-course-card-meta{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:capitalize;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.dash-course-due{color:var(--color-primary);align-items:center;gap:4px;margin-bottom:8px;font-size:11px;font-weight:600;display:inline-flex}.dash-course-due--overdue{color:var(--color-danger)}.dash-course-card-progress .progress-bar{width:100%;height:5px}.dash-course-card-aside{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.dash-course-card-duration{color:var(--color-text-muted);white-space:nowrap;font-size:10px}.dash-course-card-duration i{margin-right:2px}.dash-required-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dash-required-card{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-page);border:1px solid #f59e0b26}.dash-required-card-top{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.dash-required-icon{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-warning);background:#f59e0b26;justify-content:center;align-items:center;font-size:18px;display:flex}.dash-required-title{font-family:var(--font-display);font-size:var(--text-sm);margin:0 0 var(--space-2);font-weight:800;line-height:1.35}.dash-required-desc{margin:0 0 var(--space-4);font-size:var(--text-xs);color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.dash-required-footer{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.dash-required-cta{font-size:var(--text-xs);color:var(--color-primary);align-items:center;gap:4px;font-weight:700;text-decoration:none;display:inline-flex}.dash-required-cta:hover{text-decoration:underline}.dash-aside{gap:var(--space-4)!important}.dash-aside-card,.dash-streak-panel{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-card);border:1px solid #0000000d;width:100%}.dash-aside-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.dash-aside-title{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text-primary);margin:0;font-weight:800}.dash-aside-empty{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.dash-announce-list{gap:var(--space-4);flex-direction:column;display:flex}.dash-announce-item{padding-bottom:var(--space-4);border-bottom:1px solid #0000000d}.dash-announce-item:last-child{border-bottom:none;padding-bottom:0}.dash-announce-top{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:6px;display:flex}.dash-announce-title{font-size:var(--text-sm);margin:0 0 4px;font-weight:700;line-height:1.35}.dash-announce-desc{font-size:var(--text-xs);color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.dash-streak-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.dash-streak-flame{color:#f59e0b73;background:#f59e0b1a;border:1px solid #f59e0b1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.dash-streak-flame--live{background:var(--color-primary-soft);color:#f59e0b;border-color:#f59e0b40;box-shadow:0 2px 10px #f59e0b33}.dash-streak-stat{flex:1;align-items:baseline;gap:6px;min-width:0;display:flex}.dash-streak-count{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1}.dash-streak-unit{color:var(--color-text-muted);font-size:13px;font-weight:600}.dash-streak-week-score{color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-full);font-size:12px;font-weight:800;font-family:var(--font-display);flex-shrink:0;padding:5px 10px}.dash-streak-week-track{background:var(--color-bg-input);border-radius:99px;height:4px;margin-bottom:8px;overflow:hidden}.dash-streak-week-fill{background:var(--color-primary);border-radius:99px;min-width:0;height:100%;transition:width .6s}.dash-week{justify-content:space-between;gap:2px;display:flex}.dash-week-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.dash-week-dot{background:var(--color-bg-input);width:100%;max-width:28px;height:8px;box-shadow:none;border:none;border-radius:99px}.dash-week-dot--active{background:var(--color-primary)}.dash-week-dot--today{box-shadow:0 0 0 2px #c92d6e40}.dash-week-dot--today:not(.dash-week-dot--active){border:1.5px solid var(--color-primary);background:#fff}.dash-week-label{color:var(--color-text-muted);text-transform:uppercase;font-size:9px;font-weight:700}.dash-week-label--today{color:var(--color-primary)}.dash-aside-card,.dash-content-grid .content-right .panel{width:100%}.dash-upcoming-list{gap:var(--space-3);flex-direction:column;display:flex}.dash-upcoming-item{gap:var(--space-3);color:inherit;transition:opacity var(--duration-base);border-bottom:1px solid #0000000a;grid-template-columns:72px 1fr;align-items:start;padding:8px 0;text-decoration:none;display:grid}.dash-upcoming-item:last-child{border-bottom:none}.dash-upcoming-item:hover{opacity:.85}.dash-upcoming-date{color:var(--color-text-muted);font-size:11px;font-weight:700;line-height:1.3}.dash-upcoming-body{align-items:flex-start;gap:10px;display:flex}.dash-skeleton-hero{border-radius:var(--radius-xl);height:140px}.dash-skeleton-spotlight{border-radius:var(--radius-xl);height:110px}.dash-skeleton-stats{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.dash-skeleton-stat{border-radius:var(--radius-xl);height:72px}@media (max-width:1100px){.dash-bento{grid-template-columns:1fr}.dash-hero-inner{flex-direction:column;align-items:flex-start}.dash-hero-metrics{justify-content:space-between;width:100%}.dash-required-grid{grid-template-columns:1fr}}@media (max-width:900px){.header-page-title{display:none}.app-header{grid-template-columns:1fr auto}.dash-spotlight{text-align:left;flex-direction:column;align-items:stretch}.dash-spotlight-action{justify-content:center;width:100%}.dash-spotlight-progress{max-width:none}.dash-course-card{flex-wrap:wrap}.dash-course-card-aside{width:100%;padding-left:calc(44px + var(--space-4));flex-direction:row;justify-content:space-between}}@media (max-width:600px){.dash-skeleton-stats{grid-template-columns:1fr}.dash-hero-metrics{gap:var(--space-3)}.dash-hero-metric{min-width:48px}.dash-bento-card{padding:var(--space-3) var(--space-4)}}.admin-layout .admin-main{background:var(--color-bg-page);padding:var(--space-6) var(--space-8)}.admin-page{gap:var(--space-6);flex-direction:column;width:100%;max-width:none;display:flex}.admin-greeting-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);margin:0;font-weight:800;line-height:1.2}.admin-greeting-desc{font-size:var(--text-sm);color:var(--color-text-muted);max-width:640px;margin:6px 0 0;line-height:1.5}.admin-back-link{font-size:var(--text-sm);color:var(--color-primary);align-items:center;gap:6px;margin-bottom:-8px;font-weight:600;text-decoration:none;display:inline-flex}.admin-back-link:hover{color:var(--color-primary-light)}.admin-layout .admin-header{box-sizing:border-box;width:100%;padding:0 var(--space-4);background:var(--color-bg-main);border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:12px;min-height:56px;grid-template-columns:unset!important;display:flex!important}.admin-layout .admin-header .admin-header-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.25;font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-primary);flex:1;margin:0;font-weight:800;overflow:hidden}.admin-layout .admin-header .admin-header-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.admin-header-user-meta{text-align:right;display:none}@media (min-width:901px){.admin-layout .admin-header{padding:0 var(--space-6);min-height:60px}.admin-header-user-meta{display:block}.admin-layout .admin-header .admin-header-actions{gap:16px}}@media (max-width:900px){.admin-layout .admin-header .admin-header-title{font-size:15px}.admin-layout .admin-header .header-icon-btn.notif-bell-btn,.admin-layout .admin-header .header-profile-link .header-user-avatar{width:40px;height:40px;font-size:13px}}.admin-header-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-primary);white-space:nowrap;margin:0;font-weight:800}.dash-greeting-desc{font-size:var(--text-sm);color:var(--color-text-muted);max-width:640px;margin:6px 0 0;line-height:1.5}.admin-page-head .dash-greeting{flex:1;min-width:0}.admin-stat-value span{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.admin-panel-head,.admin-panel-head.sec-header{margin-bottom:var(--space-4)}.admin-role-label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.admin-role-count{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text-primary)}.admin-activity-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);border-bottom:1px solid #0000000a;padding:14px 0;display:flex}.admin-activity-body{flex:1;min-width:0}.admin-activity-progress{align-items:center;gap:10px;margin-top:8px;display:flex}.admin-activity-progress .progress-bar{flex:1;height:5px}.admin-activity-pct{font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;flex-shrink:0}.admin-activity-row .module-badge{flex-shrink:0;margin-top:2px}.admin-stat-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;display:grid}.admin-stat-card{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--color-bg-main);border-radius:var(--radius-xl);width:100%;min-width:0;padding:var(--space-5);box-shadow:var(--shadow-card);border:1px solid #0000000a;display:flex}.admin-stat-card--primary,.admin-stat-card--info,.admin-stat-card--warning,.admin-stat-card--success{background:#fff}.admin-stat-main{align-items:center;gap:var(--space-4);flex:1;min-width:0;display:flex}.admin-stat-content{min-width:0}.admin-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.admin-stat-card--primary .admin-stat-icon{background:var(--color-primary-soft);color:var(--color-primary)}.admin-stat-card--info .admin-stat-icon{color:var(--color-info);background:#3b82f61f}.admin-stat-card--warning .admin-stat-icon{color:var(--color-warning);background:#f59e0b1f}.admin-stat-card--success .admin-stat-icon{color:var(--color-success);background:#10b9811f}.admin-stat-value{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);color:var(--color-text-primary);line-height:1.2}.admin-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:2px;font-size:11px;font-weight:700;display:block}.admin-stat-sub{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.admin-two-col{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0;display:grid}.admin-panel{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);border:1px solid #0000000a;width:100%}.admin-panel-head h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:800}.admin-role-bars{flex-direction:column;gap:2px;display:flex}.admin-activity-list{flex-direction:column;gap:0;display:flex}.admin-activity-row:last-child{border-bottom:none;padding-bottom:0}.admin-activity-name{font-weight:700;font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.3}.admin-activity-module{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.admin-quick-links{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.admin-quick-link{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:inherit;font-size:var(--text-sm);transition:box-shadow var(--duration-base), transform var(--duration-fast);border:1px solid #0000000a;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-weight:600;text-decoration:none;display:inline-flex}.admin-quick-link:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.admin-quick-link i{color:var(--color-primary);font-size:18px}.admin-table-wrap{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid #0000000a;width:100%;overflow-x:auto}.admin-table th{background:var(--color-bg-input);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.admin-table td{vertical-align:middle}.admin-table-user-name{font-weight:600;font-size:var(--text-sm)}.admin-table-user-email{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:2px}.admin-table-code{font-family:var(--font-mono);background:var(--color-bg-input);border-radius:var(--radius-xs);padding:2px 6px;font-size:11px}.admin-toolbar{gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.admin-toolbar .input-wrap{flex:1;min-width:220px}.admin-toolbar .form-select{flex-shrink:0;max-width:200px}.admin-empty{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);text-align:center;border:1px solid #0000000a;width:100%;padding:48px 24px}.admin-empty i{color:var(--color-text-tertiary);margin-bottom:12px;font-size:44px;display:block}.admin-empty--success i{color:var(--color-success)}.admin-empty p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-btn{border-radius:var(--radius-full);cursor:pointer;font-size:12px;font-weight:700;font-family:var(--font-body);white-space:nowrap;transition:opacity var(--duration-fast);border:none;justify-content:center;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn--approve{color:var(--color-success);background:#10b9811f}.admin-btn--reject{color:var(--color-danger);background:#ef44441a}.admin-btn--ghost{background:var(--color-bg-input);color:var(--color-text-primary)}.admin-btn--danger{color:var(--color-danger);background:#ef44441a}.admin-btn--link{background:var(--color-primary-soft);color:var(--color-primary)}.admin-pagination{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.admin-pagination-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.admin-form-card{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-card);border:1px solid #0000000a;width:100%;margin:0}.admin-form-card .form-input,.admin-form-card .form-select,.admin-form-card textarea.form-input{padding-left:var(--space-4)}.admin-form-card-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-md)}.admin-module-card{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-card);border:1px solid #0000000a;width:100%}.admin-modules-list{gap:var(--space-3);flex-direction:column;width:100%;margin-top:0;display:flex}.admin-announce-list{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.admin-announce-card{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);border:1px solid #0000000a;width:100%}.admin-announce-foot{margin-top:var(--space-3);gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.admin-announce-foot span{align-items:center;gap:4px;display:inline-flex}.admin-profile-card{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-card);align-items:center;gap:var(--space-4);border:1px solid #0000000a;width:100%;display:flex}.admin-profile-card .user-avatar{width:56px;height:56px;color:var(--color-primary);background:#c92d6e26;flex-shrink:0;font-size:20px}.admin-profile-name{font-family:var(--font-display);font-size:var(--text-xl);margin:0;font-weight:800}.admin-profile-meta{gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;margin-top:6px;display:flex}.admin-profile-meta span{align-items:center;gap:4px;display:inline-flex}.admin-section-card{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-card);border:1px solid #0000000a;width:100%}.admin-section-title{font-family:var(--font-display);font-size:var(--text-md);margin:0 0 var(--space-3);font-weight:800}.admin-section-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.admin-section-actions .form-select{flex:1;min-width:200px;max-width:320px}.admin-list-stack{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.admin-list-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:inherit;border:1px solid #0000000a;width:100%;text-decoration:none;display:flex}.admin-list-row:hover{box-shadow:var(--shadow-sm)}.admin-page-loading{color:var(--color-text-secondary);font-size:var(--text-sm)}.admin-page-empty{color:var(--color-text-secondary);font-size:var(--text-sm);padding:var(--space-4) 0}.admin-role-pill{border-radius:var(--radius-full)}.admin-email-region-tabs{margin-bottom:0}@media (max-width:1200px){.admin-stat-grid,.admin-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.admin-layout .admin-main{padding:var(--space-4)}.admin-stat-grid,.admin-two-col{grid-template-columns:1fr}.admin-quick-links{grid-template-columns:1fr 1fr}.admin-toolbar .form-select{width:100%;max-width:none}.admin-profile-card{flex-direction:column;align-items:flex-start}}@media (max-width:600px){.admin-quick-links{grid-template-columns:1fr}}.admin-dashed-btn{border-radius:var(--radius-lg);background:var(--color-primary-soft);width:100%;color:var(--color-primary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-base), border-color var(--duration-base);border:1.5px dashed #c92d6e59;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:14px 20px;font-weight:700;display:inline-flex}.admin-dashed-btn:hover{border-color:var(--color-primary);background:#c92d6e24}.admin-dashed-btn i{font-size:18px}.admin-dashed-btn--inline{border-radius:var(--radius-full);background:0 0;width:auto;margin-top:8px;padding:8px 14px;font-size:13px}.admin-dashed-btn--inline:hover{background:var(--color-primary-soft)}.admin-resource-upload{flex-direction:column;gap:10px;display:flex}.admin-resource-upload-btn{cursor:pointer;width:100%;margin-top:0}.admin-resource-upload-btn--busy{opacity:.7;pointer-events:none}.admin-resource-upload-status{border-radius:var(--radius-md);background:#10b98114;border:1px solid #10b98133;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.admin-resource-upload-ok{font-size:var(--text-sm);color:var(--color-success);align-items:center;gap:6px;font-weight:600;display:inline-flex}.admin-resource-upload-preview{font-size:var(--text-sm)}.admin-resource-upload-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.admin-user-pill{gap:6px}.admin-user-search .form-input{padding-left:40px}.admin-user-search-results{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:220px;margin:8px 0 0;padding:0;list-style:none;overflow:hidden auto}.admin-user-search-item{border:none;border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;background:#fff;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 14px;display:flex}.admin-user-search-item:last-child{border-bottom:none}.admin-user-search-item:hover{background:var(--color-primary-soft)}.admin-user-search-name{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.admin-user-search-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.admin-resource-visibility{background:var(--color-bg-main);border-radius:var(--radius-xl);border:1px solid #c92d6e2e;margin:24px 0;padding:20px 22px;box-shadow:inset 0 1px #fff9}.admin-resource-visibility-title{font-family:var(--font-display);color:var(--color-text);align-items:center;gap:10px;margin:0 0 6px;font-size:17px;font-weight:800;display:flex}.admin-resource-visibility-title i{color:var(--color-primary);font-size:20px}.admin-resource-visibility-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 20px;line-height:1.5}.admin-resource-visibility-block{margin-bottom:22px}.admin-resource-visibility-block:last-child{margin-bottom:0}.admin-resource-visibility-label{font-size:var(--text-sm);letter-spacing:.02em;color:var(--color-text);text-transform:uppercase;margin-bottom:12px;font-weight:700;display:block}.admin-resource-visibility-pills{gap:10px}.admin-resource-visibility-pills--users{margin-bottom:12px}.admin-resource-visibility-pill{min-height:44px;font-size:var(--text-sm)!important;padding:11px 20px!important;font-weight:600!important}.admin-resource-visibility-search .form-input{min-height:48px;font-size:var(--text-sm);background:#fff;border:1px solid #0000001a}.admin-resource-visibility-results{border-color:#c92d6e1f;margin-top:10px}.admin-file-type-detected{background:var(--color-bg-subtle,#f8f8fa);border-radius:var(--radius-md);border:1px solid #0000000f;flex-direction:column;justify-content:center;gap:6px;min-height:48px;padding:10px 14px;display:flex}.admin-file-type-badge{border-radius:var(--radius-full);background:var(--color-primary-soft);width:fit-content;color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.06em;align-items:center;padding:4px 10px;font-weight:800;display:inline-flex}.admin-file-type-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.admin-user-tabs{display:none}.admin-user-role-tabs{flex-wrap:wrap;gap:8px;display:flex}:is(.admin-page--users,.admin-page:has(.admin-users-panel)){gap:20px}@media (min-width:901px){.dash-greeting--subtitle-only .dash-greeting-title{display:none}.dash-greeting--subtitle-only .dash-greeting-desc{max-width:none;margin-top:0;font-size:15px}}.admin-users-panel{background:var(--color-bg-main);border-radius:var(--radius-xl);border:1px solid #0000000a;flex-direction:column;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #1a1a2e0f,0 4px 20px #1a1a2e0d}.admin-users-search{align-items:center;display:flex;position:relative}.admin-users-search>i{color:var(--color-text-muted);pointer-events:none;font-size:18px;position:absolute;left:16px}.admin-users-search-input{border-radius:var(--radius-lg);background:var(--color-bg-input);width:100%;font-family:var(--font-body);color:var(--color-text-primary);border:1.5px solid #0000;outline:none;padding:14px 44px;font-size:15px;transition:border-color .15s,background .15s}.admin-users-search-input:focus{background:#fff;border-color:#c92d6e59}.admin-users-search-clear{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:#0000000f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;right:10px}.admin-users-filter-block{flex-direction:column;gap:10px;display:flex}.admin-users-filter-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:11px;font-weight:700}.admin-users-chips{flex-wrap:wrap;gap:8px;display:flex}.admin-users-chips--compact{gap:6px}.admin-users-chip{border-radius:var(--radius-full);background:var(--color-bg-input);font-family:var(--font-body);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;border:1.5px solid #00000014;padding:9px 16px;font-size:13px;font-weight:600;transition:all .15s}.admin-users-chip--sm{padding:7px 12px;font-size:12px}.admin-users-chip--on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.admin-users-chip:hover:not(.admin-users-chip--on){background:#c92d6e0a;border-color:#c92d6e33}.admin-users-result-count{color:var(--color-text-muted);border-top:1px solid #0000000f;margin:0;padding-top:4px;font-size:14px}.admin-users-result-count strong{color:var(--color-text-primary);font-weight:800}.admin-users-list{background:var(--color-bg-main);border-radius:var(--radius-xl);border:1px solid #0000000a;overflow:hidden;box-shadow:0 1px 3px #1a1a2e0f,0 4px 20px #1a1a2e0d}.admin-users-row{cursor:pointer;outline:none;flex-direction:column;gap:14px;padding:18px 20px;transition:background .15s;display:flex}.admin-users-row+.admin-users-row{border-top:1px solid #0000000f}.admin-users-row:hover,.admin-users-row:focus-visible{background:#c92d6e08}.admin-users-row-main{align-items:flex-start;gap:14px;min-width:0;display:flex}.admin-users-avatar{background:var(--color-primary-soft);width:48px;height:48px;color:var(--color-primary);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex}.admin-users-row-body{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.admin-users-row-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-users-row-ident{min-width:0}.admin-users-name{font-family:var(--font-display);color:var(--color-text-primary);margin:0;font-size:16px;font-weight:800;line-height:1.25}.admin-users-email{color:var(--color-text-muted);word-break:break-word;margin:3px 0 0;font-size:13px}.admin-users-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:5px 10px;font-size:11px;font-weight:700}.admin-users-badge--active{color:#059669;background:#10b9811f}.admin-users-badge--pending{color:var(--color-primary);background:#c92d6e1f}.admin-users-badge--otp{color:#2563eb;background:#3b82f61f}.admin-users-badge--dismissed{color:var(--color-text-muted);background:#0000000f}.admin-users-row-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.admin-users-role{border-radius:var(--radius-full);color:var(--color-text-secondary);background:#1a1a2e0f;padding:4px 10px;font-size:12px;font-weight:700}.admin-users-role--volunteer{color:#2563eb;background:#3b82f61a}.admin-users-role--mentor{color:#7c3aed;background:#a855f71a}.admin-users-role--coordinator{color:var(--color-primary);background:#c92d6e1a}.admin-users-role--staff{color:var(--color-text-primary);background:#1a1a2e1a}.admin-users-meta-item{align-items:center;gap:4px;display:inline-flex}.admin-users-meta-item i{color:var(--color-text-muted);font-size:14px}.admin-users-flag{color:#d97706;font-size:12px;font-weight:600}.admin-users-training{max-width:320px}.admin-users-training-head{color:var(--color-text-muted);justify-content:space-between;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.admin-users-progress{border-radius:var(--radius-full);background:#0000000f;height:6px;overflow:hidden}.admin-users-progress-fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%;transition:width .3s}.admin-users-row-actions{flex-wrap:wrap;gap:8px;padding-left:62px;display:flex}.admin-users-action{border-radius:var(--radius-full);font-family:var(--font-body);cursor:pointer;border:1.5px solid #0000;align-items:center;gap:4px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.admin-users-action--primary{background:var(--color-primary-soft);color:var(--color-primary);border-color:#c92d6e26}.admin-users-action--primary:hover{background:#c92d6e26}.admin-users-action--approve{color:#059669;background:#10b9811a;border-color:#10b98140}.admin-users-action--danger{color:var(--color-danger);background:#ef444414;border-color:#ef444433}.admin-users-action--ghost{background:var(--color-bg-input);color:var(--color-text-secondary);border-color:#00000014}.admin-users-action:disabled{opacity:.5;cursor:not-allowed}.admin-users-empty{text-align:center;background:var(--color-bg-main);border-radius:var(--radius-xl);border:1px solid #0000000a;flex-direction:column;align-items:center;padding:48px 24px;display:flex;box-shadow:0 1px 3px #1a1a2e0a}.admin-users-empty-icon{background:var(--color-primary-soft);width:56px;height:56px;color:var(--color-primary);border-radius:16px;justify-content:center;align-items:center;margin-bottom:16px;font-size:26px;display:flex}.admin-users-empty h3{font-family:var(--font-display);margin:0;font-size:18px;font-weight:800}.admin-users-empty p{color:var(--color-text-muted);margin:8px 0 0;font-size:14px}.admin-users-pagination{justify-content:center;align-items:center;gap:16px;padding:8px 0;display:flex}.admin-users-page-btn{border-radius:var(--radius-full);background:var(--color-bg-main);font-family:var(--font-body);color:var(--color-text-primary);cursor:pointer;border:1.5px solid #00000014;align-items:center;gap:4px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.admin-users-page-btn:hover:not(:disabled){background:#c92d6e0a;border-color:#c92d6e40}.admin-users-page-btn:disabled{opacity:.4;cursor:not-allowed}.admin-users-page-label{color:var(--color-text-muted);font-size:14px;font-weight:600}@media (min-width:901px){.admin-users-filter-block{flex-direction:row;align-items:center;gap:14px}.admin-users-filter-label{flex-shrink:0;width:52px}.admin-users-row{flex-direction:row;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px}.admin-users-row-main{flex:1}.admin-users-row-body{gap:8px}.admin-users-training{max-width:240px}.admin-users-row-actions{flex-shrink:0;justify-content:flex-end;padding-left:0}}@media (max-width:640px){.admin-users-row-actions{padding-left:0}.admin-users-training{max-width:none}}.admin-user-tab{border-radius:var(--radius-full);border:1px solid var(--color-border,#0000001a);background:var(--color-bg-main);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;font-weight:600;font-family:var(--font-body);white-space:nowrap;flex-shrink:0;padding:8px 14px}.admin-user-tab--role{font-size:var(--text-xs);padding:7px 12px}.admin-user-tab--on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.admin-toolbar--users{margin-bottom:8px}.admin-toolbar--users .input-wrap{flex:1;width:100%;min-width:0}.admin-toolbar-search .form-input{width:100%;padding-left:40px}.admin-user-count{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 14px}.admin-user-flag{color:var(--color-text-muted);margin-top:4px;font-size:11px;display:block}.admin-user-training-stat{font-size:var(--text-sm);margin-bottom:4px}.admin-mini-bar--inline{width:72px;height:4px}.admin-user-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-user-actions--card{margin-top:12px}.admin-btn--success{color:var(--color-success,#10b981);background:#10b98114;border-color:#10b98159}.admin-btn--success:hover{background:#10b98126}.admin-user-cards{display:none}.admin-user-card{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid #0000000f;margin-bottom:12px;padding:16px}.admin-user-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.admin-user-card-meta{font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-account-card{border-color:#c92d6e1f}.admin-account-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.admin-account-stat{border-radius:var(--radius-md);background:#00000005;flex-direction:column;gap:4px;padding:12px;display:flex}.admin-account-stat-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.admin-account-note{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);background:#c92d6e0f;align-items:flex-start;gap:8px;margin:0 0 14px;padding:10px 12px;display:flex}.admin-account-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:900px){.admin-user-table-wrap{display:none}.admin-user-cards{display:block}.admin-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.admin-account-grid{grid-template-columns:1fr}}.foundation-logo{flex-shrink:0;display:block}.brand-logo .foundation-logo,.sidebar-logo .foundation-logo{filter:drop-shadow(0 2px 8px #00000026)}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{overflow-x:clip}img,video,iframe,table{max-width:100%}.app-layout,.admin-layout,.app-main,.admin-main,.admin-page,.dash-page,.app-page{min-width:0}@media (max-width:768px){.auth-form-panel{padding:max(var(--space-6), env(safe-area-inset-top,0px)) var(--space-5) max(var(--space-6), env(safe-area-inset-bottom,0px))}.auth-title{font-size:var(--text-xl)}.admin-layout .admin-main,.app-main{padding-left:max(var(--space-4), env(safe-area-inset-left,0px));padding-right:max(var(--space-4), env(safe-area-inset-right,0px))}.admin-section-card,.admin-form-card,.profile-card,.admin-resource-visibility{padding:var(--space-4)}.admin-section-actions{flex-direction:column;align-items:stretch}.admin-section-actions .form-select,.admin-section-actions .form-input,.admin-form-card .form-select,.admin-form-card .form-input,.profile-card .form-select,.profile-card .form-input,.app-page .form-select,.app-page .form-input{width:100%!important;min-width:0!important;max-width:none!important}.admin-section-actions .btn,.admin-section-actions .btn-submit,.admin-section-actions a.btn{justify-content:center;width:100%}.profile-form-foot{justify-content:stretch}.profile-form-foot .btn-submit{width:100%}.profile-avatar-row{flex-wrap:wrap}.dash-greeting-title,.admin-greeting-title{font-size:var(--text-lg);line-height:1.25}.dash-bento-value{font-size:var(--text-md)}.content-right>*{min-width:0}.dash-content-grid .content-right>*{flex:none;height:auto}.admin-email-recipient-grid{grid-template-columns:1fr}.admin-email-summary-bar{align-items:flex-start;gap:var(--space-2);flex-direction:column}.admin-profile-meta{gap:var(--space-2);flex-direction:column}.admin-user-card-actions,.admin-user-actions{width:100%}.admin-user-card-actions .btn,.admin-user-actions .btn{flex:auto;min-width:0}.lesson-layout{grid-template-columns:1fr!important}.quiz-option-row,.quiz-builder-row{flex-wrap:wrap}.completion-modal-actions .btn{width:100%}.field-report-form-grid{grid-template-columns:1fr!important}}@media (max-width:480px){.welcome-stats{grid-template-columns:1fr}.admin-stat-grid{grid-template-columns:1fr!important}.dash-course-card-aside{padding-left:calc(44px + var(--space-4))}.admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.header-icon-btn,.notification-bell-btn{min-width:44px;min-height:44px}.empty-state{padding:32px 16px}.section-title,.page-title{font-size:var(--text-lg)}}.module-detail-topbar{border-bottom:1px solid #0000000f;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.module-detail-topbar-back{color:var(--color-text-secondary);border-radius:var(--radius-md);flex-shrink:0;align-items:center;gap:4px;padding:6px 10px 6px 0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.module-detail-topbar-back:hover{color:var(--color-primary)}.module-detail-topbar-main{flex:1;min-width:0}.module-detail-topbar-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;line-height:1.3;display:block;overflow:hidden}.module-detail-topbar-step{color:var(--color-text-tertiary);margin-top:2px;font-size:12px;display:block}.module-detail-topbar-progress{color:var(--color-primary);border-radius:var(--radius-full);background:#ff2d7814;flex-shrink:0;padding:4px 10px;font-size:13px;font-weight:700}.module-lesson-step-nav{background:var(--color-surface-hover);border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.module-lesson-step-nav--bottom{background:var(--color-surface-elevated);border-top:1px solid #0000000f;border-bottom:none}.module-lesson-step-btn{border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text-primary);cursor:pointer;border:1px solid #0000001a;align-items:center;gap:4px;min-width:0;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.module-lesson-step-btn--next{margin-left:auto}.module-lesson-step-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.module-lesson-step-btn:disabled{opacity:.4;cursor:not-allowed}.module-lesson-step-indicator{color:var(--color-text-secondary);text-align:center;flex-shrink:0;font-size:13px;font-weight:700}.module-lesson-step-of{color:var(--color-text-tertiary);font-weight:500}.module-detail-back{display:none}.module-detail-header{margin-bottom:20px}.module-detail-header .section-title{margin:0 0 8px}.module-detail-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.module-detail-meta span{align-items:center;gap:4px;display:inline-flex}.module-detail-desc{color:var(--color-text-secondary);margin-top:12px;line-height:1.6}.module-detail-progress{margin-top:16px}.module-detail-progress-head{justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.module-detail-progress-bar{background:var(--color-surface-hover);border-radius:var(--radius-full);height:8px;overflow:hidden}.module-detail-progress-fill{height:100%;transition:width .3s}.module-detail-progress-fill--done{background:var(--color-success)}.module-detail-progress-fill--active{background:var(--color-primary)}.module-detail-layout{grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.module-lesson-sidebar{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid #00000014;overflow:hidden}.module-lesson-sidebar-head{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);border-bottom:1px solid #0000000f;padding:14px 16px;font-size:13px;font-weight:700}.module-lesson-list{display:block}.module-lesson-item{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;border-bottom:1px solid #0000000a;align-items:center;gap:10px;padding:12px 16px;display:flex}.module-lesson-item:disabled{cursor:not-allowed;opacity:.55}.module-lesson-item--active{background:var(--color-surface-hover)}.module-lesson-num{background:var(--color-surface-hover);width:22px;height:22px;color:var(--color-text-secondary);border:1px solid #0000001a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.module-lesson-num--done{background:var(--color-success);color:#fff;border:none}.module-lesson-info{flex:1;min-width:0}.module-lesson-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;display:block;overflow:hidden}.module-lesson-item--active .module-lesson-title{font-weight:700}.module-lesson-type{color:var(--color-text-tertiary);font-size:12px}.module-lesson-viewer{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid #00000014;min-width:0;overflow:hidden}.module-lesson-media{aspect-ratio:16/9;background:#000;width:100%}.module-lesson-media iframe,.module-lesson-media video{border:none;width:100%;height:100%}.module-lesson-pdf{border:none;border-bottom:1px solid #0000000f;width:100%;height:min(520px,70vh)}.module-lesson-body{padding:24px}.module-lesson-body-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.module-lesson-body-head h2{margin:0;font-size:20px;line-height:1.3}.module-lesson-complete-badge{color:var(--color-success);white-space:nowrap;font-size:13px;font-weight:700}.module-lesson-text{color:var(--color-text-primary);white-space:pre-wrap;line-height:1.7}.module-lesson-caption{color:var(--color-text-secondary);white-space:pre-wrap;margin-bottom:8px;line-height:1.7}.module-lesson-actions{justify-content:flex-end;margin-top:24px;display:flex}.module-lesson-footer{border-top:1px solid #0000000f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.module-lesson-footer-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.module-lesson-footer-done{color:var(--color-success);align-items:center;gap:6px;font-weight:700;display:inline-flex}.module-detail-empty{background:var(--color-surface-elevated);border-radius:var(--radius-lg);text-align:center;border:1px solid #00000014;padding:32px}.quiz-option-row{border-radius:var(--radius-md);border:1px solid #0000001a;align-items:center;gap:10px;padding:10px 12px;display:flex}.quiz-option-row--selected{border-color:var(--color-primary);background:#ff2d780f}.quiz-option-row--correct{border-color:var(--color-success);background:#10b98114}.quiz-option-row--wrong{border-color:var(--danger);background:#ef444414}.quiz-result-banner{border-radius:var(--radius-md);margin-bottom:16px;padding:14px 16px;font-weight:600}.quiz-result-banner--pass{color:var(--color-success);background:#10b9811a}.quiz-result-banner--fail{color:var(--danger);background:#ef44441a}@media (max-width:640px){.module-lesson-step-nav--top,.module-lesson-step-btn span{display:none}.module-lesson-step-btn{padding:10px 14px}.module-detail-layout{grid-template-columns:1fr;gap:16px}.module-lesson-sidebar{border-radius:var(--radius-md)}.module-lesson-sidebar-head{padding:12px 14px}.module-lesson-list{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:8px;padding:12px 14px;display:flex;overflow-x:auto}.module-lesson-item{border-radius:var(--radius-md);scroll-snap-align:start;border:1px solid #00000014;flex:none;width:min(240px,78vw);padding:10px 12px}.module-lesson-item:last-child{border-bottom:1px solid #00000014}.module-lesson-title{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.module-lesson-body{padding:16px}.module-lesson-body-head{flex-direction:column;align-items:flex-start}.module-lesson-body-head h2{font-size:18px}.module-lesson-pdf{height:min(360px,55vh)}.module-lesson-actions,.module-lesson-footer{padding-left:16px;padding-right:16px}.module-lesson-actions .btn-submit,.module-lesson-footer .btn-submit{width:100%}.module-detail-meta{gap:10px 14px;font-size:13px}}@media (max-width:900px){.module-lesson-step-nav--top{display:none}.module-lesson-step-nav--bottom{bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:30;margin-top:0;position:sticky;box-shadow:0 -4px 16px #0000000f}}@media (min-width:641px) and (max-width:900px){.module-lesson-step-nav--top{display:none}}@media (min-width:641px) and (max-width:1024px){.module-detail-layout{grid-template-columns:1fr;gap:20px}.module-lesson-sidebar{max-height:none}.module-lesson-list{max-height:280px;display:block;overflow-y:auto}.module-lesson-item{border-bottom:1px solid #0000000a}}@media (min-width:1025px){.module-detail-topbar{margin-bottom:24px}.module-detail-header .section-title{display:none}.module-detail-topbar-title{font-size:16px}.module-detail-topbar-step,.module-lesson-step-nav--bottom{display:none}.module-detail-page{width:100%;max-width:none}.module-detail-layout{grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:28px}.module-lesson-sidebar{top:var(--space-4);flex-direction:column;max-height:calc(100vh - 120px);display:flex;position:sticky;overflow:hidden}.module-lesson-list{flex:1;min-height:0;overflow-y:auto}.module-lesson-item:hover:not(:disabled){background:var(--color-surface-hover)}}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:24px;margin-top:32px;display:grid}@media (min-width:769px){.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.cert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.cert-card{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid #00000014;flex-direction:column;display:flex;overflow:hidden}.cert-card-preview{background:var(--color-bg-main);border-bottom:1px solid var(--color-border,#0000000d);flex:1;padding:28px 24px;position:relative}.cert-card-preview-accent{background:var(--color-primary);height:4px;position:absolute;top:0;left:0;right:0}.cert-card-preview-inner{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.cert-card-icon{color:var(--color-primary);margin-bottom:4px;font-size:44px}.cert-card-title{font-family:var(--font-display);margin:0;font-size:17px;font-weight:800;line-height:1.3}.cert-card-category{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:700}.cert-card-foot{background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.cert-card-meta{color:var(--color-text-secondary);flex-direction:column;gap:2px;font-size:13px;display:flex}.cert-card-meta-label{color:var(--color-text-primary);font-weight:600}.cert-card-preview-btn{border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:background var(--duration-base), border-color var(--duration-base);border:1px solid #c92d6e40;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:700;display:inline-flex}.cert-card-preview-btn:hover{border-color:var(--color-primary);background:#c92d6e29}.cert-card--locked{opacity:.92}.cert-card--locked .cert-card-preview{position:relative}.cert-card-lock-overlay{z-index:2;background:#ffffffb8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cert-card-lock-icon{color:var(--color-text-muted);font-size:2rem}.cert-card--locked .cert-card-icon{color:var(--color-text-muted)}.cert-card-continue-btn{text-decoration:none}.cert-card-foot-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cert-preview-locked-body{justify-content:center;align-items:center;gap:var(--space-3);min-height:200px;color:var(--color-text-muted);flex-direction:column;display:flex}.cert-preview-locked-icon{color:var(--color-text-muted);font-size:3rem}.cert-preview-overlay{padding:var(--space-4);align-items:flex-end}@media (min-width:768px){.cert-preview-overlay{align-items:center}}.cert-preview-modal{background:var(--color-bg-main);border-radius:var(--radius-xl);width:min(960px,100%);max-height:min(92vh,900px);box-shadow:var(--shadow-xl);animation:modalIn .3s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.cert-preview-head{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.cert-preview-title{font-family:var(--font-display);margin:0;font-size:18px;font-weight:800;line-height:1.3}.cert-preview-sub{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.cert-preview-close{border-radius:var(--radius-full);background:var(--color-bg-input);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.cert-preview-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.cert-preview-body{background:#eef0f4;flex:1;min-height:0;padding:16px 24px;overflow:auto}.cert-preview-loading{min-height:240px;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.cert-preview-spinner{color:var(--color-primary);font-size:28px;animation:.9s linear infinite spin}.cert-preview-scaler{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);background:#fff;width:100%;overflow:auto;box-shadow:0 4px 24px #1a1a2e1f}.cert-preview-frame{background:#fff;border:none;width:100%;height:52vh;min-height:280px;display:block}@media (min-width:768px){.cert-preview-frame{height:420px}}.cert-preview-error{text-align:center;margin:0}.cert-preview-error-inline{margin:0;padding:0 24px 8px;font-size:13px}.cert-preview-foot{background:var(--color-bg-main);border-top:1px solid #0000000f;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.cert-preview-foot-btn{width:auto;min-width:120px}@media (max-width:480px){.cert-preview-foot{flex-direction:column-reverse}.cert-preview-foot-btn{width:100%}.cert-card-foot{flex-direction:column;align-items:stretch}.cert-card-preview-btn{justify-content:center}}.mapp-page{flex-direction:column;gap:16px;padding-bottom:24px;display:flex}.mapp-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mapp-head-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:26px;font-weight:800;line-height:1.15}.mapp-head-sub{color:var(--color-text-muted);max-width:36ch;margin:6px 0 0;font-size:14px;line-height:1.45}.mapp-head-action{flex-shrink:0;align-items:flex-start;display:flex}.mapp-btn-pill{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:700;transition:transform .15s;display:inline-flex;box-shadow:0 4px 14px #c92d6e47}.mapp-btn-pill:active{transform:scale(.97)}.mapp-btn-pill i{font-size:16px}.mapp-fab{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:85;background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:26px;transition:transform .2s;display:none;position:fixed;box-shadow:0 8px 28px #c92d6e73}.mapp-fab:active{transform:scale(.92)}.mapp-status-bar{background:var(--color-primary-soft);border-radius:var(--radius-xl);border:1px solid #c92d6e26;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.mapp-status-bar-label{color:var(--color-primary);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.mapp-status-bar-action{background:var(--color-bg-main);color:var(--color-text-primary);border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-xs);border:none;padding:8px 14px;font-size:13px;font-weight:600}.mapp-inset-list{background:var(--color-bg-main);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 1px 3px #1a1a2e0f,0 4px 16px #1a1a2e0a}.mapp-inset-item{text-align:left;width:100%;font-family:var(--font-body);color:inherit;background:0 0;border:none;display:block}.mapp-inset-list:not(.mapp-inset-list--form)>.mapp-inset-item+.mapp-inset-item{border-top:1px solid #0000000f}.mapp-notif-item{cursor:pointer;align-items:flex-start;gap:14px;padding:16px 18px;transition:background .15s;display:flex}.mapp-notif-item:active{background:var(--color-bg-input)}.mapp-notif-item--unread{background:#c92d6e0a}.mapp-notif-icon{background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.mapp-notif-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.mapp-notif-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.mapp-notif-title{font-size:15px;font-weight:700;line-height:1.3}.mapp-notif-dot{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.mapp-notif-text{color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.mapp-notif-time{color:var(--color-text-muted);margin-top:2px;font-size:12px}.mapp-notif-chevron{color:var(--color-text-muted);flex-shrink:0;margin-top:10px;font-size:20px}.mapp-sheet{background:var(--color-bg-main);border-radius:var(--radius-xl);padding:20px;box-shadow:0 1px 3px #1a1a2e0f,0 8px 24px #1a1a2e0f}.mapp-sheet-title{font-family:var(--font-display);margin:0 0 18px;font-size:17px;font-weight:800}.mapp-form{flex-direction:column;gap:20px;display:flex}.mapp-form-block{flex-direction:column;gap:10px;display:flex}.mapp-form-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.mapp-input,.mapp-textarea{background:var(--color-bg-input);border-radius:var(--radius-lg);width:100%;font-size:15px;font-family:var(--font-body);color:var(--color-text-primary);border:1.5px solid #0000;outline:none;padding:14px 16px;transition:border-color .15s,background .15s}.mapp-input:focus,.mapp-textarea:focus{background:var(--color-bg-main);border-color:#c92d6e59}.mapp-textarea{resize:vertical;min-height:100px;line-height:1.5}.mapp-pill-row,.mapp-pill-grid{flex-wrap:wrap;gap:8px;display:flex}.mapp-pill-grid--compact .mapp-pill--sm{padding:8px 12px;font-size:12px}.mapp-pill{border-radius:var(--radius-full);background:var(--color-bg-input);color:var(--color-text-secondary);font-family:var(--font-body);cursor:pointer;text-align:left;border:1.5px solid #00000014;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.mapp-pill--on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.mapp-pill--priority{flex:auto;justify-content:center;min-width:0}.mapp-pill i{font-size:15px}.mapp-stepper{background:var(--color-bg-input);border-radius:var(--radius-lg);align-items:center;max-width:200px;display:flex;overflow:hidden}.mapp-stepper-btn{width:48px;height:48px;color:var(--color-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;display:flex}.mapp-stepper-btn:active{background:#c92d6e14}.mapp-stepper-input{text-align:center;min-width:0;font-size:18px;font-weight:700;font-family:var(--font-display);color:var(--color-text-primary);appearance:textfield;background:0 0;border:none;outline:none;flex:1}.mapp-stepper-input::-webkit-outer-spin-button{appearance:none;margin:0}.mapp-stepper-input::-webkit-inner-spin-button{appearance:none;margin:0}.mapp-photo-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mapp-photo-add{border-radius:var(--radius-lg);width:72px;height:72px;color:var(--color-primary);cursor:pointer;background:#c92d6e0a;border:1.5px dashed #c92d6e59;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.mapp-photo-add i{font-size:22px}.mapp-photo-thumb{width:72px;height:72px;position:relative}.mapp-photo-thumb img{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:100%}.mapp-photo-remove{background:var(--color-danger);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:flex;position:absolute;top:-6px;right:-6px}.mapp-field-card{padding:16px 18px}.mapp-field-card-top{align-items:flex-start;gap:12px;display:flex}.mapp-field-icon{width:44px;height:44px;color:var(--color-text-primary);background:#1a1a2e0f;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.mapp-field-main{flex:1;min-width:0}.mapp-field-title{margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.25}.mapp-field-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.mapp-field-meta span{align-items:center;gap:4px;display:inline-flex}.mapp-field-badge{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;font-size:13px;font-weight:800;display:flex}.mapp-field-notes{background:var(--color-bg-input);border-radius:var(--radius-md);color:var(--color-text-secondary);margin:12px 0 0;padding:12px 14px;font-size:14px;line-height:1.55}.mapp-field-photos{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mapp-field-photo{border-radius:var(--radius-md);width:64px;height:64px;overflow:hidden}.mapp-field-photo img{object-fit:cover;width:100%;height:100%}.mapp-field-by{color:var(--color-text-muted);margin-top:10px;font-size:12px;display:block}.mapp-feed-card{padding:16px 18px}.mapp-feed-top{align-items:flex-start;gap:12px;display:flex}.mapp-feed-icon{background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.mapp-feed-main{flex:1;min-width:0}.mapp-feed-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.mapp-feed-title{color:var(--color-text-primary);margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.3}.mapp-feed-text{color:var(--color-text-secondary);margin:0 0 10px;font-size:14px;line-height:1.55}.mapp-inset-list .announce-badge{border-radius:var(--radius-full);padding:3px 8px;font-size:10px}.mapp-inset-list .announce-badge i{font-size:6px}.mapp-inset-list .announce-time{flex-shrink:0;font-size:12px}.mapp-feed-card .mapp-field-meta{margin-top:0}.mapp-page--profile{gap:20px}.mapp-profile-layout{flex-direction:column;gap:16px;width:100%;display:flex}.mapp-profile-sidebar,.mapp-profile-main{flex-direction:column;gap:16px;min-width:0;display:flex}.mapp-profile-card{background:var(--color-bg-main);border-radius:var(--radius-xl);border:1px solid #0000000a;padding:20px;position:relative;overflow:hidden;box-shadow:0 1px 3px #1a1a2e0f,0 4px 20px #1a1a2e0d}.mapp-profile-card--hero{padding:0}.mapp-profile-hero-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;padding:28px 24px 24px;display:flex;position:relative}.mapp-profile-hero-bg{background:var(--color-sidebar-dark);z-index:0;pointer-events:none;position:absolute;inset:0}.mapp-profile-avatar-btn{cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;position:relative}.mapp-profile-avatar-btn:disabled{cursor:wait;opacity:.85}.mapp-profile-avatar-ring{background:var(--color-primary-soft);opacity:.85;z-index:0;border-radius:50%;position:absolute;inset:-6px}.mapp-profile-avatar{z-index:1;background:var(--color-primary);color:#fff;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;font-size:28px;font-weight:800;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #c92d6e47}.mapp-profile-avatar img{object-fit:cover;width:100%;height:100%}.mapp-profile-avatar-edit{z-index:2;background:var(--color-text-primary);color:#fff;border:2.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex;position:absolute;bottom:2px;right:2px;box-shadow:0 2px 10px #0000002e}.mapp-profile-photo-hint{color:var(--color-text-muted);letter-spacing:.02em;margin:0 0 12px;font-size:12px;font-weight:600}.mapp-profile-name{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800;line-height:1.2}.mapp-profile-email{color:var(--color-text-muted);word-break:break-word;max-width:100%;margin:6px 0 0;font-size:13px}.mapp-profile-stats{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin-top:18px;display:flex}.mapp-profile-stat{border-radius:var(--radius-full);color:var(--color-text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #c92d6e24;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.mapp-profile-stat--staff{background:var(--color-bg-main);border-color:#1a1a2e1f}.mapp-profile-stat i{color:var(--color-primary);font-size:15px}.mapp-profile-stat--staff i{color:var(--color-text-primary)}.mapp-profile-card-head{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.mapp-profile-card-icon{background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.mapp-profile-card-icon--danger{color:var(--color-danger);background:#ef44441a}.mapp-profile-card-head-text{flex:1;min-width:0}.mapp-profile-card-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:18px;font-weight:800;line-height:1.25}.mapp-profile-card-desc{color:var(--color-text-muted);margin:4px 0 0;font-size:14px;line-height:1.45}.mapp-profile-form{flex-direction:column;gap:18px;display:flex}.mapp-profile-fields{flex-direction:column;gap:16px;display:flex}.mapp-profile-form-foot{padding-top:4px;display:flex}.mapp-settings-list{border-radius:var(--radius-lg);background:var(--color-bg-input);border:1px solid #0000000a;flex-direction:column;display:flex;overflow:hidden}.mapp-settings-row{align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.mapp-settings-row+.mapp-settings-row{border-top:1px solid #0000000f}.mapp-settings-icon{background:var(--color-bg-main);width:36px;height:36px;color:var(--color-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:flex;box-shadow:0 1px 2px #0000000a}.mapp-settings-body{flex-direction:column;flex:1;gap:2px;min-width:0;padding-top:2px;display:flex}.mapp-settings-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.mapp-settings-value{color:var(--color-text-primary);word-break:break-word;font-size:15px;font-weight:500;line-height:1.35}.mapp-settings-value--mono{font-family:var(--font-mono,ui-monospace, monospace);font-size:13px}.mapp-profile-submit{width:100%}.mapp-profile-card--danger{background:var(--color-bg-main);border-color:#ef44441f;padding:18px 20px}.mapp-profile-danger-inner{flex-direction:column;gap:16px;display:flex}.mapp-profile-danger-copy{align-items:flex-start;gap:14px;display:flex}.mapp-profile-signout{border-radius:var(--radius-lg);background:var(--color-bg-main);width:100%;color:var(--color-danger);font-family:var(--font-body);cursor:pointer;border:1.5px solid #ef444440;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:700;transition:background .15s,border-color .15s,transform .15s;display:flex}.mapp-profile-signout:hover{background:#ef44440f;border-color:#ef444466}.mapp-profile-signout:active{transform:scale(.99)}.mapp-spin{animation:.9s linear infinite spin}.mapp-group{flex-direction:column;gap:8px;display:flex}.mapp-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0;padding:0 4px;font-size:12px;font-weight:700}.mapp-inset-list--form .mapp-field-row{border-bottom:1px solid #0000000f;flex-direction:column;gap:6px;padding:14px 18px;display:flex}.mapp-inset-list--form .mapp-field-row:last-of-type{border-bottom:none}.mapp-field-row-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.mapp-field-row-input{width:100%;font-size:16px;font-family:var(--font-body);color:var(--color-text-primary);background:0 0;border:none;outline:none;padding:0;font-weight:500}.mapp-field-row--readonly,.mapp-field-row--edit{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.mapp-field-row--edit .mapp-field-row-label{color:var(--color-text-primary);flex-shrink:0;font-size:15px;font-weight:500}.mapp-field-row--edit .mapp-field-row-input{text-align:right;flex:1;width:auto;min-width:0;font-size:15px}.mapp-field-row--readonly .mapp-field-row-label{color:var(--color-text-primary);flex-shrink:0;font-size:15px;font-weight:500}.mapp-field-row-value{color:var(--color-text-primary);text-align:right;word-break:break-word;font-size:15px;font-weight:500}.mapp-inset-foot{background:var(--color-bg-input);padding:16px 18px}.mapp-btn-primary{border-radius:var(--radius-lg);background:var(--color-primary);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;border:none;padding:15px 20px;font-size:15px;font-weight:700;transition:transform .15s,opacity .15s;box-shadow:0 4px 16px #c92d6e4d}.mapp-btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.mapp-btn-primary:active:not(:disabled){transform:scale(.98)}.mapp-btn-secondary{border-radius:var(--radius-lg);background:var(--color-bg-main);width:100%;color:var(--color-text-primary);font-family:var(--font-body);cursor:pointer;border:1.5px solid #0000001a;padding:14px 20px;font-size:15px;font-weight:600}.mapp-alert{border-radius:var(--radius-lg);flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px;font-size:14px;line-height:1.45;display:flex}.mapp-alert--error{color:var(--color-danger);background:#ef444414;border:1px solid #ef444426}.mapp-alert--success{color:var(--color-success);background:#10b98114;border:1px solid #10b98126;flex-direction:row;align-items:center;gap:8px}.mapp-link-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:700}.mapp-empty{text-align:center;background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);padding:48px 24px}.mapp-empty-icon{background:var(--color-bg-input);width:72px;height:72px;color:var(--color-text-muted);border-radius:22px;justify-content:center;align-items:center;margin:0 auto 16px;font-size:32px;display:flex}.mapp-empty h3{font-family:var(--font-display);margin:0 0 8px;font-size:18px;font-weight:800}.mapp-empty p{color:var(--color-text-secondary);max-width:280px;margin:0 auto;font-size:14px;line-height:1.5}@keyframes mappSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.mapp-stagger>*{animation:.35s backwards mappSlideUp}.mapp-stagger>:first-child{animation-delay:20ms}.mapp-stagger>:nth-child(2){animation-delay:50ms}.mapp-stagger>:nth-child(3){animation-delay:80ms}.mapp-stagger>:nth-child(4){animation-delay:.11s}.mapp-stagger>:nth-child(n+5){animation-delay:.14s}@media (min-width:769px){.mapp-fab{display:none!important}.mapp-head-action{flex-shrink:0;align-items:flex-start;display:flex}.mapp-page{align-items:stretch;gap:20px;width:100%;max-width:none;margin-inline:0;padding-bottom:32px}.mapp-head{justify-content:space-between;width:100%}.mapp-head-text{flex:1;min-width:0}.mapp-head-sub{max-width:none}.mapp-inset-list,.mapp-sheet,.mapp-empty,.mapp-status-bar,.mapp-alert{width:100%}.mapp-inset-list{border:1px solid #0000000f}.mapp-sheet{padding:24px}.mapp-notif-item:hover,.mapp-field-card:hover,.mapp-feed-card:hover{background:var(--color-bg-input)}.mapp-btn-pill:hover{filter:brightness(1.06);transform:translateY(-1px)}.mapp-btn-pill:active{transform:scale(.98)}}@media (max-width:768px){.mapp-page{gap:14px;padding-bottom:24px}.mapp-head-action{display:none}.mapp-fab{display:flex}.mapp-head-title{font-size:24px}.admin-layout .mapp-page{padding-bottom:24px}.admin-layout .mapp-fab{display:none}}@media (min-width:901px){.app-layout .app-main .app-page,.admin-layout .admin-main .app-page{width:100%;max-width:none;margin:0}.mapp-page{align-items:stretch;gap:24px;width:100%;max-width:none;margin-inline:0;padding-bottom:40px}.mapp-head{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;width:100%;margin-bottom:4px;padding-bottom:4px}.mapp-head-title{font-size:32px}.mapp-head-sub{max-width:none;font-size:15px}.mapp-status-bar,.mapp-alert,.mapp-page--notifications .mapp-inset-list,.mapp-page--notifications .mapp-empty{width:100%;max-width:none}.mapp-page--profile>.mapp-head,.mapp-page--notifications>.mapp-head,.mapp-page--announcements>.mapp-head,.mapp-page--field-reports>.mapp-head{display:none}.mapp-page--profile>.mapp-alert{width:100%;max-width:none}.mapp-profile-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:24px;width:100%;max-width:none;display:grid}.mapp-profile-sidebar{top:var(--space-4);position:sticky}.mapp-profile-card--hero{box-shadow:0 2px 8px #1a1a2e0f,0 12px 40px #1a1a2e0f}.mapp-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.mapp-profile-fields .mapp-form-block:first-child{grid-column:1/-1}.mapp-profile-submit{width:auto;min-width:180px}.mapp-profile-danger-inner{flex-direction:row;justify-content:space-between;align-items:center;gap:20px}.mapp-profile-signout{flex-shrink:0;width:auto;min-width:140px}.app-page .section-desc{text-align:left;max-width:none}.dash-page,.module-detail-page{width:100%;max-width:none}.module-lesson-text,.module-lesson-caption{text-align:justify}.mapp-page--with-sheet{grid-template-columns:minmax(340px,400px) minmax(0,1fr);align-items:start;gap:24px;width:100%;max-width:none;display:grid}.mapp-page--with-sheet>.mapp-head,.mapp-page--with-sheet>.mapp-alert,.mapp-page--with-sheet>.mapp-status-bar,.mapp-page--with-sheet>.page-skeleton{grid-column:1/-1}.mapp-page--with-sheet>.mapp-sheet{top:var(--space-4);grid-column:1;position:sticky}.mapp-page--with-sheet>.mapp-inset-list,.mapp-page--with-sheet>.mapp-empty,.mapp-page--with-sheet>.page-skeleton:not(:first-child){grid-column:2}.mapp-sheet .mapp-btn-primary{width:100%}.mapp-inset-list:not(.mapp-inset-list--form) .mapp-feed-card,.mapp-inset-list:not(.mapp-inset-list--form) .mapp-field-card{padding:18px 22px}.mapp-notif-text{-webkit-line-clamp:3;line-clamp:3}.mapp-feed-text{text-align:justify;font-size:15px}.mapp-field-notes,.module-detail-desc{text-align:justify}.mapp-pill--priority{flex:0 auto}}@media (min-width:1201px){.dash-content-grid.content-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.dash-content-grid .content-right{flex-direction:column}.dash-content-grid .content-right>*{flex:none;width:100%;min-width:0}.dash-streak-panel{align-self:start}}@media (min-width:769px) and (max-width:1024px){.mapp-page--with-sheet{flex-direction:column;width:100%;max-width:none;display:flex}.mapp-page--with-sheet>.mapp-sheet{position:static}.content-grid{grid-template-columns:1fr}.content-right{flex-flow:wrap}.content-right>*{flex:280px;min-width:0}.dash-streak-panel{flex:100%;max-width:none}}.landing-page{color:var(--color-text-primary);min-height:100vh}.landing-hero-band{background:var(--color-sidebar-dark);color:var(--color-text-on-dark)}.landing-main{background:var(--color-bg-page)}.landing-section{scroll-margin-top:80px}.landing-page nav.site-nav{-webkit-backdrop-filter:blur(16px);background:#1a1a2ef5;border-bottom:1px solid #ffffff14;position:fixed}.landing-page nav.site-nav.scrolled{box-shadow:0 4px 24px #00000040}.landing-page .landing-nav-brand.brand-logo{gap:12px}.landing-page .landing-nav-brand .brand-logo-text{font-size:17px}.landing-page .landing-nav-brand .brand-logo-sub{font-size:10px}.landing-page .nav-links a{color:#ffffffb8}.landing-page .nav-links a:hover,.landing-page .nav-links a.active{color:#fff}.landing-page .nav-links a.active:after{background:var(--color-primary);bottom:-22px}.landing-page .nav-hamburger{color:#fff}.landing-page .mobile-menu{background:#1a1a2efa;border-bottom:1px solid #ffffff14}.landing-page .mobile-menu a{color:#ffffffe6;border-bottom-color:#ffffff0f}.landing-page .site-btn-ghost,.landing-page .site-btn-primary{border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);font-weight:600;font-family:var(--font-body);transition:background var(--duration-base) ease, border-color var(--duration-base) ease, color var(--duration-base) ease, transform var(--duration-fast) ease;white-space:nowrap;text-decoration:none;display:inline-flex}.landing-page .site-btn-ghost{color:#ffffffe0;background:0 0;border:1px solid #ffffff38}.landing-page .site-btn-ghost:hover{color:#fff;border-color:#ffffff73}.landing-page .site-btn-primary{background:var(--color-primary);color:#fff;border:1px solid #0000}.landing-page .site-btn-primary:hover{background:var(--color-primary-light);transform:translateY(-1px)}.landing-page .site-btn-primary--section{background:var(--color-primary);color:#fff;flex-shrink:0}.landing-page .hero{min-height:calc(100vh - 64px);padding:104px var(--space-10) 72px;grid-template-columns:minmax(0,1.05fr) minmax(320px,440px);gap:clamp(32px,5vw,64px)}.landing-page .hero h1{color:#fff}.landing-page .hero h1 span{color:var(--color-brand-accent-on-dark)}.landing-page .hero-desc{color:#ffffffad;max-width:540px}.landing-page .hero-tag{color:var(--color-brand-accent-on-dark);background:#c92d6e2e;border:1px solid #c92d6e47}.landing-page .btn-primary-lg{color:var(--color-text-primary);background:#fff;box-shadow:0 8px 24px #0003}.landing-page .btn-primary-lg:hover{color:var(--color-text-primary);background:#f5f5f7}.landing-page .btn-ghost-lg{color:#fff;background:0 0;border:1.5px solid #ffffff47}.landing-page .btn-ghost-lg:hover{color:#fff;border-color:#ffffff8c}.landing-page .hero-stats{padding-top:4px}.landing-page .stat-value{color:#fff}.landing-page .stat-label{color:#ffffff85}.landing-page .stat-divider{background:#ffffff24}.landing-page .hero-card-wrap{align-self:center}.landing-page .dashboard-card{border:1px solid #ffffff14;box-shadow:0 24px 64px #00000047}.landing-page .landing-preview-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:14px;font-size:10px;font-weight:700}.landing-page .dc-header{align-items:flex-start;gap:12px}.landing-page .dc-prog-name{white-space:nowrap;text-overflow:ellipsis;flex:108px;min-width:0;max-width:132px;overflow:hidden}.landing-page .landing-on-track{border-radius:var(--radius-full);color:var(--color-success);white-space:nowrap;background:#10b9811f;flex-shrink:0;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.landing-page .landing-cert-banner{border-radius:var(--radius-lg);background:var(--color-bg-card-purple);color:#fff;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;display:flex}.landing-page .landing-cert-banner-icon{border-radius:var(--radius-md);background:#ffffff29;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.landing-page .landing-cert-banner-copy{min-width:0}.landing-page .landing-cert-banner-title{letter-spacing:.04em;text-transform:uppercase;opacity:.82;font-size:11px;font-weight:700}.landing-page .landing-cert-banner-sub{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;font-weight:700;line-height:1.35;overflow:hidden}.landing-page .landing-cert-banner-arrow{opacity:.75;flex-shrink:0;margin-left:auto}.landing-page .section,.landing-page .programs-section{background:var(--color-bg-page);color:var(--color-text-primary)}.landing-page .programs-section{border-top:1px solid #0000000d}.landing-page .cta-section{background:var(--color-sidebar-dark)}.landing-page .cta-section:before,.landing-page .cta-section:after{display:none}.landing-page .footer-brand-mark.brand-logo{align-items:flex-start}.landing-page .footer-brand-mark .brand-logo-text{color:#ffffffeb;font-size:16px}.landing-page .footer-brand-mark .brand-logo-sub{color:#ffffff61}.landing-footer{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.landing-footer{background:color-mix(in oklch, var(--background) 88%, var(--muted) 12%)}}@media (max-width:1024px){.landing-page .hero{min-height:auto;padding-top:96px}.landing-page .hero h1{max-width:none}.landing-page .mobile-menu-actions .site-btn-ghost,.landing-page .mobile-menu-actions .site-btn-primary{justify-content:center;width:100%}}@media (max-width:768px){.landing-page .hero{padding:88px var(--space-5) 56px}.landing-page .nav-actions{display:none}.landing-page .nav-hamburger{display:block}.landing-page .programs-header{flex-direction:column;align-items:flex-start}.landing-page .site-btn-primary--section{width:100%}.landing-page .hero-ctas{flex-direction:column;align-items:stretch}.landing-page .btn-primary-lg,.landing-page .btn-ghost-lg{justify-content:center;width:100%}.landing-page .hero-stats{gap:24px}}.landing-page [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(28px)}.landing-page [data-reveal].is-revealed{opacity:1;transform:translateY(0)}.landing-page .landing-states-more{margin-top:24px}.landing-page .landing-prog-fill{width:0;transition:width 1.1s cubic-bezier(.16,1,.3,1)}.landing-page .landing-prog-fill[data-progress="65"]{transition-delay:.9s}.landing-page .landing-prog-fill[data-progress="30"]{transition-delay:1.05s}.landing-page .landing-prog-fill[data-progress="0"]{transition-delay:1.2s}.landing-page .landing-preview-card.is-progress-ready .landing-prog-fill[data-progress="65"]{width:65%}.landing-page .landing-preview-card.is-progress-ready .landing-prog-fill[data-progress="30"]{width:30%}.landing-page .landing-preview-card.is-progress-ready .landing-prog-fill[data-progress="0"]{width:0%}@media (prefers-reduced-motion:reduce){.landing-page [data-reveal]{opacity:1;transition:none;transform:none}.landing-page .landing-prog-fill{transition:none}}.course-welcome-page{max-width:920px;padding:0 0 var(--space-10);margin:0 auto}.course-welcome-back-top{margin-bottom:var(--space-5);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:color var(--duration-base);align-items:center;gap:6px;padding:6px 10px 6px 0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.course-welcome-back-top:hover{color:var(--color-primary)}.course-welcome-hero{border-radius:var(--radius-xl);background:var(--color-bg-main);box-shadow:var(--shadow-card);margin-bottom:var(--space-5);border:1px solid #0000000d;position:relative;overflow:hidden}.course-welcome-hero-glow{pointer-events:none;background:0 0;position:absolute;inset:0}.course-welcome-hero-inner{justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding:var(--space-6) var(--space-6) var(--space-8);display:flex;position:relative}.course-welcome-hero-leading{gap:var(--space-5);flex:1;min-width:0;display:flex}.course-welcome-icon{border-radius:var(--radius-lg);background:var(--color-primary-soft);width:72px;height:72px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:32px;display:flex}.course-welcome-hero-copy{flex:1;min-width:0}.course-welcome-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-2);font-size:11px;font-weight:700;display:inline-block}.course-welcome-title{font-family:var(--font-display);margin:0 0 var(--space-2);color:var(--color-text-primary);font-size:clamp(1.35rem,3.5vw,1.75rem);font-weight:800;line-height:1.2}.course-welcome-greeting{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3);font-weight:600}.course-welcome-greeting span{color:var(--color-primary)}.course-welcome-desc{color:var(--color-text-secondary);margin:0 0 var(--space-4);line-height:1.65;font-size:var(--text-sm);max-width:52ch}.course-welcome-meta{align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.course-welcome-meta span{align-items:center;gap:4px;display:inline-flex}.course-welcome-meta i{color:var(--color-primary);font-size:14px}.course-welcome-hero-progress{align-items:center;gap:var(--space-2);padding-top:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.course-welcome-hero-progress-label{color:var(--color-text-muted);text-align:center;max-width:100px;font-size:11px;font-weight:600;line-height:1.3}.course-welcome-alert{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);border-radius:var(--radius-lg);background:#10b9810f;border:1px solid #10b98133;display:flex}.course-welcome-alert-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-success);background:#10b98126;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.course-welcome-alert strong{font-size:var(--text-sm);margin-bottom:2px;display:block}.course-welcome-alert p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.course-welcome-alert--info{background:#3b82f60f;border-color:#3b82f633}.course-welcome-alert--info .course-welcome-alert-icon{color:var(--color-info,#3b82f6);background:#3b82f61f}.course-welcome-action{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-6);background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid #0000000d;display:flex}.course-welcome-action-copy{flex:1;min-width:0}.course-welcome-action-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);margin-bottom:var(--space-2);font-size:11px;font-weight:700;display:block}.course-welcome-progress{align-items:center;gap:var(--space-3);max-width:320px;display:flex}.course-welcome-progress .progress-bar{flex:1;height:8px}.course-welcome-progress-pct{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-primary);text-align:right;min-width:2.5rem;font-weight:800}.course-welcome-cta{align-items:center;gap:var(--space-2);padding-left:var(--space-6);padding-right:var(--space-6);white-space:nowrap;flex-shrink:0;display:inline-flex;width:auto!important}.course-welcome-modules{background:var(--color-bg-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-5) var(--space-6) var(--space-6);border:1px solid #0000000d}.course-welcome-modules-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.course-welcome-modules-head h2{font-family:var(--font-display);font-size:var(--text-md);margin:0;font-weight:800}.course-welcome-modules-count{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-input);border-radius:var(--radius-full);padding:4px 12px;font-weight:600}.course-welcome-module-grid{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.course-welcome-module-card{align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-page);transition:border-color var(--duration-base), box-shadow var(--duration-base);border:1px solid #0000000d;display:flex}.course-welcome-module-card:not(.course-welcome-module-card--locked):hover{box-shadow:var(--shadow-xs);border-color:#c92d6e33}.course-welcome-module-card--locked{opacity:.72}.course-welcome-module-num{font-family:var(--font-mono);color:var(--color-text-muted);min-width:1.75rem;padding-top:2px;font-size:12px;font-weight:700}.course-welcome-module-body{flex:1;min-width:0}.course-welcome-module-title{font-size:var(--text-sm);margin-bottom:2px;font-weight:700;line-height:1.35;display:block}.course-welcome-module-desc{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.course-welcome-module-meta{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:4px;display:inline-flex}.course-welcome-module-meta i{font-size:13px}.course-welcome-module-status{text-transform:uppercase;letter-spacing:.04em;color:var(--color-success);flex-shrink:0;align-items:center;gap:4px;padding-top:2px;font-size:11px;font-weight:700;display:inline-flex}.course-welcome-module-status--locked{color:var(--color-warning)}.course-welcome-final{align-items:flex-start;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-soft);border:1px dashed #c92d6e40;display:flex}.course-welcome-final-icon{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-primary);background:#c92d6e26;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.course-welcome-final strong{font-size:var(--text-sm);margin-bottom:2px;display:block}.course-welcome-final p{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0;line-height:1.5}@media (max-width:768px){.course-welcome-hero-inner{padding:var(--space-5);flex-direction:column;align-items:stretch}.course-welcome-hero-progress{flex-direction:row;justify-content:flex-start;padding-top:0}.course-welcome-hero-progress-label{text-align:left;max-width:none}.course-welcome-action{flex-direction:column;align-items:stretch}.course-welcome-cta{justify-content:center;width:100%!important}.course-welcome-progress{max-width:none}.course-welcome-module-card{flex-wrap:wrap}.course-welcome-module-status{width:100%;padding-left:calc(1.75rem + var(--space-4))}}@media (max-width:480px){.course-welcome-hero-leading{flex-direction:column;align-items:flex-start}.course-welcome-icon{width:56px;height:56px;font-size:26px}}.course-learn-page{padding-bottom:var(--space-8)}.course-learn-topbar{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.course-learn-topbar-pct{color:var(--color-primary);font-weight:700}.course-learn-layout{gap:var(--space-5);grid-template-columns:240px 1fr;align-items:start;display:grid}.course-module-sidebar{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);top:var(--space-4);position:sticky;overflow:hidden}.course-module-sidebar-head{padding:var(--space-4);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-size:13px;font-weight:700}.course-module-list{padding:var(--space-2);margin:0;list-style:none}.course-module-item{align-items:center;gap:var(--space-3);text-align:left;width:100%;padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;display:flex}.course-module-item:hover:not(:disabled){background:var(--color-bg-input)}.course-module-item--active{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.course-module-item--active{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}}.course-module-item--active{color:var(--color-primary)}.course-module-item--locked,.course-module-item:disabled{opacity:.55;cursor:not-allowed}.course-module-item-num{background:var(--color-bg-input);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.course-module-item-title{font-size:14px;font-weight:600;line-height:1.3}.course-module-final{margin:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.course-learn-main{min-width:0}.course-learn-module-done{margin-top:var(--space-4);color:var(--color-success);font-weight:600}.course-final-quiz{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}@media (max-width:900px){.course-learn-layout{grid-template-columns:1fr}.course-module-sidebar{position:static}}.admin-course-editor{max-width:1200px}.admin-course-editor-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin:var(--space-4) 0 var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid #00000014;display:flex}.admin-course-editor-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary);margin:0 0 6px;font-size:12px;font-weight:600}.admin-course-editor-title{margin:0 0 10px;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}@media (min-width:901px){.admin-course-editor-title{display:none}}.admin-course-editor-stats{color:var(--color-text-secondary);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.admin-course-editor-stats i{opacity:.75;margin-right:4px}.admin-course-editor-header-actions{flex-shrink:0;gap:8px;display:flex}.admin-course-editor-preview,.admin-course-editor-danger{border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text);cursor:pointer;border:1px solid #0000001a;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.admin-course-editor-danger{color:var(--danger,#dc2626);border-color:#dc262633}.admin-course-editor-tabs{margin-bottom:var(--space-5);border-radius:var(--radius-lg);background:#0000000a;gap:4px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.admin-course-editor-tab{border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.admin-course-editor-tab--active{background:var(--color-surface-elevated);color:var(--color-text);box-shadow:0 1px 3px #00000014}.admin-course-editor-tab-dot{background:var(--color-primary);border-radius:50%;width:6px;height:6px;margin-left:2px}.admin-course-editor-body{gap:var(--space-4);grid-template-columns:1fr;align-items:start;display:grid}.admin-course-editor-body--panel-open{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}.admin-course-editor-section{margin:0}.admin-course-editor-section-desc{color:var(--color-text-secondary);margin:-8px 0 20px;font-size:14px;line-height:1.5}.admin-course-editor-section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.admin-course-editor-textarea{resize:vertical;height:auto!important;padding-top:12px!important}.admin-course-editor-check{margin:12px 0;display:flex}.admin-course-editor-empty-curriculum{text-align:center;border-radius:var(--radius-lg);color:var(--color-text-secondary);border:1px dashed #0000001f;padding:48px 24px}.admin-course-editor-empty-curriculum i{opacity:.4;margin-bottom:12px;font-size:2rem;display:block}.admin-course-lesson-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-course-lesson-item{align-items:stretch;gap:4px;display:flex}.admin-course-lesson-item-btn{border-radius:var(--radius-md);background:var(--color-surface-elevated);text-align:left;cursor:pointer;border:1px solid #00000014;flex:1;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.admin-course-lesson-item-btn:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000000f}.admin-course-lesson-order{color:var(--color-text-tertiary);min-width:24px;font-size:12px;font-weight:700}.admin-course-lesson-icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary);justify-content:center;align-items:center;font-size:18px;display:flex}.admin-course-lesson-body{flex:1;min-width:0}.admin-course-lesson-title{margin-bottom:2px;font-size:15px;font-weight:600;display:block}.admin-course-lesson-meta{color:var(--color-text-secondary);font-size:12px;display:block}.admin-course-lesson-chevron{color:var(--color-text-tertiary);font-size:20px}.admin-course-lesson-delete{border-radius:var(--radius-md);color:var(--danger,#dc2626);cursor:pointer;background:0 0;border:1px solid #dc262626;padding:0 12px}.admin-course-lesson-panel{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid #0000001a;flex-direction:column;max-height:calc(100vh - 32px);display:flex;position:sticky;top:16px;overflow:hidden;box-shadow:0 8px 32px #0000001a}.admin-course-lesson-panel-head{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.admin-course-lesson-panel-head h3{margin:0;font-size:16px}.admin-course-lesson-panel-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:4px;font-size:20px}.admin-course-lesson-panel-body{flex:1;padding:18px;overflow-y:auto}.admin-course-lesson-panel-foot{border-top:1px solid #00000014;padding:14px 18px}.admin-course-upload-row{align-items:center;gap:10px;margin-top:8px;display:flex}.admin-course-upload-ok{color:var(--color-success);font-size:12px}.admin-quiz-editor-passing{max-width:180px;margin-bottom:16px}.admin-quiz-editor-passing-input .form-input{padding-left:var(--space-4)}.admin-quiz-editor-empty{color:var(--color-text-secondary);margin:0 0 16px;font-size:14px}.admin-quiz-question-card{border-radius:var(--radius-md);background:#00000005;border:1px solid #00000014;margin-bottom:14px;padding:16px}.admin-quiz-question-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.admin-quiz-question-head strong{font-size:13px}.admin-quiz-question-remove{color:var(--danger,#dc2626);cursor:pointer;background:0 0;border:none;font-size:16px}.admin-quiz-question-hint{color:var(--color-text-secondary);margin:8px 0;font-size:12px}.admin-quiz-option-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.admin-quiz-option-row .input-wrap{flex:1}.admin-quiz-option-row .form-input{padding-left:var(--space-4)}.admin-quiz-option-remove{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none}.admin-course-catalogue-toolbar{margin-bottom:var(--space-5);flex-direction:column;gap:12px;display:flex}.admin-course-catalogue-search{max-width:400px;position:relative}.admin-course-catalogue-search i{color:var(--color-text-tertiary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.admin-course-catalogue-search .form-input{padding-left:40px}.admin-course-catalogue-filters{flex-wrap:wrap;gap:8px;display:flex}.admin-course-filter-chip{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:1px solid #0000001a;border-radius:999px;padding:6px 12px;font-size:13px}.admin-course-filter-chip--on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-weight:500}.admin-course-catalogue-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.admin-course-catalogue-card{border-radius:var(--radius-lg);background:var(--color-surface-elevated);color:inherit;border:1px solid #00000014;flex-direction:column;padding:20px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.admin-course-catalogue-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 20px #00000014}.admin-course-catalogue-card-top{align-items:center;gap:8px;margin-bottom:10px;display:flex}.admin-course-catalogue-card-title{margin:0 0 8px;font-size:17px;line-height:1.3}.admin-course-catalogue-card-desc{color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 12px;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.admin-course-catalogue-card-stats{color:var(--color-text-secondary);gap:14px;margin-bottom:8px;font-size:12px;display:flex}.admin-course-catalogue-card-stats i{margin-right:4px}.admin-course-catalogue-card-roles{color:var(--color-text-tertiary);margin-bottom:16px;font-size:12px}.admin-course-catalogue-card-foot{border-top:1px solid #0000000f;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.admin-course-catalogue-card-edit{color:var(--color-primary);font-size:13px;font-weight:600}.admin-course-catalogue-card-delete{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;padding:6px;font-size:16px}.admin-course-catalogue-card-delete:hover{color:var(--danger,#dc2626)}.admin-course-catalogue-no-results{color:var(--color-text-secondary);text-align:center;padding:32px 0}.admin-course-create-overlay{z-index:200;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.admin-course-create-modal{background:var(--color-surface-elevated);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:24px;box-shadow:0 16px 48px #0003}.admin-course-create-modal-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-course-create-modal-head h3{margin:0;font-size:18px}@media (max-width:900px){.admin-course-editor-header{flex-direction:column}.admin-course-editor-body--panel-open{grid-template-columns:1fr}.admin-course-lesson-panel{z-index:150;border-radius:0;max-height:none;position:fixed;inset:0}.admin-course-editor-tabs{width:100%}}.verify-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-main);padding:var(--space-6);box-shadow:var(--shadow-sm)}.verify-status{border-radius:var(--radius-full);font-size:var(--text-sm);align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:inline-flex}.verify-status--valid{color:var(--color-success);background:#10b9811f}.verify-status--locked{color:var(--color-text-secondary);background:#6b72801f}.verify-status--revoked{color:var(--color-danger);background:#ef44441f}.verify-status--missing{color:var(--color-warning);background:#f59e0b1f}.verify-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.verify-value{font-size:var(--text-md);color:var(--color-text-primary);font-weight:600}.verify-value--mono{font-family:ui-monospace,monospace;font-size:var(--text-sm);word-break:break-all;font-weight:500}:root{--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--ui-control-h:2.25rem;--ui-control-h-sm:2rem;--ui-control-h-lg:2.5rem;--ui-control-radius:var(--radius-md);--ui-control-text:.875rem;--ui-control-weight:500;--ui-heading-weight:600;--ui-display-weight:600}.btn-submit,.btn-primary,.btn-primary-lg,.btn-submit--split,.btn-submit--inline,.mapp-btn-primary,.mapp-btn-pill,.landing-page .btn-primary-lg{min-height:var(--ui-control-h);border-radius:var(--ui-control-radius);background:var(--primary);height:auto;color:var(--primary-foreground);font-family:var(--font-sans);font-size:var(--ui-control-text);font-weight:var(--ui-control-weight);white-space:nowrap;cursor:pointer;box-shadow:none;border:none;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;line-height:1.25;text-decoration:none;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.btn-primary-lg,.landing-page .btn-primary-lg,.mapp-btn-primary{min-height:var(--ui-control-h-lg);padding:0 1.5rem}.btn-submit:hover:not(:disabled),.btn-primary:hover,.btn-primary-lg:hover,.btn-submit--split:hover:not(:disabled),.mapp-btn-primary:hover:not(:disabled),.mapp-btn-pill:hover:not(:disabled),.landing-page .btn-primary-lg:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-submit:hover:not(:disabled),.btn-primary:hover,.btn-primary-lg:hover,.btn-submit--split:hover:not(:disabled),.mapp-btn-primary:hover:not(:disabled),.mapp-btn-pill:hover:not(:disabled),.landing-page .btn-primary-lg:hover{background:color-mix(in oklch, var(--primary) 90%, black)}}.btn-submit:hover:not(:disabled),.btn-primary:hover,.btn-primary-lg:hover,.btn-submit--split:hover:not(:disabled),.mapp-btn-primary:hover:not(:disabled),.mapp-btn-pill:hover:not(:disabled),.landing-page .btn-primary-lg:hover{box-shadow:none;transform:none}.btn-submit:active:not(:disabled),.btn-primary:active,.btn-primary-lg:active,.mapp-btn-primary:active:not(:disabled){transform:none}.btn-submit:disabled,.btn-primary:disabled,.mapp-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-ghost,.btn-ghost-lg,.btn-ghost--sm,.landing-page .btn-ghost-lg{min-height:var(--ui-control-h);border:1px solid var(--border);border-radius:var(--ui-control-radius);background:var(--background);height:auto;color:var(--foreground);font-family:var(--font-sans);font-size:var(--ui-control-text);font-weight:var(--ui-control-weight);white-space:nowrap;cursor:pointer;box-shadow:none;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;line-height:1.25;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-ghost-lg,.landing-page .btn-ghost-lg{min-height:var(--ui-control-h-lg);padding:0 1.5rem}.btn-ghost--sm{min-height:var(--ui-control-h-sm);font-size:var(--ui-control-text);padding:0 .75rem}.btn-ghost:hover,.btn-ghost-lg:hover,.btn-ghost--sm:hover:not(:disabled),.landing-page .btn-ghost-lg:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--border);transform:none}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.form-input,select.form-input,textarea.form-input,.form-input--plain,.form-input--plain.form-select{width:100%;min-height:var(--ui-control-h);border:1px solid var(--input);border-radius:var(--ui-control-radius);color:var(--foreground);font-family:var(--font-sans);font-size:var(--ui-control-text);box-shadow:none;background:0 0;outline:none;font-weight:400;line-height:1.25;transition:border-color .15s,box-shadow .15s}.form-input,select.form-input,.form-input--plain,.form-input--plain.form-select{padding:0 .75rem}textarea.form-input{min-height:5rem;padding:.625rem .75rem;line-height:1.5}.input-wrap .form-input,.input-wrap .form-input--plain{padding-left:2.5rem}.input-wrap select.form-input,.form-input--plain.form-select{padding-right:2.25rem}.form-input::placeholder,.form-input--plain::placeholder{color:var(--muted-foreground)}.form-input:focus,select.form-input:focus,textarea.form-input:focus,.form-input--plain:focus,.form-input--plain.form-select:focus{border-color:var(--ring);background:var(--background);box-shadow:0 0 0 3px var(--ring)}@supports (color:color-mix(in lab, red, red)){.form-input:focus,select.form-input:focus,textarea.form-input:focus,.form-input--plain:focus,.form-input--plain.form-select:focus{box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 50%, transparent)}}.form-label{font-family:var(--font-sans);font-size:var(--ui-control-text);font-weight:var(--ui-control-weight);letter-spacing:normal;text-transform:none;color:var(--foreground);margin-bottom:.375rem;line-height:1;display:block}.form-link,.sec-link{font-family:var(--font-sans);font-size:var(--ui-control-text);font-weight:var(--ui-control-weight);color:var(--primary);text-decoration:none}.form-link:hover,.sec-link:hover{opacity:.9;color:var(--primary)}.form-check{font-size:var(--ui-control-text);color:var(--muted-foreground);font-weight:400}.page-title,.dash-hero-title,.course-welcome-title,.auth-split-title,.auth-form-head h1,.mapp-empty h3{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--ui-display-weight);letter-spacing:-.025em;color:var(--foreground);line-height:1.25}.section-title,.sec-title,.course-welcome-modules-head h2,.dash-bento-label,.module-detail-topbar-title{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--ui-display-weight);letter-spacing:-.02em;color:var(--foreground);line-height:1.3}.page-subtitle,.section-desc,.auth-split-subtitle,.dash-hero-desc,.course-welcome-desc,.app-page .section-desc,.panel-empty,.mapp-empty p{font-family:var(--font-sans);font-size:var(--ui-control-text);color:var(--muted-foreground);font-weight:400;line-height:1.5}.dash-hero-eyebrow,.course-welcome-badge,.course-welcome-action-label{font-family:var(--font-sans);font-size:var(--ui-control-text);font-weight:var(--ui-control-weight);letter-spacing:normal;text-transform:none;color:var(--primary)}.dash-hero-metric-value,.dash-bento-value,.learning-title,.learning-percent{font-family:var(--font-sans);font-weight:var(--ui-display-weight);font-variant-numeric:tabular-nums}.dash-hero-metric-label,.dash-bento-label,.learning-meta{font-size:var(--text-xs);font-weight:var(--ui-control-weight);letter-spacing:normal;text-transform:none;color:var(--muted-foreground)}.module-detail-topbar-back,.course-welcome-back-top{font-size:var(--ui-control-text);font-weight:var(--ui-control-weight);color:var(--muted-foreground)}.module-detail-topbar-back:hover,.course-welcome-back-top:hover{color:var(--primary)}.learning-title{font-size:var(--text-md)}.empty-state h3{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--ui-display-weight);color:var(--foreground)}.empty-state p{font-family:var(--font-sans);font-size:var(--ui-control-text);color:var(--muted-foreground);font-weight:400}.empty-state-btn{width:auto!important;display:inline-flex!important}[data-slot=card-title]{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--ui-display-weight);letter-spacing:-.02em}[data-slot=card-description]{font-size:var(--ui-control-text);line-height:1.5}[data-slot=label]{font-size:var(--ui-control-text);font-weight:var(--ui-control-weight)}[data-slot=button]{font-size:var(--ui-control-text);font-weight:var(--ui-control-weight);border-radius:var(--ui-control-radius)}[data-slot=input]{font-size:var(--ui-control-text);border-radius:var(--ui-control-radius)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-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-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}
