/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-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-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-4xl:56rem;--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-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: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--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;--shadow-2xl:0 25px 50px -12px #00000040;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;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;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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.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}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.top-2{top:calc(var(--spacing) * 2)}.right-2{right:calc(var(--spacing) * 2)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-2{margin-left:calc(var(--spacing) * 2)}.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-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[400px\]{max-height:400px}.min-h-\[400px\]{min-height:400px}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-\[1\.02\]{scale:1.02}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-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}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-400{border-color:var(--color-amber-400)}.border-green-300{border-color:var(--color-green-300)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-purple-400{border-color:var(--color-purple-400)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-400{border-color:var(--color-slate-400)}.border-yellow-500{border-color:var(--color-yellow-500)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,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-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500) 10%,transparent)}}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-indigo-50{--tw-gradient-from:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-yellow-50{--tw-gradient-to:var(--color-yellow-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.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-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))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.whitespace-nowrap{white-space:nowrap}.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-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-indigo-400{color:var(--color-indigo-400)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-700{color:var(--color-yellow-700)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--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)}.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)}.shadow-amber-200{--tw-shadow-color:oklch(92.4% .12 95.746)}@supports (color:color-mix(in lab,red,red)){.shadow-amber-200{--tw-shadow-color:color-mix(in oklab, var(--color-amber-200) var(--tw-shadow-alpha), transparent)}}.shadow-purple-200{--tw-shadow-color:oklch(90.2% .063 306.703)}@supports (color:color-mix(in lab,red,red)){.shadow-purple-200{--tw-shadow-color:color-mix(in oklab, var(--color-purple-200) var(--tw-shadow-alpha), transparent)}}.shadow-slate-200{--tw-shadow-color:oklch(92.9% .013 255.508)}@supports (color:color-mix(in lab,red,red)){.shadow-slate-200{--tw-shadow-color:color-mix(in oklab, var(--color-slate-200) var(--tw-shadow-alpha), transparent)}}.shadow-yellow-200{--tw-shadow-color:oklch(94.5% .129 101.54)}@supports (color:color-mix(in lab,red,red)){.shadow-yellow-200{--tw-shadow-color:color-mix(in oklab, var(--color-yellow-200) var(--tw-shadow-alpha), transparent)}}.ring-indigo-300{--tw-ring-color:var(--color-indigo-300)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,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\!{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,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.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}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:border-indigo-400:hover{border-color:var(--color-indigo-400)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600)}.hover\:text-indigo-700:hover{color:var(--color-indigo-700)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:underline:hover{text-decoration-line:underline}.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)}}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.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-green-500:focus{--tw-ring-color:var(--color-green-500)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-300:disabled{background-color:var(--color-slate-300)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);font-size:16px;line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{line-height:var(--line-height-relaxed);margin:0}.content{animation:pageIn .35s var(--ease-out-expo)}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.celebrate{animation:celebrate .4s var(--ease-spring)}.stat-card,.tip-card,.goal-card,.module-list-item{transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-fast)}.stat-card:hover,.tip-card:hover,.goal-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-border-hover);transform:translateY(-2px)}@keyframes progressFill{0%{opacity:.5;width:0}to{opacity:1}}.progress-bar-fill{animation:progressFill .8s var(--ease-out-expo)}button{cursor:pointer;transition:all var(--transition-fast);font-family:inherit}button:active:not(:disabled){transform:scale(.98)}button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.status-pill{transition:all var(--transition-fast)}.status-pill.complete{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%);color:#fff}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary)}::-moz-selection{background:var(--color-primary-light);color:var(--color-text)}::selection{background:var(--color-primary-light);color:var(--color-text)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],textarea,select{font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2-5) var(--space-3);transition:all var(--transition-fast);min-height:var(--button-height-sm)}input[type=text]:hover,input[type=email]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=url]:hover,input[type=number]:hover,input[type=date]:hover,textarea:hover,select:hover{border-color:var(--color-border-hover)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=number]:focus,input[type=date]:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-placeholder)}input::placeholder,textarea::placeholder{color:var(--color-text-placeholder)}input[type=search]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left var(--space-3) center;padding-left:var(--space-10)}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;cursor:pointer;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='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");width:16px;height:16px}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10);-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:var(--space-6);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar h1{font-size:var(--font-size-lg);margin-bottom:var(--space-4);font-weight:var(--font-weight-bold)}.sidebar nav a{align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);margin:var(--space-0-5) 0;color:var(--color-sidebar-text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex}.sidebar nav a:hover{color:var(--color-sidebar-text);background:var(--color-sidebar-bg-hover)}.sidebar nav a.active{color:var(--color-sidebar-active);background:var(--color-sidebar-active-bg);font-weight:var(--font-weight-medium)}.content{padding:var(--content-padding);max-width:var(--content-max-width);width:100%}.card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-card);margin-bottom:var(--space-5);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.card:hover{border-color:var(--color-border)}.card>.toolbar:first-child{margin:calc(-1 * var(--space-6));margin-bottom:var(--space-5);padding:var(--space-5) var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-border-light);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.form-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.stat-grid{gap:var(--space-4);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-grid.compact{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--color-border);position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);opacity:0;height:3px;transition:opacity var(--transition-normal);position:absolute;top:0;left:0;right:0}.stat-card:hover:before{opacity:1}.stat-card p{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-2);margin:0;display:flex}.stat-card strong{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-top:var(--space-2);color:var(--color-text);letter-spacing:var(--letter-spacing-tight);display:block}.stat-card small{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:var(--space-1);font-weight:var(--font-weight-normal);display:block}.stat-card.warning{background:var(--status-warning-bg);border-color:var(--status-warning-border)}.stat-card.warning:before{background:var(--color-warning);opacity:1}.stat-card.warning p{color:var(--status-warning-text)}.stat-card.success{background:var(--status-success-bg);border-color:var(--status-success-border)}.stat-card.success:before{background:var(--color-success);opacity:1}.stat-card.success p{color:var(--status-success-text)}.alert-banner{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);margin-top:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);display:flex}.alert-warning{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.alert-error{background:var(--status-error-bg);border:1px solid var(--status-error-border);color:var(--status-error-text)}.alert-info{background:var(--status-info-bg);border:1px solid var(--status-info-border);color:var(--status-info-text)}.staff-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);z-index:30;flex-wrap:wrap;display:flex;position:relative}.mobile-toggle{display:none}.breadcrumbs{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.breadcrumbs ol{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;display:flex}.breadcrumbs li:after{content:"";width:16px;height:16px;margin-left:var(--space-2);opacity:.6;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='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;display:inline-block}.breadcrumbs li:last-child:after{display:none}.breadcrumbs a{color:var(--color-primary);font-weight:var(--font-weight-medium)}.breadcrumbs a:hover{text-decoration:underline}.staff-shell.sidebar-collapsed .staff-sidebar,.staff-sidebar.hidden{opacity:0;position:absolute;left:-9999px}@media(max-width:960px){.app-shell.staff-shell{grid-template-columns:1fr}.mobile-toggle{z-index:20;align-items:center;display:inline-flex;position:relative}.staff-sidebar{z-index:10;width:240px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(0)}.staff-sidebar.hidden{transform:translate(-100%)}.staff-content{padding-top:16px}.sidebar-backdrop{z-index:9;opacity:1;background:#0006;transition:opacity .2s;display:block;position:fixed;top:0;right:0;bottom:0;left:0}.sidebar-backdrop.hidden{opacity:0;display:none}}.rte-toolbar{gap:var(--space-1);padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;margin-bottom:0;display:flex}.rte-toolbar button{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:0 0;border:none}.rte-toolbar button:hover{background:var(--color-surface);color:var(--color-text)}.rte-toolbar button.active{background:var(--color-primary-subtle);color:var(--color-primary)}.rich-text-editor{border:1px solid var(--color-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:160px;padding:var(--space-4);font-size:var(--font-size-base);background:var(--color-surface);line-height:var(--line-height-relaxed)}.rich-text-editor:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.stack{gap:var(--space-6);flex-direction:column;display:flex}.stack-sm{gap:var(--space-3)}.stack-lg{gap:var(--space-8)}.alert-list{margin:var(--space-4) 0 0;padding:0;list-style:none}.alert-list li{align-items:flex-start;gap:var(--space-3);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-2);color:var(--status-error-text);font-size:var(--font-size-sm);line-height:var(--line-height-snug);display:flex}.alert-list li:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23b91c1c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");background-size:contain;flex-shrink:0;width:18px;height:18px;margin-top:1px}.tips-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.tip-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);background:var(--color-surface);gap:var(--space-3);transition:all var(--transition-normal);flex-direction:column;display:flex}.tip-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.tip-card-header{justify-content:space-between;gap:var(--space-3);align-items:flex-start;display:flex}.tip-card-header h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:var(--line-height-snug)}.tip-card p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.tip-images{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.tip-images .attachment-thumb{cursor:pointer;border-radius:var(--radius-md);transition:transform var(--transition-fast);background:0 0;border:none;padding:0;line-height:0;overflow:hidden}.tip-images .attachment-thumb:hover{transform:scale(1.02)}.tip-images .attachment-thumb:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tip-images .attachment-thumb img{-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:100px;height:70px;transition:border-color var(--transition-fast);display:block}.tip-images .attachment-thumb:hover img{border-color:var(--color-primary)}.chart-combo{gap:var(--space-6);flex-wrap:wrap;display:flex}.chart-bars.compact{height:80px}.chart-bars{align-items:flex-end;gap:var(--space-1-5);height:100px;margin-bottom:var(--space-3);padding:var(--space-2) 0;display:flex}.chart-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:8px;display:flex;position:relative}.chart-bar-segment{border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%;transition:all var(--transition-normal);min-height:2px}.chart-bar:hover .chart-bar-segment{filter:brightness(1.1)}.chart-bar-segment.ready{background:linear-gradient(180deg,var(--color-success) 0%,#047857 100%)}.chart-bar-segment.pending{background:linear-gradient(180deg,#fb923c 0%,var(--color-warning) 100%);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.chart-bar-label{font-size:var(--font-size-2xs);color:var(--color-text-muted);margin-top:var(--space-1);font-weight:var(--font-weight-medium)}.chart-legend{align-items:center;gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.chart-legend-item{align-items:center;gap:var(--space-2);display:flex}.chart-legend-dot{border-radius:var(--radius-full);width:10px;height:10px}.toolbar-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.range-toggle{padding:var(--space-1);background:var(--color-bg-alt);border-radius:var(--radius-full);border:1px solid var(--color-border-light);display:inline-flex}.range-toggle button{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-full);transition:all var(--transition-fast);background:0 0;border:none}.range-toggle button:hover:not(.active):not(:disabled){color:var(--color-text)}.range-toggle button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.range-toggle button:disabled{opacity:.5;cursor:not-allowed}.pill{align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-surface);display:inline-flex}.dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px;display:inline-block}.dot.pending{background:var(--color-warning)}.dot.ready,.dot.success{background:var(--color-success)}.dot.error{background:var(--color-error)}.dot.info{background:var(--color-info)}.timeline{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.timeline-item{padding:var(--space-4) 0 var(--space-4) var(--space-5);border-left:2px solid var(--color-border);margin-left:var(--space-2);position:relative}.timeline-item:before{content:"";left:-5px;top:var(--space-5);background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-full);width:8px;height:8px;position:absolute}.timeline-item:last-child{border-left-color:#0000}.timeline-item p{margin:0}.timeline-item p:first-child{font-weight:var(--font-weight-medium);color:var(--color-text)}.timeline-item p:last-child{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.module-breakdown{margin:var(--space-4) 0 0;gap:var(--space-3);flex-direction:column;display:flex}.module-breakdown-row{gap:var(--space-3);font-size:var(--font-size-sm);grid-template-columns:minmax(0,1.5fr) 1fr auto;align-items:center;display:grid}.module-breakdown-bar{background:var(--color-bg-alt);border-radius:var(--radius-full);height:6px;overflow:hidden}.module-breakdown-bar div{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);border-radius:var(--radius-full);height:100%;transition:width .6s var(--ease-out-expo)}.sparkline{align-items:flex-end;gap:var(--space-0-5);height:56px;margin-top:var(--space-4);padding:var(--space-1) 0;display:flex}.sparkline-bar{background:linear-gradient(180deg,var(--color-accent-cyan) 0%,var(--color-primary) 100%);border-radius:var(--radius-full) var(--radius-full) 0 0;min-width:3px;min-height:2px;transition:all var(--transition-fast);opacity:.85;flex:1}.sparkline-bar:hover{opacity:1;transform-origin:bottom;transform:scaleY(1.05)}.chip-list{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.chip-list li{background:var(--color-bg-alt);color:var(--color-text-secondary);border-radius:var(--radius-full);padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-light);min-width:0}.chip{border:1px solid var(--color-primary-subtle);background:var(--color-primary-subtle);color:var(--color-primary);border-radius:var(--radius-full);padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);align-items:center;display:inline-flex}.chip:hover,.chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.quick-filter-row{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.goal-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.goal-add-form{margin-top:var(--space-5)}.goal-add-row{gap:var(--space-3);align-items:center;display:flex}.goal-add-row input{flex:1}.goal-add-row select{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2-5) var(--space-3);font-size:var(--font-size-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);flex:1;font-family:inherit}.goal-add-row select:hover{border-color:var(--color-border-hover)}.goal-add-row select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.goal-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);background:var(--color-surface);gap:var(--space-3);transition:all var(--transition-normal);flex-direction:column;display:flex}.goal-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.goal-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.goal-card-header h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);text-transform:capitalize}.goal-card-actions{gap:var(--space-1);flex-shrink:0;align-items:center;display:inline-flex}.goal-card input,.goal-card textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-2-5) var(--space-3);font-size:var(--font-size-sm);background:var(--color-surface);color:var(--color-text);transition:all var(--transition-fast);font-family:inherit}.goal-card input:focus,.goal-card textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.goal-card textarea{resize:vertical;min-height:80px}.goal-hint{margin:var(--space-5) 0;padding:var(--space-5);border-radius:var(--radius-xl);border:1px dashed var(--color-info-border);background:linear-gradient(135deg,var(--status-info-bg) 0%,var(--color-surface) 100%)}.goal-hint-title{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);margin:0}.goal-hint-status{margin:var(--space-2) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.goal-hint-copy{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.goal-hint-note{margin:var(--space-2) 0;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.goal-hint-summary{margin:var(--space-3) 0 0;color:var(--color-text);font-size:var(--font-size-sm)}.audit-log-list{flex-direction:column;gap:12px;margin:12px 0 0;padding:0;list-style:none;display:flex}.audit-log-item{border-left:3px solid var(--color-border-hover);padding-left:12px}.audit-log-header{justify-content:space-between;gap:16px;font-size:.9rem;display:flex}.audit-log-time{color:var(--color-text-muted);font-size:.8rem}.audit-log-summary{color:var(--color-text-secondary);margin:4px 0;font-size:.9rem}.audit-log-meta{color:var(--color-text-muted);margin:0;font-size:.8rem}.module-note-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.module-note-row input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);padding:8px;font-size:.85rem}.audit-filter-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.audit-filter-grid input,.audit-filter-grid select{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);padding:8px;font-size:.9rem}.audit-table{border-collapse:collapse;width:100%;margin-top:12px}.audit-table th,.audit-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;color:var(--color-text);padding:8px}.audit-metadata{white-space:pre-wrap;background:var(--color-bg-alt);border-radius:var(--radius-sm);color:var(--color-text-secondary);margin:0;padding:6px;font-size:.75rem}.preset-form{margin-bottom:12px}.preset-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.preset-item{gap:var(--space-2);align-items:center;display:flex}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-top:var(--space-2);margin-bottom:var(--space-1)}.detail-panel{margin-top:var(--space-6);padding:var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-bg)}.detail-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:0;display:grid}.detail-grid div{gap:var(--space-1);flex-direction:column;display:flex}.detail-grid dt{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin:0}.detail-grid dd{font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-base);margin:0}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--color-border-light);padding:var(--space-3) var(--space-4);transition:background var(--transition-fast)}.list li:last-child{border-bottom:none}.tag{padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;display:inline-flex}.tag.ok,.tag.success{background:var(--status-success-bg);color:var(--status-success-text)}.tag.fail,.tag.error{background:var(--status-error-bg);color:var(--status-error-text)}.tag.warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.tag.info{background:var(--status-info-bg);color:var(--status-info-text)}.form-control{margin-bottom:var(--space-5);flex-direction:column;display:flex}.form-control label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-2)}.form-control input,.form-control textarea,.form-control select{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--font-size-base);background:var(--color-surface);width:100%;color:var(--color-text);transition:all var(--transition-fast);font-family:inherit}.form-control input:hover,.form-control textarea:hover,.form-control select:hover{border-color:var(--color-border-hover)}.form-control input:focus,.form-control textarea:focus,.form-control select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.form-control input::-moz-placeholder,.form-control textarea::-moz-placeholder{color:var(--color-text-placeholder)}.form-control input::placeholder,.form-control textarea::placeholder{color:var(--color-text-placeholder)}.form-control textarea{resize:vertical;min-height:100px;line-height:var(--line-height-relaxed)}.form-control select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-size:16px}.form-control .helper-text{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.form-control .error-text{font-size:var(--font-size-xs);color:var(--color-error);margin-top:var(--space-1)}.form-control.has-error input,.form-control.has-error textarea,.form-control.has-error select{border-color:var(--color-error)}.form-control.has-error input:focus,.form-control.has-error textarea:focus,.form-control.has-error select:focus{box-shadow:var(--shadow-focus-error)}button.primary,.button.primary{justify-content:center;align-items:center;gap:var(--space-2);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;border-radius:var(--radius-md);padding:var(--space-2-5) var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);min-height:var(--button-height-sm);border:none;display:inline-flex;box-shadow:0 1px 2px #4f46e533}button.primary:hover:not(:disabled),.button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}button.primary:active:not(:disabled),.button.primary:active:not(:disabled){transform:translateY(0)}button.primary:disabled,.button.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}button.secondary,.button.secondary{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);min-height:var(--button-height-sm);display:inline-flex}button.secondary:hover:not(:disabled),.button.secondary:hover:not(:disabled){border-color:var(--color-border-hover);color:var(--color-text);background:var(--color-bg)}button.secondary:disabled,.button.secondary:disabled{opacity:.5;cursor:not-allowed}button.ghost,.button.ghost{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);padding:var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:inline-flex}button.ghost:hover:not(:disabled),.button.ghost:hover:not(:disabled){background:var(--color-bg-alt);color:var(--color-text)}button.ghost.danger:hover:not(:disabled),.button.ghost.danger:hover:not(:disabled){background:var(--status-error-bg);color:var(--color-error)}button.ghost:disabled,.button.ghost:disabled{opacity:.5;cursor:not-allowed}.button-group{gap:var(--space-3);flex-wrap:wrap;display:flex}.danger{background:linear-gradient(135deg,var(--color-error) 0%,#b91c1c 100%);color:#fff;box-shadow:0 1px 2px #dc262633}.danger:hover:not(:disabled){box-shadow:0 4px 12px #dc26264d}.success{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%);color:#fff;box-shadow:0 1px 2px #05966933}.success:hover:not(:disabled){box-shadow:0 4px 12px #0596694d}.toolbar{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.toolbar h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.toolbar h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.toolbar p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:var(--space-1) 0 0}.status-pill{justify-content:center;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize;letter-spacing:var(--letter-spacing-wide);display:inline-flex}.status-pill.pending{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.status-pill.processing{background:var(--status-info-bg);color:var(--status-info-text);border:1px solid var(--status-info-border)}.status-pill.ready,.status-pill.complete,.status-pill.success{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.status-pill.failed,.status-pill.error{background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border)}.status-pill.active{background:var(--status-active-bg);color:var(--status-active-text);border:1px solid var(--status-active-border)}.split-panel{gap:var(--space-6);grid-template-columns:minmax(240px,340px) 1fr;align-items:start;display:grid}.module-list-item{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;transition:all var(--transition-normal);flex-direction:column;display:flex}.module-list-item:hover{border-color:var(--color-border-hover);background:var(--color-surface-hover)}.module-list-item.selected{border-color:var(--color-primary);box-shadow:var(--shadow-focus);background:var(--color-primary-subtle)}.module-list-item h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.module-list-item p{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.module-detail{border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);background:var(--color-surface);top:var(--space-4);position:sticky}.module-detail-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light);display:flex}.module-detail-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);gap:var(--space-2);flex-direction:column;display:flex}.lesson-list li:last-child{border-bottom:none}.lesson-list li span:first-child{color:var(--color-text)}.lesson-row{align-items:center;gap:var(--space-3);width:100%;display:flex}.lesson-row strong{color:var(--color-text);flex:1}.lesson-checkbox{flex-shrink:0;align-items:center;display:flex}.lesson-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary);margin:0}.lesson-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.lesson-duration{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.lesson-status{font-size:var(--font-size-xs);color:var(--color-warning);margin-left:var(--space-2);font-weight:var(--font-weight-medium)}.lesson-success{color:var(--color-success);margin:var(--space-2) 0 0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.table{border-collapse:collapse;width:100%;margin:var(--space-4) 0;font-size:var(--font-size-sm)}.table th,.table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light)}.table th{background:var(--color-bg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);position:sticky;top:0}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--color-bg-alt)}.table tr.selected{background:var(--color-primary-subtle)}.table tr.selected:hover{background:var(--color-primary-light)}.valuation-form{flex-direction:column;gap:16px;display:flex}.valuation-steps{flex-wrap:wrap;gap:8px;display:flex}.valuation-steps button{border:1px solid var(--color-border);background:var(--color-bg-alt);color:var(--color-text-secondary);cursor:pointer;border-radius:20px;padding:8px 12px;font-weight:600}.valuation-steps button.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.valuation-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);gap:16px;padding:16px;display:grid}.fieldset-heading{color:var(--color-text-secondary);margin:8px 0;font-weight:600}.radio-group.horizontal label{align-items:center;gap:4px;margin-right:16px;display:inline-flex}.file-preview-grid{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.file-preview-card{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;background:var(--color-surface);max-width:140px;padding:8px}.file-preview-card img{-o-object-fit:cover;object-fit:cover;border-radius:6px;width:100%;height:90px;margin-bottom:6px}.file-pill{background:var(--color-primary-subtle);color:var(--color-primary);word-break:break-word;border-radius:999px;padding:6px 8px;font-size:.85rem;display:inline-block}.ghost.tiny{padding:4px 8px;font-size:.8rem}.wizard-controls{justify-content:space-between;align-items:center;gap:16px;margin-top:8px;display:flex}.wizard-nav{gap:12px;display:flex}.offline-banner{border-radius:var(--radius-lg);border:1px solid var(--status-warning-border);background:var(--status-warning-bg);color:var(--status-warning-text);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.offline-banner button{background:var(--color-warning);color:var(--color-text-inverse);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 14px;font-weight:600}.lesson-status{color:var(--color-warning);margin-left:8px;font-size:.85rem}.lesson-success{color:var(--color-success);margin:6px 0 0;font-weight:600}.modal-overlay{padding:var(--space-4);z-index:var(--z-modal);animation:modal-overlay-in .2s var(--ease-out-expo);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-6);width:100%;max-width:480px;max-height:calc(100vh - var(--space-8));box-shadow:var(--shadow-2xl);animation:modal-in .3s var(--ease-out-expo);border:1px solid var(--color-border-light);overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{margin-bottom:var(--space-5)}.modal-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-1)}.modal-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.modal-footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border-light);display:flex}.form-field{gap:var(--space-1-5);margin-bottom:var(--space-5);flex-direction:column;display:flex}.form-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-field input,.form-field textarea,.form-field select{width:100%;min-height:var(--input-height);padding:var(--space-3) var(--space-4);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:var(--color-border-hover)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.form-field input::-moz-placeholder,.form-field textarea::-moz-placeholder{color:var(--color-text-placeholder)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-text-placeholder)}.form-field textarea{resize:vertical;min-height:100px;line-height:var(--line-height-relaxed)}.checkbox-group{gap:var(--space-1);flex-direction:column;display:flex}.checkbox-label{align-items:center;gap:var(--space-3);cursor:pointer;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);margin:0 calc(-1 * var(--space-3));border-radius:var(--radius-md);transition:background var(--transition-fast);font-size:var(--font-size-sm);color:var(--color-text);display:flex}.checkbox-label:hover{background:var(--color-bg-alt)}.checkbox-label input[type=checkbox]{width:var(--checkbox-size);height:var(--checkbox-size);cursor:pointer;accent-color:var(--color-primary);margin:0}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.content{padding:20px}.split-panel{grid-template-columns:1fr}}.upgrade-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.upgrade-modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;width:90%;max-width:440px;box-shadow:var(--shadow-xl);animation:.3s slideUp;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.upgrade-modal__close{top:var(--space-4);right:var(--space-4);cursor:pointer;color:var(--color-text-secondary);padding:var(--space-2);border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute}.upgrade-modal__close:hover{background:var(--color-bg);color:var(--color-text)}.upgrade-modal__icon{width:80px;height:80px;margin:0 auto var(--space-6);background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));color:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.upgrade-modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);color:var(--color-text)}.upgrade-modal__message{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--space-6);line-height:var(--line-height-relaxed)}.upgrade-modal__plan-info{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg);display:flex}.upgrade-modal__current,.upgrade-modal__suggested{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.upgrade-modal__suggested{color:var(--color-primary)}.upgrade-modal__arrow{color:var(--color-text-tertiary);align-items:center;display:flex}.upgrade-modal__actions{gap:var(--space-3);justify-content:center;display:flex}.upgrade-modal__actions .btn{flex:1;max-width:160px}.limit-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--font-size-sm);display:flex}.limit-banner--warning{background:var(--color-warning-light);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.limit-banner--danger{background:var(--color-error-light);color:var(--color-error-text);border:1px solid var(--color-error-border)}.limit-banner svg{flex-shrink:0}.limit-banner span{flex:1}.limit-banner__upgrade{border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:inherit;cursor:pointer;background:0 0;border:1px solid;transition:background .2s,color .2s}.limit-banner__upgrade:hover{color:#fff;background:currentColor}.limit-banner--warning .limit-banner__upgrade:hover{background:var(--color-warning);color:#fff}.limit-banner--danger .limit-banner__upgrade:hover{background:var(--color-error);color:#fff}.trial-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--font-size-sm);display:flex}.trial-banner--info{background:var(--color-info-light,#eff6ff);color:var(--color-info-text,#1e40af);border:1px solid var(--color-info-border,#bfdbfe)}.trial-banner--warning{background:var(--color-warning-light);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.trial-banner--urgent,.trial-banner--expired{background:var(--color-error-light);color:var(--color-error-text);border:1px solid var(--color-error-border)}.trial-banner svg{flex-shrink:0}.trial-banner span{flex:1}.trial-banner__action{border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:inherit;cursor:pointer;background:0 0;border:1px solid;text-decoration:none;transition:background .2s,color .2s}.trial-banner__action:hover{color:#fff;background:currentColor}.trial-banner--info .trial-banner__action:hover{background:var(--color-primary,#3b82f6);border-color:var(--color-primary,#3b82f6);color:#fff}.trial-banner--warning .trial-banner__action:hover{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.trial-banner--urgent .trial-banner__action:hover,.trial-banner--expired .trial-banner__action:hover{background:var(--color-error);border-color:var(--color-error);color:#fff}.profile-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.profile-card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-normal),transform var(--transition-normal);flex-direction:column;align-items:center;display:flex}.profile-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.profile-avatar{border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;background:var(--color-bg-alt);width:80px;height:80px;margin-bottom:var(--space-4);border:3px solid var(--color-border-light)}.profile-info{text-align:center;flex:1;width:100%}.profile-info h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.profile-info p{font-size:var(--font-size-sm)}.profile-actions{margin-top:var(--space-4);justify-content:center;width:100%;display:flex}.api-error{gap:var(--space-3);padding:var(--space-4);background:var(--color-error-bg,#fef2f2);border:1px solid var(--color-error-border,#fecaca);border-radius:var(--radius-lg);margin:var(--space-3) 0;flex-direction:column;display:flex}.api-error.compact{padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-2);flex-direction:row}.api-error-content{align-items:flex-start;gap:var(--space-3);display:flex}.api-error-icon{font-size:var(--font-size-xl);flex-shrink:0}.api-error.compact .api-error-icon{font-size:var(--font-size-base)}.api-error-text{flex:1}.api-error-title{font-weight:var(--font-weight-semibold);color:var(--color-error,#b91c1c);margin:0}.api-error.compact .api-error-title{font-size:var(--font-size-sm);color:var(--color-error,#b91c1c)}.api-error-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-1) 0 0 0}.api-error-action{flex-shrink:0}.api-error-action .btn-small{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.api-error-action .btn-small.primary{background:var(--color-primary);color:#fff;border:none}.api-error-action .btn-small.primary:hover{background:var(--color-primary-hover)}.api-error-action .btn-small.secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.api-error-action .btn-small.secondary:hover{background:var(--color-bg-alt)}.collapsible{border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-3);background:var(--color-surface);overflow:hidden}.collapsible-header{width:100%;padding:var(--space-4);background:var(--color-bg-alt);cursor:pointer;text-align:left;transition:background var(--transition-fast);border:none;justify-content:space-between;align-items:center;display:flex}.collapsible-header:hover{background:var(--color-bg-alt-hover,#e2e8f0)}.collapsible.open .collapsible-header{border-bottom:1px solid var(--color-border)}.collapsible-header-content{align-items:center;gap:var(--space-3);display:flex}.collapsible-chevron{font-size:var(--font-size-xs);color:var(--color-text-muted);transition:transform var(--transition-fast)}.collapsible-title-group{gap:var(--space-1);flex-direction:column;display:flex}.collapsible-title{font-weight:var(--font-weight-semibold);color:var(--color-text)}.collapsible-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.collapsible-badge{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-primary-light,#dbeafe);color:var(--color-primary,#1d4ed8);border-radius:var(--radius-full)}.collapsible-content{padding:var(--space-4)}.collapsible-controls{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.collapsible-controls .btn-small.ghost{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0}.collapsible-controls .btn-small.ghost:hover{background:var(--color-bg-alt);color:var(--color-text)}.module-list{gap:var(--space-3);flex-direction:column;display:flex}.module-list .module-collapsible-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);list-style:none;overflow:hidden}.module-list .module-collapsible-item .collapsible{border:none;border-radius:0}.module-list .module-collapsible-item .collapsible-header{border-radius:0}.module-list .module-collapsible-item .collapsible-content{border-top:1px solid var(--color-border);background:var(--color-bg-alt,#f8fafc)}.markdown-content{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--color-text);font-weight:var(--font-weight-semibold);margin-top:var(--space-4);margin-bottom:var(--space-2);line-height:var(--line-height-tight)}.markdown-content h1{font-size:var(--font-size-xl)}.markdown-content h2{font-size:var(--font-size-lg)}.markdown-content h3{font-size:var(--font-size-base)}.markdown-content h4{font-size:var(--font-size-sm)}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child,.markdown-content h4:first-child{margin-top:0}.markdown-content p{margin:0 0 var(--space-3);color:var(--color-text-secondary)}.markdown-content p:last-child{margin-bottom:0}.markdown-content strong{font-weight:var(--font-weight-semibold);color:var(--color-text)}.markdown-content em{font-style:italic}.markdown-content ul,.markdown-content ol{margin:var(--space-2) 0 var(--space-3);padding-left:var(--space-5)}.markdown-content li{margin-bottom:var(--space-1);padding-left:var(--space-1)}.markdown-content li::marker{color:var(--color-primary)}.markdown-content ul li{list-style-type:disc}.markdown-content ol li{list-style-type:decimal}.markdown-content ul ul,.markdown-content ol ol,.markdown-content ul ol,.markdown-content ol ul{margin-top:var(--space-1);margin-bottom:var(--space-1)}.markdown-content blockquote{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-primary);background:var(--color-bg-alt);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-secondary);font-style:italic}.markdown-content blockquote p{margin:0}.markdown-content code{padding:var(--space-0-5) var(--space-1);background:var(--color-bg-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-primary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:.9em}.markdown-content pre{margin:var(--space-3) 0;padding:var(--space-4);background:var(--color-sidebar-bg);border-radius:var(--radius-lg);overflow-x:auto}.markdown-content pre code{color:var(--color-sidebar-text);font-size:var(--font-size-sm);background:0 0;border:none;padding:0}.markdown-content a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.markdown-content a:hover{color:var(--color-primary-hover)}.markdown-content hr{margin:var(--space-4) 0;border:none;border-top:1px solid var(--color-border-light)}.markdown-content img{border-radius:var(--radius-md);max-width:100%;height:auto;margin:var(--space-3) 0}.markdown-content table{border-collapse:collapse;width:100%;margin:var(--space-3) 0;font-size:var(--font-size-sm)}.markdown-content th,.markdown-content td{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);text-align:left}.markdown-content th{background:var(--color-bg-alt);font-weight:var(--font-weight-semibold);color:var(--color-text)}.markdown-content tbody tr:hover{background:var(--color-bg-alt)}.lesson-content{margin-top:var(--space-2);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.theme-toggle{align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;display:inline-flex}.theme-toggle:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text)}.theme-toggle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.theme-toggle-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-toggle-label{line-height:1}.sidebar .theme-toggle{color:var(--color-sidebar-text-muted);border-color:#ffffff1a}.sidebar .theme-toggle:hover{background:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text);border-color:#fff3}.language-selector{align-items:center;gap:var(--space-2);display:inline-flex;position:relative}.language-selector-icon{pointer-events:none;z-index:1;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:absolute;left:10px}.language-selector-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--space-1-5) var(--space-7) var(--space-1-5) var(--space-7);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 10px center no-repeat;min-width:0;line-height:1}.language-selector-select:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text)}.language-selector-select:focus-visible{box-shadow:var(--shadow-focus);outline:none}.sidebar .language-selector-icon{color:var(--color-sidebar-text-muted)}.sidebar .language-selector-select{color:var(--color-sidebar-text-muted);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");border-color:#ffffff1a}.sidebar .language-selector-select:hover{background-color:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text);border-color:#fff3}.sidebar .language-selector-select option{background:var(--color-bg,#1a1a2e);color:var(--color-text,#e0e0e0)}:root[data-theme=dark] input[type=search]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E")}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}:root[data-theme=dark] .form-control select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}:root[data-theme=dark] .modal-overlay{background:#000000b3}:root[data-theme=dark] .audit-metadata{background:var(--color-bg-alt);color:var(--color-text-secondary)}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.notification-bell-container{position:relative;display:inline-flex;align-items:center}.notification-bell-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-md, 8px);background:transparent;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:background .15s ease,color .15s ease}.notification-bell-btn:hover{background:var(--color-bg-subtle, rgba(0, 0, 0, .05));color:var(--color-text-primary, #1f2937)}.notification-bell-btn.has-unread{color:var(--color-text-primary, #1f2937)}.notification-bell-badge{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-error, #ef4444);color:#fff;font-size:10px;font-weight:700;line-height:1;pointer-events:none;transform:translate(25%,-25%)}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;width:360px;max-height:480px;display:flex;flex-direction:column;background:var(--color-bg-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-lg, 12px);box-shadow:0 4px 6px -1px #0000001a,0 10px 15px -3px #0000001a,0 20px 25px -5px #0000000d;overflow:hidden}@media(max-width:480px){.notification-panel{position:fixed;top:56px;right:8px;left:8px;width:auto;max-height:calc(100vh - 72px)}}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-surface, #fff);flex-shrink:0}.notification-panel-title{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary, #1f2937)}.notification-mark-all-btn{padding:4px 10px;border:none;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-primary, #3b82f6);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.notification-mark-all-btn:hover{background:var(--color-primary-light, rgba(59, 130, 246, .08))}.notification-panel-list{overflow-y:auto;flex:1;min-height:0}.notification-empty{padding:32px 16px;text-align:center;color:var(--color-text-tertiary, #9ca3af);font-size:13px}.notification-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--color-border-light, #f3f4f6);cursor:pointer;transition:background .15s ease;position:relative}.notification-item:hover{background:var(--color-bg-hover, #f9fafb)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:var(--color-primary-bg, rgba(59, 130, 246, .04))}.notification-item.unread:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--color-primary, #3b82f6)}.notification-item-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;margin-top:2px}.notification-item-content{flex:1;min-width:0}.notification-item-title{font-size:13px;font-weight:600;color:var(--color-text-primary, #1f2937);line-height:1.3;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item-message{font-size:12px;color:var(--color-text-secondary, #6b7280);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:2px}.notification-item-time{font-size:11px;color:var(--color-text-tertiary, #9ca3af)}.notification-item-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-text-tertiary, #9ca3af);cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.notification-item:hover .notification-item-delete{opacity:1}.notification-item-delete:hover{background:var(--color-error-light, rgba(239, 68, 68, .08));color:var(--color-error, #ef4444)}.notification-load-more{display:block;width:100%;padding:10px;border:none;border-top:1px solid var(--color-border-light, #f3f4f6);background:transparent;color:var(--color-primary, #3b82f6);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.notification-load-more:hover{background:var(--color-bg-hover, #f9fafb)}.notification-load-more:disabled{color:var(--color-text-tertiary, #9ca3af);cursor:not-allowed}.sidebar .notification-bell-btn,.admin-sidebar .notification-bell-btn{color:#fff9}.sidebar .notification-bell-btn:hover,.admin-sidebar .notification-bell-btn:hover{color:#ffffffe6;background:#ffffff14}.sidebar .notification-bell-btn.has-unread,.admin-sidebar .notification-bell-btn.has-unread{color:#ffffffe6}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-tour, 550);pointer-events:none}.tour-barrier{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-tour, 550);pointer-events:auto;cursor:default}.tour-spotlight{position:fixed;z-index:calc(var(--z-tour, 550) + 1);border-radius:var(--radius-lg, 12px);box-shadow:0 0 0 9999px #0000008c;transition:top .35s cubic-bezier(.4,0,.2,1),left .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1);pointer-events:none}.tour-popover{position:fixed;z-index:calc(var(--z-tour, 550) + 2);width:360px;max-width:calc(100vw - 32px);background:var(--color-surface, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:0 20px 60px #0003,0 8px 24px #0000001f,0 0 0 1px #0000000f;pointer-events:auto;animation:tour-popover-in .35s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes tour-popover-in{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.tour-popover__header{display:flex;align-items:center;gap:12px;padding:16px 20px 8px}.tour-popover__avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-subtle, #eef2ff),var(--color-accent-purple, #7c3aed));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary, #4f46e5)}.tour-popover__title{margin:0;font-size:15px;font-weight:600;color:var(--color-text, #0f172a);line-height:1.3}.tour-popover__body{padding:4px 20px 16px;font-size:13.5px;line-height:1.6;color:var(--color-text-secondary, #475569)}.tour-popover__progress{display:flex;align-items:center;gap:12px;padding:0 20px 12px}.tour-popover__progress-bar{flex:1;height:3px;background:var(--color-border-light, #e2e8f0);border-radius:99px;overflow:hidden}.tour-popover__progress-fill{height:100%;background:var(--color-primary, #4f46e5);border-radius:99px;transition:width .35s cubic-bezier(.4,0,.2,1)}.tour-popover__progress-text{font-size:12px;color:var(--color-text-muted, #94a3b8);white-space:nowrap;font-variant-numeric:tabular-nums}.tour-popover__controls{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--color-border, #e2e8f0);background:var(--color-bg-alt, #f1f5f9)}.tour-popover__skip{background:none;border:none;color:var(--color-text-muted, #94a3b8);font-size:13px;cursor:pointer;padding:6px 8px;border-radius:6px;transition:color .15s,background .15s}.tour-popover__skip:hover{color:var(--color-text, #0f172a);background:#0000000a}.tour-popover__nav{display:flex;gap:8px}.tour-popover__btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid var(--color-border, #e2e8f0);background:var(--color-surface, #ffffff);color:var(--color-text, #0f172a);line-height:1}.tour-popover__btn:hover{background:var(--color-surface-hover, #f8fafc);border-color:var(--color-border-medium, #cbd5e1)}.tour-popover__btn--primary{background:var(--color-primary, #4f46e5);color:#fff;border-color:var(--color-primary, #4f46e5)}.tour-popover__btn--primary:hover{background:var(--color-primary-hover, #4338ca);border-color:var(--color-primary-hover, #4338ca)}.tour-popover__arrow{position:absolute;width:12px;height:12px;background:var(--color-surface, #ffffff);transform:rotate(45deg);z-index:-1}.tour-popover--top .tour-popover__arrow{bottom:-6px;left:50%;margin-left:-6px;box-shadow:1px 1px 2px #00000014}.tour-popover--bottom .tour-popover__arrow{top:-6px;left:50%;margin-left:-6px;box-shadow:-1px -1px 2px #00000014}.tour-popover--left .tour-popover__arrow{right:-6px;top:50%;margin-top:-6px;box-shadow:1px -1px 2px #00000014}.tour-popover--right .tour-popover__arrow{left:-6px;top:50%;margin-top:-6px;box-shadow:-1px 1px 2px #00000014}@media(max-width:767px){.tour-popover{width:calc(100vw - 32px);max-width:360px}}[data-theme=dark] .tour-spotlight{box-shadow:0 0 0 9999px #000000b3}[data-theme=dark] .tour-popover__arrow{box-shadow:none}.tour-trigger-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#ffffff80;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;margin-bottom:8px}.tour-trigger-btn:hover{background:#ffffff14;border-color:#ffffff24;color:#ffffffd9}.tour-trigger-btn svg{flex-shrink:0;opacity:.6}.tour-trigger-btn:hover svg{opacity:1}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal);animation:modal-backdrop-in .15s ease;overflow-y:auto}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.ui-modal{background:#fff;border-radius:var(--radius-xl);width:100%;max-height:calc(100vh - var(--space-8));display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modal-in .2s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.ui-modal--sm{max-width:400px}.ui-modal--md{max-width:560px}.ui-modal--lg{max-width:800px}.ui-modal--full{max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8))}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.ui-modal__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.ui-modal__close{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);margin:calc(var(--space-2) * -1)}.ui-modal__close:hover{background:var(--color-bg);color:var(--color-text)}.ui-modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-modal__body{flex:1;overflow-y:auto;padding:var(--space-6)}.ui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-bg-alt);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-shrink:0}@media(max-width:479px){.ui-modal-backdrop{padding:0;align-items:flex-end}.ui-modal{max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:modal-in-mobile .25s ease}@keyframes modal-in-mobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.ui-modal__header{padding:var(--space-4) var(--space-5)}.ui-modal__body{padding:var(--space-5)}.ui-modal__footer{padding:var(--space-4) var(--space-5);flex-direction:column-reverse}.ui-modal__footer .ui-button{width:100%}}.admin-sidebar-header{padding:var(--space-5) var(--space-4);margin:calc(-1 * var(--space-6));margin-bottom:var(--space-4);background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.08)}.admin-sidebar-label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);color:#fff6;margin:0 0 var(--space-1) 0}.admin-sidebar-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-sidebar-text);margin:0 0 var(--space-3) 0;letter-spacing:var(--letter-spacing-tight)}.admin-sidebar-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:#ffffff80}.admin-sidebar-status .status-dot{width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0}.admin-sidebar-status .status-dot.connected{background:var(--color-success);box-shadow:0 0 8px #05966999}.admin-sidebar-status .status-dot.disconnected{background:var(--color-error);box-shadow:0 0 8px #dc262699}.admin-nav{flex:1;overflow-y:auto;padding:var(--space-2) 0}.admin-nav-section{padding:var(--space-2) 0}.admin-nav-section:not(:last-child){border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--space-2);padding-bottom:var(--space-3)}.admin-nav-section-label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);color:#ffffff59;padding:var(--space-3) var(--space-4) var(--space-2);margin:0}.admin-nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-4);color:var(--color-sidebar-text-muted);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);margin:var(--space-0-5) var(--space-2);transition:all var(--transition-fast);min-height:var(--touch-target-min);position:relative}.admin-nav-link:hover{background:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text)}.admin-nav-link.active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-active)}.admin-nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-sidebar-active);border-radius:0 var(--radius-full) var(--radius-full) 0}.admin-nav-link.active .admin-nav-icon{color:var(--color-sidebar-active)}.admin-nav-link.external{color:#ffffff73}.admin-nav-link.external:hover{color:#ffffffb3}.admin-nav-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:inherit;opacity:.7}.admin-nav-link:hover .admin-nav-icon,.admin-nav-link.active .admin-nav-icon{opacity:1}.admin-nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-nav-external{flex-shrink:0;display:flex;align-items:center;opacity:.4;margin-left:auto}.admin-sidebar-footer{padding:var(--space-4);border-top:1px solid rgba(255,255,255,.06);margin-top:auto}.admin-sidebar-theme{margin-bottom:var(--space-3)}.admin-user-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:#ffffff0a;border-radius:var(--radius-md);margin-bottom:var(--space-3)}.admin-user-icon{display:flex;align-items:center;justify-content:center;color:#ffffff80;width:32px;height:32px;background:#ffffff14;border-radius:var(--radius-full)}.admin-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-sidebar-actions{display:flex;flex-direction:column;gap:var(--space-2)}.admin-action-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2-5) var(--space-3);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);color:var(--color-sidebar-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);min-height:var(--touch-target-min)}.admin-action-btn:hover{background:#ffffff14;border-color:#ffffff1f;color:var(--color-sidebar-text)}.admin-action-btn svg{flex-shrink:0;width:18px;height:18px;opacity:.7}.admin-action-btn:hover svg{opacity:1}.admin-mobile-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;width:44px;height:44px;padding:0;background:var(--color-sidebar-bg, #1e293b);border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#fff;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003}@media(max-width:768px){.admin-mobile-toggle{display:flex}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.admin-sidebar.open{transform:translate(0)}.sidebar-overlay.visible{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:990}}.admin-nav::-webkit-scrollbar{width:4px}.admin-nav::-webkit-scrollbar-track{background:transparent}.admin-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.admin-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar-header{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5) var(--space-4);margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-4);background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-label{margin:0;color:var(--color-sidebar-text-muted);font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);font-weight:var(--font-weight-semibold)}.sidebar-user{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-sidebar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);flex:1;overflow-y:auto}.nav-section{display:flex;flex-direction:column;gap:var(--space-0-5)}.nav-section:not(:first-child){margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.06)}.nav-section-label{display:block;padding:var(--space-2) var(--space-3);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);color:#fff6}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);color:var(--color-sidebar-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);text-decoration:none;min-height:var(--touch-target-min);position:relative}.nav-link:hover{background:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text)}.nav-link.active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-active)}.nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-sidebar-active);border-radius:0 var(--radius-full) var(--radius-full) 0}.nav-link.active .nav-icon{color:var(--color-sidebar-active)}.nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;color:inherit;opacity:.7}.nav-link:hover .nav-icon,.nav-link.active .nav-icon{opacity:1}.nav-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer-actions{margin-top:auto;padding:var(--space-3) 0}.sidebar-logout{display:flex;align-items:center;gap:var(--space-3);margin-top:auto;padding:var(--space-2-5) var(--space-3);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-sidebar-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left;min-height:var(--touch-target-min)}.sidebar-logout:hover{background:#ffffff14;border-color:#ffffff26;color:var(--color-sidebar-text)}.sidebar-logout:focus-visible{outline:2px solid var(--color-sidebar-active);outline-offset:2px}.sidebar-logout svg{flex-shrink:0;opacity:.7;width:18px;height:18px}.sidebar-logout:hover svg{opacity:1}.staff-toolbar-actions{display:flex;align-items:center;gap:var(--space-2, 8px);margin-left:auto}.mobile-toggle{display:none;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);padding:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.mobile-toggle:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.mobile-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:960px){.mobile-toggle{display:flex}}.staff-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.staff-sidebar .sidebar-nav{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.staff-sidebar .sidebar-nav::-webkit-scrollbar{width:6px}.staff-sidebar .sidebar-nav::-webkit-scrollbar-track{background:transparent}.staff-sidebar .sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.staff-sidebar .sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-light: rgba(79, 70, 229, .08);--color-primary-subtle: #eef2ff;--color-success: #059669;--color-success-light: #ecfdf5;--color-success-border: #a7f3d0;--color-success-hover: #047857;--color-warning: #d97706;--color-warning-light: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-error: #dc2626;--color-error-light: #fef2f2;--color-error-border: #fecaca;--color-error-text: #991b1b;--color-info: #0891b2;--color-info-light: #ecfeff;--color-info-border: #a5f3fc;--color-accent-purple: #7c3aed;--color-accent-pink: #ec4899;--color-accent-cyan: #06b6d4;--color-bg: #f8fafc;--color-bg-alt: #f1f5f9;--color-bg-elevated: #ffffff;--color-surface: #ffffff;--color-surface-alt: #fafbfc;--color-surface-hover: #f8fafc;--color-sidebar-bg: #0f172a;--color-sidebar-bg-hover: rgba(255, 255, 255, .06);--color-sidebar-text: #f8fafc;--color-sidebar-text-muted: #94a3b8;--color-sidebar-active: #a5b4fc;--color-sidebar-active-bg: rgba(165, 180, 252, .12);--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-placeholder: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-input: #e2e8f0;--color-border-focus: var(--color-primary);--color-border-hover: #cbd5e1;--space-0: 0;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", "Menlo", "Monaco", "Consolas", monospace;--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .15);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 3px rgba(79, 70, 229, .15);--shadow-focus-error: 0 0 0 3px rgba(220, 38, 38, .15);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--sidebar-width-collapsed: 0px;--content-padding: var(--space-8);--content-padding-mobile: var(--space-4);--content-max-width: 100%;--touch-target-min: 44px;--button-height: 40px;--button-height-sm: 32px;--button-height-lg: 48px;--input-height: 42px;--checkbox-size: 20px;--status-success-bg: #ecfdf5;--status-success-text: #047857;--status-success-border: #a7f3d0;--status-warning-bg: #fffbeb;--status-warning-text: #b45309;--status-warning-border: #fde68a;--status-error-bg: #fef2f2;--status-error-text: #b91c1c;--status-error-border: #fecaca;--status-info-bg: #ecfeff;--status-info-text: #0e7490;--status-info-border: #a5f3fc;--status-pending-bg: #f8fafc;--status-pending-text: #475569;--status-pending-border: #e2e8f0;--status-active-bg: #eef2ff;--status-active-text: #4338ca;--status-active-border: #c7d2fe;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-overlay: 400;--z-modal: 500;--z-tour: 550;--z-toast: 600;--z-max: 9999;--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root[data-theme=dark]{--color-primary: #818cf8;--color-primary-hover: #6366f1;--color-primary-light: rgba(129, 140, 248, .12);--color-primary-subtle: rgba(129, 140, 248, .1);--color-success: #34d399;--color-success-light: rgba(52, 211, 153, .1);--color-success-border: rgba(52, 211, 153, .25);--color-success-hover: #10b981;--color-warning: #fbbf24;--color-warning-light: rgba(251, 191, 36, .1);--color-warning-border: rgba(251, 191, 36, .25);--color-warning-text: #fbbf24;--color-error: #f87171;--color-error-light: rgba(248, 113, 113, .1);--color-error-border: rgba(248, 113, 113, .25);--color-error-text: #f87171;--color-info: #22d3ee;--color-info-light: rgba(34, 211, 238, .1);--color-info-border: rgba(34, 211, 238, .25);--color-accent-purple: #a78bfa;--color-accent-pink: #f472b6;--color-accent-cyan: #22d3ee;--color-bg: #0f1117;--color-bg-alt: #161822;--color-bg-elevated: #1e2030;--color-surface: #1a1c2b;--color-surface-alt: #1e2030;--color-surface-hover: #252839;--color-sidebar-bg: #0b0d14;--color-sidebar-bg-hover: rgba(255, 255, 255, .06);--color-sidebar-text: #e2e8f0;--color-sidebar-text-muted: #7c85a3;--color-sidebar-active: #a5b4fc;--color-sidebar-active-bg: rgba(165, 180, 252, .12);--color-text: #e5e7eb;--color-text-secondary: #9ca3af;--color-text-muted: #6b7280;--color-text-placeholder: #4b5563;--color-text-inverse: #0f1117;--color-border: #2d3148;--color-border-light: #232638;--color-border-input: #2d3148;--color-border-focus: var(--color-primary);--color-border-hover: #3d4260;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .35), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .2);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .3);--shadow-focus: 0 0 0 3px rgba(129, 140, 248, .25);--shadow-focus-error: 0 0 0 3px rgba(248, 113, 113, .25);--shadow-card: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .3);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .2);--status-success-bg: rgba(52, 211, 153, .1);--status-success-text: #34d399;--status-success-border: rgba(52, 211, 153, .25);--status-warning-bg: rgba(251, 191, 36, .1);--status-warning-text: #fbbf24;--status-warning-border: rgba(251, 191, 36, .25);--status-error-bg: rgba(248, 113, 113, .1);--status-error-text: #f87171;--status-error-border: rgba(248, 113, 113, .25);--status-info-bg: rgba(34, 211, 238, .1);--status-info-text: #22d3ee;--status-info-border: rgba(34, 211, 238, .25);--status-pending-bg: rgba(107, 114, 128, .1);--status-pending-text: #9ca3af;--status-pending-border: rgba(107, 114, 128, .25);--status-active-bg: rgba(129, 140, 248, .1);--status-active-text: #a5b4fc;--status-active-border: rgba(129, 140, 248, .25)}:root{transition:background-color .3s ease,color .3s ease}:root[data-theme=dark] body,:root[data-theme=dark] .card,:root[data-theme=dark] .modal,:root[data-theme=dark] .sidebar,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .tip-card,:root[data-theme=dark] .goal-card,:root[data-theme=dark] .module-list-item,:root[data-theme=dark] .collapsible,:root[data-theme=dark] .detail-panel,:root[data-theme=dark] .toast{transition:background-color .3s ease,border-color .3s ease,color .3s ease}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 0%,var(--color-bg-alt) 20%,var(--color-border-light) 40%,var(--color-border-light) 100%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:.5em;border-radius:var(--radius-sm)}.skeleton-rect{width:100%;border-radius:var(--radius-md)}.skeleton-circle{border-radius:var(--radius-full)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinnerGradient{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}.spinner{width:1.5rem;height:1.5rem;border:2px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .75s linear infinite}.spinner--sm{width:1rem;height:1rem;border-width:1.5px}.spinner--lg{width:2.5rem;height:2.5rem;border-width:3px}.spinner--primary{border-top-color:var(--color-primary)}.spinner--white{border-color:#fff3;border-top-color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center;border-radius:var(--radius-xl);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg) 100%);border:1px dashed var(--color-border)}.empty-state__icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:var(--space-5);background:linear-gradient(135deg,var(--color-primary-subtle) 0%,var(--color-bg) 100%);border-radius:var(--radius-full);color:var(--color-primary);box-shadow:var(--shadow-sm)}.empty-state__icon svg{width:32px;height:32px;opacity:.8}.empty-state__title{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}.empty-state__description{margin:0 0 var(--space-6);font-size:var(--font-size-sm);max-width:340px;line-height:var(--line-height-relaxed);color:var(--color-text-muted)}.empty-state__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.empty-state--sm{padding:var(--space-8) var(--space-5)}.empty-state--sm .empty-state__icon{width:56px;height:56px;margin-bottom:var(--space-4)}.empty-state--sm .empty-state__icon svg{width:24px;height:24px}.empty-state--sm .empty-state__title{font-size:var(--font-size-base)}.empty-state--sm .empty-state__description{font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.empty-state--lg{padding:var(--space-16) var(--space-10)}.empty-state--lg .empty-state__icon{width:96px;height:96px;margin-bottom:var(--space-6)}.empty-state--lg .empty-state__icon svg{width:44px;height:44px}.empty-state--lg .empty-state__title{font-size:var(--font-size-xl)}.empty-state--lg .empty-state__description{max-width:420px;font-size:var(--font-size-base)}.spinner-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-10);gap:var(--space-4)}.spinner-message{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);max-width:380px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xl),0 0 0 1px #0000000a;pointer-events:auto;animation:toastSlideIn .4s var(--ease-out-expo);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(24px) scale(.96)}}.toast--exiting{animation:toastSlideOut .3s var(--ease-in-out) forwards}.toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px}.toast__message{flex:1;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text);font-weight:var(--font-weight-medium)}.toast__dismiss{flex-shrink:0;padding:var(--space-1);margin:-2px -4px -2px 0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);opacity:.6}.toast__dismiss:hover{color:var(--color-text);opacity:1;background:var(--color-bg-alt)}.toast--success{border-left:3px solid var(--color-success);background:linear-gradient(90deg,var(--status-success-bg) 0%,var(--color-surface) 8%)}.toast--success .toast__icon{color:var(--color-success)}.toast--error{border-left:3px solid var(--color-error);background:linear-gradient(90deg,var(--status-error-bg) 0%,var(--color-surface) 8%)}.toast--error .toast__icon{color:var(--color-error)}.toast--warning{border-left:3px solid var(--color-warning);background:linear-gradient(90deg,var(--status-warning-bg) 0%,var(--color-surface) 8%)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--info{border-left:3px solid var(--color-info);background:linear-gradient(90deg,var(--status-info-bg) 0%,var(--color-surface) 8%)}.toast--info .toast__icon{color:var(--color-info)}@media(max-width:479px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);max-width:none}.toast{padding:var(--space-3) var(--space-4)}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-6);text-align:center;min-height:50vh}.error-boundary__icon{margin-bottom:var(--space-4);color:var(--color-error)}.error-boundary__title{margin:0 0 var(--space-2);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.error-boundary__description{margin:0 0 var(--space-6);font-size:var(--font-size-base);color:var(--color-text-muted);max-width:400px}.error-boundary__details{margin-bottom:var(--space-6);text-align:left;max-width:600px;width:100%}.error-boundary__details summary{cursor:pointer;font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-text-secondary)}.error-boundary__details pre{background:var(--color-bg-alt);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;font-size:var(--font-size-xs);white-space:pre-wrap;word-break:break-word}.error-boundary__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9;opacity:0;transition:opacity var(--transition-normal)}.sidebar-overlay.visible{display:block;opacity:1}@media(max-width:959px)and (min-width:768px){.app-shell:not(.staff-shell){grid-template-columns:200px 1fr}.sidebar:not(.staff-sidebar){padding:var(--space-4)}.content{padding:var(--space-5)}.split-panel{grid-template-columns:200px 1fr}}.admin-mobile-toggle{position:fixed;top:var(--space-4);left:var(--space-4);z-index:var(--z-fixed);width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-sidebar-bg);color:var(--color-sidebar-text);border:none;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}.admin-mobile-toggle svg{width:24px;height:24px}@media(max-width:767px){.admin-mobile-toggle{display:flex!important}.app-shell:not(.staff-shell){grid-template-columns:1fr}.sidebar:not(.staff-sidebar){position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;z-index:var(--z-overlay);transform:translate(-100%);transition:transform var(--transition-slow);flex-direction:column;flex-wrap:nowrap;overflow-y:auto}.sidebar:not(.staff-sidebar).open{transform:translate(0)}.admin-mobile-toggle{display:flex}.content{padding:var(--space-4);padding-top:calc(var(--space-4) + 60px)}.card{padding:var(--space-4)}.form-grid{grid-template-columns:1fr}.stat-grid,.stat-grid.compact{grid-template-columns:repeat(2,1fr)}.tips-grid{grid-template-columns:1fr}.split-panel{grid-template-columns:1fr;gap:var(--space-4)}.toolbar{flex-direction:column;align-items:stretch;gap:var(--space-3)}.toolbar-actions{justify-content:flex-start}.staff-toolbar{flex-direction:column;align-items:flex-start}.audit-filter-grid{grid-template-columns:1fr}.chart-combo{flex-direction:column}.goal-grid{grid-template-columns:1fr}.goal-add-row{flex-direction:column;align-items:stretch}.module-breakdown-row{grid-template-columns:1fr;gap:var(--space-2)}.detail-grid{grid-template-columns:1fr}.valuation-steps{flex-wrap:wrap}.wizard-controls{flex-direction:column;gap:var(--space-3)}.wizard-nav{width:100%;justify-content:space-between}.file-preview-grid{justify-content:center}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table,.audit-table{min-width:600px}.preset-list{flex-direction:column}.quick-filter-row{flex-wrap:wrap}.range-toggle button{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.breadcrumbs ol{flex-wrap:wrap}.alert-list li{padding:var(--space-3)}.offline-banner{flex-direction:column;text-align:center}}@media(max-width:479px){.content{padding:var(--space-3);padding-top:calc(var(--space-3) + 60px)}.card{padding:var(--space-3)}.stat-grid,.stat-grid.compact{grid-template-columns:1fr}.stat-card{padding:var(--space-3)}.stat-card strong{font-size:var(--font-size-lg)}.tip-card{padding:var(--space-3)}.tip-card-header{flex-direction:column;align-items:flex-start}.button-group{flex-direction:column}.button-group button{width:100%}.module-list-item,.module-detail{padding:var(--space-3)}.module-detail-header,.lesson-list li{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.goal-card{padding:var(--space-3)}.goal-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.audit-log-header{flex-direction:column;gap:var(--space-1)}.chip-list{gap:var(--space-2)}.chip-list li{font-size:var(--font-size-xs)}}@media print{.sidebar,.staff-sidebar,.mobile-toggle,.admin-mobile-toggle,.sidebar-overlay{display:none!important}.app-shell,.app-shell.staff-shell{grid-template-columns:1fr}.content,.staff-content{padding:0}.card{box-shadow:none;border:1px solid #ddd;-moz-column-break-inside:avoid;break-inside:avoid}}@media(prefers-reduced-motion:reduce){.sidebar,.staff-sidebar,.sidebar-overlay{transition:none}}
